ССоветы разработчикам (python и не только)

Советы разработчикам (python и не только)

@advice17🔌 Гаджеты🇷🇺 Русский📅 март 2026 г.

Советы для разработчиков ПО от @Tishka17 Поддержать материально https://www.tinkoff.ru/cf/2NkdXaljivI Programming, python, software architecture и все такое

📊 Полная статистика📝 Все посты
##39#092#applying
8.5K
Подписчики
15.8K
Ср. охват
186.3%
Вовлечённость
20
Постов
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

20 из 20
Aadvice17
advice17
17 июн., 09:50

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

👁 20.4K
Aadvice17
advice17
3 янв., 19:03

Паттерны работы с базами данных В большинстве проектов мы храним какие-то данные. Для этого используются разные виды баз данных: реляционные, nosql или даже специализированные HTTP API. Такие хранилища имеют специфическое API, которое мы обычно хотим скрыть от основного кода за некоторой абстракцией. Вот стандартные варианты, описанные, в частности, Мартином Фаулером. Первая группа паттернов работы с БД - отделяющие реализацию операций с хранилищем от данных. Благодаря такому разделению, мы може...

👁 19.4K📷 photo
Aadvice17
advice17
3 апр., 12:35

Dishka - IoC-контейнер для Python Когда мы следуем подходу Dependency Injection, а особенно - слоистой архитектуре, у нас образуется отдельная группа функций и классов, выполняющих только одну задачу - создание других объектов. Такой код лучше держать поближе к main, так как он связывает воедино разные части приложения и связан с конфигурацией запуска. В сложном приложении такой компонент может содержать большое количество функций, контролировать как создание, так и корректную очистку объектов и...

👁 19.4K📷 photo
Aadvice17
advice17
2 апр., 18:27

Anti corruption layer Часто в наших приложениях мы обращаемся к каким-то внешним системам. Иногда мы просто обращаемся к ним, иногда ждем обратных вызовов. Это может быть платежная система, сервис уведомлений, инвентаризации или что-то ещё. Ключевое в таких интеграциях то, что такие системы имеют свой жизненный цикл, свой контекст и часто их устройство слабо похоже на то, что нам надо от них, однако интеграция с ними может быть жизненно необходима для нашего приложения. Для того, чтобы сделать н...

👁 19.3K📷 photo
Aadvice17
advice17
12 мая, 12:03

Unit of work Паттерн Unit of work (единица работы) предназначен для того, чтобы следить за изменениями объектов и потом координировано их сохранять в базу данных. Это позволяет: • Ограничить время жизни транзакции • Не выполнять обращение к БД сразу при выполнении изменений, а значит попытаться сделать это более эффективно • Более удобно следить за изменениями в случае сложной иерархии или большого количества типов моделей. Принцип использования Unit of Work состоит из двух этапов: 1. Сначала мы...

👁 18.9K
Aadvice17
advice17
10 янв., 02:55

Виртуальные окружения Python Во многих случаях при разработке приложений на Python нам требуются сторонние библиотеки. Однако, если мы будем их устанавливать в глобальное окружение, мы в какой-то момент столкнемся с конфликтами между разными проектами, нам будет сложнее производить очистку такого окружения. А в некоторых ситуациях мы можем даже сломать системные приложения. Чтобы избежать таких проблем, рекомендуется практически всегда использовать виртуальные окружения. Это специальная папка, к...

👁 18.7K
Aadvice17
advice17
30 мая, 15:36

У ребят из Podlodka Python Crew стартует новый сезон онлайн-конференции, тема — инфраструктура. Всё проходит онлайн, с 3 по 7 июня. Я буду выступать там с докладом про Dependency Injection и dishka непосредственно. Все доклады записываются, так что смотреть их день в день необязательно. Что будет • Мой доклад про DI • Погружение в трейсинг: чем он полезен, как работает и как его внедрить. • Поиск уязвимостей: практические задания с разбором • Рассказ про неочевидные кейсы оптимизации. • Обучение...

👁 17.6K
Aadvice17
advice17
20 сент., 14:16

Аутентификация и IdentityProvider Для реализации идентификации и аутентификации мы неизбежно используем данные, не нужные основной логике приложения, а логика может быть достаточно сложной сама по себе: • Для событий телеграм идентификация происходит на основе данных из события. Аутентификация пользователя не производится - мы только проверяем безопасность соединения с сервером • Для бэкенда веб приложения мы часто используем сессии. В этом случае мы достаем их из cookie и дальше проверяем в как...

👁 17.2K
Aadvice17
advice17
14 окт., 10:37

Полиморфизм при наследовании и LSP. Когда мы строим иерархию объектов, мы часто делаем одноименные методы с разным поведением. Если в родительском классе такой метод отсутствует, то мы в целом вольны в наследниках делать что захотим. Если же родительский класс содержит такой метод, то у нас есть следующие варианты: 1. Реализация в дочернем классе полностью сохраняет внешнее поведение метода (параметры, результат, побочные эффекты), но отличается реализацией и как следствие нефункциональными хара...

👁 17.2K
Aadvice17
advice17
27 нояб., 22:32

Data Transfer Object Когда мы общаемся с удаленным кодом (посылаем запросы, сообщения), пересылаемые данные в коде зачастую удобнее передавать совместно и представлять не в виде отдельных параметров методов, а в виде некоторой структуры. Она называется DTO - Data Transfer Object (объект передачи данных). DTO - любой объект/структура данных без своей логики, пригодная для сериализации для передачи по сети. При этом не обговаривается как именно она будет сериализована - она может содержать специал...

👁 16.5K

Типы хуков

Нейтральный20 | 15.8K просм.

Длина постов

Очень длинные (1000+)18 | 16.3K просм.
Длинные (500-1000)1 | 17.6K просм.
Короткие (<200)1 | 5.7K просм.

Типы контента

📷
4
photo
18.0K просм.
📝
16
text
15.3K просм.