Обновить
786.69

Python *

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

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

Python за месяц

Время на прочтение6 мин
Охват и читатели151K
Руководство для абсолютных чайновичков.
(Прим. пер.: это советы от автора-индуса, но вроде дельные. Дополняйте в комментах.)

image


Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.

Цель на месяц:

  • Ознакомиться с основными понятиями (переменная, условие, список, цикл, функция)
  • Освоить на практике более 30 проблем программирования
  • Собрать два проекта, чтобы применить на практике новые знания
  • Ознакомиться хотя бы с двумя фреймворками
  • Начать работу с IDE (средой разработки), Github, хостингом, сервисами и т. д.

Так вы станете младшим разработчиком (джуном) Python.

Теперь план по неделям.
Читать дальше →

Вывод модели динамической системы дискретного фильтра Калмана для произвольной линейной системы

Время на прочтение8 мин
Охват и читатели7.4K
Фильтр Калмана (ФК) является оптимальным линейным алгоритмом фильтрации параметров динамической линейной системы при наличии неполных и зашумленных наблюдений. Этот фильтр находит широкое применение в технических системах управления до оценок динамики изменения макроэкономических ситуаций или общественного мнения.

Данная статья ставит себе целью познакомить читателя со стандартным подходом к переходу от непрерывной модели динамической системы, описываемой системой произвольных линейных дифференциальных уравнений к дискретной модели.
Читать дальше →

Stereopi+WebRTC=telepresense по-домашнему

Время на прочтение8 мин
Охват и читатели5K
Для начала ролик с youtube для вдохновения:


Предупреждение: проект на видео — лишь образец, который можно сделать по туториалу в статье в части стереозрения и «поворотов головой». Танки с пультами xbox не прилагаются.

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

Telegram bot, показывающий первые страницы 10 самых популярных мировых периодических изданий

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

Сейчас часто можно услышать, что российские сми формируют, или кто-то заставляет их формировать ограниченную и по сути пропагандистскую информационную повестку. Я решил проверить в меру своих способностей и желания так ли это? Для чего написал Telegram bot, который каждый день может отправлять первые страницы топ-10 самых популярных мировых газет, таких как:


  1. The New York Times
  2. The Guardian
  3. China Daily
  4. USA Today
  5. Bild
  6. The Washington Post
  7. The Asian Age
  8. The Wall Street Journal
  9. The Japan Times
  10. Los Angeles Times

Бот ежедневно определяет 20 самых часто употребляемых слов. Кроме этого можно осуществить поиск по тегу и подписаться на определенные теги. Как только выбранный тег появится в газете, придет уведомление.


Поисследовав мировые сми с помощью этого бота, могу сказать одно — не все у нас так плохо, как мне до этого представлялось.


Если интересно попробовать бота в деле, пожалуйста Main press pages @press_pages_bot.

Автоматическая визуализация python-кода. Часть четвертая: поддержка документирования

Время на прочтение9 мин
Охват и читатели7.6K
Ссылки на предыдущие части:

  • Часть первая — введение, графические примитивы, необходимые для создания графического представления кода
  • Часть вторая — реализация генератора графического представления кода (выполнена, в основном, на Питоне), микро язык разметки
  • Часть третья — новые возможности графики

Пример среды, поддерживающей такое графическое представление показан на картинке ниже.

image

Среда, поддерживающая графическое представление кода

В четвертой части статьи речь пойдет о поддержке процесса документирования.
Читать дальше →

Data Science Digest (October 2019)

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


Приветствую всех!

Встречайте свежий выпуск дайджеста c подборкой интересных и полезных материалов под катом.
Читать дальше →

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры

Время на прочтение4 мин
Охват и читатели2.9K
Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), открытые и закрытые ключи, защищенные контейнеры PKCS#12/PFX, списки отозванных сертификатов CRL и штампы времени для электронной подписи, запросы и ответы OCSP и так далее и тому подобное. Постоянно приходилось просматривать уже имеющиеся структуры для понимания того как это делали другие, просматривать только что собранные самим AN1-структуры. Процесс понятен. Но поскольку я работаю на Linux (сейчас это Mageia, и код для Windows тоже готовлю на Linux), то под рукой из доступных средств разбора ASN1-структур были утилиты openssl и derdump из пакета NSS. Лично мои предпочтения были на стороне derdump. Именно она и стала прототипом рассматриваемой здесь утилиты derdump.tcl/tclderdump для просмотра ASN1-структур. И если вы сравните вывод утилиты derdump из пакета NSS и утилиты derdump.tcl, то вы практически не увидите различий:
Читать дальше →

Сплайны в 3d графике, максимально автоматизированный вариант

Время на прочтение5 мин
Охват и читатели6K
С месяц назад начал учить Python по книге Доусона и очнулся уже глубоко в процессе написания своей игры под pygame. ТЗ было таково, что наиболее перспективным показалось сделать игру с псевдо-трехмерной графикой, запихнув в спрайты сохраненные поверхности 3d-сплайнов. О последних и напишу.

Итак, имеются полигоны (проще всего работать с четырехугольниками), на которые мы хотим натянуть кубические поверхности так, чтобы они стыковались достаточно плавно — эти поверхности и есть сплайны.


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

Мета-грамматика для PEG парсера

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

На этой неделе мы делаем генератор парсеров «самостоятельным», то есть он будет генерировать свой собственный парсер.



Итак, у нас уже есть генератор парсера, часть которого является парсером грамматики. Мы могли бы назвать это мета-парсером. Мета-парсер работает аналогично сгенерированным: GrammarParser наследуется от Parser и использует тот же механизм mark() / reset() / hope(). Тем не менее, там всё это было написано вручную. Но правильно ли это?

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

