IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Telegram

     17.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Сателлит «RMarkdown» — что на обратной стороне?

В большинстве случаев, когда встречается что-то ранее неизвестное, люди пытаются объяснить это с помощью накопленного опыта, разложить в терминах известных вещей, развесить простые односложные ярлыки. После этого наступает порядок и ощущение полного понимания. Это очень полезный навык, но иногда такой подход не позволяет увидеть другие грани явления, пропущенные при первичном ознакомлении. RMarkdown прочно вошел в инструментальный стек R и воспринимается как базовый компонент. Однако, применительно к RMarkdown практически все осуществляют такой же промах. Связка «RMarkdown — это html отчет» формируется на первом шаге и дальше именно так и применятся. Реальность несколько многообразнее.

     17.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Одна слабая транзакция в ECDSA в блокчейне Биткоина и с помощью Lattice Attack мы получили Private Key к монетам BTC

Начнем с того что алгоритм цифровой подписи на эллиптических кривых (ECDSA) — это распространенная схема цифровой подписи, которую мы видим во многих наших обзорах кода. Он обладает некоторыми желательными свойствами, но также может быть очень хрупким для восстановления закрытого ключа с помощью атаки по побочному каналу, раскрывающей менее одного бита секретного одноразового номера.

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Начинающий программист vs Избирком СПб

С 2018 года я работаю в разных качествах в избирательных комиссиях от одной из наблюдательский организация Санкт-Петербурга. Вношу свой посильный вклад в построение гражданского общества, так скажем. И да, может с учётом контекста сегодняшнего времени, не очень я вовремя с этой статьёй, ну а что поделать.

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Асинхронный python без головной боли (часть 2)

Продолжение цикла статей про asyncio. Продолжаем готовить asyncio. Теперь мы уже знаем достаточно много, чтобы написать настоящий асинхронный микросервис, реализующий паттерн "API-шлюз". И попутно познакомимся с асинхронным логгированием и доступом к базе данных.

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Многопоточный Python на примерах: избавляемся от дедлоков

Дедлоки — распространенная проблема в многопоточном программировании. В больших приложениях вручную отслеживать порядок блокировок может быть достаточно сложно, причем эта проблема может не всплыть на этапе тестирования и случиться только в каких-то сложновоспроизводимых кейсах при реальном использовании. Существует много способов их избегания, но здесь мы рассмотрим только один — автоматическое выявление дедлоков на основе графа ожидания.

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Кто быстрее создаёт списки в Python, list() или []

В процессе написания очередной программы задумался над тем, какой способ создания списков в Python работает быстрее. Большинство моих знакомых используют квадратные скобки. А некоторые совсем забыли о существовании функции list().  Предлагаю Вашему вниманию небольшое исследование. Узнаем правы ли коллеги. А заодно на примере простой задачи посмотрим как можно проводить свои собственные исследования.

     14.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Нормальное распределение

Нормальный закон распределения или закон Гаусса играет важную роль в статистике и занимает особое положение среди других законов. Вспомним как выглядит нормальное распределение

     13.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Barev Dzez! Сделал помогалку в изучении армянского алфавита

По приезду в Ереван я порвался на кучу маленьких Игорей от вывесок, меню, табличек и прочих инфоносителей. Мозг отказывался воспринять "S" как "Т" и совершенно не видел разницы между Ե и Է.Букварь я себе, конечно, нашёл, но лень — штука непробиваемая.Задача сформулировалась: "как бы так выучить алфавит, чтобы его не учить". Звучит оптимистично, люблю такое.Проведя пару дней в тоскливых размышлениях, что придётся-таки учить азбуку, как все белые люди, я вспомнил эту картинку:

     13.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи
     12.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Разбираемся с устройством свёрток на примере объединения двух свёрток в одну в pytorch

Неинтересная цель этой статьи — показать, как можно смержить две свертки пайторча в одну. Если интересна лишь реализация — прошу в конец статьи.

А интересная цель — потыкать непосредственно в веса моделей на примере объединения свёрток. Узнать, как они хранятся и используются конкретно в pytorch, не вдаваясь в хардкорные интересности по типу im2col.

 

     12.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Лучшие Проекты Для Начинающих Python-Разработчиков

Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию.

     12.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Telegram бот с языковой моделью, обученной на 2ch

