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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     02.03.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Python на службе у конструктора. Укрощаем API Kompas 3D

 

Работая в конструкторском отделе, я столкнулся с задачей — рассчитать трудоёмкость разработки конструкторской документации. Если брать за основу документ: «Типовые нормативы времени на разработку конструкторской документации. ШИФР 13.01.01" (утв. Минтрудом России 07.03.2014 N 003)», то для расчета трудоёмкости чертежа детали нам необходимы следующие данные:

     01.03.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Снова о числах с плавающей точкой

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

1. Какое количество верных цифр n гарантированно имеет десятичное число, представленное двоичным m разрядным кодом в формате числа с плавающей точкой.
2. Как влияет нормализация чисел с плавающей точкой на точность представления числа при его преобразовании из одной системы счисления в другую и при арифметических действиях, выполняемых на компьютере.
3. Как влияет округление числа, представленного в двоичном виде на его десятичный эквивалент. 
4. Как положение виртуальной точки в машинном слове влияет на значение числа, представленного в экспоненциальной форме. 

     01.03.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Простая программа на Python для гиперболической аппроксимации статистических данных

Законы Зипфа оописывают закономерности частотного распределения слов в тексте на любом естественном языке[1]. Эти законы кроме лингвистики применяться также в экономике [2]. Для аппроксимации статистических данных для объектов, которые подчиниться Законам Зипфа используется гиперболическая функция вида:

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Как перейти между внутренними циклами глубокой вложенности

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

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Правила именования функций

Илья Лебедев (Devman) @ Python Junior Meetup №1 

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

Слайды: https://speakerdeck.com/moscowdjango/pravila-imienovaniia-funktsii

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Что такое переменные?

Григорий Петров (Voximplant) @ Python Junior Meetup № 1

"В своем выступлении я впервые попробую объяснить переменные: не рассказывая предварительно как работает компьютер, память и компилятор; не вводя мешок дополнительных сущностей вроде «присваивание», «данные», «оператор» и непереводимое «evaluate»; не проводя аналогии с математикой".

Слайды: https://speakerdeck.com/moscowdjango/chto-takoie-pieriemiennyie

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Система типов в Python

Александр Хаёров (Ingram Micro) @ Python Junior Meetup №1

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

Слайды: https://speakerdeck.com/moscowdjango/sistiema-tipov-v-python

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Как и зачем сделать DSL на Python PyNSK

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

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Мой Python всегда со мной PyNSK

В докладе мы рассмотрим создание переносимого дистрибутива Python для любых нужд и операционных систем (Windows & Linux). Познакомимся с существующими и альтернативными решениями. Сравним их достоинства и недостатки.

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Первая статья посвящена первичному анализу данных с Pandas.

Пока в серии планируется 7 статей, идущих вместе с тетрадками Jupyter (репозиторий mlcourse_open), соревнованиями и домашними заданиями.

Далее идет список будущих статей, описание курса и собственно, первая тема – введение в Pandas.

     27.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Как двухлетний репозиторий на GitHub стал трендовым за 48 часов

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

     21.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Интересные особенности Python, о которых вы могли не догадываться

Приветствую тебя %username%. Прочитав статью о способах обхода sudo, решил тоже попробовать описать нечто подобное, но для языка Python. Спасибо root-me за такие задачки. Решая их, можно многое узнать о работе того или иного механизма. Прошу строго не судить, это моё первое творение.
Начнём! 

     21.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Как я сделал самый быстрый ресайз изображений. Часть 1, общие оптимизации

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

     20.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Базовые принципы машинного обучения на примере линейной регрессии

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

     18.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Telegram-бот, webhook и 50 строк кода Telegram

Как, опять? Ещё один туториал, пережёвывающий официальную документацию от Telegram, подумали вы? Да, но нет! Это скорее рассуждения на тему того, как построить функциональный бот-сервис используя Python3.5+, asyncio и aiohttp. Тем интереснее, что заголовок на самом деле лукавит…

     17.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Телеграм бот на Python с использованием только requests Telegram

На Хабре уже полно статей-туториалов с заголовками «Создание бота на Python», но многие из них используют готовые обертки над HTTP-интерфейсом Bot API Телеграма. Я же использую стандартную библиотеку для отправки и получения GET- и POST-запросов — requests. И так, рассмотрим создание примитивного Телеграм бота, который будет отвечать на все наши текстовые сообщения. Это будет заготовка для дальнейшего расширения.

     16.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Змея и кокос

Я люблю Python. Нет, правда, это отличный язык, подходящий для широкого круга задач: тут вам и работа с операционной системой, и веб-фреймворки на любой вкус, и библиотеки для научных вычислений и анализа данных. Но, помимо Python, мне нравится функциональное программирование. И питон в этом плане неплох: есть замыкания, анонимные функции и вообще, функции здесь — объекты первого класса. Казалось бы, чего ещё можно желать? И тут я случайно наткнулся на Coconut — функциональный язык, компилируемый в Python. Всех любителей Python и ФП прошу под кат.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Python: Работа с базой данных, часть 1/2: Используем DB-API

Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Создаём нейронную сеть InceptionV3 для распознавания изображений Keras

Под катом пойдёт речь о реализации свёрточной нейронной сети архитектуры InceptionV3 с использованием фреймворка Keras. Статью я решил написать после ознакомления с туториалом "Построение мощных моделей классификации с использованием небольшого количества данных". С одобрения автора туториала я немного изменил содержание своей статьи. В отличие от предложенной автором нейронной сети VGG16, мы будем обучать гугловскую глубокую нейронную сеть Inception V3, которая уже предустановлена в Keras.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Как я сделал самый быстрый ресайз изображений. Часть 0

 

Меня зовут Саша, я написал самый быстрый ресайз изображений для современных х86 процессоров. Я так утверждаю, поскольку все остальные библиотеки, которые я сумел найти и протестировать, оказались медленнее. Я занялся этой задачей, когда работал над оптимизацией ресайза картинок на лету в Uploadcare. Мы решили открыть код и в результате появился проект Pillow-SIMD. Любой желающий с легкостью может использовать его в приложении на языке Python.