Обновить
836.87

Python *

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

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

Отслеживаем прогресс выполнения в Python

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

Зачем нужны индикаторы прогресса?


Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


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

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

Эксперименты с нейронными сетями на данных сейсморазведки

Время на прочтение14 мин
Охват и читатели19K
Сложность интерпретации данных сейсмической разведки связана с тем, что к каждой задаче необходимо искать индивидуальный подход, поскольку каждый набор таких данных уникален. Ручная обработка требует значительных трудозатрат, а результат часто содержит ошибки, связанные с человеческим фактором. Использование нейронных сетей для интерпретации может существенно сократить ручной труд, но уникальность данных накладывает ограничения на автоматизацию этой работы.

Данная статья описывает эксперимент по анализу применимости нейронных сетей для автоматизации выделения геологических слоев на 2D-изображениях на примере полностью размеченных данных из акватории Северного моря.

Проведение акваториальной сейсморазведки
Рисунок 1. Проведение акваториальной сейсморазведки (источник)
Читать дальше →

Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

Время на прочтение11 мин
Охват и читатели242K
Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака.

Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

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

Мне очень помогли статьи:


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

Возможно, я просто шел длинным путем – буду рад, если вы меня поправите.

Все действия выполнялись на компьютере с Windows + Python 3.6.6, также использовался Jupyter Notebook.

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

Код, использованный в статье, доступен в репозитории
Читать дальше →

Новые фичи Python 3.8 и самое время перейти с Python 2

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

Наступил 2020 год, а значит, Python 2 перестал поддерживаться. Если быть совсем точным, то основные разработчики уже перестали заниматься веткой, а выход релиза 2.7.18, приуроченный к PyCon US в апреле 2020 года, ознаменует полное прекращение любой активности, связанной с Python 2.


С другой стороны, совсем недавно состоялся релиз Python 3.8, добавивший немного синтаксического сахара в язык. Python 3.9 же ожидается ещё нескоро, да и пока не похоже что добавит в язык что-то интересное.


Так что если вы вдруг ещё не отказались от Python 2, то дальше тянуть смысла просто нет: поддержка второй версии уже прекратилась, а переход сразу на 3.8 позволит использовать язык в его самом актуальном состоянии ещё долгое время.


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

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

Обзор Kaggle ML & DS Survey 2019. Или сколько зарабатывают ML специалисты

Время на прочтение2 мин
Охват и читатели6.8K
Ежегодно Kaggle проводит опрос среди специалистов по анализу данных, и объявляет конкурс на поиск инсайтов из полученных данных. В этом году в опросе участвовало 19717 человек со всего мира. В статье рассматриваются лучшие обзоры и решения Kaggle ML & DS Survey 2019.


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

Автоматическое обновление кода до TensorFlow 2

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


В материале предоставлен перевод руководства по автоматическом обновлению кода с TensorFlow 1.x до Tensorflow 2 с помощью скрипта обновления tf_upgrade_v2.
Читать дальше →

Как сделать бота, который превращает фото в комикс. Часть вторая. Обучение модели

Время на прочтение5 мин
Охват и читатели12K
⇨ Первая часть
⇨ Третья часть

И снова здравствуйте!

Как вы могли заметить, праздники несколько подкосили график выхода статей.
Думаю, многие за это время успели если не полностью обучить свою модель, то хотя бы поэкспериментировать с различными наборами данных.
1. Ставим дистрибутив
2. Качаем фотки
3. ???
4. Profit!
Если же вам было не до этих наших нейросетей, или вы начинаете чтение с этой статьи, то, как говорится, нет времени объяснять, берем дистрибутив, качаем нужные фотки, и поехали!
Читать дальше →

Deep Reinforcement Learning: как научить пауков ходить

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

Сегодня я расскажу, как я применил алгоритмы глубинного обучения с подкреплением для управления роботом. Вкратце, поведаю о том, как создать «чёрный ящик с нейросетями», который на входе принимает архитектуру робота, а на выходе выдаёт алгоритм, способный им управлять.


Основой решения является алгоритм Advantage Actor Critic (A2C) с оценкой Advantage через Generalized Advantage Estimation (GAE).


Под катом математика, реализация на TensorFlow и множество демок того, к каким способам ходьбы сошлись алгоритмы.


Mask R-CNN от новичка до профессионала

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


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

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

Парсер Блокчейна в 300 строчек на Python

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

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

Попытки провести детальный анализ исходного кода проекта Bitcoin Core не увенчались особым успехом, ввиду достаточно строгих начальных условий, которые были мною поставлены перед собой, для того, чтобы сказать «да, теперь я знаю что это и как оно работает» и огромного количества строк исходного кода, которые необходимо было осмыслить, чтобы считать результат достигнутым.

Пришлось искать другие пути. Тем более, к моменту принятия данного решения блокчейн уже полностью загрузился на мой локальный компьютер. А сегодня это уже не так быстро как было тогда.