Если вам хочется разбавить общение в telegram чате нелепыми, но зачастую меткими и смешными комментариями, или вы ищете информацию по интеграции языковой модели в бота, или хотите сами обучить языковые модели на данных с 2ch, то в этой статье описаны шаги, как это сделать.

     11.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Анализ степени наслоения (одновременности) процессов

Полезная программка ведь не обязана быть большой, правда? Пусть у нас есть процессы, для которых известны времена их начала и завершения. Таких в любой системе пруд пруди. Тот же ExecutionLogStorage в MS SQL Reporting Server, SQL server Profiler Trace, плюс куча кастомных метрик, которые есть у каждого.

     10.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Материалы бэкенд-митапа. MongoDB, оптимизация алгоритмов и диагностика проблем в больших проектах

Это пост-отчёт с митапа «Быстрый бэкенд», который прошёл в офисе Joom. С коллегами из Джум Лабс и Авито обсудили, как живётся с большим кластером MongoDB, как битмап-индексы помогают быстро искать по каталогам и как анализировать большие объемы Jaeger-трейсов. В этом посте — видеозаписи докладов, презентации спикеров и несколько фотографий со встречи.

     10.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Выбор кадастрового инженера с помощью Data Science

Заканчивался 1 квартал 2020 года, ажиотаж вокруг пандемии ковид в РФ был на своем пике. Симптоматика первых переболевших показывала, что даже в случае относительно легко перенесенной болезни вопрос реабилитации и восстановления работоспособности (в том числе и психологическо-когнитивной) - встает на первое место. И мы наконец-то решили "Хватит сидеть, пора делать свое дело. Если не сейчас, то когда?!".

     10.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Анализ аудиоданных (часть 2)

В первой части анализа аудиоданных мы рассмотрели характеристики, которые есть у каждого аудиосигнала.

     09.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Ускоряем сериализацию JSON в Python с orjson и Rust

В один из тех летних дней, когда на улице стояла ясная, солнечная, жаркая погода, когда стрижи быстро пролетали за окном, распространяя веселые звуки, мы закончили очередную задачу по проекту (в нашем проекте используется Python). Задача заключалась в получении различными способами (очередь, сервисы, файловая система и т.д.) входящих документов (JSON формат), обработке этих документов и сохранении обработанных документов обратно в JSON формате в архивную базу данных. Завершив кодирование и юнит тесты, мы выкатили решение на одно из тестовых окружений и стали ждать результатов. По функциональности решение работало отменно, но, оценив скорость работы решения, я задался вопросом, а можно ли его ускорить?

 

     08.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения

Моя морская свинка по какой-то причине не стачивает зубы естественным путем. Каждые две-три недели ее зубы отрастают и начинают вызывать раздражение полости рта, из-за чего она не может ни есть, ни пить. Свинку приходится везти к ветеринару на обточку зубов, после чего уже на следующий день она снова начинает нормально питаться. Но для здоровья морской свинки большие перерывы между приемом пищи нежелательны. Поэтому задача заключается в том, чтобы максимально быстро определить, когда свинка перестала есть и сразу отвести ее к ветеринару. Самостоятельно следить за такой проблемой не так сложно, но есть вероятность заметить ее слишком поздно.

     08.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Кто за всех решил, что python удобен для «гражданской» аналитики?

Вся аргументация «за питон» строится исключительно по принципу «не думать», «рука рынка, «ну у нас же уже есть в проде 10 строк кода на питоне, что же делать?». Хотя элементарные технологические тесты и оценка экономической эффективности частенько дают неопровержимые доказательства, что DS питон является безответным поглотителем доли ИТ бюджета компаний. Взглянем ниже более пристально на отдельные моменты.

     07.06.2022       Выпуск 442 (06.06.2022 - 12.06.2022)       Статьи

Как я сделал полноценное приложение, не прикасаясь к JavaScript

Я всегда скептически относился к чат-ботам. Когда-то они были на хайпе. Говорили, что это новый UI – он же No UI. Но я всегда утверждал, что пользователю проще и быстрее все действия сделать через сайт, а не играть с ботом в вопрос-ответ. Каково же было моё удивление, когда через несколько лет я сам буду пропагандировать чат-ботов всем моим друзьям - backend-разработчикам? В данной статье расскажу, как я до этого дошел.