Обновить
512K+

Python *

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

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

Как технология in-memory изменила бизнес-аналитику

Время на прочтение10 мин
Охват и читатели10K
Примерно 5 миллисекунд проходит от запроса до ответа, если данные хранятся на жестком диске. SSD отвечает в 30 раз быстрее — за 150 микросекунд. Оперативной памяти требуется в 300,000 раз меньше времени — лишь 15 наносекунд.*



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

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

Технология in-memory заключается в том, что для трансформации в оперативную память единовременно загружаются все данные из разных источников. После этого трансформацию можно выполнить «на лету», без запросов к диску. Например, кликом выбрать измерение и сразу получить график, который будет отображать значения показателей в нужном разрезе. Благодаря тому, что все данные уже в оперативной памяти, аналитическому приложению не нужно делать запросы к жесткому диску для получения новой информации.

Это вступление должно помочь мне рассказать о том, как и почему менялись технологии, лежащие в основе современных аналитических решений.
Читать дальше →

SAX-парсер python vs DOM-парсер python. Парсим ФИАС-houses

Время на прочтение3 мин
Охват и читатели7.3K
В предыдущей статье был рассмотрен подход к созданию csv из xml на базе данных, которые публикует ФИАС. В основу парсинга был положен DOM-парсер, загружающий в память весь файл целиком перед обработкой, что приводило к необходимости дробления файлов большого размера в виду ограниченного объема оперативной памяти. В этот раз предлагается посмотреть насколько хорош SAX-парсер и сравнить его скорость работы c DOM-парсером. В качестве подопытного будет использоваться наибольший из файлов базы ФИАС — houses, размером 27,5 ГБ.
Читать дальше →

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети

Время на прочтение17 мин
Охват и читатели77K
Привет, Хабр.

Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использоваться генерация текста с помощью нейронной сети. Создавать тексты мы сможем на любом языке, от русского или английского, до С++. Результаты получаются весьма интересными, по картинке уже наверно можно догадаться.



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

Poco — UI автоматизация мобильных игр на основе Python в рамках AirTest IDE

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

Сегодня мы поговорим о втором главном фреймворке для автоматизации UI, который называется Poco. Poco использует Python и здесь уже не обойтись без написания кода, но давайте сначала рассмотрим для чего он применяется, когда стоит к нему обращаться и как это всё выглядит.


Данная статья является финальной из серии про AirTest IDE. Первую, обзорную, работу можно найти по данной ссылке, а вторую, где рассказывается про фреймворк распознавания изображений, можно найти здесь.


