и посмотреть медиа
Código en una sirena - Codificación Python
и посмотреть медиа
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Recurso para aquellos interesados en la programación. Enfóquese en Python, pero también cubre otros temas.
Всем доброго вечера пятницы! «Мышиная охота» (1997) «Мышиная охота» — безбашенная семейная комедия про двух братьев, которых уделывает… одна маленькая мышь. Ларс и Эрни Шмунц наследуют от отца старый особняк и сначала не воспринимают его всерьёз, пока не понимают, что дом может стоить огромных денег. Единственная проблема — в доме давно живёт очень умная и вредная мышь, которая превращает каждый их план ремонта и продажи в катастрофу. Братья устраивают ей настоящую войну с ловушками, инсектами и даже тяжёлой техникой, но чем сильнее давят, тем позорнее сами выглядят. Фильм идеально подойдёт, если хочется лёгкого, визуального юмора в стиле старых мультфильмов: много физической комедии, абсурдных ситуаций и ощущение, что разум у этой мыши явно побольше, чем у людей вокруг. Приятного просмотра!
Открыть канал и посмотреть медиаЗнаете ли вы, что float('nan') != float('nan') – True? NaN не равен самому себе – и во всех языках, реализующих IEEE 754, это работает одинаково. В Python, JavaScript, C, Rust, Go – это не особенность реализации, а стандарт. И есть у этого конкретная причина. nan = float('nan') print(nan == nan) # False print(nan != nan) # True print(nan > 0) # False print(nan < 0) # False print(nan == 0) # False NaN не больше нуля, не меньше нуля и не равен нулю. Он не равен ничему – включая себя. Уильям Кахан, архитектор IEEE 754, сделал это намеренно. Логика была такая: NaN – это результат операции без определенного ответа. 0/0, sqrt(-1), inf - inf – это все разные операции, и нет оснований считать, что их результаты совпадают; два неизвестных не обязаны быть равными. Если бы NaN == NaN было True, то пришлось бы признать, что все неопределенности одинаковы, а это математически неверно. У этого решения есть практическое следствие: NaN можно обнаружить через сравнение с самим собой. Именно так и задумывалось – до math.isnan это был идиоматичный способ: import math x = float('nan') print(x != x) # True – работает благодаря тому же свойству print(math.isnan(x)) # True – правильный способ в современном коде А вот list при проверке вхождения сначала сравнивает объекты через is, и только потом через == – поэтому один и тот же nan находит себя в списке, а другой – нет: a = float('nan') b = float('nan') print(a in [a]) # True – тот же объект, is -> True, == не проверяется print(a in [b]) # False – разные объекты, == -> False NaN также портит сортировку: sorted([1, float('nan'), 2]) выполнится без ошибки, результат может зависеть от исходного расположения данных, потому что алгоритм сортировки предполагает транзитивность сравнений, которой у NaN нет. Кахан получил премию Тьюринга в 1989 году – в том числе за IEEE 754. Стандарт вышел в 1985-м и впервые унифицировал floating point на всем железе: до этого каждый производитель реализовывал свой формат, и один и тот же код давал разные результаты на разных машинах. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиа🐝 Улей — это не один сервер Как обычно делают стартапы: берут одну машину, закидывают всё на неё и забывают. Быстро, просто, дёшево. Мы сделали иначе. Улей — это кластер из нескольких серверов, разнесённых по разным странам. Данные — отдельно, агенты — отдельно, управление — отдельно. Каждая часть живёт своей жизнью. Зачем? Чтобы, если что-то упало, остальное продолжало работать. Чтобы добавить мощность, не пересобирая всё с нуля. Чтобы ваш агент отвечал, даже если мы что-то обновляем на соседнем сервере. И про рост. Когда текущих мощностей перестанет хватать, мы просто добавляем ещё один сервер в кластер. Без остановки, без миграций, без танцев с бубном. Новая машина встаёт в строй — нагрузка распределяется сама. Это не «масштабирование в следующем году». Это заложено с первого дня. 🐝 Технологии оживают в Улье. → agenthive.ru → @agenthive_ru
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 25.05.2026 — Дайджест ⚙️ Вторник, 26.05.2026 —Знаете ли вы, что переполнение 16-битного числа уничтожило ракету Ariane 5? 🔧 Пятница, 29.05.2026 — ALEMBIC ENUM AUTOMATION 🎬 Пятница, 29.05.2026 — Пятничный кинорелакс 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиаВсем привет! «Военная машина» (2026) «Военная машина» — жёсткий фантастический боевик от Netflix про солдат, которые вместо учений получают реальный бой с неуязвимым врагом. Учебный отряд рейнджеров отправляется на финальное испытание, где надо пройти изнуряющий марш и выжить в полевых условиях. В горах и лесу подготовка срывается, когда на них выходит огромный боевой робот неизвестного происхождения — почти неуязвимая «машина смерти», которая методично выкашивает бойцов. Связь отрезана, помощи не будет, и сапёру с позывным «81» приходится взять командование на себя и превратить тренировку в реальную операцию по выживанию. Фильм понравится, если любишь военные истории с примесью научной фантастики: здесь есть напряжённые тактические эпизоды, тема травм прошлой войны и вопрос, способен ли человек переиграть идеальное оружие. Приятного просмотра!
Открыть канал и посмотреть медиаВсем привет! Знакома ли вам боль использования Enum в моделях SQLAlchemy и миграциях Alembic? Мне вот очень знакома... Суть проблемы: когда вы создаете модель с полем, ссылающимся на Enum-класс, Alembic корректно генерирует начальную миграцию. Однако, как только вы пытаетесь добавить, удалить или изменить значения в перечислении и создаете новую миграцию — Alembic просто игнорирует эти изменения. Никаких новых инструкций не появляется. Решение этой проблемы всегда было немного утомительным: приходилось вручную прописывать изменения в миграциях и надеяться, что все сделано правильно. (И да, привет кое-кому из чата, кто считает, что все миграции нужно писать руками =) ) И совершенно внезапно я наткнулся на библиотеку alembic-postgresql-enum. Она встраивается в Alembic как хук и автоматически отслеживает изменения в Enum-классах при генерации новых миграций. Головная боль в прошлом! Ссылка на репозиторий проекта: Ссылка скрыта
Открыть канал и посмотреть медиаЗнаете ли вы, что переполнение 16-битного числа уничтожило ракету Ariane 5? 4 июня 1996 года Ariane 5 Flight 501 поднялась в воздух и через 37 секунд взорвалась. Причина – навигационный код, который без изменений скопировали с Ariane 4. Там он работал годами, а на Ariane 5 его не хватило и на минуту. Система ориентации конвертировала 64-битное число с плавающей точкой в int16. В Ariane 4 это значение физически не выходило за пределы диапазона – проверки не писали, потому что казалось, что незачем. Ariane 5 летела по другой траектории с большей горизонтальной скоростью – значение вышло за пределы int16: import ctypes value = 32767 print(ctypes.c_int16(value).value) # 32767 — максимум для signed int16 value = 32768 print(ctypes.c_int16(value).value) # -32768 — за пределами диапазона int16 хранит числа от -32768 до 32767. В Python int переполниться не может – это bignum, он просто растет: value = 32767 print(value + 1) # 32768 — Python не знает про int16 print(type(value)) # # Чтобы увидеть ограничения int16, нужно явно попросить: import ctypes print(ctypes.c_int16(32768).value) # -32768 Навигационный код был написан на языке Ada – в нем конверсия float в int16 бросает исключение, когда число выходит за диапазон. Исключение не обработали: навигационная система SRI передала диагностический дамп по шине данных, а бортовой компьютер интерпретировал его как валидные данные полета и начал править курс по мусорным координатам – ракета попыталась скорректировать положение и разрушилась под нагрузкой. Резервная SRI не помогла – там стоял идентичный код. Она отказала почти сразу по той же причине. В официальном отчете комиссии прямо написано: код считался безопасным из-за ограничений полетного профиля Ariane 4. Никто не спросил, будут ли те же ограничения справедливы для новой ракеты. На борту было четыре научных спутника Cluster стоимостью около $370 млн – они должны были изучать магнитосферу Земли. Cluster в итоге запустили повторно в 2000 году, на Союзах. Python не воспроизведет этот баг случайно – int здесь бесконечен по умолчанию. Но ctypes, numpy, struct – любой из них вернет C-поведение, если попросить. Тип данных – это не просто размер памяти, это контракт о том, что произойдет на границе. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 18.05.2026 — Дайджест ⚙️ Вторник, 19.05.2026 — Знаете ли вы, что в UTC реально существует секунда `23:59:60` – и Python умеет ее парсить? 🔧 Среда, 13.05.2026 — Глас народа — закон. 67% проголосовало за «Сметану» 🎬 Пятница, 22.05.2026 — NEW PROJECTS AND AI AGENTS и Пятничный кинорелакс ⚙️ Суббота, 23.05.2026 — S3 OOM BUG FIXED 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиаВсем привет! Последний релиз нашего инструмента по созданию бэкапов ReBack был аж в январе 2025 года. Поздабросил я проект, каюсь. Руки дорабатывать его всё ещё не дошли, но я тут столкнулся с одним старым багом: если размер отправляемого в S3 файла больше свободной ОЗУ — то привет Out Of Memory! И это был не мой косяк, а библиотеки для работы с S3, но в обновлённой версии этой библиотеки проблема устранена и теперь там динамический расчёт параллельности: чанки по 8 МБ грузятся не все сразу, а ровно столько, сколько влезает в свободную память. Хоть гигабайтные архивы заливай — больше не упадёт. В общем, кому интересно, прошу в репозиторий: Ссылка скрыта Или сразу на страницу релиза: Ссылка скрыта
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!