Обновить
575.01

Python *

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

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

EPT-MX-ADM: Новый уровень управления Matrix Synapse — Бета-версия v0.0.1

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров775

Привет, Хабр! Меня зовут Brabus, я разработчик из EasyProTech LLC, и сегодня я хочу рассказать о моём проекте - EPT-MX-ADM. Это современная админ-панель для Matrix Synapse, которая решает проблемы устаревших инструментов вроде Synapse Admin. Если ты админ Matrix-сервера и устал от CORS-ошибок, древнего UI и вечных плясок с Nginx-конфигами, этот проект для тебя. 😎

Читать далее

DIY проект: cистемная информация на LCD дисплее GC9A01 (часть 1)

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.3K

Всем доброго дня! Мой никнейм Arduinum628, я занимаюсь DIY проектами и программированием на Python и C++. В этой статье пойдёт речь о выводе системной информации с ПК на круглый LCD дисплей GC9A01.

Сама идея проекта мне пришла во время разговора с другом Иваном @proDream Я рассказал ему, что заказал пару LCD дисплеев GC9A01 с Ali Express для своих будущих DIY проектов. Во время разговора Иван внезапно сказал, что ему-бы пригодился девайс для вывода системной информации с ПК. Я подумал - почему-бы не научиться использовать этот дисплей на подобном проекте?!

Сам проект я буду писать не для нужд друга, а скорее в целях обучения работы с этим дисплеем. Как я понял, что ему нужно что-то более компактное и встраиваемое в корпус ПК. По моему совету он купил компактную плату esp32 с дисплеем и будет писать своё решение сам. Я же собираюсь делать что-то вроде приборной панели и поставлю её за клавиатурой. Это чем-то будет напоминать спидометр автомобиля =)

Читать далее

Соединяем физику и лирику. Как я собрал рекомендательную систему для стихов с помощью Flask, sqlite-vec и Hugging Face

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.6K

Для песен рекомендательные системы есть, для книг — есть, для фильмов — есть, для стихов — нет. Непорядочек 🤔

Используя Flask, Jinja2, Sentence-Transformers и sqlite-vec, собрал первый прототип рекомендательной системы для стихов. Для машины измерить в цифрах схожесть двух стихов трудно. А для человека — в самый раз. Прикрутил форму оценки рекомендаций, собрал человеческий фидбек.

В статье подробно рассказываю о деталях конструкции.

Читать далее

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

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

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

Читать далее

Absolute Zero Reasoner: ИИ научился программированию без входных данных — и это может поменять всё

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

Возможно я был недостаточно внимателен, но мне попалось на Хабре буквально одно, очень краткое упоминание крайне интересного исследования от команды из Университета Цинхуа и партнерских институтов нескольких стран: Absolute Zero Reasoner (AZR) — новую систему машинного обучения, которая развивает принципы self-play и способна обучаться без каких-либо внешних данных. В отличие от традиционных подходов, требующих тысячи размеченных примеров, AZR использует принцип самообучения через создание и решение собственных задач программирования. Система играет две роли одновременно: составителя задач (Proposer) и решателя (Solver), используя исполнитель кода как объективного судью для получения обратной связи. AZR продемонстрировал state-of-the-art результаты в программировании и математических рассуждениях, превзошедший модели, обученные на десятках тысяч человеческих примеров, при этом показав впечатляющий кросс-доменный перенос знаний между различными областями знаний.

Читать далее

Как собрать ДНК с помощью кода: симуляция молекулярных операций на Python

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров2.4K

Синтез ДНК кажется чем-то сугубо биологическим — с пробирками, центрифугами и белыми халатами. Но что, если попробовать собрать ДНК в коде? Не просто сгенерировать последовательность, а симулировать реальные процессы: лигирование, гибридизацию, ПЦР, ошибочные вставки, ферментативные сдвиги и многое другое. В этой статье — практическая попытка воссоздать молекулярную биологию средствами Python, без библиотек типа Biopython, с нуля. Много кода, немного шуток и один вопрос — можно ли построить in silico ДНК-лабораторию?

Слова “биоинформатика” и “программирование” обычно встречаются в одном предложении, когда речь идёт о парсинге геномов, анализе экспрессии генов или машинном обучении для диагностики. Но однажды захотелось большего. Хотелось не просто читать гены, а играть с ними. Моделировать их, собирать руками. Вернее, клавиатурой.

Идея: построить в коде лабораторную скамью, где можно будет “сшивать” фрагменты ДНК, копировать их, проверять на ошибки. Причём без привычных библиотек вроде Biopython — просто Python, NumPy и желание воссоздать реальный молекулярный процесс в виртуальной среде. Можно ли собрать виртуальную ДНК-плазмиду и отдать её синтетической биологии?

Да. Но сначала немного теории.

Читать далее

Проблемы БД или почему большой продакшн спасут только массовые расстрелы запросов

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров8.5K

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

Привет, Хабр! Именно так считает наш сегодняшний гость – Дмитрий Немчин, руководитель направления эксплуатации инфраструктуры данных в Т-банке и по совместительству член программного комитета Data Internals, профессиональной конференции
по инженерии, базам и системам хранения и обработки данных.

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

Читать далее

