Обновить
512K+

Python *

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

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

Технология софтостроения NexusMind (Или как я строил TELEGRAM бота на python)

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

Данная статья касается вопросов «софтостроения» (термин этот я подсмотрел у своего коллеги и друга Сергея Тарасова). Термин мне нравится. Всегда встаю в тупик по порядку изложения. В первую очередь сказать о техническом задании  (ТЗ) или о теоретических аспектах или продумывании как и что реализовать в программном коде? Ведь очевидно, что  прежде, чем что‑то писать программист должен хотя бы минуту подумать, что он напишет? Есть и другие варианты написания, но мы их касаться не будем и начнем все‑таки с ТЗ.

Вкратце ТЗ звучало так. Написать информационно‑справочную систему поиска и бронирования лекарственных препаратов с использованием телеграмм бота (ТБ) для сети аптек на основе 1С конфигурации.

Задача была написана на 1С и работает (или работала) под телеграмм ботом с именем @lotostatki_bot. Это не предмет статьи, но прототип. Почему 1С? Потому, что 1С это учетная система, а бронирование товара — это документ, который поступает в аптеку и резервирует товар на определенное время. Схема, по которой ведет диалог ТБ @lotostatki_bot следующая...

Как я строил TELEGRAM бота на python

DIY клавиатура из фанеры

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели19K

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

Читать далее

AutoLove: апдейты девушке с YandexGPT

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели15K

Салют! Меня зовут Григорий. Как и у многих из нас, у меня есть вторая половинка, и ей свойственно требовать внимания. Сам по себе я человек занятой и мне бывает трудно отвлечься от дел и написать апдейт девушке, из-за чего приходиться терпеть капризы по причине «недостатка внимания». В статье я рассказываю, как YandexGPT и Python-Telegram «уделяли внимание» моей девушке.

Читать далее

KD+SM Uplift Modeling. Вошли и вышли, приключение на 20 минут

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.4K

В современном интернет-маркетинге уделено довольно мало внимания Uplift моделированию. Cам Uplift не страдает от недостатка внимания со стороны маркетинга, а вот его корректный расчет - да. Как правило, Uplift моделирование представляет собой набор неких эвристик, незамысловатой статистики и различных бизнес-инструментов. В лучшем случае, это относительно современные и простые ML-модели, которые совершают расчеты с большим количество допущений, что влечет за собой некорректные и нестабильные результаты.

Такие решения, как правило объясняются желанием со стороны бизнес‑заказчика или же отдела аналитики сделать продукт «быстро и сердито», без долгого и тяжелого вовлечения во все нюансы и подводные камни Uplift моделирования. Задача действительно непростая, пользователи видят десятки рекламных баннеров, успевают повидать по несколько вариаций дизайна страниц сайта, при всем этом получая электронные письма, либо пуши с предложением скидки на продукцию. Конечно же, при такой «бомбардировке» пользователя довольно трудно понять на частном уровне, какая кампания лучше поспособствовала формированию желания что‑то у Вас купить.

Это цикл статей, посвященный KD+SM Uplift моделированию (Knowledge Distillation and Sample Matching) — относительно новой архитектуре Uplift моделирования, использующей весь современный арсенал ML и DL решений на текущий день. Можно сказать, что KD+SM это даже целый pipeline решений, который состоит из препроцессинга данных, нескольких ML моделей, и нейронных сетей. Модели «общаются» друг с другом, на каждом из этапов обогащают данные новыми синтетическими знаниями и передают уже модифицированные данные дальше по pipeline. Именно поэтому мы уложим всю работу в несколько статей, начиная с вводной статьи и заканчивая прикладным применением KD+SM Uplift на реальных данных.

Читать далее

Code Mining. Могут ли аналитики читать код?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели1.8K

Привет, Хабр! На связи участник профессионального сообщества NTA Губин Никита.

Code mining — это процесс анализа и извлечения информации из исходного кода для получения полезных данных. Аналитики, имея базовые компетенции в разработке, могут использовать их как дополнительный источник информации для улучшения процессов. Инструмент, о котором я расскажу в посте, разделяет код на логические блоки, что позволит улучшить взаимодействие DS‑специалистов и аналитиков.

Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 1: Live Coding

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели46K

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

В данной статье разберемся что такое live coding интервью и как к нему готовиться.

Материал в первую очередь будет полезен Data Scientist'ам и ML инженерам, при этом некоторые разделы, например, Алгоритмы и структуры данных подойдут всем IT специалистам, которым предстоит пройти секцию live coding.

Читать далее

Простая выгрузка из БД Microinvest в 1С Битрикс

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели1.4K

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

Читать далее

Как инженер-геодезист настраивал автоматизацию для перезапуска службы ArcGIS Server и что из этого вышло

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

Сотрудники поддержки должны уметь программировать. Поэтому, когда на работе нам потребовалось настроить автоматизацию для перезапуска службы ArcGIS Server, а получить техническую поддержку вендора ESRI на территории РФ уже было невозможно, я решил реализовать решение самостоятельно. В статье описываю, какой путь я прошёл по поиску решения на основе советов с gis.stackexchange.com и AI.

Дисклеймер: в прошлом  я инженер-геодезист, начавший свой путь в ИТ, перейдя на работу во вторую линию поддержки системы ГИС Х5 в подразделение X5 Tech. Поэтому прошу понять и простить мне флёр джуна-программиста в данной статье.

ГИС Х5 — это один из наших инструментов развития торговых сетей X5 Group (“Пятёрочек”, “Перекрёстков” и “Чижиков”). Если совсем просто и коротко, то с помощью него мы оцениваем эффективность локации будущих магазинов по ряду параметров, на основании чего принимаем решение об их открытии в той или иной точке.

Читать далее

О чем говорят руки. 2 место на соревновании Kaggle + код решения

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.8K

