Витя пишет код – Telegram
Витя пишет код
175 subscribers
147 photos
27 videos
15 files
189 links
Витя пишет код и рассказывает как
Download Telegram
Принципы юнит-тестирования.pdf
5 MB
Друзья, начинаем разбираться как же правильно делать тесты на само деле, принципы unit тестирования для вас 🤗
🔥71
Дамы и господа, я в Екатеринбурге
12🔥7👍4
Вашему вниманию - омниканальная архитектура 😌
🔥1
Сегодня я исполнил одну из детский мечт. Я копал яму на экскаваторе. Пусть и ваши мечты сбываются 🔥
12🔥1🕊1
Всем привет! 👋

Разбираясь в генерации документации как кода, сгенерировал для Вас сайт с материалами, которые я пишу о системной архитектуре.

🚀 URL: https://luferov.github.io/architecture/
📙 REPO: https://github.com/Luferov/architecture

Сделал на github-pages.

А вообще программисты не любят писать документацию, ну чтож, а как же писать docstring. Вроде писать docstring нормально, docstring на модуль, на класс, на методы, на функции, а потом генерируем на основе mkdocs-string https://mkdocstrings.github.io. А если добавить линтер на докстринги? Получится актуальная документация к актуальному коду.

Как же деплоить свою документацию на основе md файлов, представлено в видео:
- 🚀 YouTube: https://youtu.be/zSmvMXj4154
- 🚀 RuTube: https://rutube.ru/video/private/22a4f0bd5104f8acee9aee9d828a75e6/?p=ZKPoIL9kjmYV7_1hxSmMwg
🔥101
Кто знает что такое Temporal и кто использует? Возможно, я скоро Вас приятно удивлю 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Если кто-то желает использовать uuidv7 в python, то вы должны знать, что в 3.14 появилось 🚀
Поздновато на мой взгляд, но лучше поздно, чем никогда
👍8
Кто знает такое мероприятие?
Замечательная приложуха Temporal сегодня все соки из меня выжала, буквально, я уже отчаялся, а потом фаза луны сдвинулась и все заработало. Охеренная инженерия и работа интересная, приходите, у нас весело 💯

Вспоминаю мем:
- вы прекрасно выглядите на 40 лет
- мне 25 😔
💯2
Я теперь официально сертифицированный Продакт 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍61
Forwarded from OneHandedPirate
"Помощники" в трудоустройстве совсем уже ошалели (это из их договора)
🔥2😱2👍1
Кто сегодня на pycon, делитесь инсайдами 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Полный список 12 практик экстремального программирования (XP) из книги Кента Бека "Экстремальное программирование:

1️⃣ Тестирование (Testing)
Автоматизированные модульные тесты (TDD).
Приемочные тесты (заказчиком).
2️⃣ Парное программирование (Pair Programming)
Два программиста за одним компьютером: один пишет код ("водитель"), другой анализирует ("наблюдатель").
3️⃣ Непрерывная интеграция (Continuous Integration)
Частое слияние кода в основную ветку (несколько раз в день) с запуском всех тестов.
4️⃣ Рефакторинг (Refactoring)
Постоянное улучшение внутренней структуры кода без изменения внешнего поведения.
5️⃣ Простота дизайна (Simple Design)
Дизайн системы должен быть максимально простым для текущих требований (без избыточности).
6️⃣ Коллективное владение кодом (Collective Code Ownership)
Любой член команды может изменять любой код в проекте в любое время.
7️⃣ Планирование игр (Planning Game)
Короткие итеративные встречи команды и заказчика для оценки, приоритизации задач и планирования релизов.
8️⃣ Короткие циклы выпуска (Small Releases)
Частые поставки работающей системы заказчику (каждые 1–3 недели), начиная с самого ценного функционала.
9️⃣ Метафора системы (System Metaphor)
Общее, простое описание архитектуры системы (например, "конвейер", "магазин"), упрощающее коммуникацию.
🔟 40-часовая рабочая неделя (Sustainable Pace)
Отказ от переработок для поддержания постоянной продуктивности и избежания выгорания.
1️⃣1️⃣ Заказчик рядом (On-Site Customer)
Постоянное присутствие реального представителя заказчика в команде для уточнения требований и приоритетов.
1️⃣2️⃣ Стандарты кодирования (Coding Standards)
Единые, согласованные правила оформления кода, чтобы любой код выглядел так, словно его писал один человек.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Спиральная динамика развития компаний
🤔1
Нет преград, чтобы вкатиться в IT
Forwarded from Двач
Зэк стал айтишником прямо в тюрьме: Престон Торп отбывает срок в тюрьме штата Мэн. Он пишет код по 10-15 часов в день и работает тимлидом в стартапе.

🟠Он попал в тюрьму за участие в ограблении банка в 2014 году;
🟠Решил не терять время: поступил в университет, учился дистанционно, начал программировать. Его GitHub заинтересовал работодателя;
🟠Даже фото из камеры на аве в LinkedIn не помешало получить оффер и занять реальную должность в IT;
🟠Сейчас он отвечает за инфраструктуру, базы данных и управляет командой из семи человек;
🟠Доступ к интернету у него официальный – администрация зоны разрешила работать удалённо;
🟠Теперь он учит программировать других заключённых.

Даже он вкатился, а ты чего ждёшь?
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
🥰4🔥1
Скажем спасибо Роману @romanverial, он поправил мои наработки и они стали еще чище и лучше 💪🔥

🚀 Архитектурный репозиторий: https://github.com/Luferov/architecture
🚀 Сайт с документацией: https://luferov.github.io/architecture/
❤‍🔥8🔥2
🔥 Благодаря мне и @allexbelov мы чуть-чуть продвинули FastClean вперед. Из нового:

🚀 убраны лишние методы при вызове API пагинаций
🚀 Репозитории к СУБД postgres теперь разовые на все приложение, а не на request
🚀 Провайдер S3 заменен на нативный aioboto3 вместо minio_async
🚀 Еще добавил пару мелочей

Релиз: https://github.com/Luferov/fast-clean/releases/tag/v1.4.0
8
🚀Если вы думаете как делать тесты, вот вам простой жизненный совет:
1️⃣ Пишем интеграционные - больше покрытие, тестируем работу API или UseCases.
2️⃣ Что не захватывается интеграционными, пишем UnitTest’ы
3️⃣ В библиотеках, если они у вас есть - пишем только UnitTest’ы
4️⃣ Тестируем вход-выход, а не состояние системы.
5️⃣ Ничего не мокаем, кроме http вызовов в другие сервисы (мокаем https.request), репозиторий не мокаем
6️⃣ Контракты с другими внешними системами не тестируем
7️⃣ Хрупкий тест - плохой тест
8️⃣ Каждый тест должен быть идеимпотентный
9️⃣ Если у вас много сервисов и все они одинаковые, нужно делать общий тулинг для тестов как pytest_plugins

Ну, а вообще, систему без ошибок не написать, но есть и другое правило: нормально делай, нормально будет :)
Каждая новая доработка стремиться замедлить и загасить систему, тесты позволяют этого не допустить 🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7