И так. Официальный клиент Bitcoin Core загрузил весь блокчейн в папку на локальной машине, это были какие-то файлы, которые, как говорилось в официальных документах, содержали всё то, что называется Bitcoin. Самым интересным для меня являлись файлы так называемой RAW Blockchain Data (blk00000.dat… blk01234.dat и т.д. из папки Bitcoin/blocks), а именно файлы базы данных блокчейн как они есть, в исходном виде.

Остальное содержимое каталога — это индекс «сырой» базы данных, данные для корректного учёта непотраченных выходов, настройки и персональный кошелёк.

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

Изучаем Metaflow за 10 минут

Время на прочтение13 мин
Охват и читатели14K
Metaflow — это Python-фреймворк, созданный в Netflix и ориентированный на сферу Data Science. А именно, он предназначен для создания проектов, направленных на работу с данными, и для управления такими проектами. Недавно компания перевела его в разряд опенсорсных. Фреймворк Metaflow в последние 2 года нашёл широкое применение внутри Netflix. Он, в частности, позволил значительно сократить время, необходимое для вывода проектов в продакшн.



Материал, перевод которого мы сегодня публикуем, представляет собой краткое руководство по Metaflow.
Читать дальше →

Hack The Box — прохождение Craft. Копаемся в Git, эксплуатируем уязвимости в API, разбираемся с Vault

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

Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Мы рассмотрим, как можно проэксплуатировать RCE в API, покопаемся в репозиториях Gogs, поработаем с базами данных и разберемся c системой хранения и управления секретами Vault.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

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

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

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

Введение в ASGI: становление асинхронной веб-экосистемы Python

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca.



"Черепахи рядом с водоемом", Ricard Baraham на unsplash.com


Python не замыкается только на Data Science, веб-разработка на Python вернулась с новым асинхронным витком в развитии языка!


Сейчас происходит много важных событий в экосистеме веб-разработки на Python. Одним из основных драйверов этих изменений является ASGI — Asynchronous Server Gateway Interface.


Я уже несколько раз упоминал ASGI в моем блоге, в частности, когда анонсировал Bocadillo (асинхронный open-source веб-фреймворк на Python — прим.пер.) и tartiflette-starlette (библиотека для построения GraphQL API поверх HTTP через ASGI — прим.пер.), но я никогда не писал подробное введение о нем. Теперь я это сделаю.


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


Прежде чем мы начнем, я хотел бы рассказать, что недавно создал awesome-asgi — отличный список для отслеживания постоянно расширяющейся экосистемы ASGI.

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

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

Multiprocessing и реконсиляция данных из различных источников

Время на прочтение9 мин
Охват и читатели9.3K
Привет, Хабр!

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

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

Как реализовать этот кейс на старом-добром Python — читаем под катом! Поехали!


(Источник картинки)
Читать дальше →

Пропаганда тоталитарного режима, антисемитизм и гомофобия в учебнике по программированию 2019 года? — Это возможно

Время на прочтение6 мин
Охват и читатели84K
Кликбейтный заголовок? К сожалению, всё указанное и даже более в обозреваемой ниже книге есть. Что за книга? «Простой Python просто с нуля».
Читать дальше →

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2

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

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

Часть 1 — Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python.

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

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

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

Письмо начинающему изучать Data Science

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

Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.


Нейронные сети – это...

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

5 возможностей Python, о которых я не знал — а зря

Время на прочтение5 мин
Охват и читатели39K
Python можно без сомнений называть языком, испытавшим в последнее десятилетие значительный рост, языком, который доказал свою мощь. Я создал множество Python-приложений — от интерактивных карт до блокчейнов. Python обладает огромным количеством возможностей. Начинающим очень сложно сходу всё это ухватить.



Даже если вы — программист, который переходит на Python с другого языка, вроде C, или если вы — учёный, который раньше работал в MATLAB, Python-программирование с использованием высокоуровневых абстракций — это, определённо, совершенно особый опыт. Я хочу рассказать о пяти очень важных, на мой взгляд, возможностях Python, о которых я раньше, к сожалению, не знал.
Читать дальше →

Сортировка «Американский флаг»

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

Чтобы понять принцип действия этой «многополосной» сортировки проще для начала разобраться на примере флага с тремя полосами. А чтобы легко разобраться с трёхцветным флагом, лучше сначала посмотреть, как это работает на примере двухцветного. А чтобы разобраться с двухцветным...
Траффик

Реализация строкового типа в CPython

Время на прочтение9 мин
Охват и читатели10K
Продолжу неспешный разбор реализации базовых типов в CPython, ранее были рассмотрены словари и целые числа. Тем, кто думает, что в их реализации не может быть ничего интересного и хитрого, рекомендуется приобщиться к данным статьям. Те, же, кто уже их прочёл, знают, что CPython хранит в себе множество интересностей и особенностей реализации. Их может быть полезно знать при написании своих скриптов, так и в качестве пособия по архитектурным и алгоритмическим решениям. Не являются исключением здесь и строки.


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