Все потоки
Поиск
Написать публикацию
Обновить
427.28

Python *

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

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

Менеджер паролей без хранения

Время на прочтение3 мин
Количество просмотров17K

Всем привет!

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

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

Задачи стояли следующие:

1. Я программист не настоящий, так что алгоритм должен быть простым в реализации.

2. Он должен быть кроссплатформенным: Android/Linux/Windows.

3. Пароли в принципе не должны храниться нигде и ни в каком виде – это и есть изюминка моей идеи.

4. Если кто-то получит доступ к исходным кодам – это ничего ему дать не должно. Собственно, поэтому я и решил поделиться с народом своей идеей.

Читать далее

15 Open Source библиотек для повышения качества данных

Время на прочтение5 мин
Количество просмотров12K

Автор этого материала — программист и ML-инженер — собрала Open Source библиотеки Python, которые помогут вам сделать данные лучше, чтобы избежать траты времени и упростить анализ данных. Подборкой делимся к старту курса по анализу данных.

Читать далее

Копи паст туда, куда нельзя

Время на прочтение1 мин
Количество просмотров8.2K

Бывает такое, что необходимо вставить текст туда, где не предусмотрена возможность вставки текста.
Не работает Ctrl+v и нет других способов вставить скопированный текст.
Например, это может быть удаленный рабочий стол Windows или терминал сервера, расшареный в браузере или просто Вы подключились к консоли KVM.

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

Я не проверял его работу в Windows или Mac, я работаю в Ubuntu. Вот тут можно почитать подробнее и допилить для работы с Вашей OS.

Спешу поделиться с сообществом инструментом, который выручил меня.

Его очень легко использовать, достаточно скрипту указать нужный текст и задержку в секундах, чтоб успеть установить курсор.

Вот ссылка на github, там сам код, ман по установке и использованию.

Читать далее

Ферма для чайников

Время на прочтение8 мин
Количество просмотров11K

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

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

Мы решили, что лучше всего создать инструмент, который позволит максимально избавить все процессы от ручных проверок. Таким инструментом стали стенды автоматического тестирования (САТы).

Это уникальный проект компании Ready For Sky. САТы разрабатываются, чтобы значительно сэкономить рабочее время отдела тестирования и при этом увеличить результативность и качество.

Центральная концепция стендов - имитация работы человека с устройством. Создание условного робота, который вместо человека выполняет рутинные задачи.

Читать далее

Q-Learning в сфере оптимизации бизнес-процессов

Время на прочтение5 мин
Количество просмотров4.4K

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

Читать далее

Optimum Transformers: как экономить от 20к$ в год на NLP

Время на прочтение5 мин
Количество просмотров4.1K

Недавно компания ? Hugging Face (стартап, стоящий за библиотекой transformers) выпустила новый продукт под названием "Infinity". Он описывается как сервер для выхода в “production”. Публичная демонстрация доступна на YouTube (ниже приведены скриншоты с таймингами и настройками, использованными во время демонстрации). Все основано на обещании, что продукт может выполнять работу с NLP с задержкой в 1 миллисекунду на графическом процессоре. По словам ведущего демонстрации, сервер Hugging Face Infinity стоит не менее 20.000$ в год за одну модель, развернутую на одной машине (общедоступная информация о ценовой масштабируемости отсутствует).

Мне стало любопытно немного покопаться и проверить, возможно ли достичь таких показателей? Спойлер: да, возможно, и с помощью этой статьи его легко воспроизвести и адаптировать к вашим РЕАЛЬНЫМ проектам.

А для тех, кому лень все это читать и хочется все получить из коробки... Ссылка на GitHub. Поставьте зведу сразу, а потом читайте ?

Читать далее

Удивительное приключение в стране оптимизирующих компиляторов

Время на прочтение17 мин
Количество просмотров25K

Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не означает «совсем уж медленный», и посмотрим на приёмы программирования на Scheme, что, как мне кажется, можно сравнить с путешествием на экзотический остров.

Читать далее

Парсинг FIT файлов c данными тренировок

Время на прочтение7 мин
Количество просмотров7.5K

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

Читать далее

Без «Табла» и жизнь не та…

Время на прочтение6 мин
Количество просмотров7.3K


— Для некоторых людей одиночество и оторванность от мира могут стать проблемой.
— Только не для меня.

Кадр из фильма «The Shining», 1980 г.


В рядах аналитиков началась тихая паника. Заплатить в Google BigQuery в облачном варианте сейчас невозможно без иностранной банковской карты, Tableau и Microsoft «приостанавливают» свою активность в РФ, многие вендоры ушли, многие в низком старте.
Появляются материалы с вопросами «Пора менять Tableau, Power BI, Qlik? Как выбрать российский BI? Или не российский? Или не BI?» которые даже неприлично было задавать пару месяцев назад.


Но это прекрасный момент остановить ковейерное тиражирование шаблонов, выдохнуть и подумать «А что нам реально надо то?». И тут все становится не совсем очевидно.


Дальше картинок мало (0), по большей части текст и ссылки.

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

Как проверить данные во фрейме Pandas с помощью Pandera

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

