Как стать автором
Обновить
3
0
Сергей Садовиков @Sadovikow

Head of Web/App Dev. Simple Group.

Отправить сообщение

Когда и как переходить с монолита на микросервисы. Предпосылки и общие понятия

Время на прочтение5 мин
Количество просмотров7.1K

В серии из трех статей рассказываем о переходе с монолитной на микросервисную архитектуру. Разбираемся, когда и кому это действительно нужно, рассматриваем 7 миграционных шаблонов и самый больной вопрос: «Как быть с данными?».

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии10

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

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров49K

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии9

Свой инструмент в Tableau для scrum-команд с Bug Policy и Scope Drop

Время на прочтение8 мин
Количество просмотров8.2K

Привет! Меня зовут Анастасия Никонорова, я аналитик в Авито. Рассказываю, как мы сделали инструмент в Tableau для наших scrum-команд разработки.

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

Read more
Всего голосов 14: ↑11 и ↓3+9
Комментарии9

Как измерить то, чего не видно: метрики SOC

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.3K

Привет! Меня зовут Маша, и я являюсь руководителем  первой линии Security Operation Center в Ozon.

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

Я поделюсь с вами тем, как мы решили мерить работу первой линии, какую пользу нам принесли метрики, а также с какими трудностями при разработке метрик мы столкнулись и как справились с ними.

Читать далее
Всего голосов 52: ↑52 и ↓0+55
Комментарии8

Просто о микросервисах

Время на прочтение11 мин
Количество просмотров271K

Вступление


Чуть ли не каждый второй, кто впервые сталкивается с MSA (Micro Service Architecture), на первых порах восклицает: «Да я эти микросервисы еще …надцать лет назад». Отчасти они правы. И я тоже был из этой самой половины, и не понимал — почему такой шум?



В самом деле! Ведь MSA — это тоже про разработку софта. Какие здесь могут быть революции? Все методики знакомы. В некоторых местах можно даже удивиться: «А разве бывает по-другому»? Фанаты Agile и DevOps тоже скажут, что это всё наше, родное.

Но всё же прошу вас набраться терпения и продолжить читать дальше.
Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии33

Цена качества: 7 принципов оптимизации затрат на тестирование

Время на прочтение10 мин
Количество просмотров17K
image alt


Думаете, как сэкономить на тестировании вашего ПО? Вы не одиноки. Возникает лишь одно маленькое но: если софт не дотестировать, возможны самые негативные сценарии – от дорогостоящей и крайне невыгодной вам доработки приложения на поздних стадиях до потери репутации и ухода клиентов/заказчиков к конкурентам.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии20

Мифический человеко-месяц 45 лет спустя

Время на прочтение9 мин
Количество просмотров21K
Впервые о книге Фредерика Брукса я услышал лет десять назад, ещё учась в универе. Её настоятельно советовал почитать наш научный руководитель. Как часто бывает в таких случаях, когда кто-то вам советует что-то почитать, то вы вежливо говорите нечто вроде «да-да, в скором времени, непременно этим займусь», заносите очередной пункт в свой grow list (в лучшем случае) и благополучно об этом забываете.



Через пару лет я вернулся к этой книге и наконец с ней ознакомился. К тому моменту у меня уже было несколько лет работы в IT-индустрии. И когда я начал читать, то удивился, насколько книга, написанная в 1975, да ещё и в сфере разработки ПО, по-прежнему актуальна!

В этом году наконец вышло очередное переиздание, поэтому я решил приобрести её в бумажном варианте и перечитать ещё раз. И вместе с вами обсудить некоторые цитаты, которые актуальны до сих пор.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+38
Комментарии108

Как развиваться руководителю разработки

Время на прочтение12 мин
Количество просмотров25K



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


Мы выбрали пути развития руководителей разработки темой следующего Team Leader Meetup, который пройдёт вечером 28 ноября в московском офисе Яндекса. Обсудить эту тему можно будет с экспертами из крупных IT-компаний. Регистрация ещё открыта.


В этот раз нашими экспертами стали:


  • Николай Крапивный, руководитель бекенд-разработки, Badoo
  • Роман romas1982 Ивлиев, CTO, mos.ru
  • Александр Поломодов, руководитель отдела исследований и разработки, Tinkoff.ru
  • Борис Тоботрас, директор центра программных решений, Инфосистемы Джет
  • Виктор Ламбурт, руководитель направления рекомендательных продуктов, Яндекс
  • Игорь Кураленок, генеральный директор, Лига Экспертов

Сегодня на Хабре мы задаём им ряд вопросов, чтобы задать тон будущей дискуссии:


1. Какие советы вы бы дали вашему коллеге – сильному разработчику, который недавно, буквально вчера, стал тимлидом? С каких конкретных, понятных действий ему стоило бы начать свою работу в новой должности?
2. Какие книги или статьи вы бы порекомендовали прочитать руководителю разработки? А какие ресурсы имеет смысл изучать на регулярной основе?
3. Сколько времени стоит уделять работе над техническими задачами, а сколько – над задачами, связанными с управлением коллективом? На что ещё может или должен тратить своё время тимлид?
Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Комментарии9

