Обновить
1024K+

Python *

Высокоуровневый язык программирования

755,14
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Python: Мышление программиста

Время на прочтение4 мин
Охват и читатели58K

Небольшая статья о том, как можно решить одну и ту же задачу несколькими способами. Предназначена для новичков в Python и программировании.


В качестве примера взят простой случай — реализация диалога подтверждения какой-либо операции. Программа задает пользователю вопрос Вы уверены? [Д/н (Y/n)]:, на который требуется ответить, введя одно из восьми допустимых значений (Д, д, Н, н, Y, y, N, n).

Читать дальше →

Может ли машина научить английскому языку?

Время на прочтение5 мин
Охват и читатели18K


Биткоин-бот имени Дональда Трампа, победа AlphaGo над одним из сильнейших игроков в го Ли Седолем, изучение английского языка — что объединяет эти три ситуации? Везде в той или иной степени присутствует машинное обучение.

Компьютер может не только генерировать сюжетную канву, как Scheherazade, или отвечать на письма вместо пользователей, как Google Smart Reply, но и создавать идеальные учебники английского языка.
Читать дальше →

Удаляйте свой мертвый код

Время на прочтение6 мин
Охват и читатели25K


Пост «Удаление кода» Неда Бэтчелдера (Ned Batchelder) недавно появился на HN, хотя изначально он был написан в 2002 году. Здесь я хочу повторить несколько мыслей Неда, и занять более решительную, чем он, позицию: удаляйте код, как только вы замечаете, что он больше не нужен, без лишних вопросов. Я также предложу некоторые советы из окопов, как определять кандидатов в мертвый код.

То что мертво умереть не может!


Это не просто «очень умная» и своевременная отсылка к поп-культуре. Мертвый код, то есть код, который никогда не выполняется в вашей программе — это реальная помеха для поддержки вашей кодовой базы. Сколько раз вы не могли добавить что-то, что казалось простой функцией или улучшением, только потому что были поставлены в тупик сложностью кода, который должен работать рядом с этой функцией? Насколько приятнее была бы ваша жизнь, если бы добавить новую функцию или исправить ошибку было бы так же просто, как вы предполагали, когда планировали свою работу?
Читать дальше →

ЭЦП стран СНГ на Python

Время на прочтение7 мин
Охват и читатели20K
image
Привет!
Я уже писал на Хабре о своей реализации блочных шифров стран СНГ. Выдалась еще одна свободная неделька в результате чего к симметричным стандартам добавились алгоритмы электронной цифровой подписи: российский ГОСТ 34.10-2012, украинский ДСТУ 4145-2002 и белорусский СТБ 34.101.45-2013.
Все три алгоритма основаны на эллиптических кривых. Но реализация каждого из стандартов имеет свои тонкости, о которых я хочу кратко рассказать в этой статье.
Читать дальше →

Распознаем лица на фото с помощью Python и OpenCV

Время на прочтение6 мин
Охват и читатели177K

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

Что нам понадобится:
• Установленный Python 2.7 с библиотеками NumPy и PIL
• OpenCV 2-й версии

Здесь ссылка на материал по установке всех необходимых компонентов. Установка всего необходимого не составит труда.
Читать дальше →

Змеиный фрукт или фруктовый Питон?

Время на прочтение23 мин
Охват и читатели34K

