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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE


Новый материал в ленте
  Почему бы я не выбрал WebRTC? (но все-таки выбрал)

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


Python Дайджест. Выпуск 341

(29.06.2020 - 05.07.2020)

поделиться выпуском 
Дайджест python,

Статьи

  А вы можете решить эти три (обманчиво) простые задачи на Python?

С самого начала своего пути как разработчика программного обеспечения я очень любил копаться во внутренностях языков программирования. Мне всегда было интересно, как устроена та или иная конструкция, как работает та или иная команда, что под капотом у синтаксического сахара и т.п. Недавно мне на глаза попалась интересная статья с примерами того, как не всегда очевидно работают mutable- и immutable-объекты в Python. На мой взгляд, ключевое — это то, как меняется поведение кода в зависимости от используемого типа данных, при сохранении идентичной семантики и используемых языковых конструкциях. Это отличный пример того, что думать надо не только при написании, но и при использовании. Предлагаю всем желающим ознакомиться с переводом.

  О нет! Моя Data Science ржавеет

Предлагаем вашему вниманию перевод интереснейшего исследования от компании Crowdstrike. Материал посвящен использованию языка Rust в области Data Science (применительно к malware analysis) и демонстрирует, в чем Rust на таком поле может посоперничать даже с NumPy и SciPy, не говоря уж о чистом Python.

  Что ждет строительную отрасль города Сан-Франциско в будущем. Тенденции и история развития строительной активности

Это серия статей посвящена исследованию строительной активности главного города Кремниевой Долины — Сан-Франциско. Построение графиков и расчётов проводилось в Jupyter Notebook (на платформе Kaggle.com).

  Чтобы я хотел знать когда начинал изучать Django? — очень общий взгляд

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

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

  Пара слов об именовании переменных и методов

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

  MLOps — Cook book, chapter 1

Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака; фиксировали любителей ездить по выделенным полосам и занимать несколько мест на парковке; следили за тем, чтобы работники носили каски, перчатки и т.п.; идентифицировали сотрудника, который хочет пройти на объект; подсчитывали всё, что только можно.

  Введение в асинхронное программирование на Python

Асинхронное программирование – это вид параллельного программирования, в котором какая-либо единица работы может выполняться отдельно от основного потока выполнения приложения. Когда работа завершается, основной поток получает уведомление о завершении рабочего потока или произошедшей ошибке. У такого подхода есть множество преимуществ, таких как повышение производительности приложений и повышение скорости отклика.
 

  Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2

Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эталонной (питоновской) версию декораторов.

  Как я получил сертификат TensorFlow-разработчика (и как его получить вам)


В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно.

Позвольте мне рассказать вам как я это сделал, и как вам сделать то же самое.

  FAISS: Быстрый поиск лиц и клонов на многомиллионных данных

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

Велосипед мы не придумывали, взяли всем известную библиотеку dlib и получили эмбеддинги (векторные представления) каждого лица. 

  Web-сервер машинного обучения «ВКФ-решатель»

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

  О сложностях менторства новичков в программировании

Ещё до начала пандемии коронавируса в России мне пришла в голову мысль: "Могу ли я как-то ослабить экономические последствия эпидемии?". Идея возникла почти сразу: "Если многие люди могут потенциально потерять работу, значит, я должен им помочь с освоением новых навыков в области с большим спросом на рабочую силу". А так как я уже довольно долгое время программировал на C/C++, то решил в свободное время обучать людей программированию на...python.

  Восходящая сортировка кучей

Это заключительная статья из серии про сортировки кучей. В предыдущих лекциях мы рассмотрели весьма разнообразные кучные структуры, показывающих отличные результаты по скорости. Напрашивается вопрос: а какая куча наиболее эффективна, если речь идёт о сортировке? Ответ таков: та, которую мы рассмотрим сегодня.

  Ищем фильмы, книги и подкасты с помощью Python

Apple не особо афиширует, что у iTunes Store и других каталогов есть кривенькое, но простое поисковое API — поэтому я решил о нём написать. Из этой заметки вы узнаете, что API умеет и как его использовать.

  Pylance in Visual Studio Code

Pylance is a new language server for Python

  Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров

Бывает, что компания ищет дата-сайентиста, а на самом деле ей нужен Python-разработчик. Поэтому при подготовке к собеседованию есть смысл освежить в памяти информацию по Python, а не только штудировать алгоритмы.

  Функциональные тесты в Циан

Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросервисов и сайта в целом, и интеграция с CI/CD и многое другое.

 

Сегодня я расскажу про новый инструмент, который мы не так давно разработали — фреймворк для функциональных тестов.

  reduce() функция в Python

Как реализовать и для чего

Видео

  Платформа совместной автоматизации операционных задач

Cофтверное платформенное решение для автоматизации операционных задач в ИТ и публикации автоматизированных задач в корпоративных каналах коммуникации (Slack, почта, Telegram, и др.). Опыт использования в операторе мобильной связи

  От фикстур до декларативного описания трансформаций данных с лайва

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

  Python потребляет много памяти, или как уменьшить размер объектов.

Объекты в CPython занимают в памяти больше места, чем могли бы. Можно ли это исправить, в каких случаях и как

Релизы

  Dependency Injector 3.19.0 - new Selector provider

https://www.reddit.com/r/Python/comments/hi8sfv/dependency_injector_319_new_selector_provider/