Pull to refresh
0
Lidia Borisova @IamLAread⁠-⁠only

User

Send message

Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты

Level of difficultyMedium
Reading time19 min
Views127K

Если возникает вопрос об описании архитектуры системы, то есть несколько основных решений где и как это сделать. Среди популярных нотаций для визуализации схемы архитектуры можно выбрать C4, разработанную Саймоном Брауном.

В этой статье я хочу показать пример применения нотации C4, который вы сможете использовать как ориентир в своей работе, а также инструменты для её создания. В частности, выделяю Structurizr.

Статья полезна для системных аналитиков, архитекторов, разработчиков, менеджеров проектов и тех, кто участвует в создании и принятии решений по организации архитектуры проекта.

Читать далее

Асинхронный API First

Level of difficultyEasy
Reading time17 min
Views15K

API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений в качестве средства интеграции —  такие, как Apache Kafka, RabbitMQ, Apache ActiveMQ. Мы решили это исправить и представляем вам свое решение AxenAPI.

Читать далее

Как сфотографировать Луну?

Reading time7 min
Views36K

Рейтинг публикации в социальных сетях можно соотнести с количеством лайков, который поставили читатели. Это очень условно, но все же имеет своё значение. И вне сравнения глубины и ценности для Мира вообще, можно сделать вывод, что очень большое количество лайков (а среди моих публикаций — наибольшее) набирают фотографии Луны. Особенно, если они попадаются на глаза девушкам, женщинам — прекрасной половине человечества.

Как бы не отрицали ученые мужи влияние небесных тел на нашу бренную жизнь, а Луна явно имеет свое влияние на женское начало. Девушки и женщины Луну обожают.

Мужчины тоже Луну лайкают, но несколько сдержаннее. Зато, мужчины чаще интересуются технической стороной — “Как это снято?” Наверное для того, чтобы тоже иногда постить в своих аккаунтах Луну, и тем самым привлекать женское внимание…

А как сфотографировать Луну?


Этим вопросом задавались очень многие фотографы, пытаясь запечатлеть городской пейзаж и восходящий над домами лунный лик — казалось бы, такой большой, да только потом на снимках оказывалось, что он почти точка, или просто невнятное светлое пятно. Кто-то пытался снимать Луну отдельно — без пейзажа, выкручивая увеличение на максимум, но получалось в итоге примерно то же самое.

Все эти вопросы мне задавали и задают регулярно.

Сегодня я всем отвечаю, и делюсь секретами. Хотя, никакого секрета здесь нет. Но кое-что узнать все-таки будет полезно.
Читать дальше →

Cистемный аналитик с ЗП 400+. Найти за 30 дней. Часть 1

Level of difficultyEasy
Reading time8 min
Views47K

Системный аналитик — это новый чёрный в мире IT. На эту позицию заходят новички, бизнес-аналитики, опытные разработчики и даже менеджеры.

Войти в системную аналитику может (почти) каждый человек, не лишённый логики и интеллекта, а на 400+ слабо?

Составила полноценный туториал для подготовки к прохождению технического собеседования. С кейсами реальных собеседований, моими мыслями и выводами. Статей планируется несколько. Это обзорная — определиться с контекстом и пройтись по основным поинтам.

Читать далее

Что нужно знать, чтобы успешно пройти System Design Interview

Reading time16 min
Views53K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

С учетом стремительного прогресса в области технологий и возрастающей сложности программных приложений, овладение принципами системного проектирования становится критически важным для разработчиков, стремящихся создавать эффективные системы. Не имеет значения новичок вы или опытный специалист: освоение этих принципов позволит вам разрабатывать надежные и масштабируемые программные системы, отвечающие требованиям современных приложений.

Далее мы рассмотрим каждый из принципов более детально, чтобы понять их суть и способы применения в разработке приложений.

Читать далее

Чем различаются Kafka и RabbitMQ: простыми словами

Reading time8 min
Views115K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее

Знакомимся с архитектурой Apache Kafka

Level of difficultyEasy
Reading time6 min
Views21K

- Вы работали с Кафкой?
- Нет, только читали.

За несколько десятилетий развития ИТ систем разработчики накопили огромный опыт хранения и обработки данных. Различные СУБД позволяют с помощью запросов извлекать нужные данные за определенный период и обрабатывать их так как необходимо. Однако, со временем увеличились вычислительные мощности серверов, пропускная способность каналов связи, и соответственно, возникла необходимость обрабатывать бОльшие объемы данных за единицу времени. И тут выяснилось, что при всем многообразии различных решений для хранения данных, отсутствуют решения для обработки непрерывных потоков больших объемов данных. Для решения этой проблемы стали появляться различные системы, такие как системы обмена сообщениями и агрегирования журналов. Но они не могли в полной мере обеспечить нужную производительность на больших, непрерывных потоках данных.

