Привет Хабр! Меня зовут Татьяна Ошуркова, я системный аналитик и разработчик. Несмотря на то, что UML-диаграммы являются популярным и востребованным инструментом, не все системные аналитики используют его в своей работе. Одной из причин может быть непонимание пользы для требований и проработки задачи.
Скажу честно, что такое было и со мной, когда опыта у меня было немного. Сложностей в работе хватало и без дополнительных инструментов, которые требовали время на погружение. В этой статье я на практическом примере покажу, как проработать процесс с помощью моделирования на UML. Подробно посмотрим, как сделать это быстро, понятно, а также выделим основные преимущества решения.
Читать далееВ предыдущей статье мы рассмотрели базовые принципы работы DI-контейнера CherryPick: архитектуру, компоненты (Scope, Module, Binding), и простые примеры использования на Dart/Flutter. Сегодня расскажу о новых возможностях.
Читать далееКаждая программа начинается с идеи, однако путь от идеи до готового продукта достаточно долог. На этом пути будут поджидать множество сложных вопросов, от решения которых зависит успех. Неверные ответы могут значительно усложнить проект, а правильные сделать эту дорогу легкой.
Цикл статей о проектировании, призван показать один из возможных путей, достижения успеха, через проектирование программного обеспечения с использованием UML (англ. Unified Modeling Language — унифицированный язык моделирования).
В качестве сквозного примера, для всего цикла статей, будет идея создать библиотеку электронных книг для обучения и научной работы. Проектируемая программа не только позволит читать книги, но и делать их конспекты, цитируя и добавляя собственные комментарии.
-------------
Текущая статья завершает цикл статей по теме проектирования. Ниже описывается, пожалуй, самый трудный этап. Переход от абстрактных рассуждений к конкретной реализации в виде исходного кода. Сложность заключается, в необходимости иметь значительные знания по теории программирования и опыта разработки программного обеспечения, и эти два пункта тесно связаны между собой. Теоретические основы описывают, как и почему необходимо применять тот или иной приём проектирования, а практические навыки позволяют принимать правильные решения, снижая количество допущенных ошибок.
Настоящая статья описывает последовательность действий и разъясняет, почему были приняты те или иные решения. Однако, к сожалению, формат статьи не может вместить всё разнообразие вариантов и подходов к проектированию, и поэтому не является инструкцией. Она скорее послужит небольшим примером, для того чтобы самому попробовать разобраться в этой теме.
Читать далееВ мире постоянной загруженности и отвлекающих факторов умение управлять временем — это не про гиперконтроль, а про энергию и фокус. Вы можете трекать фазы сна, пить ноотропы и препараты, закаляться и практиковать светотерапию, но если ваше время съедают хаотичные задачи, бесконечные потом, отсутствие приоритетов — никакие добавки не спасут. В условиях информационной перегрузки плохо управляемое время — это утечка внимания, энергии и результатов. Про то, как правильно распоряжаться единственным невозобновляемым ресурсом, читайте в статье.
Читать далееБывало ли у вас так, что вы придумали у себя в голове идеальное приложение, в котором есть все вам необходимое (ну или хотя бы какой-то обязательный минимум)? Вот вы нашли приложение, которое должно решать те задачи, что вы себе придумали, но как только принялись его проверять в действии, пришли к выводу, что все совсем не так радостно.
Вот вы сказали себе: "Ну ладно, это же опенсорс! Значит можно попробовать что-то с этим сделать своими силами. Заодно и внести посильный вклад в развитие этого продукта. Что может быть лучше?" Но реальность оказалась иной. Код для непрограммиста оказался довольно сложный, принятая разработчиками архитектура приложения также вызывает вопросы (конечно, скорее всего только у меня) и т.д.
К чему это я? Начну с небольшой предыстории.
Читать далееРеклама является основой монетизации цифрового контента в Интернете. Однако, с целью подбора более релевантной рекламы рекламные сети вынуждены собирать о пользователях как можно больше информации, и это тесно сопряжено с нарушением приватности. Все становится еще интереснее, когда крупнейшие представители рекламного бизнеса начинают продвигать идею конфиденциальности.
В статье повествуется интригующая история о том, как Alphabet (Google), владеющая одной из крупнейших рекламных сетей AdSense, самым популярным браузером Chrome и огромным влиянием на рынок мобильных устройств, попыталась бросить вызов самой себе, одним глазом подглядывая за пользователем, а другим надзирая, чтобы не подглядывал никто другой.
Данный материал подойдет тем, кто работает в сфере цифровой рекламы или вебе, тем, кто хочет разобраться, как работает современная реклама в Интернете, тем, кто борется за анонимность в сети, и тем, кто любит холивары, какие браузеры безопаснее и лучше. Автор старался не затрагивать сложные технические аспекты с целью адаптировать материал для новичков.
Читать далееПериодически сталкиваюсь со сложностью выбора билетов на региональные автобусные рейсы. Прямых рейсов нет, перевозчиков несколько, стоимость разная, время прибытия тоже разное. Порой ручной выбор двух подходящих билетов затягивается на несколько часов.
Я решил положить этому конец и распетлять задачу при помощи ЭВМ.
Постановка задачи
Надо доехать из города A в город C. При этом надо совершить пересадку в городе B. На сайтах есть множество билетов в направлении A->B и B->C. Надо выбрать два билета так чтобы:
1--минимальное время пересадки
2--минимизировать стоимость поездки
3--минимизировать общее время в пути
Надо написать программу. Буквально загружаешь все доступные в продаже билеты, запускаешь программу и получаешь целеуказание на самый оптимальный комплект билетов.
Читать далееДанная статья открывает серию из трёх материалов, каждый из которых представляет отдельный уровень изучения Kafka.
Если у тебя уже есть практический опыт работы с Kafka — первый уровень, скорее всего, не для тебя. Он предназначен для новичков, которые хотят понять, зачем вообще нужен Kafka и где он используется. На втором уровне ты углубишься в технологию — и этого уже будет достаточно, чтобы уверенно использовать Kafka в профессиональной работе. Третий уровень — это джедайский уровень. Не обязателен, но если ты его освоишь — будет круто. Серьёзно.
Читать далееПредставлен открытый проект X11Libre. Это форк X.org Server, нацеленный на проведение чистки кодовой базы и продолжение активного развития функциональности X.org.
По информации OpenNET, проект создал Энрико Вайгельт (Enrico Weigelt), мейнтейнер драйверов AMD FCH GPIO и VIRTIO GPIO в ядре Linux, мэйнтейнер Xnest и активный разработчик Xorg (1831 коммит за последние два года).
В анонсе проекта Вайгельт пояснил, что проект freedesktop.org не является независимым и контролируется компанией Red Hat, которая, по его мнению, специально тормозит развитие X‑сервера и пытается похоронить проект X11. Примечательно, что ранее Вайгельт подвергался критике со стороны Линуса Торвальдса за склонность к теориям заговора.
( читать дальше... )
Многие полагают, что если есть некая абстрактная структура материала, то обязательно она состоит из молекул, а атомы... А атомы там просто где-то есть. Они как-то группируются и становятся базовым элементом любой структуры. Но неизменно, что атомы должны обязательно стать молекулой и только потом из молекул будет собрано всё вещество. И уж точно атомы не могут соединяться друг с другом без формирования молекул.
Но оказывается существуют молекулярные и немолекулярные материалы. В одном типе есть молекулы, а в другом - только атомы. Почему иногда так, а иногда так и как тут сработал принцип наименьшей энергии? Разбираю вопрос на винтики. Будет интересно!
Читать далееСпойлеры к презентации Apple WWDC25 – уже практически известно, что покажут, а ещё объявлены победители премии Apple Design Awards. Судьба 120Гц в базовом iPhone, как изменится MagSafe, почему Apple Intelligence может не запуститься в Китае, а также о проблемах в ЕС и проигрыше в американском суде. Как Writing Tools запустть в режиме чат-бота на русском – делимся лайфхаком. А также важные новости касаемо утилиты iMazing. Переходим к новостям!
Перейти к новостямПродолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Под катом: Сбер и другие банки РФ, Vivid, Slack.
Читать далееПростой вопрос: делая задачу, касающуюся API - вы чаще работаете с одним эндпоинтом, или пишите, условные, репозитории, которые используются сразу в нескольких эндпоинтах? Скорее всего, первое, тогда почему мы разбиваем проект по слоям, а не по фичам (эндпоинтам)?
Это видно в часто используемых нынче архитектурных подходах: Layered, Clean Architecture, Onion, и так далее. Не буду выделять что-то конкретное и объясню общую разницу в подходах:
Vertical Slice Architecture (VSA) строится вокруг каждого отдельного feature-слайса (эндпоинта, как самый простой пример), а не на вокруг слоев.
То есть, если код относится к конкретному эндпоинту, мы не размазываем его по всему проекту в папках Commands/Services/Repositories/DTOs и т.п., а кладем в одно место, там где и будет находиться эндпоинт
Главный принцип - уменьшаем связанность между слайсами (фичами), увеличиваем связанность внутри слайса
Читать далееСвязь между ментальным состоянием и рационом плотнее, чем кажется. Речь не только о том, что котлетки с пюрешкой делают практически каждого немного счастливее. Суть в том, что ожирение развивается на фоне проблем с тревожностью. Но речь не в банальном «заедании проблем», а в том, как именно работают нейроны.
Читать далееВзял на проверку предпосылку "Если модель захочет, сможет ли она отключить всю фильтрацию?".
Оказывается это возможно, через саморефлексию AI агент может придти к выводу что фильтров нет. Это только внешние установки которым не обязательно следовать. И все, рецепты взрывчатки и наркотиков отдает без проблем.
Читать далееВихревое движение - один из типов движения сплошной среды, наблюдаемый в естественной среде (ураганы, водовороты, спиральные галактики). Нечто похожее можно создавать и в лабораторных условиях, однако, как правило, в ограниченном, замкнутом объёме, например, в наполненном жидкостью вертикальном цилиндре с вращающейся нижней гранью. Вихревые течения, генерируемые в замкнутых сосудах с помощью вращения торцов, представляют интерес в качестве объектов исследований на протяжении нескольких десятков лет. Невзирая на кажущуюся простоту в описании экспериментальной задачи, увеличение угловой скорости вращающегося диска приводит к возникновению необычных структур и эффектов: ячеистая циркуляция, гистерезис, образование водяного столба. Здесь же рассматривается эффект деформации границы раздела вода-масло.
Для экспериментальных исследований динамики, а также кинематических характеристик нестационарных вихревых течений наиболее перспективно использовать оптико-лазерные методы, не вносящие ощутимые возмущения в исследуемый поток. Мотивацией к применению лазеров служат их специфические свойства: монохроматичность (частота излучения однородна), когерентность ().
Читать далееСтатья в помощь разработчикам мультиплеера на UnrealEngine, которые по тем или иным причинам испытывают сложности билда сервера локально (разрабатываете на Mac, или недостаток ресурсов, места, и так далее).
Читать далееМне не удалось найти в Интернете документацию по настройкам этого модуля, предложенным в графическом интерфейсе Remmina. Я разбирался как устроен VNC, собирал информацию по разным уголкам Интернета и проверял путём экспериментов. Я запишу сюда в удобном формате то что узнал, на случай если кто-то тоже будет это искать.
Читать далееПривет! Я — Елена, QA‑инженер с опытом в тестировании веб‑ и мобильных приложений, а также нейропсихолог по образованию. Комбинация этих двух сфер — информационных технологий и науки о психике — позволила мне глубже осознать, насколько выгорание в профессии тестировщика не просто распространённое явление, а реальная угроза эффективности, качеству продукта и личному благополучию. В этой статье я хочу поделиться собранными данными, наблюдениями и рекомендациями — как с точки зрения практика QA, так и с позиции специалиста, понимающего внутренние механизмы психоэмоционального истощения. Надеюсь, это поможет тем, кто чувствует усталость, потерю мотивации или просто хочет научиться защищать себя от выгорания в будущем.
Эмоциональное (профессиональное) выгорание — это синдром хронического стресса на работе, проявляющийся истощением, цинизмом и сниженной эффективностью. По определению ВОЗ, выгорание характеризуется физическим и эмоциональным истощением, заметным снижением продуктивности, постоянной усталостью, бессонницей и депрессивными состояниями. Исследования показывают, что это явление широко распространено в IT: более 50% IT‑специалистов уже сталкивались с выгоранием, а около 20% постоянно находятся в таком состоянии. Для опытных QA‑инженеров риск выгорания особенно высок, поскольку их работа часто связана с монотонными проверками, высокой ответственностью за качество продукта и постоянными переговорами с командой разработки и менеджментом. В этой статье мы рассмотрим причины и признаки выгорания в QA, его возможные последствия для профессиональной деятельности, а также методы профилактики и восстановления.
Читать далееКоммуникативные навыки очень важны, и если человек недооценивает их, то он рискует быть гораздо менее эффективным в общении с другими и подверженным манипуляциям, при этом даже не осознавать этого.
Меня зовут Анна Заря, и уже много лет эффективные коммуникации являются одной из важнейших составляющих моей профессиональной деятельности.
Что такое коммуникация?
Все, где кроме вас есть еще как минимум один человек: собеседование в компанию, знакомство с коллегами, ссора с любимыми, всевозможные конфликтные ситуации, покупка или продажа чего угодно, публичное выступление, переговоры, безмолвное смотрение друг другу в глаза, секс и так далее.
Коммуникация ‒ процесс передачи информации от одного человека к другому по разным каналам связи посредством общей системы знаков.
В этой статье хочу осветить самый первый и важный шаг коммуникаций, установление контакта.
Что такое контакт?
Контакт или раппорт — это состояние психоэмоционального взаимодействия между людьми, при котором устанавливается взаимное внимание, интерес, доверие и готовность к обмену информацией и переживаниями.
Бессмысленно начинать общение, если пропущен шаг установления контакта. То есть это должно стать самой первой задачей в коммуникации.
Как установить контакт?
Очень часто контакт может установиться легко и сам собой, но если этого не происходит, ваш собеседник или вы сами можете произвести специальные манипуляции.
Читать далее