Наши подписчики вспомнили, как у них началось знакомство с Python.
Иногда — это лёгкий старт, но чаще — забавные (и немного болезненные) истории.
Вот три из них
Я учил Python… прямо во время написания C++ модуля.
Задача — сделать часть C++ кода вызываемой из Python. До того, как я вообще знал Python.
SWIG помог, но ощущения были как при операции на открытом сердце человеку, с которым ты только что пошёл на первое свидание.
Мой первый Python-скрипт назывался python.py. Он не работал, и я несколько часов ломал голову, пока не написал свой первый вопрос на Stack Overflow.
Там спросили: «А вы точно не назвали его python?» — и помогли.
Теперь понимаю, насколько это было глупо… но для новичка это казалось отличным названием.
Я пришёл из R и был в бешенстве, что скобки и фигурные, и квадратные в Python значат совсем разные вещи.
А ещё меня бесило, что нет функции grep.
💬 А как у вас началось знакомство с Python?
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5❤1
🌀 Заблуждения программистов: где логика даёт сбой
В разработке есть особый класс ошибок — falsehoods: заблуждения, в которые программисты верят, но которые на практике оказываются ложными.
Обычно это звучит логично. Например:
И многие пишут валидацию именно так. Но на деле email может содержать несколько @. Ваш код внезапно «ломается» в реальных условиях.
Таких примеров десятки. Все эти предположения — falsehoods, которые делают софт хрупким.
📚 Существуют целые подборки таких «ложных убеждений». Они помогают расширить взгляд и писать более надёжный код, учитывающий реальные данные и сценарии.
👉 Если хотите стать сильнее как инженер — изучите список falsehoods и держите их в голове.
🐸 Библиотека питониста
#междусобойчик
В разработке есть особый класс ошибок — falsehoods: заблуждения, в которые программисты верят, но которые на практике оказываются ложными.
Обычно это звучит логично. Например:
Email всегда содержит ровно один символ @.
И многие пишут валидацию именно так. Но на деле email может содержать несколько @. Ваш код внезапно «ломается» в реальных условиях.
Таких примеров десятки. Все эти предположения — falsehoods, которые делают софт хрупким.
📚 Существуют целые подборки таких «ложных убеждений». Они помогают расширить взгляд и писать более надёжный код, учитывающий реальные данные и сценарии.
👉 Если хотите стать сильнее как инженер — изучите список falsehoods и держите их в голове.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔6❤4👍2🌚1
Делимся классным туториалом: как сделать мозаику из гифов 90-х с анимацией, полностью рендерящуюся в браузере.
В статье показано:
✨ Немного ностальгии и техно-магии.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1😁1
⚡️ AsyncFlow — симулятор асинхронных распределённых бэкендов
Обычно масштабирование и отказоустойчивость проверяют уже на проде или в нагрузочном стенде. AsyncFlow позволяет сделать это до написания продакшн-кода.
Что умеет:
— моделировать сценарии с учётом RTT, джиттера, лимитов ресурсов, фейлов
— показывать реальное влияние: рост очередей, давление на сокеты/память, распределение задержек
— тестировать стратегии масштабирования и сетевые предположения на уровне архитектуры
Как работает:
— система задаётся как граф компонентов (клиенты, балансировщики, серверы), соединённых сетевыми рёбрами с настраиваемой латентностью
— каждый сервер осознаёт event loop:
• CPU блокирует цикл,
• RAM остаётся занята до освобождения,
• I/O освобождает цикл — как в реальных async-фреймворках
— топологии описываются через YAML или Python DSL
С новым движком событий можно воспроизводить: пики трафика, падения серверов, деградацию линков — и смотреть, что реально произойдёт.
📱 Репозиторий
🐸 Библиотека питониста
#междусобойчик
Обычно масштабирование и отказоустойчивость проверяют уже на проде или в нагрузочном стенде. AsyncFlow позволяет сделать это до написания продакшн-кода.
Что умеет:
— моделировать сценарии с учётом RTT, джиттера, лимитов ресурсов, фейлов
— показывать реальное влияние: рост очередей, давление на сокеты/память, распределение задержек
— тестировать стратегии масштабирования и сетевые предположения на уровне архитектуры
Как работает:
— система задаётся как граф компонентов (клиенты, балансировщики, серверы), соединённых сетевыми рёбрами с настраиваемой латентностью
— каждый сервер осознаёт event loop:
• CPU блокирует цикл,
• RAM остаётся занята до освобождения,
• I/O освобождает цикл — как в реальных async-фреймворках
— топологии описываются через YAML или Python DSL
С новым движком событий можно воспроизводить: пики трафика, падения серверов, деградацию линков — и смотреть, что реально произойдёт.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6
✨ Starplot — библиотека Python для построения карт звёздного неба
Если вы когда-нибудь хотели построить собственную карту неба или визуализировать астрономические объекты, теперь это можно сделать прямо в Python.
Что умеет Starplot:
⭐️ Zenith Plots — показывает всё небо в конкретное время и месте
⭐️ Map Plots — разные картографические проекции
⭐️ Horizon Plots — визуализация горизонта в выбранный момент
⭐️ Optic Plots — эмуляция того, что вы увидите через телескоп
⭐️ Планеты и объекты глубокого космоса — встроено более 14 000
⭐️ Кастомные стили для объектов
От простой карты горизонта до сложных проекций с планетами и галактиками — всё доступно из кода.
🔗 Репозиторий и документация
🐸 Библиотека питониста
#междусобойчик
Если вы когда-нибудь хотели построить собственную карту неба или визуализировать астрономические объекты, теперь это можно сделать прямо в Python.
Что умеет Starplot:
От простой карты горизонта до сложных проекций с планетами и галактиками — всё доступно из кода.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍2😍1