Обновить
512K+

Python *

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

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

Вставить подпись в pdf или как спасти деревья

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

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

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

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

Таким образом я решил написать свое приложение для вставки изображений в pdf, отвечающего всем указанным выше требованиям. А так-как размер приложения и скорость работы (в пределах разумного!) не являются ключевыми, мне представилось оптимальным написать приложение на python, после чего завернуть его в исполняемый файл.

Читать далее

Создание арт-объектов, игр и много чего ещё с использованием числа Пи и Python

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

Число Пи — пожалуй, самое знаменитое число в мире. Это единственное число, ради которого учредили особый день в году — День числа пи, отмечаемый 14 марта. В этой статье мы рассмотрим различные особенности числа π и попробуем с его помощью создать что-нибудь развлекательное, используя Python. Например арт-объекты, музыку, игры и другое. Открываем блокнот Colab и начинаем.

Читать далее

Рисуем графы в PyQT

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

Графовая аналитика – распространенный инструмент в поиске связей в разрозненных данных. В статье попробуем с использованием PyQT и networkx сделать простейший инструмент для визуализации связей.

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

Алгоритм работы такой: на входе я брал *.csv файлы из базы данных, которые я сводил в pandas, и затем посредством группировок и фильтров выводил связи по каждому клиенту и организации, а после закидывал это все в networkx и получал на выходе граф, с которым уже работал совместно с аналитиком.

Аналитики, посмотрев на это все, сказали, а может сделаем что-нибудь быстрое для нас, чтобы мы сами там крутили все и смотрели. Конечно же, мой ответ был – а может что-нибудь из open-source? Возьмите Gephi, например. Прошла неделя, приходят обратно – вот это не так, это не то, и вообще сложно. Я честно отбивался, но как видите, не выдержал.

Итак, формируем задачу: Нужно сделать простое приложение для построения графов, не потратив на него много времени, а также, чтобы запускалось и работало без бубнов. Язык – Python. Чтобы не запариваться с оберткой, а сосредоточиться на внутренних алгоритмах, в качестве интерфейса взял PYQT.

Саму разработку разделил на два этапа, а именно сначала накидал макет интерфейса (макеты в Paint наше все), а потом уже добавил встроенные методы для расчета и отрисовки графа.

Читать далее

И снова про капчу

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

Здесь на Хабре часто встречаются статьи про распознавание капчи. Всегда с большим интересом их читал, а сегодня настал и мой черёд написать. Путь от наивной реализации с Тессерактом до веб-сервиса со сложной нейросетью занял у меня около года. Количество ошибок распознавания удалось снизить с 90 до менее 1%.

Подробности под катом

Как мы SciArt-ом логотип конференции прокачали

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

В прошлом (2020) году в связи с пандемией мы проводили научную онлайн конференцию по вычислительной химии, и для неё сделали логотип, который был, мягко говоря, так себе. Под катом рассказ о том, как мы его прокачали для конференции этого (2021) года при помощи небольшого количества квантовой механики, метода Монте-Карло, Python и Gnuplot.

Читать далее

Логирование в телеграм, или история о том, как я сделал питон библиотеку

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

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

Читать далее

Как сделать интеллектуального чат-бота для проведения опросов/интервью

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

В современном мире всё большую популярность приобретает методика под названием customer development для тестирования идей и гипотез о будущем продукте. Методику придумал "крёстный отец Кремниевой долины" Стив Бланк.
Одним из числа сильных инструментов в "разработке клиентов" является интервью, когда вы можете побеседовать с респондентом. Однако им не всегда можно воспользоваться ввиду разных причин, которые условно можно свести к объёму бюджета и имеющемуся времени. Но во многих ситуациях можно воспользоваться опросом. Причём опросом, который можно автоматизировать за счёт применения чат-бота и нейронной сети для определения смысла ответов респондента.

Читать далее

Джуном? в 40 лет? Ещё и на удаленку? Да ну, не выдумывайте…

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

И все-таки это возможно...

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

Вообще таких success stories в интернетах полным-полно, помните как таксист учил Java на перекурах, курьер слушал подкасты на велике, хирург... уж не помню, когда хирург умудрялся учить ООП, но похоже делал он это вместе с таксистом и курьером.

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

Да-да, я именно тот 40-летний джун, которому удалось попасть на удаленку и среднюю зарплату в не очень крупную, но гордую контору... Хотите узнать как это получилось?

