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

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

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

Введение в Python Dataclasses – Часть 1

Если вы читаете эту, то возможно вы уже знакомы с Python 3.7 и читали о его новых функциях.

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

Какие языки программирования наименее безопасны?

Обзор от WhiteSource показал, какие из языков программирования имеют наибольшие дыры в безопасности. Победитель антирейтинга — Си. Но это только начало истории.

Технологии в целом нашпигованы ошибками безопасности. На низком уровне это ошибки в железе. Так это было с уязвимостью Intel и ошибками Spectre. Чуть выше — дыры в безопасности языков программирования. И их ну очень много!

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

Кросспостинг постов из Instagram в паблик VK на Python

Решил выйти на новый рынок сбыта, тем более, целевая аудитория моего интернет-магазина, не имеющая аккаунтов в Instagram, давно интересовалась появлением дубликата в VK. Идея хорошая, но постов на странице сотни, соответственно вручную работать ctrl+c ctrl+v не хотелось, плюс дальнейшие перспективы обезьянней работы не впечатляли.

Уверенный, что в интернете полно бесплатный решений, я начал гуглить. Естественно, первые страницы поисковой выдачи пестрят платными сервисами, с довольно обширными функционалами. Но мне, всего лишь на всего, надо было перенести все посты со страницы Instagram в паблик VK и в дальнейшем синхронно пополнять его.

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

Исключения в Python теперь считаются анти-паттерном

Что такое исключения? Из названия понятно — они возникают, когда в программе происходит исключительная ситуация. Вы спросите, почему исключения — анти-паттерн, и как они вообще относятся к типизации? Я попробовал разобраться, и теперь хочу обсудить это с вами, хабражители.

     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)       Статьи
     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

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

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

     24.03.2019       Выпуск 274 (18.03.2019 - 24.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, которые в основном представляют собой динамическую загрузку и отображение содержимого веб-страниц без полной перезагрузки браузера.

     21.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи
     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 простейшего веб-приложения со следующей архитектурой