Обновить
763.25

Python *

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

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

Алгоритмы поиска путей на пальцах. Часть 1: Поиск в ширину

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

Давайте представим, что вы устроились много лет назад в 2GIS и вам выпала честь написать алгоритм, который будет прокладывать самый короткий автомобильный маршрут от точки A к точке B.

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

Читать далее

Как я автоматизировал поиск работы при помощи LLM

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

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

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

Можно конечно ускорить процесс, выкинув из этого алгоритма пункт с вычитыванием резюме, но:
а) есть немалый шанс, кликая на все подряд, как обезьяна, откликнуться на неподходящую для тебя вакансию; кому-то это норм, но мне бы не хотелось дергать HR'ов лишний раз по поводу вакансии, которая на самом деле мне не интересна;
б) некоторые особо хитрые работодатели добавляют в описание своих вакансий всякие ключевые слова/вопросы, которые нужно упомянуть/ответить в резюме; по мне так не самая лучшая практика, но я их за это не виню.

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

Читать далее...

Запускаем Linux на Python

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

На чем только уже не запускали Doom. Мы же будем запускать Linux. Да не где-нибудь, а на Python. Да-да, прямо вот внутри него, где в качестве среды выполнения будет выступать интерпретатор Python. Ну как... Не будем пытаться переписать ядро и другие части Linux на этот язык, а попробуем написать (точнее портировать) виртуальную машину на Python и уже в ней запускать ОС.

Начнем с позитивного, а именно с плюсов такого решения.

– Можно будет запустить Linux вообще везде, где есть интерпретатор Python.

– Можно использовать как бенчмарк конкретного интерпретатора.

– Веселимся, пока все это пишем и отлаживаем. Пожалуй, это самый главный плюс.

Минусы: будет работать оооочень не быстро (ну логично же).

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

Приступаем!

Работа с географическими координатами с использованием пакета «Shapely» в Python на примере автотестов

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

Здравствуй, Хабр!
В этой статье я хочу рассмотреть пакет Python под названием "Shapely" и показать, как он может помочь в решении задач, как уже помог мне

Читать далее

Хеджирование Uniswap V3 позиций с помощью опционов

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

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

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 1)

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

Это перевод статьи от Philipp Acsany

В этой первой части серии вы узнаете, как:
- Создать базовый проект REST API на Flask
- Обрабатывать HTTP-запросы с помощью Connexion
- Определять конечные точки API с помощью спецификации OpenAPI
- Взаимодействовать с вашим API для управления данными
- Создавать аннотации для API с помощью Swagger UI

Читать далее

PSQLBuddy — резервное копирование и восстановление PostgreSQL

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

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

Опять-двадцать пять, или резервное копирование баз данных PostgreSQL по новому. Снова.

Читать далее. Опять

Разрабатываем первое AI приложение

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

Эволюция языка сыграла значительную роль в развитии человечества. Она дает нам возможность делиться знаниями и работать вместе. Благодаря этому большая часть нашего опыта продолжает сохраняться и передаваться через разные письменные тексты.

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

Тем не менее, несмотря на наши попытки структурировать все больше информации, мы по-прежнему сталкиваемся с трудностями в полном понимании и обработке всего нашего знания.

Читать далее

Интеграция Telegram-бота с ЮKassa

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

Вроде бы есть у ЮКассы неплохая документация о настройке платежей через ТГ-бота, есть в интернете и несколько статей на эту тему, но все-таки на практике сталкиваешься со множеством неочевидных нюансов…

Опишу по шагам процесс подключения платежей для Python-бота на aiogram 3, при условии, что у его владельца уже оформлена самозанятость.

Читать далее

Telegram-бот для анализа текста | выделение тематических групп

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

Буквально месяц назад, мы с моим коллегой участвовали в HAKATON. Наша команда взялась за интересную задачу от компании МТС: на основе тысяч опросов, найти усредненный синоним к определенной категории ответов и визуализировать это в виде графика, либо облака слов.