Многопроцессный доступ к Intel Neural Computer Stick через REST

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

Проблема однозадачности


В прошлой серии я поставил на танк Intel Neural Computer Stick 2 и перекинул на него все нейросетевые вычисления, отказавшись от Tensorflow и OpenCV-DNN.

Была проблема, с которой я столкнулся уже тогда — невозможность работать с NCS из нескольких процессов одновременно. Тогда это было не критично, а сейчас пришло время разобраться.
Читать дальше →

Опыт обучения из первых рук. Яндекс.Практикум – Аналитик данных

Время на прочтение6 мин
Охват и читатели108K
image
Делюсь опытом обучения в Яндекс.Практикуме, для тех, кто хотел бы получить или совершенно новую специальность или перейти из смежных сфер. Я бы назвала его первой ступенью в профессии, на мой субъективный взгляд. Точно знать, с нуля, что нужно изучить сложно, ведь у каждого есть определенный багаж знаний, а этот курс многому научит, и каждый поймет для себя, знания в каких сферах нужно будет дополучить – почти во всех случаях достаточно будет бесплатных дополнительных курсов.
Читать дальше →

Как мы используем цепи Маркова в оценке решений и поиске багов. Со скриптом на Python

Время на прочтение6 мин
Охват и читатели13K
Нам важно понимать, что происходит с нашими студентами во время обучения, и как эти события влияют на результат, поэтому мы выстраиваем Customer Journey Map — карту клиентского опыта. Ведь процесс обучения — не нечто непрерывное и цельное, это цепочка взаимосвязанных событий и действий студента, причем эти действия могут сильно отличаться у разных учеников. Вот он прошел урок: что он сделает дальше? Пойдет в домашнее задание? Запустит мобильное приложение? Изменит курс, попросит сменить учителя? Сразу зайдет в следующий урок? Или просто уйдет разочарованным? Можно ли, проанализировав эту карту, выявить закономерности, приводящие к успешному окончанию курса или наоборот, «отваливанию» студента?



Обычно для выстраивания CJM используют специализированные, весьма дорогие инструменты с закрытым кодом. Но нам хотелось придумать что-то простое, требующее минимальных усилий и по возможности опенсорсное. Так появилась идея воспользоваться цепями Маркова — и у нас получилось. Мы построили карту, интерпретировали данные о поведении студентов в виде графа, увидели совершенно неочевидные ответы на глобальные вопросы бизнеса и даже нашли глубоко спрятанные баги. Все это мы сделали с помощью опенсорсных решений Python-скрипта. В этой статье я расскажу про два кейса с теми самыми неочевидными результатами и поделюсь скриптом со всеми желающими.
Читать дальше →

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего

Время на прочтение3 мин
Охват и читатели4.9K
В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных и асинхронных. Также можно подключать кастомные хэндлеры исключений.
Читать дальше →

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

Превращаем скрипты в красивые инструменты для машинного обучения

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

Создаём семантический поисковик с машинным обучением в реальном времени за 300 строк Python кода.

Мой опыт подсказывает, что любой более или менее сложный проект по машинному обучению рано или поздно превращается в набор сложных неподдерживаемых внутренних инструментов. Эти инструменты, как правило, мешанина из скриптов Jupyter Notebooks и Flask, которые сложно развёртывать и интегрировать с решениями типа GPU сессий Tensorflow.


Впервые я столкнулся с этим в университете Карнеги, затем в Беркли, в Google X, и, наконец, при создании автономных роботов в Zoox. Зарождались инструменты в виде небольших Jupyter notebooks: утилита калибровки сенсора, сервис моделирования, приложение LIDAR, утилита для сценариев и т.д.


С ростом важности инструментов появлялись менеджеры. Бюрократия росла. Требования повышались. Маленькие проекты превращались в огромные неуклюжие кошмары.


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

Добавление экшенов в грамматику PEG

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

Грамматика становится ещё лучше, если вы можете добавить (некоторую) семантику в соответствии с правилами. В частности, для анализатора Python, который я разрабатываю, мне нужно возвращать узел AST из каждой альтернативы, поскольку я хочу придерживаться текущей реализации AST в CPython.



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

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

Пишем программу для камеры хранения с функцией распознавания лица

Время на прочтение3 мин
Охват и читатели8.8K
Распознавания лиц уже захватило весь мир. Во всех крупных странах уже пользуются этой полезной фишкой. Почему не сделать жизнь людей еще удобнее и не встроить распознавание лиц в камеру хранения?

image

Идея инерции(SGDm), идея масштабирования (Adagrad) и регуляризация в машинном обучении на примере задачи классификации

Время на прочтение4 мин
Охват и читатели3.5K
Датасет, используемый далее, взят с уже прошедшего соревнования на kaggle отсюда.
На вкладке Data можно прочитать описание всех полей.

Весь исходный код здесь в формате ноутбука.
Читать дальше →

Концерты и события KudaGo у вас на зеркале

Время на прочтение5 мин
Охват и читатели4.2K
Расскажу вам про то, как я сделал возможным получать и отображать информацию из публичного API KudaGo на вашем зеркале. Само собой, речь не о простом, а об «умном» зеркале.
Читать дальше →

Анализируем тональность текстов с помощью Fast.ai

Время на прочтение6 мин
Охват и читатели8.1K
В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использованием Word2vec модели. В нашем примере будем решать ту же самую задачу разделения твитов на позитивные и негативные на том же самом датасете с использованием модели ULMFit. Результат из статьи (average F1-score = 0.78142) примем в качестве baseline.
Читать дальше →

Леворекурсивные PEG грамматики

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

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



Рассмотрим это гипотетическое правило грамматики:


expr: expr '+' term | term
Читать дальше →