Pull to refresh
-1
0
Семён @Kitmod_py

Инженер АСУ ТП

Send message

Python и теория множеств

Reading time11 min
Views129K

Python и теория множеств


В Python есть очень полезный тип данных для работы с множествами – это set. Об этом типе данных, примерах использования, и небольшой выдержке из теории множеств пойдёт речь далее.


Читать дальше →
Total votes 17: ↑16 and ↓1+24
Comments10

Простейший полнотекстовый поиск на Python с поддержкой морфологии

Level of difficultyMedium
Reading time14 min
Views9.7K

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

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

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

Изобретение велосипеда на Python и pandas
Total votes 9: ↑8 and ↓1+7
Comments3

Генерация DAG в Apache Airflow

Level of difficultyMedium
Reading time6 min
Views5.9K

Пошаговая инструкция о том, как из одного DAG сделать фабрику DAG.

Включает в себя: установка Airflow через Docker и поэтапное объяснение того, как сделать фабрику DAG.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments1

5 полезных библиотек Python (с примерами)

Level of difficultyEasy
Reading time6 min
Views29K

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

Ознакомиться
Total votes 38: ↑36 and ↓2+52
Comments14

Лучшие новые библиотеки Python за 2022 год

Reading time10 min
Views34K

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

Читать далее
Total votes 21: ↑20 and ↓1+23
Comments14

Как разработать канбан-доску на Django, DRF и Alpine.js

Level of difficultyEasy
Reading time8 min
Views12K

Для структурирования и мониторинга рабочих процессов используют канбан-доски — например, Jira и Trello. Они особенно полезны, когда задачи состоят из множества этапов — согласования, выполнения, ревью и продакшена.

В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.
Читать дальше →
Total votes 40: ↑36 and ↓4+39
Comments8

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.7M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Основы PyCharm

Level of difficultyEasy
Reading time9 min
Views89K

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

Читать далее
Total votes 18: ↑13 and ↓5+12
Comments22

Влияние протокола языкового сервера (LSP) на будущее IDE

Reading time3 min
Views19K

С момента своего появления Visual Studio Code в одиночку так сильно повлиял на экосистему разработчиков, что возврата назад уже не будет. Это общедоступный бесплатный инструмент с открытым исходным кодом и это очень мощный инструмент.

Но, благодаря VSCode, Microsoft в 2016 году дала жизнь еще одной супер значимой вещи, которая менее известна. Это Language Server Protocol - Протокол языкового сервера.

Читать далее
Total votes 17: ↑13 and ↓4+11
Comments34

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

Level of difficultyMedium
Reading time16 min
Views41K

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

Читать дальше →
Total votes 42: ↑40 and ↓2+55
Comments18

Как при помощи Rust в 150 раз ускорить код на Python

Level of difficultyEasy
Reading time6 min
Views30K

Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода.


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


Обзор


Проблему решим в 6 шагов:


  1. Решим вопрос о том, почему функция медленная.
  2. Подготовим проект.
  3. Перепишем функцию в Rust.
  4. Скомпилируем код на Rust и разместим его в пакете Python.
  5. Импортируем пакет Python в проект.
  6. Выполним бенчмарк чистого Python и функции на Rust.

Пакет maturin скомпилирует Rust-код и преобразует его в готовый к работе пакет Python.


1. Решим вопрос о том, почему функция медленная


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

Читать дальше →
Total votes 36: ↑21 and ↓15+12
Comments43

Борьба с современным Web. Создаём расширение для скачивания видео из VK

Level of difficultyMedium
Reading time5 min
Views12K

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

Читать далее
Total votes 26: ↑25 and ↓1+28
Comments25

Как построить MVP системы для удобной работы аналитика без Docker, Kubernetes и Airflow

Level of difficultyMedium
Reading time9 min
Views6.3K

Всем привет!

Меня зовут Максим Шептяков, и я занимаюсь продуктовой аналитикой уже больше четырёх лет. Так получилось, что я несколько раз приходил в компании или проекты, где (почти) совсем не было аналитики до меня, так что приходилось настраивать удобную работу с данными с нуля. И сегодня я вам расскажу, как можно настроить себе удобную работу с данными всего за час.

Статья подойдёт для тех, кто знаком с Python и SQL.

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments10

Оценка количества простых циклов на графе

Level of difficultyMedium
Reading time4 min
Views8K

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments15

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Level of difficultyMedium
Reading time16 min
Views74K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →
Total votes 73: ↑71 and ↓2+92
Comments33

Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели

Reading time14 min
Views1.4M
Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments61
2

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Backend Developer, Web Developer
Intern
Python
Linux
Django
Docker
Nginx
Flask
English
Algorithms and data structures
Golang
SQL