Собрали в одном месте самые важные ссылкии сделали Тренажер IT-инцидентов для DevOps/SRE
Как за один вечер собрать собственную систему транскрибации, если вам надоело платить за подписки и сливать записи конфиденциальных встреч в «облачные мозги»? В этой статье разбираем Q-scribe — прагматичный open-source конвейер для маленькой команды. Идеально для тех, кому нужно быстро превращать видео встреч в текст, сохраняя данные на своем железе.
Пришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.
Современные подходы позволяют не только проводить мониторинг данных без риска математической ошибки, но и останавливать эксперименты значительно раньше срока. В основе такой гибкости лежит методология mSPRT, которая превращает эксперимент из закрытого процесса в прозрачный поток данных.
Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/
Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов. При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему.
threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.
После негодования по поводу реализации паттерна Repository в обучающих материалах, а именно скудность функционала, я решил, что нужно расширяться и это привело к тому, что появился ORM Query Builder, о котором подробно расскажет вам эта статья.
Сегодня хочу поделиться историей о том, как желание автоматизировать рутинную работу привело меня к созданию собственного инструмента FullMute и, как следствие, к первым серьезным выплатам на платформах bug bounty.Как многие начинающие исследователи, я начал с хаотичного ручного поиска уязвимостей: проверял заголовки, искал известные пути к админкам, пытался угадать версии CMS. Это было неэффективно, медленно и сильно зависело от везения. Мне нужен был «компас», который бы проводил первоначальную разведку за меня и давал четкие цели для атаки. Так родилась идея FullMute.
А теперь о том, что происходило в последнее время на других ресурсах.
Фоновая музыка, гул, шипение — классические фильтры с этим не справляются. Нейросети справляются, но падают на длинных файлах. Решение: чанкование + сохранение прогресса. Делюсь инструментом.
На работе одним из постоянных и важных процессов является проверка чеков на подлинность. Их поток достаточно большой (порядка нескольких сотен каждый день) и при этом каждый документ разбирается вручную - это может занимать до нескольких минут на один файл. На дистанции получается достаточно много. К тому же ручная проверка это медленно, дорого, и зачастую с ошибками из-за усталости аналитиков.
Дескрипторы — одна из тех фич Python, о которых многие слышали, но мало кто использует напрямую. При этом они лежат в основе @property, @classmethod, @staticmethod, слотов и даже обычного доступа к методам. Разберём, что такое дескрипторы, как их писать и когда они реально полезны
Сейчас я расскажу, как использую агенты, чтобы упростить себе backend-разработку и не тратить на рефакторинг больше, чем на написание кода.Какие задачи идеально подходят для оптимизации с помощью ИИ, а какие не стоит отдавать агенту.
Бывали у вас датасеты, где класс «1» встречается в 100 раз реже класса «0»? У меня — постоянно. Модель радуется высокой точности, а на деле совершенно промахивается по редкому классу. Давайте обсудим, почему старый добрый SMOTE уже не торт, и что помогает в таких случаях.
Переписать решение с Python на Go и получить ускорение в 35 раз — звучит приятно. Но можно ведь пойти дальше, вспомнить о возможностях современных процессоров и увеличить отрыв Go до 200 раз!
Django ORM прячет SQL за красивым Python-интерфейсом. Пишешь User.objects.filter(active=True).order_by('name')[:10] — получаешь список пользователей. Круто. Но когда запросы тормозят или N+1 пожирает базу, приходится понимать, что вообще происходит.Разберём внутренности QuerySet: почему он ленивый, как работает chaining, когда запрос реально выполняется, и чем select_related отличается от prefetch_related на уровне SQL.
Генетический алгоритм как инструмент инженера: практический кейс раскроя полотенГенетический алгоритм — это «умный» инструмент для автоматизации раскроя материалов (металл, ткань, пластик). Вместо ручного подбора или полного перебора он по принципам естественного отбора ищет компактное размещение деталей, минимизируя отходы. В статье показан практический кейс на Python: как без сложной математики создать алгоритм, который экономит материал, время. Этот подход можно адаптировать под ваши производственные задачи.
Сказ о том, как после долгого перерыва я "взял в руки шашки" (поучаствовал в ML-соревновании) и дотащил задачу на "таблички" до первого места на финальном "приватном" лидерборде с помощью простейшей подготовки фич и классической линейной регрессии с регуляризацией, внезапно обогнав при этом всех модных катбустеров, банально переобучившихся на "паблике".
Это вторая (и заключительная) часть цикла статей о нашей миграции с Zeppelin. О причинах и первом опыте перехода с Zeppelin я рассказал здесь. В данной статье я хочу большее внимание уделить второму виду Zeppelin notebook, которые срочно нуждались в переносе.
Я на выходных люблю поиграть в днд. А так как мастеров не так уж и много, а тех, кто хочет ими быть, ещё меньше, то мне регулярно приходится садиться за ширму. Ну а какой мастер не хочет водить по своему собственному миру? Вот так вот мне и понадобилась карта. А точнее, много карт, чтобы выбрать подходящую.