Welcome to @emacsway’s blog!¶
Here is a list of most recent posts:
May 05 - Краткий курс по экономике разработки программного обеспечения
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
May 04 - Список психологических эффектов
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Apr 02 - Может ли CQRS-команда возвращать результат?
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Mar 31 - О гонке сообщений в условиях конкурирующих подписчиков
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
May 05 - Domain Events in DDD
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Oct 11 - Список литературы для самообучения разработчика программного обеспечения
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Sep 30 - TDD - Разработка через тестирование
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Sep 16 - Роль сервисного слоя в CQRS и Event Sourcing на примере использования Redux в Angular
Нужно ли скрывать посредством Сервисного Слоя обращения к реализациям CQRS и Event Sourcing? Периодически мне попадаются примеры и неуверенная аргументация о том, что лучше - скрывать. Однако, когда вопрос мог коснуться меня лично, я решил во всем разобраться сам.
Sep 15 - Про Agile на пальцах. Путь к быстрой разработке.
Я уже писал “на тему Agile-разработки шпаргалку”, более чем наполовину состоящую из цитат выдающихся архитекторов. Проблема в том, что она ориентирована на осведомленных людей (как правило, на менеджеров и архитекторов), и малопонятна тем, кто сталкивается с этим впервые. Поэтому я решил написать упрощенную версию своими словами. Вы не сможете использовать фрагменты этой статьи для аргументации перед заказчиком, так как она не содержит цитат праотцов архитекторы, но я надеюсь, что она будет легче для понимания ключевых моментов экономики разработки программного обеспечения.
Jan 04 - Про Anemic Domain Model
Время от времени в кругу моих знакомых регулярно поднимается вопрос о том, что Anemic Domain Model - никакой вовсе и не антипаттерн, и в качестве аргументов приводятся ссылки на статью “The Anaemic Domain Model is no Anti-Pattern, it’s a SOLID design” [1]. После очередного упоминания этой статьи я решил об этом написать.
Jan 02 - Django Framework и Божественный Объект
Божественные Объекты - распространенное явление для Django приложений, поэтому рассмотрим этот вопрос более детально.
Dec 23 - Знакомство с Docker для Django-проекта
При начале работы с Docker стоит обратить внимание на ряд моментов, которые освещены слабо даже в официальной документации, не говоря уже про многочисленные блог-посты.
Dec 15 - О проблемах подбора персонала в IT-индустрии
В разное время мне приходилось как наниматься на работу, так и принимать непосредственное участие в собеседовании кандидатов. Некоторые наблюдаемые мной явления имеют систематический характер проявлений, и я постараюсь их обобщить.
Aug 06 - Реализация паттерна Repository в браузерном JavaScript
Хорошая архитектура освобождает Вас от привязки к конкретной реализации. Она позволяет Вам отложить момент принятия решения о реализации, и начать конструирование кода еще не имея этого решения. Принципиально важным моментом является то, что Вы обретаете возможность принять решение в момент наибольшей информированности, а также всегда можете легко подменить конкретную реализацию на любую другую. Вот эта обязанность возложена на паттерн Repository.
Aug 06 - Implementation of Repository pattern for browser’s JavaScript
Good architecture makes you free from certain implementation. It allows you to postpone the moment of decision on implementation and begin code construction even without the decision. The most important point is that you gain the opportunity to make a decision at the time of the greatest awareness, and you can also easily replace a specific implementation with any other. This responsibility is assigned to the Repository.
Jul 26 - О моем опыте использования Django Framework
Django framework для Python позволяет быстро решать огромный спектр задач и легко находить исполнителей. При грамотном подходе, можно использовать все преимущества Django и не стать заложником ее недостатков.
Jul 26 - About my experience of using Django Framework
Django framework by Python allows you to quickly solve a huge range of tasks and easily find developers. With a competent approach, you can use all the advantages of Django and not become a hostage of its shortcomings.
Jul 17 - Проектирование Сервисного Слоя и Логики Приложения
Эта статья посвящена вопросам управления Логикой Приложения и проектированию Сервисного Слоя (Service Layer), Use Case, CQRS, Event Sourcing, MVC и др.
Jul 17 - Design of Service Layer and Application Logic
This article is about organizing Application Logic and designing the Service Layer, Use Case, CQRS, Event Sourcing, MVC, etc.
Jul 10 - How to quickly develop high-quality code. Team work.
Статья переехала на новый адрес в Distributed Collaborative Knowledge Management System for System Architecture (о проекте).
Sep 08 - Как добавить новые операторы для Python выражений
Библиотека sqlbuilder использует перегрузку операторов языка программирования Python для создания критериев выборки, что позволяет транслировать операторы языка программирования в операторы SQL. К сожалению, Python поддерживает не так много операторов, как PostgreSQL, например, таких операторов как
@>
,&>
,-|-
,@-@
и т.д.Aug 29 - Usefull links
Here is the list of articles and sites that I find interesting. This page is regularly updated.
Aug 21 - Искусство воевать
Читая книгу «Code Complete» Steve McConnell, я обнаружил интересное сходство с военным искусством.
May 21 - О проблемах инвалидации кэша. Тегирование кэша.
О моем опыте решения проблем инвалидации кэша, и о принципах работы библиотеки cache-dependencies.
May 21 - About problems of cache invalidation. Cache tagging.
About my experience of solving problems of cache invalidation and principles of the library cache-dependencies.
Dec 08 - Построение Raw-SQL cредствами Storm-ORM
Возникло у меня желание попробовать построить чистый, сырой запрос (Raw-SQL) с помощью storm.expr для одного самописного специфического маппера, сочетающего в себе паттерны Single Table Inheritance и Entity Attribute Value.
Nov 01 - О книге “Refactoring” by M.Fowler
Хочу ответить на уже ставший популярным вопрос, нужно ли читать «Refactoring: Improving the Design of Existing Code» [1] если уже прочитал «Clean Code: A Handbook of Agile Software Craftsmanship» [4]?
Oct 22 - Аргументы-флаги
В главе “Flag Arguments” известной книги «Clean Code. A Handbook of Agile Software Craftsmanship.», Robert C. Martin советует не использовать аргументов-флагов, справедливо замечая, что это свидетельствует о том, что функция делает более одной операции.
Oct 10 - Почему я выбираю Storm ORM для Python
В промышленных решениях на Python я чаще стал использовать KISS-style Storm ORM, и здесь я попытаюсь объяснить почему.
Oct 10 - Why I prefer Storm ORM for Python
I began using KISS-style Storm ORM for enterprise applications on Python, let me explain why.
Oct 09 - Emacs autocomplete and Dependency injection (DI)
В пассивных классах, которым зависимости внедряет программа, возникают трудности с автокомплитом в emacs с elpy-mode.