Готовьтесь к лонгриду...

Как обойти капчу Гугл

Время на прочтение6 мин
Охват и читатели46K
Ранее нам попадались относительно «простые» капчи:


В этот раз поработаем над чем-то более серьезным и давно знакомым:



Итак задача: обойти капчу, желательно с первого раза.
Читать дальше →

Студенты, лабы и python: обработка данных

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

В своей предыдущей заметке на тему обработки данных лабораторных работ я написал об использовании пакета gnuplot – простого и мощного инструмента для решения подобных задач и графического представления результатов. Однако довольно распространённым является мнение, что студенты, которым я советовал использовать gnuplot, вероятно, изучают программирование и способы визуализации данных, и что для них более естественным и полезным будет практическое применение уже полученных навыков в этой сфере. В этом коротком тексте мы рассмотрим применение python с использованием библиотек scipy для обработки данных и matplotlib для представления результатов.

Читать далее

Ещё один поиск Вк по фото

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

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

Вдохновиться

Pattern matching. Теперь и в Python

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

В юбилейный минор третьего питона наконец-то завезли pattern matching. Саму концепцию сложно назвать новой, она уже реализована во многих языках, причём как нового поколения (Rust, Golang), так и у тех, кому уже за 0x18 (Java).


Анонсировал pattern matching Гвидо ван Россум, автор языка программирования Python и «великодушный пожизненный диктатор»

Меня зовут Денис Кайшев, я код-ревьюер на курсе «Мидл Python-разработчик». В этом посте хочу рассказать, зачем в Python pattern matching и как с ним работать.

Синтаксически конструкция pattern matching по сути аналогична тому, как это представлено в ряде других языков:

Поиск нарушений на видео с помощью компьютерного зрения

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

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

Читать далее

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

Однажды Microsoft забанила всю мою страну за читерство

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

Об игре


Club Bing — это набор игр, в которые можно было играть в 2007-2012 годах. Все игры были связаны со словами, в них нужно было играть онлайн, чтобы зарабатывать очки, которые можно было тратить в онлайн-магазине для покупки призов. Одна из игр называлась Chicktionary. Цель игры: использовать 7 букв, чтобы составить как можно больше слов.


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

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

  • 123 Main St. Apt #1, Anywhere, YZ, USA
  • 123 Main St. Apt #2, Anywhere, YZ, USA
  • 123 Main St. Apt #3, Anywhere, YZ, USA

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

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть II — Объекты класса Token

Время на прочтение16 мин
Охват и читатели3.2K
imageВ предыдущей статье был представлен модуль pyp11, написанный на языке Си и обеспечивающий поддержку токенов PKCS#11 с российской криптографией. В этой статье будет рассмотрен класс Token, который позволит упростить использование функционала модуля pyp11 в скриптах, написанных на Python-е. Отметим, что в качестве прототипа этого класса был взят класс token, написанный на TclOO и который используется в утилите cryptoarmpkcs:

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

Быстрый и грязный Django — Передача данных в JavaScript без AJAX

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

Если мы хотим передать данные из Django в JavaScript, мы обычно говорим об API, сериализаторах, вызовах JSON и AJAX. Обычно дело усложняется наличием React или Angular на фронте.

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

Читать далее

Создание образа Мона Лизы в Игре «Жизнь»

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

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

Парсинг kad.arbitr и поиск клиентов

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

Идея родилась несколько лет назад и была до банальности проста: kad.arbitr - сайт, где "живут" гражданские и иные дела - просто бездонный кладезь ценной информации для юридической фирмы. В материалах дел должны быть фирмы, которым предъявили иск и которые еще не знают об этом, не готовы, не могут или не хотят сами ходить в суды. Осталось только найти эти фирмы и достучаться до них.

Сказано - сделано. Вооружившись python и базовыми знаниями его синтаксиса, предлагается выяснить, что из этого получится.

Читать далее

Сэмплирование Томпсона

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

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

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

Читать далее

8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать

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

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

Эта статья предназначена как раз для начинающих разработчиков. В ней описаны 8 крайне важных команд для работы с файлами, папками и файловой системой в целом. Все примеры из этой статьи размещены в Google Colab Notebook (ссылка на ресурс — в конце статьи).
Читать дальше →