Приветствую всех читателей! Меня зовут Артем Топоров, и сегодня я хочу поделиться с вами своим опытом участия в соревновании по распознаванию жестового языка, организованном компанией Google. На этом соревновании, собравшем 1139 команд со всего мира, нам удалось занять 2 место. Расскажу как мы вместе с Николаем Форратом и Xun Zhao разработали ML алгоритм для мобильных устройств, едва не заняли первое место и при чем тут спектрограммы. Вы можете использовать наш код, так как он распространяется под лицензией Apache 2.0.

Читать далее

Автоматизируем создание отчетов в Word с данными из Excel на Python

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели77K

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

Читать далее

Классификация облака точек с ограниченными данными: воксели и сиамские сети

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.5K

После первого поста на Хабре моя карьера сделала неожиданный поворот, и я оказался перед непростой задачей классификации, которая потребовала от меня изучения новых для себя архитектур и подходов. В этой статье я поделюсь опытом решения задачи классификации облака точек, имея лишь 10 примеров для каждого класса. Мы поговорим о том, как преобразование данных в воксельное представление и использование сиамских нейронных сетей с 3D свертками помогло достичь отличных результатов.

Читать далее

Albumentations: XYMasking

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.9K

Короткая версия

После длинного вступления, будет туториал по применению аугментации XYMasking к спектрограммам от ЭЭГ. Кто экономит время - код с примерами можно найти по ссылке в документации библиотеки.

Длинная версия

Albumentations - это Open Source библиотека для аугментации изображений.

Аугментация - это умное слово, которое в переводе с русского на русский означает "преобразование".

Q: Зачем это надо?

A: Основное применение - тренировка нейронных сетей на картиночных данных, например ImageNet.

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

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

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

Читать далее

Когда хочешь, чтобы она не потерялась: термометр из RPI2040

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.2K

Если Вы не знали, как начать использовать ненужный Raspberry Pi Pico, "измерьте" температуру с помощью мигающего светодиода.

Читать далее

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

Получаем валюту, язык и код страны используя библиотеку countryinfo на Python

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели3.8K

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

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

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

Тут на помощь придет библиотека countryinfo, давайте установим ее. Для установки выполните в командной строке:

Читать далее

Компилятор за выходные: избавляемся от переменных

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели15K

Вопрос из области ненормального программирования: насколько сложные программы вы сможете написать на питоне, не пользуясь в принципе переменными (а также агрументами функций), за исключением пары глобальных массивов? Правильный ответ: да любой сложности. Если что-то можно сделать на ассемблере, то уж на питоне и подавно! Правда, пусть лучше код вместо меня сгенерирует машина :)

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

ssloy@khronos:~/tinycompiler$ cat *.py|wc -l

611

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

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

Читать далее

Классифицируем рукописные цифры с помощью Tensorflow и Keras

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели15K

Привет, Хабр! Сегодня мы окунемся в мир машинного обучения, создав свою первую нейронную сеть на Python с помощью TensorFlow и Keras для распознавания рукописных цифр из знаменитого датасета MNIST. Этот проект станет отличным стартом для тех, кто только начинает свой путь в машинном обучении, и показательным примером мощи и простоты использования современных инструментов разработки.

Заинтересовал? Добро пожаловать под кат!

Читать далее

Книга «Python для сложных задач: наука о данных. 2-е межд. изд.»

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

Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы найдете подробное описание IPython, NumPy, pandas, Matplotlib, Scikit-Learn и др.

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

Время, как часть платформы ERP-систем

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели1.2K

Всем привет!

Продолжаю публиковать странные и непонятные статьи.

Но вдруг, кому-то пригодится.

Поехали...

Хочется поговорить о времени, как о состоянии системы.

Но для начала нужна вводная: первая из них — временнАя переменная. С чего стартуем? Стартуем с дебага, как и я когда-то. Сидишь, трейсишь программу, и в дебаге у тебя есть несколько инструментов для похода по исходному коду: какой-нибудь step over, step into, run to cursor, step next. Ну, вроде все есть, но как бы: а где step back? Вы никогда не пролетали в отладке мимо того, что отлаживаете? И сколько раз приходилось перезапускать отладку? Может, я один такой… несчастливый?

Как раз, проблема в том, что обратные операции неочевидны. Процессоры, (может я и неправ, это просто гипотеза), не могут работать в обратном направлении по исходному коду. Операция степени в обратном направлении - это извлечение корня, например. Возможно, поэтому у нас нет такого очевидного и удобного, лично для меня, инструмента - как вернуться на строку назад от текущей…

Что может помочь? Например, какие-нибудь инструменты логирования. Мы берем область памяти, которая выделена для хранения значения переменной, и записываем в “блокнот”, что там происходит. В этом такте одно значение, в следующем другое… Мы формируем логи, так сказать.

Когда мы объявляем переменную, она будет “работать” с момента объявления до момента окончания работы исходного кода (выхода из подпрограммы или удаления этой переменной). Ее значение в процессе может быть многократно изменено без возможности восстановления. Обычно нас это устраивает, и значения в дебаге нас интересуют только в текущий момент. Обычно это говорит о том, что значение “вечно”, оно было таким всегда, даже если один такт назад это было не так.

Читать далее

Python, MSA, Kafka

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели16K

Всем привет! Сегодня микросервисная архитектура, что называется "на хайпе". Я перечитал достаточно много статей по данной тематике, но обнаружил, что среди всего прочего, не так много публикаций, объясняющих данную концепцию на конкретном примере (может, плохо искал). Сегодня я бы хотел пополнить ряды авторов и написать свою первую публикацию, не судите строго!

Читать далее

10 продвинутых сниппетов Python, которые повысят ваши навыки программирования

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

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

Читать далее