Метка: Статьи

Нейронки в агентском режиме

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

(далее…)

Первый взгляд на Yii3

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

(далее…)

Строительные блоки DDD

Проектирование на основе предметной области принято делить на две части — стратегическое и тактическое. Хотя они идут бок о бок и одна без другой не существует, так же как и не бывает одной стороны монеты без другой. В данной статье мы вкратце рассмотрим основные строительные блоки DDD с упором на практическую (тактическую) часть.

(далее…)

Transaction Script VS Domain Model

Основное различие этих двух архитектурных подходов состоит в назначении модели (наборе доменных сущностей). Доменная сущность в Transaction Script является практически полным отображением таблицы в базе данных с геттерами и сеттерами, а весь функционал (поведение) объекта вынесено в сервисы. За соблюдение инвариантов отвечает сервис. Таким образом, Transaction Script формирует анемичную модель. В противовес этому подходу Domain Model подразумевает наличие у сущности (доменного объекта) не только данных, но и собственного поведения, которое используется в сервисах или агрегатах. Инвариантами в данном случае заведует модель.

Само по себе понятие инвариант означает что-то постоянное. В случае с DDD инвариантом можно назвать бизнес-правила которые должна жестко соблюдать модель. Например, все пользователи получающие жалобы в какой-нибудь из социальных сетей падают в рейтинге на N-е количество пунктов или при оформлении заказа более 1 000 рублей клиент получает скидку в 5%.

Какое решение выбрать для проекта — дело архитектора. Для проектов с малым количеством бизнес-логики (большинство веб-проектов как раз такие), обычно, выгоднее использовать подход Transaction Script, а для большого бизнес-слоя предпочтительнее выбрать Domain Model.

Разработка сайта на Битриксе

В данное время занимаюсь разработкой первого сайта на Битриксе для заказчика, и во время работы появляется множество заметок. Это одна из них. Текущий проект — мой второй практический опыт создания сайта на Битриксе, поэтому заметки об этой системе могут быть не точны. Да и первый был недавно, всего неделю назад — адаптировал простенький бесплатный html-шаблон для пробы сил.

(далее…)

Зачем и когда нужны фреймворки?

Два вопроса из заголовка этой статьи часто себе задают начинающие разработчики. Эта заметка для них, поэтому начну с определения фреймворка. Что понимается под этим понятием? Фреймворк — это каркас вашего будущего приложения, собственно, это слово и состоит из «frame» — каркас и «work» — работа.

(далее…)

Полезны ли книги по программированию?

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

(далее…)

PHP как платформа веб-разработки

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

(далее…)

Корпоративные приложения (enterprise)

Что такое корпоративные приложения? Подобную статью следует начинать с определения, так и поступлю, дам своё определение, ведь общепринятого не существует. Корпоративные приложения (промышленные) – это большие программы для автоматизации и структуризации работы компании (фирмы, завода, большого магазина и так далее).

(далее…)