Open Source CRM + Telegram-бот: запись, напоминания, интеграция

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

В рамках проекта по продвижению open-source в России я выложил в открытый доступ Telegram-бота с CRM на PHP + MySQL, который выполняет всю базовую бизнес-логику: он записывает клиентов на услуги, напоминает о визите, собирает телефоны, отслеживает источник заявки, уведомляет администратора, хранит контакты в CRM и делает рассылки. Работает автономно — прямо на Windows, без облаков и внешних сервисов. Подходит предпринимателям, ботмейкерам и самозанятым, кому нужно быстрое, понятное и полностью локализованное решение. Лицензия — MIT. Установил — и автоматизируй бизнес.

Читать далее

FEDOT, да не тот

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

Привет, Хабр!
Меня зовут Марина, я Head of Analytics and ML в SENSE, занимаюсь анализом данных уже более 5 лет. Сначала препарировала спектры в физике высоких энергий и сотрудничала с ЦЕРН-ом, а теперь строю рекомендательные системы и аналитику.

В статье расскажу про опыт работы с пакетом FEDOT для прогнозирования временных рядов. Статья пригодится тем, кто хочет вкатиться в тему временных рядов и потыкать свои первые модельки на примере отечественных библиотек. Объясняю на примере задачи прогнозирования выходов кандидатов.

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

Читать далее

Дескрипторы Python. Подробное руководство

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров8.6K

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

Читать далее

Монитор 42 — сервис для мониторинга документов о вырубке и застройке зеленых зон

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.1K

Что делать, если во дворе появился строительный забор?

Или уже начали вырубать деревья?

Самое время задуматься над созданием системы мониторинга.

Читать далее

Почему multiprocessing.Queue() тормозит и как обойти это с помощью shared_memory

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

Привет, Хабр!

Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue(), а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.

Читать далее

MVP по «умному» поиску данных

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2K

Всем привет, меня зовут Александр, я аналитик в Альфа-Банке. Совместно с командой мы разрабатываем и развиваем платформу для дата-инженеров (DE) и дата-саентистов (DS), именуемую Feature Store. Она даёт возможность коллегам работать с большими данными и упрощает бюрократию жизненного цикла создания ETL и ввода моделей в промышленную эксплуатацию.

Но хотелось бы улучшить процесс по поиску данных в ней, так как объёмы информации стремительно растут.

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

Надеюсь, данная статья поможет показать и пролить свет на вопрос — «А как же ещё бывает?»

Читать далее

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

Spark on Kubernetes: наш путь к автоматизации через кастомный оператор Airflow

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.4K

Всем привет! Меня зовут Дмитрий Третьяков, я ML Engineer в компании «Лента». Мы регулярно запускаем PySpark-приложения в Kubernetes-кластере, используя Airflow. Этот процесс важен для нашей ежедневной работы с данными, но в какой-то момент мы столкнулись с тем, что стандартный подход через SparkKubernetesOperator стал сдерживать развитие: не хватало гибкости, возникали сложности в сопровождении и процесс настройки был излишне сложным для разработчиков.

Читать далее

Дискретное преобразование Фурье в живых картинках для девятиклассников

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров34K

Мало что настолько меня угнетает, как невозможность что‑либо понять так, чтобы потом объяснить это самому себе:) И хоть я уже давно не девятиклассник, этот период запомнился мне внезапным переходом от заучивания материала «чтобы не схватить парашу» к некоторой степени осознания «а как оно там устроено и почему именно так». Сложнее всего было с математикой и я постоянно изобретал для себя «объяснялки». Этот навык, к счастью, прижился и стал привычкой.

В виртуальную лабораторию!

Стандартизация без боли: как строгий синтаксис экономит время и нервы

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

Когда проект начинается, разработчику хочется только одного — свободы творчества. Писать код быстро и так же быстро получать результат. Но со временем появляются баги, регрессии, архитектура, миграции... И вот тогда свобода оборачивается болью: оказывается, что один и тот же результат в коде можно выразить десятком способов — и все они несовместимы друг с другом.

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

Читать далее

PYтокен: история о том, как питон съел ЭЦП. Часть 2

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.5K

Продолжение истории о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, но уже с использованием USB-токена Рутокен 3.0, а дополнительно сделал шифрование и расшифрование директории.

Просвятиться

Ищем похожие иероглифы при помощи искусственного интеллекта

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

Эта статья о разработке небольшого инструмента для помощи в изучении китайского языка. Приложение позволяет просмотреть иероглифы, внешне похожие на требуемый, что бы разобрать их сходство и различие. Здесь на довольно простом примере показано как формируется архитектура проекта и подбираются основные компоненты (под катом код с комментариями). Для чтения и понимания достаточно минимального знания python и sql запросов.

Читать далее

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 2

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров10K

Часть 2: Настройка GitHub Actions и GitLab CI – первый workflow и деплой

В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.

Читать далее

Что может пойти не так с merge() — дубли, потери, ошибки типов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.3K

Привет, Хабр!

Тонкое скрещивание DataFrame-ов в pandas по-прежнему остаётся источником прелестных багов: случайных дубликатов, потерянных строк и неуловимых NaN-ов. В статье рассмотрим эти проблемы.

Читать далее

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