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

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

     26.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

DHCP+Mysql сервер на Python

Целью данного проекта было:

 

 

  • Изучение протокола DHCP при работе в сети IPv4
  • Изучение Python (немножко более чем с нуля ;) )
  • замена серверу DB2DHCP (мой форк), оригинал здесь, который собирать под новую ОС всё труднее и труднее. Да и не нравится, что бинарник, который нет возможности «поменять прям щас»
  • получение работоспособного сервера DHCP с возможностью выборки IP адреса абонента по mac абонента или связке mac свича+порт (Option 82)
  • написание очередного велосипеда (О! это моё любимое занятие)
  • получение люлей про свою косорукость на Хабрахабр (а лучше инвайта) ;)

     26.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

Ловушка (тарпит) для входящих SSH-соединений

Не секрет, что интернет — очень враждебная среда. Как только вы поднимаете сервер, он мгновенно подвергается массированным атакам и множественным сканированиям. На примере ханипота от безопасников можно оценить масштаб этого мусорного трафика. Фактически, на среднем сервере 99% трафика может быть вредоносным.

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

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

Как стать Data Engineer

Сейчас специализация в области data engineering активно набирает обороты. Судя по отчёту компании hired.com, спрос на data engineer специалистов вырос на 38%, и рост продолжится. Средняя зарплата у Data Engineer в Нью-Йорке составляет $132 тысячи, а в Сан-Франциско $151 тысячу. Что касается рынка СНГ, то спрос на дата инженеров только начинает расти. В России зарплатная вилка варьируется от 100 тысяч рублей до 250 тысяч. Эту информацию я получил из небольшого анализа открытых вакансий на ресурсах Мой Круг и HeadHunter.

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

Применение принципа единой ответственности в Python

Перевод статьи Никиты Соболева Enforcing Single Responsibility Principle in Python (Применение принципа единой ответственности в Python).

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Видео

Владимир Деев - Как создать MVP онлайн сервиса на Flask Admin за 60 минут

Слайды: https://docs.google.com/presentation/d/1bpUc8xxvdJZ95mfvhHSfMUaQTZjP4l8YijkIBuqFD0Y/edit?usp=sharing

Многие пытаются сделать стартап сразу красивым и привлекательным, используя очередной новомодный JS-фреймворк. Я же убежден, что в ряде случаях гипотезу можно проверить создав веб на базе админки. Расскажу об одном стартапе, которые был создан (и просуществовал в течение 1.5 лет) на Flask-Admin - админке, работающей поверх Flask, WTForms и SQLALchemy, при этом в проекте было написано минимум Javascript-кода. В докладе расскажу о граблях, на которые мы наступили и различных трюках кастомизации данной админки.

 

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Видео

Артем Малышев - dry-python: хорошая архитектура из коробки

Слайды: https://dry-python.org/static/slides/introducing-dry-python.html#/

Как часто, получая новый ticket, вы задумываетесь: "Ну и где тебя искать?" Как часто, вглядываясь в обработчик запроса, вы гадали: "Что тут вообще твориться?" Качественный код всегда тяжело проектировать в начале, а ценить вложенные усилия начинаешь спустя время. В своём докладе я расскажу нехитрые подходы, которые позволят упростить дальнейшую жизнь проектов. А так же анонсирую проект Dry Python, воплотивший эти подходы в виде средств разработки.

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

Анализ статистики группы Вконтакте через API с помощью Python: часть 1

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

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Релизы
     22.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Мой путь от Python к Go — делюсь советами и ресурсами

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

     22.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Создание универсального приложения с Nuxt.js и Django

Появление современных библиотек JavaScript, таких как React.js и Vue.js, трансформировало front-end веб-разработку в лучшую сторону. Эти библиотеки поставляются с богатым набором функциональности, позволяя быстро создавать одностраничные приложения SPA, которые в основном представляют собой динамическую загрузку и отображение содержимого веб-страниц без полной перезагрузки браузера.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

От парсера афиши театра на Python то Telegram-бота. Часть 1

Я очень люблю оперу и балет, но не очень — отдавать большие деньги за билеты. Ежедневный просмотр сайта театра с тыканьем в каждую кнопку ужасно утомлял, а внезапно появлявшиеся билеты по 170 рублей на супер-составы бередили душу.

Чтобы автоматизировать это дело появился скриптик, который бежит по афише и собирает информацию о самых дешевых билетах на выбранный месяц. Запросы из серии «выдай список всех опер в марте на старой и новой сцене до 1000 рублей». Подруга обронила «а ты не Telegram-бота делаешь?». Такого в плане не было, но почему бы и нет. Бот родился, хоть и крутился на домашнем ноутбуке.

Потом Telegram заблокировали. Мысль запулить бота на рабочий сервер растаяла, да и интерес, чтобы довести функционал до ума, угас. Под катом рассказываю о судьбе сыщика дешевых билетов с самого начала и о том, что с ним сталось после года использования.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Iodide: интерактивный научный редактор от Mozilla

В последние десять лет произошёл настоящий взрыв интереса к «научным вычислениям» и «науке о данных», то есть применению вычислительных методов для поиска ответов на вопросы, анализа данных в естественных и социальных науках. Мы видим расцвет специализированных ЯП, инструментов и методов, которые помогают учёным исследовать и понимать данные и концепции, а также сообщать о своих выводах.

Но на сегодняшний день очень немногие научные инструменты используют полный коммуникационный потенциал современных браузеров. Результаты дата-майнинга не очень удобно просматривать в браузере. Поэтому сегодня Mozilla представляет Iodide — экспериментальный инструмент, который помогает учёным составлять красивые интерактивные документы с использованием веб-технологий, всё в рамках итеративного рабочего процесса, который многим знаком.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Делаем современное веб-приложение с нуля

Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Mountain Car: решаем классическую задачу при помощи обучения с подкреплением

Как правило, модификации алгоритмов, полагающиеся на особенности конкретной задачи, считаются менее ценными, так как их сложно обобщить на более широкий класс задач. Однако это не означает, что такие модификации не нужны. Более того, часто они могут значительно улучшить результат даже для простых классических задач, что очень важно при практическом применении алгоритмов. В качестве примера в этом посте я решу задачу Mountain Car при помощи обучения с подкреплением и покажу, что используя знание о том, как устроена задача, ее можно решить значительно быстрее.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Использование локальной директории с пакетами в Python уже сейчас

В Python 3.8 предлагается добавить альтернативу виртуальным окружениям — локальную директорию с пакетами PEP 582 Python local packages directory.

 

Данный PEP предлагает добавить в Python механизм автоматического обнаружения директории __pypackages__ и использовать её при импорте в качестве источника установленных пакетов. Директория __pypackages__ будет иметь больший приоритет при импорте, чем глобальные или пользовательские директории с пакетами. Это позволит исключить создание, активацию или деактивацию виртуальных окружений.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Упрощение кода приложений Python с помощью рефакторинга. Часть 1

Перевод статьи Anthony Shaw Refactoring Python Applications for Simplicity

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

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Упрощение кода приложений Python с помощью рефакторинга. Часть 2

Вторая статья про рефакторинг в Python. Первую статью можно почитать здесь.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Приватные методы без нижнего подчеркивания и интерфейсы в Python

Недавно угорел по дизайну — модификаторам доступа и интерфейсам, потом перенес это на язык программирования Python. Прошу под кат — делюсь результатами и как это работает. Для заинтересовавшихся в конце статьи есть ссылка на проект на Github.