31 May 2026, 18:13 UTC≈5,620 views86 reactionsread 12 August 2026 Юзкейсы, сценарии и интеракторы
Когда мы пишем наш код (программу, сервис, библиотеку), мы так или иначе анализируем зачем она нужна. У пользователей и заказчика продукта есть цели. Бизнес хочет получить прибыль, покупатель - получить товар, пользователь техподдержки - не показаться начальнику глупым, чтобы его не уволили. Есть цели более глобальные, такие как достижение благополучия, есть более конкретные подцели, …
❤58👍21🔥3💩2🐳1🤩1
17 Feb 2026, 09:25 UTC≈11,400 views162 reactionsread 12 August 2026 Меня позвали поговорить о разном: о проектах, опыте, программировании в целом.
https://www.youtube.com/watch?v=B4XrghSsUhQ
👍101🔥40❤13💘3🤡2🐳1👨💻1😁1
11 Jan 2026, 11:54 UTC≈13,500 views172 reactionsread 12 August 2026 SQLAlchemy и ORM
SQLAlchemy в python предоставляет два набора API:
1. Возможность конструировать и выполнять запросы в БД
2. Получать и сохранять сущности
Первый набор api (Core функциональность) - это в первую очередь объекты запросов select, insert, update и других, а также метод execute, который есть у объекта Сonnection (можно использовать Session, но о нем ниже). Часто при этом используются объекты Table для …
👍107🤡27🔥14❤10🤓5❤🔥3🐳2🤔2
4 Nov 2025, 12:30 UTC≈13,900 views95 reactionsread 12 August 2026 Asyncio и колбэки
В прошлом посте мы рассмотрели как asyncio взаимодействует с генераторами, но на более низком уровне он взаимодействует с колбэками, а генераторы и корутины - вспомогательные возможности для более удобного написания кода.
Базовая функциональность лупа заключается в том, что он умеет вызывать в цикле синхронные функции. Пока один колбэк не отработает, луп не перейдет к другому. Такие функции можно …
❤48👍31🔥7👎4🤯4🐳1
27 Sept 2025, 17:51 UTC≈13,800 views98 reactionsread 12 August 2026 Стейт при работе с базами данных
Подходы работы с БД можно разделить на две группы:
• Ориентированные на состояние в памяти (ActiveRecord, Data Mapper, UoW)
• Ориентированные на действия с состоянием в БД (DAO)
Если ты ориентирован на состояние в памяти, то фактически твоё приложение имеет вид
1. Загрузил состояние сущностей
2. Выполнил необходимые операции по его изменению
3. Сохранил состояние
Такой подход поз…
❤54👍29🎉5🐳2💊2🤡2🦄2🤔1
7 Aug 2025, 14:01 UTC≈15,700 views166 reactionsread 12 August 2026 Asyncio и цикл событий
Чтобы понять, как рабоатет asyncio, давайте рассмотрим, как в Python работают функции.
Мы можем вызвать функцию, она выполнится. Просто интерпретатор берет её код и выполняет целиком. Если же мы берём функцию-генератор и просто вызываем, ничего не будет происходить. Тебе надо по ней пробежаться циклом или самому вызывая next. Когда мы вызываем next, код функции доходит до следующего yield и о…
❤95👍43🔥13🐳6🤯3👨💻2🤝2✍1
2 Apr 2025, 15:27 UTC≈19,900 views101 reactionsread 12 August 2026 Photo
Anti corruption layer
Часто в наших приложениях мы обращаемся к каким-то внешним системам. Иногда мы просто обращаемся к ним, иногда ждем обратных вызовов. Это может быть платежная система, сервис уведомлений, инвентаризации или что-то ещё.
Ключевое в таких интеграциях то, что такие системы имеют свой жизненный цикл, свой контекст и часто их устройство слабо похоже на то, что нам надо от них, однако интеграция с ни…
👍66❤10🤡9🤔6🐳4🥱4👾2
14 Mar 2025, 08:53 UTC≈16,500 views89 reactionsread 12 August 2026 Словари
Словари есть во многих языках программирования и предназначены для поиска и хранения значений, связанных с некоторыми ключами. В простом случае словарь можно представить как список пар ключ-значение, но ключи уникальны.
Основная задача словаря - обеспечивать доступ по ключу, поэтому мы хотим, чтобы он делал это эффективно. Если хранить пары как обычный неупорядоченный список, для поиска придется перебирать …
❤48👍35🐳2🤝2⚡1✍1
8 Mar 2025, 11:49 UTC≈14,300 views114 reactionsread 12 August 2026 Photo
Dependency Inversion Principle
Принцип инверсии зависимостей (DIP) часто путают с техникой внедрения зависимостей (DI), но это разные вещи, служащие разным целям. Начнем с самой инверсии.
Представим ситуацию: у нас есть компонент А и ему для работы нужен компонент D. Например, для обработки данных нам надо их загрузить из БД. Это прямая зависимость: компонент А знает о компоненте D, а компонент D не знает о компоне…
❤70👍22🦄11🤩5👻2🍓1🐳1👎1
20 Feb 2025, 09:34 UTC≈15,300 views116 reactionsread 12 August 2026 float и Decimal
Вас никогда не удивляло, что 0.1 + 0.2 != 0.3? Почему float считает с погрешностями, и всем норм?
Дело в том, что 0.1 выглядит как
0 0111111101 11001100110011001100110011001100110011001100110011010.
Где:
• 0 обозначает знак + (и 1 обозначает -)
• 0111111101 обозначает exponent, равную 0^10 + 2^9 + 2^8 + 2^7 + 2^6 + итд = 1019. Вычтем 1023 (размерность double) и получим итоговое значение: 1019 - 10…
❤67👍33✍7🤡4🐳2🤯2🔥1
3 Jan 2025, 16:03 UTC≈19,900 views139 reactionsread 12 August 2026 Photo
Паттерны работы с базами данных
В большинстве проектов мы храним какие-то данные. Для этого используются разные виды баз данных: реляционные, nosql или даже специализированные HTTP API. Такие хранилища имеют специфическое API, которое мы обычно хотим скрыть от основного кода за некоторой абстракцией. Вот стандартные варианты, описанные, в частности, Мартином Фаулером.
Первая группа паттернов работы с БД - отделяющи…
🔥77👍38🦄7❤6🐳3🥴3👎2⚡1
27 Nov 2024, 19:32 UTC≈17,000 views114 reactionsread 12 August 2026 Data Transfer Object
Когда мы общаемся с удаленным кодом (посылаем запросы, сообщения), пересылаемые данные в коде зачастую удобнее передавать совместно и представлять не в виде отдельных параметров методов, а в виде некоторой структуры. Она называется DTO - Data Transfer Object (объект передачи данных).
DTO - любой объект/структура данных без своей логики, пригодная для сериализации для передачи по сети. При этом …
🔥73👍18❤11❤🔥5🤓4🐳1🤣1😢1
Showing the 12 most recent of 20 posts we hold for @advice17. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.