Gitlab-CI

Время на прочтение5 мин
Количество просмотров109K



Всем привет.
У нас не так много задач, которым необходим полноценный CI. Некоторое время мы использовали в качестве CI-сервиса Jenkins. Там всё довольно очевидно, он прост и гибок в настройке, имеет кучу плагинов, но пару раз мы столкнулись с OOM-убийцами агентов на слабых машинах и решили рассмотреть в качестве CI-сервиса Gitlab CI, потому что мы любим эксперименты и тем более в комментариях к нашей прошлой статье задавали такой вопрос.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии15

Как организовать информационную безопасность в компании с нуля: два подхода, которые помогут ничего не упустить

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров10K

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

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии5

Trunk Based Development — кто такой и зачем нужен

Время на прочтение5 мин
Количество просмотров46K

Привет! Меня зовут Павел Лакосников, я тимлид команды бэкенд-инженеров в Авито. Сегодня расскажу про свой любимый подход к разработке Trunk Base Development, сравню его с другими моделями ветвления и подсвечу его достоинства и нюансы.

Краткий обзор трёх моделей ветвления: Central Workflow, Git Flow, Trunk Based Flow, с акцентом на моего фаворита — Trunk Based Flow.

Читать далее
Всего голосов 27: ↑22 и ↓5+21
Комментарии44

Почитать и посмотреть: #1 – 26 февраля, 2024

Время на прочтение17 мин
Количество просмотров1.3K

Всем привет! Меня зовут Ваня. Я регулярно обрабатываю информацию с разных источников: статьи, книги, видео, беседы. Интересные материалы я цитирую и сохраняю себе. Подумал, что можно сохранять эти кусочки не только для себя, но и делиться ими с другими.

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии2

Apache Kafka: основы технологии

Время на прочтение9 мин
Количество просмотров411K

У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и читаются данные.


Статья подготовлена на основе открытого занятия из видеокурса по Apache Kafka. Авторы — Анатолий Солдатов, Lead Engineer в Авито, и Александр Миронов, Infrastructure Engineer в Stripe. Базовые темы курса доступны на Youtube.

Всего голосов 29: ↑29 и ↓0+29
Комментарии10

Паттерн Outbox: как не растерять сообщения в микросервисной архитектуре

Время на прочтение8 мин
Количество просмотров72K

Привет! Меня зовут Михаил Боровиков, я тимлид команды, которая отвечает за систему процессинга заказов Lamoda — Orders Management. Эта система, словно «сердце» Lamoda, через которое проходит самый важный для бизнеса шаг — оформление заказа.

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

Для решения этой проблемы мы выбрали паттерн Outbox. И в этой статье я расскажу, что он из себя представляет, как мы его применили, почему пошли по пути at-least-once и не положились на работу одного брокера сообщений.

Читать далее
Всего голосов 28: ↑26 и ↓2+27
Комментарии27

Оптимизация работы с большим объемом данных при помощи партиционирования в SQL

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров16K


Автор статьи: Артем Михайлов


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

Как разработчики, мы часто сталкиваемся с задачами, в которых требуется обрабатывать и анализировать огромные объемы данных. Наша задача – сделать это эффективно и быстро.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+16
Комментарии17

Обзор паттернов интеграции микросервисов. Часть 2

Время на прочтение5 мин
Количество просмотров15K

Продолжаем обзор паттернов интеграции микросервисов. В первой части мы рассказали, зачем IT-специалистам нужны шаблоны интеграции, и для каких задач они подходят. Подробно остановилисьна Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply. Сегодня по плануразобрать Backends for Frontends, Cache-Aside, Gateway, Gateway Aggregation и Gateway Routing. 

Читать далее
Всего голосов 17: ↑15 и ↓2+15
Комментарии1

Что такое анти-паттерны?

Время на прочтение9 мин
Количество просмотров143K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!
Всего голосов 157: ↑147 и ↓10+137
Комментарии103

Очередная история о борьбе с выгоранием

Время на прочтение10 мин
Количество просмотров12K

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

Читать далее
Всего голосов 14: ↑10 и ↓4+8
Комментарии26

SSL сертификат для Docker web-app

Время на прочтение4 мин
Количество просмотров52K
В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел.

image

Подробнее под катом.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+6
Комментарии26

Подробности о GraphQL: что, как и почему

Время на прочтение19 мин
Количество просмотров103K
GraphQL сейчас, без преувеличения, это — последний писк IT-моды. И если вы пока не знаете о том, что это за технология, о том, как ей пользоваться, и о том, почему она может вам пригодиться, значит статья, перевод которой мы сегодня публикуем, написана специально для вас. Здесь мы разберём основы GraphQL на примере реализации схемы данных для API компании, которая занимается попкорном. В частности, поговорим о типах данных, запросах и мутациях.


Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer, Teamlead
Lead