All Posts

О качестве комментариев в интернете

В интернете часто можно встретить такое явление, когда кто-то написал какую-то умную и полезную статью (или разработал качественную и полезную библиотеку), как, например, “SQLAlchemy для Django”, а на автора обрушивается куча недоумков, которые, как “мартышка и очки”, не имея интеллекта даже осознать прочитанное, и, очевидно, осознавая собственную ущербность на фоне этой статьи, начинают эту статью усердно обливать грязью.

Read more ...


Реализация паттерна Repository в браузерном JavaScript

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

Read more ...


О моем опыте использования Django Framework

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

Read more ...


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.

Read more ...


Проектирование Сервисного Слоя

Эта статья посвящена вопросам проeктирования Сервисного Слоя (Service Layer) и рассматривает широко распространенные ошибки.

Read more ...


Design of Service Layer

This article is devoted to the issues of designing Service Layer and considers the widespread mistakes.

Read more ...


How to quickly develop high-quality code. Team work.

This article is about how to write high-quality code quickly.

Read more ...


Как добавить новые операторы для Python выражений

Библиотека sqlbuilder использует перегрузку операторов языка программирования Python для создания критериев выборки, что позволяет транслировать операторы языка программирования в операторы SQL. К сожалению, Python поддерживает не так много операторов, как PostgreSQL, например, таких операторов как @>, &>, -|-, @-@ и т.д.

Read more ...


Usefull links

Here is the list of articles and sites that I find interesting. This page is regularly updated.

Read more ...


Искусство воевать

Читая книгу «Code Complete» Steve McConnell, я обнаружил интересное сходство с военным искусством.

Read more ...


О проблемах инвалидации кэша. Тегирование кэша.

О моем опыте решения проблем инвалидации кэша, и о принципах работы библиотеки cache-dependencies.

Read more ...


About problems of cache invalidation. Cache tagging.

About my experience of solving problems of cache invalidation and principles of the library cache-dependencies.

Read more ...


Построение Raw-SQL cредствами Storm-ORM

Возникло у меня желание попробовать построить чистый, сырой запрос (Raw-SQL) с помощью storm.expr для одного самописного специфического маппера, сочетающего в себе паттерны Single Table Inheritance и Entity Attribute Value.

Read more ...


О книге "Refactoring" by M.Fowler

Хочу ответить на уже ставший популярным вопрос, нужно ли читать «Refactoring: Improving the Design of Existing Code» [1] если уже прочитал «Clean Code: A Handbook of Agile Software Craftsmanship» [4]?

Read more ...


Аргументы-флаги

В главе “Flag Arguments” известной книги «Clean Code. A Handbook of Agile Software Craftsmanship.», Robert C. Martin советует не использовать аргументов-флагов, справедливо замечая, что это свидетельствует о том, что функция делает более одной операции.

Read more ...


Почему я выбираю Storm ORM для Python

В промышленных решениях на Python я чаще стал использовать KISS-style Storm ORM, и здесь я попытаюсь объяснить почему.

Read more ...


Why I prefer Storm ORM for Python

I began using KISS-style Storm ORM for enterprise applications on Python, let me explain why.

Read more ...


Emacs autocomplete and Dependency injection (DI)

В пассивных классах, которым зависимости внедряет программа, возникают трудности с автокомплитом в emacs с elpy-mode.

Read more ...