Как стать автором
Обновить
205
-1
Denis Tsyplakov @Semenych

Пользователь

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

«Правильные JIRA issues». Как правильно разбивать задачи на тикеты

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

Я сейчас занимаюсь тем, что помогаю акаунту в несколько десятков разработчиков зарелизить проект качественно и в срок. Среди прочего у проекта есть проблема с разбиением задач на тикеты в JIRA. Просто для понимания масштаба – проекту год, разработчиков грубо говоря три дюжины, номер последнего тикета 12000+. При этом много тикетов с тегов investigate, много тикетов в результате которых создается pull request на 20 строк при том, что для достижения результата который «можно пощупать руками» (tangible) нужно 100 строк и остальные 80 строк размазаны по другим спринтам и другим командам. Это ведет к следующим проблемам

Читать далее
Всего голосов 24: ↑19 и ↓5+14
Комментарии25

Архитектурные изменения: важно не терять темпа и воли к улучшению ситуации

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

Последнее время я достаточно часто участвую в проектах, где надо не придумать архитектуру с нуля, а исправить то, что уже придумали и уже почти год-два-три разрабатывают. Желающих и что более важно убедительно рассказывающих как правильно делать дизайн архитектуры большой системы с нуля полно. По разным причинам, далеко не всегда такое заканчивается успешным релизом. Так сложилось, уже, наверное, последние лет 6-7, 80% моей активности это участие в проектах где «мы тут придумали классную систему и год над ней работаем, а теперь надо чтобы она заработала». Симптомы почти в каждом таком проекте одни и те же

симптомы ...
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Влияние слонов на сходимость проектов

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

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

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

Не трогай это

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

Вчера увидел вот этот пост в LinkedIn с фразой «First rule of programming, If it works, don't touch it» и как-то вскипело. Поясню почему.

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии12

Памятка архитектору

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

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Всего голосов 53: ↑52 и ↓1+51
Комментарии23

Эволюция монолитного приложения, еще один подход

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

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

Выбросить такой монолит невозможно, бизнес остановится. Переписать тоже либо нельзя, либо очень дорого, по причинам хорошо описанным еще у Фредерика Брукса в Мифическом человеко-месяце. Во первых как они там под капотом работают в точности, по прошествии 20+ лет уже никто не знает. Во вторых, пока приложение переписывается, а обычно это 1-2 года, бизнес успевает уйти вперед и новое приложение надо докатывать до актуального состояния и так без конца.

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

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

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

Логирование в Java / quick start

Время на прочтение7 мин
Количество просмотров244K
В ходе моей работы в компании DataArt я, в числе прочего, занимаюсь менторской деятельностью. В частности это включает в себя проверку учебных заданий сделанных практикантами. В последнее время в заданиях наметилась тенденция «странного» использования логеров. Мы с коллегами решили включить в текст задания ссылку на статью с описанием java logging best practices, но оказалось, что такой статьи в которой бы просто и без лишних деталей на практике объяснялось бы как надо писать в лог на Java, вот так вот с ходу не находится.

Данная статья не содержит каких-то откровений, в ней не рассматриваются тонкости какого либо из многочисленных java logging frameworks. Здесь рассказываю как записать в лог так, чтобы это не вызвало удивления у Ваших коллег, основная цель написания включить ее в список обязательного чтения для практикантов. Если все еще интересно, читайте дальше
Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии26

Кэширование данных, возможно последняя вещь которую Вам стоит использовать

Время на прочтение3 мин
Количество просмотров13K
Недавно у меня был достаточно горячий конфликт с популярным PHP пакетом для электронной коммерции. В результате мне захотелось рассказать об одной распространенной ошибке в архитектуре веб приложений.

В чем же эта ошибка?
Читать дальше →
Всего голосов 74: ↑58 и ↓16+42
Комментарии58

Стартапы умирают из-за малого количества пользователей, ХВАТИТ думать о масштабируемости

Время на прочтение2 мин
Количество просмотров1.4K
Если вы полагаете, что масштабируемость Вашего нового, web приложения — это основное на чем Вам надо сосредоточиться,… подумайте дважды. Можно с уверенностью утверждать, что в обозримом будущем массового нашествия пользователей не ожидается. Вместо этого этого следует готовиться к медленному увеличению количества посетителей, с возможным пиком увеличения их числа (прим. переводчика: хабраэффект например). Но сосредотачиваться на архитектуре и масштабируемости Вашего приложения до миллионов пользователей — не очень хорошая идея. Миллионы это много. Скорее следует приготовиться к борьбе за первую тысячу пользователей. Возможно даже меньше, если Ваш сервис платный.
Читать дальше →
Всего голосов 136: ↑126 и ↓10+116
Комментарии85

Сборка Java приложений при помощи Apache Ant, quick start

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

О чем эта статья


Одной из отличительных особенностей платформы Java является ее независимость от используемого инструментария. Вы можете разрабатывать сколь угодно большое Java приложение при помощи блокнота (vi) и командной строки. Понятно что так никто не делает и все используют какую-то IDE. Как следствие независимости от инструментов — IDE для Java много. Все это хорошо но есть одна особенность. Если Ваш коллега делал приложение и для сборки проекта использовал IDE_A то в IDE_B которая стоит у Вас — собрать приложение не получится.
В общем-то это давно уже не проблема. Хорошей практикой считается использовать систему сборки не зависящую от IDE. Для Java их две это Apache-Ant и Maven (тоже в общем-то Apache). Но тут есть один подводный камень. Если в Delphi или Visual Studio, чтобы создать и собрать приложение надо кликнуть в кнопку new пройтись по шагам визарда и нажать кнопку собрать, то написание ant скрипта для сборки например web приложения, особенно для начинающего разработчика, задача не тривиальная.
В статье рассматривается сборка и деплой Java web приложения шаг за шагом.

В целом задачу можно решить как с помощью ant так и с помощью maven, здесь будет рассмотрен ant. Для начинающих он проще и нагляднее.

Примечание 10 лет спустя

Решил посмотрел на свою статью написанную 10 лет назад. Звучит старомодно, в 2021 я в общем случае не рекомендую собирать Java приложения при помощи ant. НО если уж у вас возникла такая необходимость, то статья все еще может помочь. Пусть живет.

Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии35

Информация

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

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

Software Architect
Java
Java Spring Framework
PostgreSQL
Docker
Designing application architecture
NoSQL