После выполнения задачи и защиты проекта мы задумались...

Читать далее

Зуб комодского дракона

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

Вараны острова Комодо, также называемые в литературе драконами, — самая крупная из живущих на земле ящериц. Длина его тела может достигать 3 метров, а масса 140 кг [1]. Это доминирующий хищник своего региона, который может добывать животных (свиньи, буйволы, олени), порой 10-ти кратно превосходящих его весу.

Важнейшим инструментом такой охотничьей эффективности являются зубы. У комодского варана их 60 штук [2], изогнутых как сабли и острых как бритва (край зуба усилен металлизированным слоем, образующим микро пилу [3]). 

Этот комплект еще и регулярно, раз в 40 дней обновляется [4]. Не нужно ни стоматологов ни заточников — просто мечта. Однако фантастическая скорость роста зубов должна требовать и фантастических затрат «стройматериалов». Сколько, например, кальция и железа нужно варану в день для поддержания такого темпа?

Ниже мы оценим эти показатели, опираясь на «ангем», «матан» и python. Кто не испугался, welcome.

Читать далее

Возможности функции scatterplot() библиотеки seaborn

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

Функция scatterplot() из библиотеки seaborn предназначена для построения диаграммы рассеяния, позволяя визуализировать взаимосвязь между двумя числовыми переменными. Она предоставляет множество параметров для настройки внешнего вида точек, цветовых оттенков и размеров, что делает её полезной для анализа данных с несколькими переменными.

Читать далее

Асинхронный SQLAlchemy 2: улучшение кода, методы обновления и удаления данных

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

Третья статья цикла по асинхронному SQLAlchemy 2 посвящена оптимизации кода, обновлению и удалению данных. Рассмотрены улучшения базового класса, подходы к обновлению записей и методы удаления, с акцентом на повышение производительности. Нажмите «Читать», чтобы ознакомиться с материалом.

Читать далее

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

Как реализовать быструю реентерабельную блокировку на Python и почему она работает

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

В стандартной библиотеке языка Python имеется базовый примитив синхронизации — реентерабельная блокировка. Она позволяет одному и тому же потоку, несколько раз захватить блокировку. Стандартная реализация может использовать для блокировки мьютекс или семафор, и их захват всегда приводит к вызову функции из ядра ОС, в зависимости от ОС и/или нижележащей системной библиотеки, может быть небыстрой операцией.

Используя GIL (Global Interpreter Lock — Глобальная блокировка интерпретатора) и особенности реализации Threading.Lock.release можно создать более быстрый вариант.

Давайте попробуем разобраться

Учимся делать игры без pygame: Введение в графический интерфейс на Python

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

Привет, Хабр! Сегодня мы научимся делать графический интерфейс на python, используя Tkinter. Эта статья очень короткая, так как мы только начинаем.

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

Читать далее

Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

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

Лучший способ отпугнуть монстров на Хэллоуин — это не только свечку в тыкве зажечь, но и страшную игру написать.

Чтобы вы, при желании, смогли это сделать вместе со мной, не заморачиваясь настройками и установкой, выберем следующий учебный стек:

– Python

– Модуль p5py (p5.js, но только для Пайтона)

Online-IDE в браузере

Читать далее

Зачем нужны эмбеддинги?

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

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

Читать далее

Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

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

Для начала нужно понять главное - файлов не существует.
А потом на примере простых манипуляций разобрать что такое hard links, чем может быть полезен непонятный XOR и как это всё уживается в системах копирования и снимков

Читать далее

Краткий свод концепций Tensor Flow

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

TensorFlow — один из самых мощных и популярных фреймворков для машинного обучения, разработанный компанией Google Brain в 2015 году. 

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

Поэтому мы подготовили гайд с основными концептами этого незаменимого для ML-инженера фреймворка.

Читать далее

Необычные вкусы покупателей: что такое товарные пары и как их исследовать

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

Привет, Хабр! На связи команда продуктовой аналитики.

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

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

Читать далее