Для решения этой проблемы в LinkedIn решили создать нужное решение что называется с нуля. Разработчики решили отказаться от хранения больших объемов данных, как в реляционных базах данных, хранилищ пар «ключ/значение», поисковых индексов или кэшей, а рассматривать данные как непрерывно развивающийся и постоянно растущий поток и проектировать информационные системы и архитектуру данных — на этой основе. Так появилось решение Apache Kafka, которое изначально использовалось для обеспечения функционирования работающих в реальном масштабе времени приложений и потоков данных социальной сети. Но сейчас это решение используется во многих крупных компаниях. Посмотрим подробнее как оно устроено.

Читать далее

Как рисовать Sequence без боли и страданий в PlantUML

Level of difficultyEasy
Reading time12 min
Views26K

Привет! Меня зовут Настя, я старший системный аналитик в X5 Tech. Я рисую sequence-диаграммы каждый день на протяжении четырёх лет. За это время я прошла все круги ада по Данте, то есть попробовала разные инструменты для рисования этих самых диаграмм. Пока не встретила его – PlantUML. 

Что удивительно, инструмент довольно не новый, но тем не менее лучше него я пока не встречала. А ещё удивительно, что он не особо популярный. Когда мы запустили в управлении системного анализа первый воркшоп по PlantUML, за 3 минуты после анонса пришли 12 заявок от аналитиков разных грейдов – от Junior до Lead. 

В процессе подготовки материалов к воркшопу мы искали статьи и литературу, которые помогли бы дополнительно изучить sequence-диаграммы в PlantUML. Ничего интересного мы не нашли. 

На самих воркшопах участники часто говорили о том, что они пытались самостоятельно изучить PlantUML, но их пугало то, что нужно писать какой-то код и учить какой-то синтаксис. Документация достаточно обширная, но информации о том, как последовательно строить sequence почти нет. 

Поэтому и появилась эта статья. 

Почему PlantUML?

Криптография простым языком: разбираем симметричное и асимметричное шифрование на примере сюжета Звездных войн (Updated)

Reading time14 min
Views48K
Привет всем читателям Хабра! Не так давно решил разобраться с алгоритмами шифрования и принципами работы электронной подписи. Тема, я считаю, интересная и актуальная. В процессе изучения попробовал несколько библиотек, однако самой удобной с моей точки зрения является библиотека PyCrypto. У неё прекрасная документация, сопровождаемая примерами.

image

После прочтения материала вы усвоите следующие моменты:

  1. Что такое шифрование;
  2. Чем отличается симметричное шифрование от асимметричного;
  3. В каком случае эффективнее применять симметричное, а в каких асимметричное шифрование;
  4. Что такое хеш данных и для чего он используется в шифровании;

Актуальность рассматриваемой темы постоянно растет. Применение криптографии уже давно не ограничивается шифрованием информации. Алгоритмы шифрования в том или ином виде ежедневно используется нами при посещении сайтов через протокол HTTPS, во время совершения покупок банковской картой, при общении в мессенджерах. Последние несколько лет широкое внимание привлекают блокчейн технологии, основой которых также является криптография.

Целью данной статьи является познакомить читателя с основными алгоритмами шифрования. При написании статьи, я постарался как можно большее внимание уделить вопросу практического применения. Для программирования использовался язык Python 3.6. При написании кода старался делить его на отдельные части и комментировать все ключевые моменты.

[Паттерны API] Двунаправленные потоки данных. Push и poll-модели

Level of difficultyHard
Reading time13 min
Views13K

Это глава 21 моей книги «API». v2 будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

В предыдущей главе мы рассмотрели следующий кейс: партнёр получает информацию о новых событиях, произошедших в системе, периодически опрашивая эндпойнт, поддерживающий отдачу упорядоченных списков.

Читать далее

5 книг, которые стоит почитать начинающему ИТ-архитектору

Reading time5 min
Views55K

Привет, Хабр! Меня зовут Александр Бардаш, я главный архитектор интеграционных платформ в МТС. Сегодня расскажу, почему ИТ-архитекторам важно хотя бы иногда всегда читать книги, и поделюсь подборкой для начинающих. Жду вас под катом и в комментариях!

Читать далее

Рецепты самопомощи аналитика: универсальная стратегия предотвращения ошибок

Level of difficultyEasy
Reading time10 min
Views4.8K

Оля — тимлид группы аналитики в Naumen Service Management Platform. Часто аналитики приходят к ней с разными вопросами. Например, как правильно работать с требованиями и общаться с разработчиками, почему не получается эффективно распределить время и приоритизировать задачи. Чтобы помочь команде решить сложности, Оля разработала стратегию самопомощи для аналитиков.

