Pull to refresh
19
0
Дмитрий @SpiritVL

User

Send message

Вы должны перестать вручную писать Dockerfile'ы

Level of difficultyMedium
Reading time3 min
Views49K

Вы тоже устали вручную заполнять Dockerfile и docker-compose.yaml под каждый новый проект?

Я всегда задумывался, применяю ли я известные best practices, когда пишу конфиг для Docker, и не занесу ли я случайно какие-нибудь уязвимости, вручную заполняя конфиг-файлы.

Что же, теперь мне больше не придется беспокоиться об этом, благодаря добрым людям из Docker, которые недавно реализовали инструмент для этого - docker init .

Интересно, как экономить время и быстро генерировать конфиги, даже если вы не профи в Docker? Прошу под кат.

Читать далее
Total votes 74: ↑75 and ↓-1+76
Comments66

Пиррова победа Domain-Driven Design

Level of difficultyHard
Reading time7 min
Views10K

TL;DR: DDD неизбежно ведёт к избыточному (на порядки больше минимально необходимого) количеству саг в проекте, которые, в свою очередь, неизбежно ведут к нарушению целостности данных в БД.

DDD вполне успешно решает поставленную задачу: дать разработчикам инструменты, которые позволят им справиться (корректно реализовать и поддерживать) со сложной предметной областью. Но эта победа оказалась пирровой: инструменты, обеспечивающие корректность данных в памяти, оказались неспособны гарантировать корректность данных в БД. А что толку от изначально корректных данных в памяти, если со временем (после их сохранения в БД и последующего чтения) они перестают быть корректными? По сути, у DDD есть фатальный недостаток: DDD неизбежно приводит к нарушению целостности данных (инварианта бизнес-логики) в БД.

Читать далее
Total votes 37: ↑34 and ↓3+31
Comments98

Учебное проектирование для джунов: как учить и зачем

Level of difficultyEasy
Reading time12 min
Views24K

Привет! Меня зовут Андрей, я бэкенд-тимлид в KTS

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

В статье расскажу про методику обучения проектированию в нашей компании.

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments10

Организация кода в Laravel. Личный опыт

Level of difficultyMedium
Reading time6 min
Views18K

Hola Amigos! На связи Евгений Шмулевский, PHP-разработчик в Amiga. Начал заниматься программированием с 2001 года, привет Basic и Express/Turbo Pascal. Веб-разработкой — с 2011 года, а профессионально в вебе с 2013 года. Работал продолжительное время с Битрикс, а с 2018 начал осваивать Laravel. 

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments29

Когнитивные искажения в программировании. Часть 2

Reading time5 min
Views9K

Всем привет!

Ну что ж, давайте продолжим знакомство с когнитивными искажениями и узнаем, какие еще ловушки нам уготованы. (А для тех, кто только что присоединился, вот ссылка на первую часть этой статьи.)

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments10

Когнитивные искажения в программировании

Reading time5 min
Views18K

Всем привет!

Сегодня мы поговорим о такой интересной и забавной вещи, как когнитивные искажения. Что это? Зачем это? Как с этим бороться или, быть может, их даже можно использовать? Для начала давайте разберемся, о чем же мы говорим.

Читать далее
Total votes 35: ↑31 and ↓4+27
Comments6

Как продлить срок службы старых PHP-приложений

Level of difficultyEasy
Reading time6 min
Views4.4K

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

Хоть обновление существующих PHP-приложений и является идеальным рекомендуемым подходом, мы не можем избежать появления приложений/сайтов, которые попросту не в состоянии оправдать человеческие, финансовые и политические затраты на их обновление. Особенно это касается старых PHP-приложений, работающих на PHP 5 или 7 версии. WordPress.org, например, сообщает, что только 16% зарегистрированных сайтов WordPress работают на версии PHP, поддерживаемой разработчиками ядра PHP.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments20

Вы ничего не знаете про SEO, или как подготовиться к неизбежному – тренды онлайн-продвижения ближайших 5-ти лет

Reading time14 min
Views21K

SEO будущего – это уже не про сайты. Это не про развитие бложика на Виси или Хабре. Современное SEO –  это новая парадигма понимания самой сути продвижения в интернете.

Читать далее
Total votes 32: ↑23 and ↓9+14
Comments38

Проверяем Архитектурные стили на движке Factorio (часть 2, SOA)

Reading time27 min
Views27K

Все снова большой привет, спустя полгода! Сегодня мы будем продолжать работать на движке Factorio в попытках разобраться, какой же Архитектурный стиль по каким аспектам является хорошим или плохим!

Welcome!

Сегодня мы рассмотрим SOA и даже сравним его с Monolith-архитектурой!

Читать далее...
Total votes 91: ↑90 and ↓1+89
Comments50

Проверяем Архитектурные стили на движке Factorio (часть 1)

Reading time28 min
Views43K

Добрый день всем, дорогие читатели!

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

Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольку Архитектурных стилей много и каждый имеет свои преимущества (даже Монолит) и недостатки (даже Микросервисы) - работа архитектора состоит в попытках применения данных стилей на конкретный продукт и попыток предугадать, что из этого получит в итоге для бизнес-части.

Как сказал мой добрый друг-программист про Factorio: "Эту игру создали программисты для программистов" и эти слова плотно въелись в мою память. И реально игра в эту игру очень сильно напоминает процесс разработки ПО: можно просто строить как попало и прийти к полностью запутанной и сложнообслуживаемой системе, а можно подойти к вопросу с умом изначально и в итоге получить производительную и легкую в обслуживании систему (Прям как в жизни!)

Читать далее...
Total votes 25: ↑25 and ↓0+25
Comments24

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity