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

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

     05.02.2018       Выпуск 216 (05.02.2018 - 11.02.2018)       Статьи

Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова

Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причинам, это удается не всегда. Тогда и встает вопрос создания собственного парсера для заданного формата. И это, как говорят англичане, часто оказывается PITA (болью в ...). В этой статье я постараюсь облегчить эту боль. Кому интересно, добро пожаловать.

     04.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Telegram боты. Загружаем файлы больше 50мб

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

 

  • Для пользователей максимальный размер файла — 1.5Гб
  • Боты ограничены размером всего лишь в 50мб
Как обойти данное ограничение — под катом.

     03.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Новый облегчённый язык разметки текста на основе парных кавычек (pq)

Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно.

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

     02.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Программный синтез звука на ранних персональных компьютерах. Часть 2

Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте.

     02.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Генераторы и корутины в Python

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

     01.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Программный синтез звука на ранних персональных компьютерах. Часть 1

Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте.

     31.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Парсинг сайтов или долгострои Московской области

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

 

Была поставлена цель выполнить классификацию объектов первичного строительства по всеобъемлющему набору признаков: сведений об объекте, застройщике и т.д. Однако общедоступные данные оказались довольно скудными. Все же некоторую дескриптивную статистику собрать удалось…

     31.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Мега-Учебник Flask, Часть IX: разбиение на страницы (издание 2018) Flask

Это девятый выпуск серии Mega-Tutorial Flask, в котором я расскажу вам, как разбивать списки в базе данных.

     31.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

О скорости Python в часто используемых сценариях

Вопрос о производительности Питона поднимается с завидной регулярностью. Так почему бы не вернуться к нему и сегодня?

     29.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Лень пораБОТила instagram

Сейчас многие используют инстаграм (далее инста): кто-то там собирает альбомы, кто-то продает, кто-то покупает, а я там ленюсь. Мне всегда было интересно как там поживают мои друзья, одноклассники, коллеги и инста в этом помогала. Захотел узнать, что там нового — зашел, полистал ленту, увидел все, что интересовало ушел… НО! Мне почему-то всегда нужно было лайкнуть каждый пост (не могу обьяснить зачем, но такие вот дела). И вот представьте, неделю туда не заходил, сидишь, лайкаешь недельный пул, а когда у тебя 200+ подписок — это вообще ад.

     29.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Видео

Построение аналитики мобильного приложения на основе Serverless технологий

Делать аналитику на стороне клиента бывает долго и неудобно. Часто это требует создания нового релиза. В докладе будет рассмотрена архитектура системы серверной аналитики с использованием Serverless технологий на примере AWS Lambda и других сервисов AWS

     29.01.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Анализируй это. Mista.ru

Форум Mista.ru — один из самых старых и активных форумов, посвященных 1С. Первое сообщение датировано 2000 годом и на текущий момент счетчик тем перевалил за 800000, а количество сообщений больше 16 000 000. Форум был настолько популярен, что его даже пытались "зеркалировать", так как содержал неплохую базу вопросов-ответов по 1С, из-за чего админы форума добавили "защиту от скачивания". В этой статье будет описано то, как можно скачать этот (а наверное и любой другой) форум в относительно короткие сроки при помощи Google Cloud Platform.

     28.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Создание игр на Python 3 и Pygame: Часть 5

Это последняя из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и PyGame. В четвёртой части мы научились распознавать коллизии, реагировать на то, что мяч сталкивается с разными игровыми объектами и создали игровое меню с собственными кнопками.

(Остальные части туториала: первая, вторая, третья, четвёртая.)

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

     27.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Python для обучения научной информатике: Моделирование систем массового обслуживания

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

     27.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Создание игр на Python 3 и Pygame: Часть 4

Это четвёртая из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame. В третьей части мы углубились в сердце Breakout и узнали, как обрабатывать события, познакомились с основным классом Breakout и увидели, как перемещать разные игровые объекты.

(Остальные части туториала: первая, вторая, третья, пятая.)

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

     26.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Стеганография в файловой системе

Хочу представить вам небольшой проект по стеганографии, сделанный в свободное от учебы время. Я сделал проект по скрытому хранению информации в файловой системе (далее ФС). Это можно применить для кражи конфиденциальной информации в образовательных целях. В виде опытного образца была выбрана весьма старенькая линуксовая ФС ext2.

     26.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Telegram бот для сложных квестов

Это было в конце ноября, я понимал что скоро новый год и необходимо дарить подарки.
Идея с Telegram Bot–ом, в качестве карты поиска, казалась крайней простой и в должном исполнении интересной. Единственное что необходимо было сделать – взять и загуглить. Что собственно я и сделал. Основной посыл запроса – платформа для создания квестов, или же просто чат-бот c дополнительной логикой, написанный на python (желательно Django Framework)
Большинство рассмотренных приложений либо имели захордкоженные данные, либо же были своего рода викторинами. Ни то ни другое не подходило.

     26.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Xception: компактная глубокая нейронная сеть

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

Чтобы улучшить качество распознавания своих сетей, исследователи старались добавлять в сети больше слоёв, однако со временем пришло понимание, что иногда ограничения производительности попросту не позволяют обучать и использовать настолько глубокие сети. Это стало мотивацией для использования depthwise separable convolutions и создания архитектуры Xception.

Если вы хотите узнать, что это такое, и посмотреть, как использовать такую сеть на практике, чтобы научиться отличать котов от собак, добро пожаловать под кат.

     25.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Создание игр на Python 3 и Pygame: Часть 3

Это третья из пяти частей туториала о создании игр с помощью Python 3 и Pygame. Во второй части мы рассмотрели класс TextObject, используемый для рендеринга текста на экран, создали основное окно и узнали, как отрисовывать объекты: кирпичи, мяч и ракетку.

В этой части мы погрузимся глубже в сердце Breakout и узнаем, как обрабатывать события, познакомимся с основным классом Breakout и увидим, как перемещать различные объекты в игре.

     24.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Мега-Учебник Flask, Глава 8: Подписчики, контакты и друзья (издание 2018)

Это восьмая часть серии Flask Mega-Tutorial, в которой я расскажу вам, как реализовать функцию «подписчики», аналогичную функции Twitter и других социальных сетей.