В статье она расскажет об ошибках, их причинах и «красных флагах», которые помогают понять, что что-то идет не так. Также Оля поделится выработанными рецептами предотвращения ошибок и объяснит, как и почему важно признавать промахи.

Читать далее

Ключевые концепции тестирования требований

Level of difficultyMedium
Reading time6 min
Views30K

Требование — это спецификация того, что должно быть реализовано. В нем описывается поведение и атрибуты системы.

Тестирование требований - необходимая и очень важная процедура, которая помогает оптимизировать работу команды и избежать недопонимания, а также позволяет понять, могут ли эти требования быть выполнены с точки зрения времени, ресурсов и бюджета.

Читать далее

Современная микросервисная архитектура: принципы проектирования

Reading time7 min
Views34K

Первые упоминания о практическом использовании микросервисной архитектуры появились в 2010-х годах. Но сейчас она стала стандартом для отрасли. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал о некоторых нюансах микросервисов, а также принципах их использования.

Читать далее

Требования к ПО на пальцах

Reading time5 min
Views120K
Пост про основы разработки требований — без сложных схем, терминов и таблиц, зато с гифками.

image

Если коротко, то основные этапы разработки требований — это:

  1. Зачем нам что-то делать? (нужно больше золота)
  2. Что мы будем делать? (все как у людей, но дешевле)
  3. Как мы это сделаем? (с блокчейном и датасаентистами, естественно)
  4. Когда мы это сделаем? (вчера, а отрефакторим «потом»)

А теперь подробнее.
Читать дальше →

RESTful API — большая ложь

Reading time7 min
Views436K
От переводчика:
Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении. Однако, не смотря на то, что в статье преподносится много очевидных вещей, мне она показалась достойной обсуждения на Хабре.

Почему Вам стоит похоронить эту популярную технологию

image
Читать дальше →

Как я использую плагины VSCode для обработки Json-файлов в работе системным аналитиком

Level of difficultyEasy
Reading time6 min
Views12K

Всем привет! На Хабре много статей про настройку VSCode, но большинство написали разработчики и для разработчиков. Это достаточно крутой и универсальный инструмент, который можно использовать не только для программирования. В этой статье я на своем примере покажу, как его можно настроить и расширить для работы с данными.

Меня зовут Юлия Васильева, и я системный аналитик в МТС Диджитал. Работаю с B2C-продуктом и анализирую много-много разных Json-файлов. В этой статье я расскажу, как облегчила себе работу с ними благодаря VSCode и почему я в восторге от этого инструмента.

Читать далее

Построение системы развития и оценки сотрудников

Level of difficultyEasy
Reading time9 min
Views4.4K

Я — руководитель отдела, который занимается разработкой заказных информационных систем для автоматизации различных отраслей и бизнес‑потребностей. У нас есть сотрудники разных профессий (аналитики, тестировщики, тимлиды, администраторы проектов), и, конечно, у каждого свой грейд, желания и цели развития.

Как руководитель, я твердо убеждена, что одной из ключевых задач в управлении является совершенствование команды и каждого сотрудника в отдельности. Процесс планирования развития и оценки сотрудников — это не просто формальность, а инструмент, который должен помочь нам двигаться вперед, раскрывая потенциал. В этом статье я поделюсь опытом того, как мы создавали систему развития и оценки для своего отдела.

В ее основу мне хотелось положить понятные критерии и задачи, выполнение которых будет приводить к росту компетенций и, как следствие, к повышению грейда/должности и заработной платы.

Читать далее

Выпускайте Кракена: опыт использования KrakenD

Reading time12 min
Views19K

Привет, Хабр! Меня зовут Владимир Калугин, я руковожу бэкенд-разработкой в МТС Travel. Сегодня расскажу про KrakenD, готовое решение, которое мы используем для реализации API-шлюза, важной штуки для продуктов с микросервисной архитектурой. Уверен, наш опыт может пригодиться разработчикам из других сервисов.

Читать далее

Пробы на роль Архитектора. Акт I: вступление

Level of difficultyMedium
Reading time7 min
Views14K

Я тут наткнулся на старую почту с приглашением на собеседование. С пожелтевшими гифками в подписи и просроченным сургучом сертификатов. Дело давнее, пандемийное, так что, думаю, можно рассказывать. Я один не смотрю на сроки NDA, когда подписываю? На всякий случай стоит обезличить и переделать. Тем более, что бонуса за продвижения бренда нет, а наказание всегда найдётся. Так что у нас тут анонимный клуб найма лиц похожих на архитекторов.

Читать далее

Information

Rating
Does not participate
Location
Тверская обл., Россия
Date of birth
Registered
Activity

Specialization

Systems Analyst
BPMN
UML
System analysis
Software Software
ER diagram
Design information systems
Analytics of requirements