Не библейская история



  1. И сотворил Google Android. Поселил его в саду мобильных платформ, дав ему жену — Java.
  2. И повелел Google Javе: создавай программы Androidу, красивые и быстрые, и Androidу сказал: не следует тебе брать других жен, кроме Javы. И запретил им вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались их программы медленными и неугодными пользователю.
  3. Хитрейшим же на том древе был древний змий — динамический Python. Долгое время наблюдал он за Androidом и, наконец, подстерег его прогуливающимся в тени деревьев. Тогда спросил хитрый Python Androidа: правду ли сказал тебе Google, не вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались твои программы медленными и неугодными пользователю?
  4. Точно так заповедовал мне всемогущий Google, ответил Android и прогаммы создает мне жена моя — Java.
  5. Обманул тебя Google, прошипел хитрый Python, ибо знает он, что в тот день, когда ты вкусишь плодов от древа познания фреймворков и языков программирования, прозреешь ты и потянутся к тебе другие разработчики и станут создавать программы, и появятся у тебя приложения такие же красивые и быстрые, как от жены твоей Java, и будут они кроссплатформенны!
  6. И сорвал Python плод от древа познания фреймворков и языков программирования и протянул Android`у, и тот ел.
  7. Имя того плода — Kivy.

Книга фреймворка Kivy (Глава 2, стих 1-7)

Читать дальше →

PyNSK #8 — майская встреча Новосибирского Python сообщества

Время на прочтение2 мин
Охват и читатели2K
image

Питонисты Новосибирска и ближайших регионов, приглашаем вас на встречу сообщества Python сообщества — PyNSK.

22-го мая (воскресенье) состоится восьмая встреча. Она пройдет в Культурном Центре «Этаж» и начнется 14-00.

Регистрация: http://bit.ly/pynsk8_reg

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

Собираем базу аудиокниг для удобной фильтрации

Время на прочтение9 мин
Охват и читатели37K
Мой телеграм канал: https://t.me/winc0de.
Всем привет! Наверняка многим из вас знакома проблема уставших глаз из-за длительной работой за компьютером. К сожалению, из-за этого приходится ограничивать себя в других занятиях. Одним из них есть чтение книг. В связи с этим, я уже более 5 лет почти каждый день слушаю аудиокниги. За это время научился параллельно заниматься чем-то и вникать в суть озвучки. Сейчас я даже в спортзале слушаю книги! Представьте как это удобно: час дороги пешком туда и обратно + полтора часа упражнений. Средняя книга в районе 10-15 часов записи.

Со временем все чаще и чаще появлялась проблема выбора материала. Ведь довольно большую роль играет чтец, жанр книги. Часто возникает ситуация, когда кто-то советует книгу (или в той же статье на хабре в читальном зале), а аудио-версии банально нет еще. Все эти проблемы я попытался решить отдельным сайтом. Сейчас есть парочка довольно больших и раскрученных по аудиокнигам, где вы можете прямо онлайн слушать их. Такие сайты обладают достаточно слабым фильтром по книгам. И, по сути, являются чисто каталогом.


Читать дальше →

RTKLib + Python + Google Maps JS API. Делаем свой навигатор

Время на прочтение4 мин
Охват и читатели25K
Здравствуйте!

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

Я подумал тогда: спутниковые системы, спутниковые приемники, геодезия, съемочные работы — близко соприкасающиеся вещи в строительной и инженерной области. И появилась тема дипломного проекта: применение одночастотных спутниковых приемников в земельном кадастре.

Понятное дело, что применять одночастотники в земельном кадастре, да и в геодезии — дело неразумное: помехи, точность, продолжительность приема сигнала. Но мне было важно посмотреть и разобраться, как работает приемник, как обрабатываются данные, как можно визуализировать результат. Мне было интересно.

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

image
Читать дальше

DevConf-2016: программа мастер-классов

Время на прочтение2 мин
Охват и читатели2.3K

На DevConf-2016 как и в прошлом году будут не только доклады, но и мастер-классы. Что такое мастер-класс? Чем он отличается от доклада или сессии на флипчартах.
Читать дальше →

Использование python библиотеки Exscript для работы с оборудованием Cisco и Huawei по SSH

Время на прочтение2 мин
Охват и читатели19K
В работе Python приложения встала задача получать данные с сетевого оборудования и проводить его настройки удалённо, по SSH. Можно воспользоваться Paramiko, а можно не выдумывать велосипед и использовать основанную на нём библиотеку Exscript. Под катом — примеры кода для подключения и получения информации из команд. Ввиду отсутствия документации к Exscript этот материал может кому-нибудь здорово пригодиться.


Читать дальше →

DevConf-2016: программа конференции

Время на прочтение2 мин
Охват и читатели2.9K


Прошли майские праздники, отгремели демонстрации и парады, а на DevConf собралось уже 48 заявок на доклады. В этом посте расскажу, какие секции будут представлены на конференции и какие заявки уже поступили.
Читать дальше →

Moscow Python Meetup №35 (23 мая, 19:00)

Время на прочтение1 мин
Охват и читатели3.8K
image

23-го мая мы вновь встречаемся на Мансарде в 19:00 на 35-й встрече MoscowPython:

На встрече мы услышим 3 доклада:

1. Павел Петлинский (Rambler&Co). Asyncio/Aiohttp — предел производительности.

«Смотрим как мерить, что мерить, какие накладные расходы и где нас обманули маркетологи.»

2. Антон Егоров (Островок). Докеризация приложений на Python:

«Контейнеры уже давно стали стандартом для доставки кода. Я расскажу о нашем опыте с Docker-ом в Островке и покажу практический пример создания образа для Django-приложения.»

3. Азамат Галимжанов, (ГдеМатериал, технический директор). Автоматизация интернет-знакомств.

Построение системы на основе django, python-rq, dlib, scikit-learn для обучения и предсказания рейтинга привлекательности лица на фотографии. Подключение к Tinder API.

Регистрация тут.

Приходите, будет интересно!

Ближайшие события

Используем недокументированное API сайта captionbot.ai

Время на прочтение4 мин
Охват и читатели15K

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


Разбор проведем на примере API сервиса https://www.captionbot.ai/ который недавно открыл Microsoft (спасибо им за это). Многие могли прочитать о нем в статье на Geektimes. Сайт использует ajax запросы в формате JSON, поэтому скопировать их будет легко и приятно. Поехали!


КДПВ

Читать дальше →

Meduza.io: а как же лайки?

Время на прочтение5 мин
Охват и читатели48K

Как-то раз, читая новости на Медузе, я обратил внимание на то, что у разных новостей разное соотношение лайков из Facebook и ВКонтакте. Какие-то новости мегапопулярны на fb, а другими люди делятся только во ВКонтакте. Захотелось присмотреться к этим данным, попытаться найти в них интересные закономерности. Заинтересовавшихся приглашаю под кат!


image

Читать дальше →

Чем заменить ELK для просмотра логов?

Время на прочтение5 мин
Охват и читатели29K

Что обычно делает python-программист, когда его отправляют воевать с ошибкой?
Сначала он лезет в sentry. Здесь можно найти время, сервер, подробности сообщения об ошибке, traceback и, может быть, какой-нибудь полезный контекст. Затем, если этих данных недостаточно, программист идет c бутылкой к админам. Те залезают на сервер, ищут это сообщение в файловых логах, и, может быть, находят его и некоторые предшествующие ошибке записи, которые в редких случаях могут помочь в расследовании.
А что делать, если в логах только loglevel=ERROR, а ошибка настолько крута, что ее локализация требует сопоставления логики поведения нескольких различных демонов, которые запущены на десятке серверов?


Решение — централизованное хранилище логов. В самом простом случае — syslog (за 5 лет, что был развернут в rutube, не использовался ни разу), для более сложных целей — ELK. Скажу честно, "ластик" — крут, и позволяет быстро крутить разнообразную аналитику, но вы интерфейс Kibana видели? Этой штуке так же далеко до консольных less/grep, как винде до линукса. Поэтому мы решили сделать свой велосипед, без Java и Node.js, зато с sphinxsearch и Python.

Читать дальше →

Вышел uvloop — продвинутая реализация цикла событий для asyncio в Python

Время на прочтение1 мин
Охват и читатели49K
В стандартной библиотеке Python 3.4 в своё время появился модуль asyncio, позволивший удобно и быстро писать асинхронный код. А уже к Python 3.5 в синтаксис были добавлены конструкции async/await, окончательно оформившие асинхронность «из коробки» как красивую и гармоничную часть языка.



Хотя asyncio сам по себе и позволяет писать высоконагруженные веб-приложения, оптимизация производительности не была приоритетом при создании модуля.

Один из авторов упомянутого PEP-492 (async/await) Юрий Селиванов (на Хабре — 1st1, его твиттер) взялся за разработку альтернативной реализации цикла событий для asyncio — uvloop. Вчера вышла первая альфа-версия модуля, о чём автор написал развёрнутый пост.

Если вкратце, то uvloop работает примерно в 2 раза быстрее Node.js и практически не уступает программам на Go.
Под катом небольшая выжимка из записи в блоге

Python: язык программирования, созданный сообществом

Время на прочтение6 мин
Охват и читатели41K

Это перевод доклада с голландского TED Talks, прочитанного Гвидо Ван Россумом, "великодушным пожизненным диктатором" языка программирования Python. Много автобиографии и немного про значение языков программирования и основную идею Python.


Позвольте представиться — я нерд, гик. И я постоянно медлю. Я закончил университет в 26, мне было 45, когда я женился, сейчас мне 60, и у меня четырнадцатилетний сын. Может, мне просто трудно даются решения: я прожил в США больше 20 лет, но всё ещё имею вид на жительство.


Я не Стив Джобс или Марк Цукерберг. Но в возрасте 35 лет я создал язык программирования, который нашёл своих последователей. То, что произошло после этого, невероятно. Но об этом позже.

Читать дальше →

Piter Py #3 — личные впечатления

Время на прочтение4 мин
Охват и читатели7.8K

В минувшие выходные прошла третья конференция питонистов в Питере — Piter Py #3 (http://it-sobytie.ru/events/5862).
Конференция длилась три дня, была наполовину англоязычной, все эти дни слова "Docker", "Mongo", "Ansible" произносились даже чаще, чем "Python". И здесь я впервые услышал о существовании YAML-программистов.
image
Делюсь собственными впечатлениями и, полагаю, выражаю мнение большинства других посетителей.


UPD Добавил внутрь поста картинок ~4 MB.

Читать дальше →

Мартовский Python Meetup: Python VS Erlang и возможности PostgreSQL

Время на прочтение1 мин
Охват и читатели12K
Всем привет!
После долгого перерыва блудный Python Meetup снова с нами. На долгожданной мартовской встрече сообщества любителей и профессионалов языка программирования Python обсуждались животрепещущие темы: противостояние Python и Erlang, а также дополнительные возможности PostgreSQL.
Видеозаписи выступлений под катом. Приятного просмотра!

Читать дальше →