Poco — фреймворк UI автоматизации игр использующий Python в рамках AirTest IDE с возможностью комбинирования функциональности с их же Image Recognition фреймворком (AirTest). Стоит упомянуть, что у AirTest IDE есть поддержка и других языков (JS,Lua,C#,Java), но дальнейшие примеры будут на Python, т.к. этот язык считается основным.


Основные элементы взаимодействия выглядят следующим образом:


image


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

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

Путь к проверке типов 4 миллионов строк Python-кода. Часть 3

Время на прочтение6 мин
Охват и читатели7K
Представляем вашему вниманию третью часть перевода материала о пути, который прошла компания Dropbox, внедряя у себя систему проверки типов Python-кода.



→ Предыдущие части: первая и вторая
Читать дальше →

Fasttext на PHP\Python. Первые шаги

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

Чё, зачем, почему




Уже достаточно давно популярность набрали разного рода алгоритмы машинного обучения. Также, благодаря крупным компаниям, которые двигают технологический прогресс, появилось много opensource продуктов. Одним из них является Fasttext, о котором пойдет речь ниже.
Читать дальше →

Новый курс по Python от Microsoft [на английском]

Время на прочтение2 мин
Охват и читатели6.1K
Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно.

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

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

К счастью, концепции обычно не меняются при переходе с одного языка программирования на другой. Конечно, синтаксис может быть другим, но оператор if все еще является оператором if, даже если он написан с использованием { } или End If. Поэтому не нужно учиться тому, как программировать, нужно учиться программировать на новом языке.

Наши коллеги Сюзан и Крис создали серию обучающих видео по Python для начинающих! Вы можете знать, как писать код, например, на JavaScript, Java или C# (или на COBOL, или на Bash, или… на самом деле это не имеет значения). Возможно, вы учились в колледже, онлайн или читали книгу, и вам не нужно учить, что такое выражение if. Вам скорее нужно понять, как выглядит выражение if в Python.

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

Спам-уязвимость Pikabu

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

Здравствуйте. Хотел бы рассказать про спам-уязвимость форума Pikabu.


Форум считаю не самым лучшим, по этому — тестирую на нем все что можно.


В чем же суть?


Уязвимость заключается в накрутке активности, количестве оценок, комментариев за минимальное время с помощью Python-скрипта.

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

9 лучших опенсорс находок за сентябрь 2019

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

Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.


Прошлый выпуск.

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

Создание stateful навыка для Алисы на serverless функциях Яндекс.Облака и Питоне

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

Начнём с новостей. Вчера Яндекс.Облако анонсировало запуск сервиса бессерверных вычислений Yandex Cloud Functions. Это значит: ты пишешь только код своего сервиса (например, веб-приложения или чатбота), а Облако само создаёт и обслуживает виртуальные машины, где он запускается, и даже реплицирует их, если возрастает нагрузка. Думать вообще не надо, очень удобно. И плата идёт только за время вычислений.


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


Но есть пара нюансов. Во-первых, ваш питонячий код может требовать каких-то зависимостей, и затаскивать их в Облако — нетривиально. Во-вторых, любому нормальному чатботу нужно хранить где-то состояние диалога (stateful поэтому); как сделать это в бессерверной функции проще всего? В третьих, а как вообще можно быстро-грязно написать навык для Алисы или вообще какого-то бота с ненулевым сюжетом? Об этих нюансах, собственно, статья.


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

Disk forensics, memory forensics и log forensics. Volatility framework и Autopsy. Решение задач с r0от-мi. Часть 1

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

Данная статья содержит решений заданий, направленных на криминалистику памяти, оперативной памяти, и логов web-сервера. А также примеры использования программ Volatility Framework и Autopsy.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

Python в Visual Studio Code: сентябрьское обновление расширения

Время на прочтение3 мин
Охват и читатели8.9K
Мы рады сообщить, что сентябрьское обновление расширения Python для Visual Studio Code уже доступно. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

Это небольшой выпуск, в котором мы закрыли 35 проблем, в том числе улучшили Python Language Server, отладку ячеек Jupyter Notebook, а также обнаружение создания виртуальной среды. Полный список улучшений приведен в нашем  журнале изменений. Ну а в этой статье рассмотрим самые интересные обновления.

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

Атомный квест в Битцевском парке

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


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

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

Изменение климата: анализируем температуру в разных городах за последние 100 лет

Время на прочтение4 мин
Охват и читатели62K
Привет, Хабр.

Про изменение климата сейчас не говорит только ленивый. И случайно найдя неплохой сайт с историческими данными, стало интересно проверить — как же реально менялась температура с годами. Для теста мы возьмем данные с нескольких городов и проанализируем их с помощью Pandas и Matplotlib. Заодно выясним, действительно ли челябинские морозы настолько суровы, и где теплее, в Москве или Петербурге.



Также обнаружилось еще несколько любопытных закономерностей. Кому интересно узнать подробности, прошу под кат.
Читать дальше →

Сравнение малопопулярных и не очень CLI-библиотек: cliff, plac, plumbum и другие (часть 2)

Время на прочтение12 мин
Охват и читатели4.8K
В экосистеме Python существует множество пакетов для CLI-приложений, как популярных, вроде Click, так и не очень. Наиболее распространённые были рассмотрены в предыдущей статье, здесь же будут показаны малоизвестные, но не менее интересные.


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

Путь к проверке типов 4 миллионов строк Python-кода. Часть 2

Время на прочтение8 мин
Охват и читатели6.4K
Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода.



Читать первую часть
Читать дальше →

Робот-тележка на ROS. Часть 5. Работаем в rviz и gazebo: xacro, новые сенсоры

Время на прочтение10 мин
Охват и читатели11K
Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

В прошлый раз удалось добиться следующих целей:

  • визуализировать робота, создав xacro-файл, содержащий urdf-описание робота;
  • создать два launch файла, один из которых позволяет разместить робота в редакторе-симуляторе Gazebo;
  • поуправлять роботом в симуляторе Gazebo с клавиатуры.

В этом посте оформим проект в виде модулей xacro, чтобы он стал более читаемым (ранее для наглядности мы затолкали все описание в один xacro файл). Добавим виртуальную видеокамеру и imu. Просмотрим как добавлять в gazebo посторонние предметы окружающего мира.

C/C++ из Python (C API)

Время на прочтение7 мин
Охват и читатели31K
main

Продолжаем тему как вызывать C/C++ из Python3. Теперь используем C API для создания модуля, на этом примере мы сможем разобраться как работает cffi и прочие библиотеки упрощающие нам жизнь. Потому что на мой взгляд это самый трудный способ.

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

Путь к проверке типов 4 миллионов строк Python-кода. Часть 1

Время на прочтение7 мин
Охват и читатели18K
Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода.



В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентских приложений. Ещё мы в больших объёмах применяем Go, TypeScript и Rust, но Python — это наш главный язык. Если учитывать наши масштабы, а речь идёт о миллионах строк Python-кода, оказалось, что динамическая типизация такого кода неоправданно усложнила его понимание и начала серьёзно влиять на продуктивность труда. Для смягчения этой проблемы мы приступили к постепенному переводу нашего кода на статическую проверку типов с использованием mypy. Это, вероятно, самая популярная самостоятельная система проверки типов для Python. Mypy — это опенсорсный проект, его основные разработчики трудятся в Dropbox.

Dropbox оказалась одной из первых компаний, которая внедрила статическую проверку типов в Python-коде в подобном масштабе. В наши дни mypy используется в тысячах проектов. Этот инструмент бесчисленное количество раз, что называется, «проверен в бою». Нам, для того, чтобы добраться туда, где мы находимся сейчас, пришлось проделать долгий путь. На этом пути было немало неудачных начинаний и провалившихся экспериментов. Этот материал повествует об истории статической проверки типов в Python — с самого её непростого начала, которое было частью моего научного исследовательского проекта, до сегодняшнего дня, когда проверки типов и подсказки по типам стали привычными для бесчисленного количества разработчиков, которые пишут на Python. Эти механизмы теперь поддерживаются множеством инструментов — таких, как IDE и анализаторы кода.

Читать вторую часть
Читать дальше →

Играемся с комплексными числами

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

Очередной очерк. На этот раз поиграемся с комплексными числами, с формулами и их визуализацией.


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