В науке о данных важно тестировать не только функции, но и данные, чтобы убедиться, что они работают так, как вы ожидали. Материалом о простой библиотеке Pandera для валидации фреймов данных Pandas делимся к старту флагманского курса по Data Science.

Читать далее

VS Code portable,  делаем настоящую переносную сборку для Windows

Время на прочтение5 мин
Количество просмотров22K

Я не так давно начал изучать Python, и решил,  что мне необходима портативная сборка.  Причин для этого несколько, но статья не об этом. Если вам такое не нужно, дальше можно не читать. Во время поисков решения этой задачи часто сталкивался с вопросами людей по этой теме, но однозначного решения так и не нашел, но ответы некоторых пользователей натолкнули на верное решение. Почему VS Code? Ну, просто у них есть версия “portable”, так она гордо называется на сайте, но скачав ее, возникает вопрос, а как к тебе приделать Python?

 Сразу оговорюсь, целью было сделать полноценно переносную версию из связки Python + среда разработки + Git (для изучения).  В статье все расписал максимально подробно, так же на github закину файлы со всеми изменениями, и вам останется только создать структуру каталогов как у меня. Если хотите все разложить по своему- читайте-исправляйте,  по аналогии думаю не сложно будет сделать под себя.

Читать далее

Чистый AutoML для “грязных” данных: как и зачем автоматизировать предобработку таблиц в машинном обучении

Время на прочтение14 мин
Количество просмотров9K

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

Ну и насколько они грязные

Как работать с числами с плавающей точкой в Python

Время на прочтение9 мин
Количество просмотров74K

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

Читать далее

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

Маркетинговая аналитика на Python. Пишем код для RFM-сегментации

Время на прочтение8 мин
Количество просмотров14K

RFM - классический инструмент маркетинга для сегментации вашей клиентской базы. Я использую ее для работы в В2В, В2G сегменте. В основе него - понятные управленцу ценности: LTV и Purchase Frequency. Как можно строить сегменты с помощью Python - читайте в материале.

 

Читать далее

О том, как мы писали асинхронного telegram-бота «ScipIO»

Время на прочтение11 мин
Количество просмотров17K

Scipio - это асинхронный telegram-bot, который позволяет пользователям решать задачи по математике, логике, создавать свои собственные карточки, ставить запуск тренировки в определенное время - в общем, обучаться.

Читать далее

Разбираем алгоритмы компьютерной графики. Часть 6 — Анимация «Плазма»

Время на прочтение5 мин
Количество просмотров6.1K

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

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

Я попробую рассмотреть один из вариантов, который использует функции синуса и косинуса.

Читать далее

Мой друг Netmiko. Часть 3: один скрипт для разных устройств Huawei

Время на прочтение5 мин
Количество просмотров4.8K

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

Как обычно, полный скрипт приведу в конце статьи, видеодемонстрация доступа по ссылке на Форуме Huawei ICT Club.

Читать далее

Путь к пониманию декораторов в Python

Время на прочтение11 мин
Количество просмотров92K

Прим. Wunder Fund: В этой статье разбираемся, что такое декораторы в Python, зачем они нужны, и в чем их прикол. Статья будет полезна начинающим разработчикам.

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

Читать далее

Создание yastation — консольного клиента для управления Яндекс станцией

Время на прочтение1 мин
Количество просмотров11K

Однажды сидя за работой и параллельно слушая музыку на своей Яндекс станции, я обнаружил для себя интересную вещь - я не могу просто взять и переключить трек. Вы спросите: "Как так могло получится?", а я отвечу - вчера я сорвал голос в ожесточенной политической баталии, а телефон, как назло, лежал дальше, чем я мог бы дотянутся. В итоге такая неудачная ситуация побудила меня к созданию очередного велосипеда.

Читать далее

Подсчет количества пар товаров в продуктовых чеках с помощью трех инструментов: Python, Spark, SQL

Время на прочтение6 мин
Количество просмотров7.9K

Добрый день, уважаемые читатели! Не открою для большинства секрета, если скажу, что большая часть задач в материалах к учебным курсам сформулирована шаблонно. Какие-то вопросы в принципе могут представлять интерес, но очень оторваны от реальных потребностей бизнеса. Какие-то моменты выдернуты из книг, поэтому лучше знакомиться с ними, читая первоисточник. Но есть кейсы, которые на первый взгляд хоть и кажутся простыми и стереотипными, но, если присмотреться к ним более пристально, могут дать пищу для размышления. Вот на одной из таких полезных задач мне хотелось бы заострить внимание в данной заметке. Формулируется вопрос следующим образом: «Необходимо определить количество пар товаров в продуктовых чеках. Вывести 10 самых частых сочетаний». Пример, чек 1 содержит товар 1, товар 2, товар 3, а чек 2 -  товар 1, товар 2, товар 5. Следовательно, комбинация «товар 1, товар 2» встречается 2 раза, «товар 1 , товар 3» один раз и т.д.

В исходнике решать данный кейс предлагалось силами Python. Но реальная жизнь может потребовать от аналитика данных умения выполнять данное упражнение как с помощью SQL, так и Spark. Следовательно, рассмотрим три подхода, оставив за скобками разговора четвертый вариант – расчеты на платформах BI.

Читать далее

Вклад авторов