История упаковки Python
• В 2000-х годах Python был популярен, но имел проблемы с упаковкой.
• В 2010-х годах появились инструменты, такие как setuptools и virtualenv, но они не решили всех проблем.
• В 2020-х годах колеса и pyproject.toml стали стандартом для упаковки Python.
Проблемы с упаковкой в 2000-х
• Python был популярен, но имел проблемы с установкой и распространением пакетов.
• Проблемы с упаковкой были связаны с отсутствием единого стандарта и сложностью установки.
Развитие инструментов упаковки
• В 2010-х годах были разработаны инструменты, такие как setuptools и virtualenv, для упрощения установки пакетов.
• Однако эти инструменты не решили всех проблем, и многие разработчики продолжали использовать setup.py.
Переход к pyproject.toml
• В 2016 году был представлен PEP 518, который предлагал единый формат для сборки проектов.
• pyproject.toml стал стандартом для управления проектами и настройки инструментов сборки.
Современное состояние упаковки
• pyproject.toml стал основным инструментом для управления проектами и настройки инструментов сборки.
• Несмотря на то, что pyproject.toml является стандартом, многие разработчики все еще используют setup.py.
Разнообразие и стандартизация
• В Python существует огромное разнообразие инструментов и подходов к упаковке.
• Стандартизация упрощает сотрудничество и устраняет трения, но может привести к более высоким затратам.
Рекомендации по упаковке
• Рекомендуется сосредоточиться на основах и использовать pyproject.toml для настройки линтеров и других инструментов.
• Для создания и распространения собственных пакетов можно использовать setuptools, но это не обязательно.
• Важно практиковать избирательное невежество и не увлекаться новыми экспериментами в области упаковки.
https://300.ya.ru/XOKLQaQ9
#ya300 #300yaru
• В 2000-х годах Python был популярен, но имел проблемы с упаковкой.
• В 2010-х годах появились инструменты, такие как setuptools и virtualenv, но они не решили всех проблем.
• В 2020-х годах колеса и pyproject.toml стали стандартом для упаковки Python.
Проблемы с упаковкой в 2000-х
• Python был популярен, но имел проблемы с установкой и распространением пакетов.
• Проблемы с упаковкой были связаны с отсутствием единого стандарта и сложностью установки.
Развитие инструментов упаковки
• В 2010-х годах были разработаны инструменты, такие как setuptools и virtualenv, для упрощения установки пакетов.
• Однако эти инструменты не решили всех проблем, и многие разработчики продолжали использовать setup.py.
Переход к pyproject.toml
• В 2016 году был представлен PEP 518, который предлагал единый формат для сборки проектов.
• pyproject.toml стал стандартом для управления проектами и настройки инструментов сборки.
Современное состояние упаковки
• pyproject.toml стал основным инструментом для управления проектами и настройки инструментов сборки.
• Несмотря на то, что pyproject.toml является стандартом, многие разработчики все еще используют setup.py.
Разнообразие и стандартизация
• В Python существует огромное разнообразие инструментов и подходов к упаковке.
• Стандартизация упрощает сотрудничество и устраняет трения, но может привести к более высоким затратам.
Рекомендации по упаковке
• Рекомендуется сосредоточиться на основах и использовать pyproject.toml для настройки линтеров и других инструментов.
• Для создания и распространения собственных пакетов можно использовать setuptools, но это не обязательно.
• Важно практиковать избирательное невежество и не увлекаться новыми экспериментами в области упаковки.
https://300.ya.ru/XOKLQaQ9
#ya300 #300yaru
300.ya.ru
Что происходит с setuptools, setup.py, pyproject.toml и wheels? - Пересказ YandexGPT
• Создание пакета: setup.py использовался для создания и установки пакета.
• Установка пакета: pip install запускает setup.py для установки пакета.
• Настройка инструментов для проекта: pyproject.toml используется для хранения метаданных проекта и настройки…
• Установка пакета: pip install запускает setup.py для установки пакета.
• Настройка инструментов для проекта: pyproject.toml используется для хранения метаданных проекта и настройки…
Forwarded from Хитрый Питон
Хорошая статья про то, как устроена в питоне сборка/установка пакетов и почему именно так. Для тех, кому любопытно чуть больше погрузиться в историю - самое то. Выводы у статьи простые - используйте
Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy
pyproject.toml
везде, где это возможно. Я с автором в этом согласен, например у меня на работе как минимум во всех новых проектах pyproject.toml
используется по умолчанию.Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy
www.bitecode.dev
What's the deal with setuptools, setup.py, pyproject.toml and wheels?
Why? Why? Why? Oh, that's why.
Forwarded from Афонасьев Евгений - IT, Python и вот это все
Pycon, к сожалению, закончился. Итоги подведены.
По результатам зрительского голосования мое выступление было признано лучшим на Python треке 🫡 . Огромное спасибо всем, кто оставил обратную связь, проголосовал и поддерживал добрым словом или мудрым советом. 🤝
Для меня персонально площадка pycon russia очень важна ❤️. Именно тут в 2022 году я впервые выступил на большой сцене с полновесным докладом за пределами своей компании (и там же впервые получил приз за лучший доклад 💪). Тем приятнее в этом сезоне было не только выступить как спикер, но и помочь с проведением конференции в качестве члена ПК и ведущего python трека.
Годы идут, но pycon остается для меня очень важным событием, где можно посоперничать с лучшими спикерами python сообщества в России.
Огромное спасибо организаторам, ПК, спикерам и, конечно же, зрителям за такую отличную конференцию! 🔥
До встречи в следующем году 🚀
P.S. Записи появятся примерно через месяц. Обязательно выложу на канале с моим личным топом докладов. 👀
#pycon
По результатам зрительского голосования мое выступление было признано лучшим на Python треке 🫡 . Огромное спасибо всем, кто оставил обратную связь, проголосовал и поддерживал добрым словом или мудрым советом. 🤝
Для меня персонально площадка pycon russia очень важна ❤️. Именно тут в 2022 году я впервые выступил на большой сцене с полновесным докладом за пределами своей компании (и там же впервые получил приз за лучший доклад 💪). Тем приятнее в этом сезоне было не только выступить как спикер, но и помочь с проведением конференции в качестве члена ПК и ведущего python трека.
Годы идут, но pycon остается для меня очень важным событием, где можно посоперничать с лучшими спикерами python сообщества в России.
Огромное спасибо организаторам, ПК, спикерам и, конечно же, зрителям за такую отличную конференцию! 🔥
До встречи в следующем году 🚀
P.S. Записи появятся примерно через месяц. Обязательно выложу на канале с моим личным топом докладов. 👀
#pycon
Forwarded from Афонасьев Евгений - IT, Python и вот это все
Выложили в паблик полный плейлист докладов с ekbpy 🔥
От себя рекомендую ознакомиться с докладами
🤜 Николай Марков - Управление пакетами - хорошее, плохое, злое? - основательный исторический обзор инструментов управления пакетами в python, какими они были, какие они сейчас?
🤜 Александр Гончаров. Чистый код: антипаттерны в питоне, и как с ними бороться - бодро, весело, задорно про типичные антипаттерны, хорошая подача, юмор
🤜 Аль Амин Ужахов. Как внутри работает Litestar? - про интересные особенности внутреннего устройства фреймворка
#ekbpy
От себя рекомендую ознакомиться с докладами
🤜 Николай Марков - Управление пакетами - хорошее, плохое, злое? - основательный исторический обзор инструментов управления пакетами в python, какими они были, какие они сейчас?
🤜 Александр Гончаров. Чистый код: антипаттерны в питоне, и как с ними бороться - бодро, весело, задорно про типичные антипаттерны, хорошая подача, юмор
🤜 Аль Амин Ужахов. Как внутри работает Litestar? - про интересные особенности внутреннего устройства фреймворка
#ekbpy
YouTube
EkbPy 2024
Уютная конференция по Python 2 февраля 2024 года
Forwarded from Афонасьев Евгений - IT, Python и вот это все
https://peps.python.org/pep-0751/
Вы не ждали и не просили, но он пришел. Очередной pep про стандартный формат lock файлов для фиксации версий транзитивных зависимостей в python. Автор уже давно бьется за право принять подобный pep, и может быть в этот раз ему сопутствует удача. Все же лютый зоопарк решений (poentry, pipenv, pdm, rye) пора уже привести к какому-то общему знаменателю.
Пример нового формата
PEP 665 – A file format to list Python dependencies for reproducibility of an application - последний откланенный pep от этого же автора
Вы не ждали и не просили, но он пришел. Очередной pep про стандартный формат lock файлов для фиксации версий транзитивных зависимостей в python. Автор уже давно бьется за право принять подобный pep, и может быть в этот раз ему сопутствует удача. Все же лютый зоопарк решений (poentry, pipenv, pdm, rye) пора уже привести к какому-то общему знаменателю.
Пример нового формата
PEP 665 – A file format to list Python dependencies for reproducibility of an application - последний откланенный pep от этого же автора
Python Enhancement Proposals (PEPs)
PEP 751 – A file format to record Python dependencies for installation reproducibility | peps.python.org
This PEP proposes a new file format for specifying dependencies to enable reproducible installation in a Python environment. The format is designed to be human-readable and machine-generated. Installers consuming the file should be able to calculate wha...
Forwarded from ДевФест
7 сентября приглашаем всех тех, кто пишет на Python и работаем с ним, обсудить настоящее и будущее языка c экспертами!
Рассмотрим:
- Использование Python в энтерпрайзе
- Все о GIL
- Работа с RabbitMQ
- Внедрение подходов и паттернов из DDD
- Использование библиотек на Rust в Python
Купить билет: www.devfestomsk.ru
Рассмотрим:
- Использование Python в энтерпрайзе
- Все о GIL
- Работа с RabbitMQ
- Внедрение подходов и паттернов из DDD
- Использование библиотек на Rust в Python
Купить билет: www.devfestomsk.ru
Forwarded from Афонасьев Евгений - IT, Python и вот это все
В рамках подготовки доклада нашел интересный материал по адаптации существующих библиотек с низкоуровневыми расширениями под freethreaded cpython (nogil) - https://py-free-threading.github.io . Как я понял, он ведется энтузиастами из сообщества.
Кроме инструкций по портированию и отладке кода https://py-free-threading.github.io/porting/ тут есть интересный документ со статусом портирования многих известных библиотек https://py-free-threading.github.io/tracking/
Кроме инструкций по портированию и отладке кода https://py-free-threading.github.io/porting/ тут есть интересный документ со статусом портирования многих известных библиотек https://py-free-threading.github.io/tracking/
Forwarded from Афонасьев Евгений - IT, Python и вот это все
# Modern Python — уже серьезный ЯП или еще нет? (Нижний Новгород)
Материалы к докладу
## Про cpython и оптимизации в байткоде
- Афонасьев Евгений - А побыстрее можно? - доклад про оптимизации в работе с байтокодом, в рамках него я подробно рассказываю, что такое байткод и как с ним работает cpython
- Афонасьев Евгений - адаптируйся или умри - в рамках доклада подробно разбирается, как работает Specializing Adaptive Interpreter
## Про gil и nogil
- Афонасьев Евгений - Зачем нужен GIL и как от него избавиться? - подробный разбор от меня, как работает GIL, что конкретно он делает, какой план по его удалению из python
- UnderstandingGIL - доклад 2010 года от Дэвида Бизли про GIL во втором питоне, а как он изменился в третьем. Много очень интересных особенностей реализации
- PEP 703 – Making the Global Interpreter Lock Optional in CPython
- Keynote: Multithreaded Python without the GIL - presented by Sam Gross - Автор PEP-703 рассказывает про свой подход отказа от GIL
- перевод статьи 21го года о том, как работает GIL в python, с примерами кода, кишочками и всем, как мы любим. Автор копает глубоко и интересно
- инcтрукция по портирования extensions и таблица со статусом портирования популярных библиотек
## PEP 744 – JIT Compilation
- Афонасьев Евгений - Долгая дорога к JIT - подробный разбор от меня, что такое JIT, в каком виде он появится в 3.13 питоне, и как это повлияет на нас с вами
- Brandt Bucher – A JIT Compiler for CPython презентация для кор девелоперов (eng)
- JIT в Python | Никита Соболев доклад от core developer (ru)
- PEP про JIT, написанный и принятый уже после мержа изменений (eng)
- научная публикация про copy-and-patch jit (eng)
- хорошая статья с простым разъяснением нового JIT в python (eng)
## Другие изменения в python последних лет
- Сводная страницу со статусом по разработке сабинтерпретаторов, известные проблемы, планы, кто использует
- как выглядит DSL для байткода в исходном коде cpython (eng)
- спецификация DSL для байткода (eng)
- ранний дизайн tier2 оптимизатора (uops) (eng)
- PEP 669 – Low Impact Monitoring for CPython (eng)
- PEP 689 – Unstable C API tier (eng)
Материалы к докладу
## Про cpython и оптимизации в байткоде
- Афонасьев Евгений - А побыстрее можно? - доклад про оптимизации в работе с байтокодом, в рамках него я подробно рассказываю, что такое байткод и как с ним работает cpython
- Афонасьев Евгений - адаптируйся или умри - в рамках доклада подробно разбирается, как работает Specializing Adaptive Interpreter
## Про gil и nogil
- Афонасьев Евгений - Зачем нужен GIL и как от него избавиться? - подробный разбор от меня, как работает GIL, что конкретно он делает, какой план по его удалению из python
- UnderstandingGIL - доклад 2010 года от Дэвида Бизли про GIL во втором питоне, а как он изменился в третьем. Много очень интересных особенностей реализации
- PEP 703 – Making the Global Interpreter Lock Optional in CPython
- Keynote: Multithreaded Python without the GIL - presented by Sam Gross - Автор PEP-703 рассказывает про свой подход отказа от GIL
- перевод статьи 21го года о том, как работает GIL в python, с примерами кода, кишочками и всем, как мы любим. Автор копает глубоко и интересно
- инcтрукция по портирования extensions и таблица со статусом портирования популярных библиотек
## PEP 744 – JIT Compilation
- Афонасьев Евгений - Долгая дорога к JIT - подробный разбор от меня, что такое JIT, в каком виде он появится в 3.13 питоне, и как это повлияет на нас с вами
- Brandt Bucher – A JIT Compiler for CPython презентация для кор девелоперов (eng)
- JIT в Python | Никита Соболев доклад от core developer (ru)
- PEP про JIT, написанный и принятый уже после мержа изменений (eng)
- научная публикация про copy-and-patch jit (eng)
- хорошая статья с простым разъяснением нового JIT в python (eng)
## Другие изменения в python последних лет
- Сводная страницу со статусом по разработке сабинтерпретаторов, известные проблемы, планы, кто использует
- как выглядит DSL для байткода в исходном коде cpython (eng)
- спецификация DSL для байткода (eng)
- ранний дизайн tier2 оптимизатора (uops) (eng)
- PEP 669 – Low Impact Monitoring for CPython (eng)
- PEP 689 – Unstable C API tier (eng)
YouTube
Евгений Афонасьев. А побыстрее можно?
Ждем вас на наших конференциях:
2 февраля 2024 - EkbPy
26-27 июля 2024 - PyCon
Евгений Афонасьев
Руководитель отдела, Тинькофф
А побыстрее можно?
Сколько существует python, столько все жалуются, что он медленный. Дошло до того, что даже автор языка признал…
2 февраля 2024 - EkbPy
26-27 июля 2024 - PyCon
Евгений Афонасьев
Руководитель отдела, Тинькофф
А побыстрее можно?
Сколько существует python, столько все жалуются, что он медленный. Дошло до того, что даже автор языка признал…
Forwarded from Афонасьев Евгений - IT, Python и вот это все
Пока составлял список, понял, что совсем забыл опубликовать запись своего доклада с последнего pycon про JIT. Получилось местами сумбурно, местами поверхностно, но, надеюсь, все равно познавательно и не скучно 🫡
https://www.youtube.com/watch?v=BiVEhI7wYS4&list=PLRdS-n5seLRrRY-GcK03hRnnayuVze9g2&index=16
https://www.youtube.com/watch?v=BiVEhI7wYS4&list=PLRdS-n5seLRrRY-GcK03hRnnayuVze9g2&index=16
YouTube
Евгений Афонасьев. Долгая дорога к JIT
Евгений Афонасьев
Teamlead, Авито
Долгая дорога к JIT
JIT или не JIT? Вот в чём вопрос.
Python — язык с многолетней историей. И на протяжении всей своей истории он не был фаворитом в вопросах производительности. Было много разных попыток приблизиться к…
Teamlead, Авито
Долгая дорога к JIT
JIT или не JIT? Вот в чём вопрос.
Python — язык с многолетней историей. И на протяжении всей своей истории он не был фаворитом в вопросах производительности. Было много разных попыток приблизиться к…
Forwarded from Блог о Data Science 💻 (𝘿𝙖𝙣𝙞𝙡 𝙆𝙖𝙧𝙩𝙪𝙨𝙝𝙤𝙫)
Виртуальное окружение
Все ещё встречаю людей, которые не понимают что такое виртуальное окружение, а подробного гайда я так и не выпустил.
Большинство студентов karpov.courses устанавливают anaconda, но мало кто знает какие проблемы она за собой несёт.
Как интуитивно это работает?
Представьте, что ваш python это планета. На единый материк и на этом материке живут некоторые животные (пакеты, библиотеки).
Конечно лев не сможет жить в Антарктиде, так же как белый медведь в Сахаре, так и ваши проекты их пакеты не могут находиться одинаково во всех проектов.
Что бы этого избежать вы изолируете вашу планету на отдельные куски — метрики, регионы, зоны. В каждом из ваших метриков (виртуальных окружений) есть отдельный набор животных, которые не выходят за рамки этого материка.
Проблема анаконды
После удаление анаконды, ее виртуальное окружение не удаляется и остаются некоторые участки, которые мешают для дальнейшей работы.
Это можно понять если в терминале у вас например остался
Более того у нее стоит свой python и в вашем терминале .bashrc указан путь именно к нему, а не к новым python, которые вы устанавливаете.
Инструкция
1. Откройте терминал
2. Зайдите в папку с проектом
3. Введите
4. Появится папочка venv
5. Что бы активировать окружение
—
у вас появится в терминале слева от ввода строки и имя пользователя (venv) это название вашего окружения
6. Что бы деактивировать —
Давайте соберём 100 реактов🐳
Все ещё встречаю людей, которые не понимают что такое виртуальное окружение, а подробного гайда я так и не выпустил.
Большинство студентов karpov.courses устанавливают anaconda, но мало кто знает какие проблемы она за собой несёт.
Как интуитивно это работает?
Представьте, что ваш python это планета. На единый материк и на этом материке живут некоторые животные (пакеты, библиотеки).
Конечно лев не сможет жить в Антарктиде, так же как белый медведь в Сахаре, так и ваши проекты их пакеты не могут находиться одинаково во всех проектов.
Что бы этого избежать вы изолируете вашу планету на отдельные куски — метрики, регионы, зоны. В каждом из ваших метриков (виртуальных окружений) есть отдельный набор животных, которые не выходят за рамки этого материка.
Проблема анаконды
После удаление анаконды, ее виртуальное окружение не удаляется и остаются некоторые участки, которые мешают для дальнейшей работы.
Это можно понять если в терминале у вас например остался
(base) : |
Более того у нее стоит свой python и в вашем терминале .bashrc указан путь именно к нему, а не к новым python, которые вы устанавливаете.
Инструкция
1. Откройте терминал
2. Зайдите в папку с проектом
3. Введите
python -m venv venv
4. Появится папочка venv
5. Что бы активировать окружение
—
source venv/bin/activate
у вас появится в терминале слева от ввода строки и имя пользователя (venv) это название вашего окружения
6. Что бы деактивировать —
deactivate
Давайте соберём 100 реактов
Please open Telegram to view this post
VIEW IN TELEGRAM
#logging.py
https://github.com/hnkovr/summarize-backend/blob/3d73a40e2249696583dfeecfce9dae9fa8a5ddf7/core/logger.py#L28
https://github.com/hnkovr/summarize-backend/blob/3d73a40e2249696583dfeecfce9dae9fa8a5ddf7/core/logger.py#L28
GitHub
summarize-backend/core/logger.py at 3d73a40e2249696583dfeecfce9dae9fa8a5ddf7 · hnkovr/summarize-backend
FOSWLY Summarize - Free Yandex Summarize API without any authorization or restrictions - hnkovr/summarize-backend
Forwarded from Zen of Python
Простыми словами: yield в Python
Ключевое слово
Когда функция с
Предположим, у нас есть функция, которая возвращает числа от 1 до 3:
Как это работает:
1. Функция
2. Каждый вызов
3. На следующий вызов итерации выполнение функции продолжается с места, где оно было приостановлено последним
А теперь представьте, что вам нужно обработать очень большой список чисел, но вы хотите сделать это постепенно, по одному числу за раз. В этом случае генератор с
Например, для фильтрации четных чисел:
Преимущества использования
1. Экономия памяти. Генератор не загружает все данные в память сразу, а генерирует элементы по мере необходимости.
2. Упрощение кода. Использование
3. Меньше кода для обработки больших наборов данных. Генераторы позволяют легко работать с большими данными без необходимости вручную управлять промежуточными структурами данных.
#простымисловами
Ключевое слово
yield
позволяет создавать генераторы — функции, которые могут возвращать значения одно за другим, сохраняя свое состояние для следующего вызова. Это полезно для работы с большими наборами данных, так как не нужно загружать все данные в память сразу.Когда функция с
yield
вызывается, она возвращает объект-генератор. Этот объект можно итерировать (перебирать) для получения значений, которые функция «производит» по мере необходимости.Предположим, у нас есть функция, которая возвращает числа от 1 до 3:
def simple_generator():
yield 1
yield 2
yield 3
# Получаем генератор
gen = simple_generator()
# Итерируем генератор
for value in gen:
print(value)
# Результат:
# 1
# 2
# 3
Как это работает:
1. Функция
simple_generator
использует yield
для возврата значений.2. Каждый вызов
yield
приостанавливает выполнение функции и возвращает значение.3. На следующий вызов итерации выполнение функции продолжается с места, где оно было приостановлено последним
yield
.А теперь представьте, что вам нужно обработать очень большой список чисел, но вы хотите сделать это постепенно, по одному числу за раз. В этом случае генератор с
yield
идеально подходит.Например, для фильтрации четных чисел:
def get_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number
big_list = range(1000000) # Большой диапазон чисел
# Используем генератор для получения четных чисел
even_numbers = get_even_numbers(big_list)
# Печатаем первые 10 четных чисел
for _ in range(10):
print(next(even_numbers))
# Результат:
# 0
# 2
# 4
# 6
# 8
# 10
# 12
# 14
# 16
# 18
Преимущества использования
yield
:1. Экономия памяти. Генератор не загружает все данные в память сразу, а генерирует элементы по мере необходимости.
2. Упрощение кода. Использование
yield
упрощает написание функций, которые должны постепенно возвращать результаты.3. Меньше кода для обработки больших наборов данных. Генераторы позволяют легко работать с большими данными без необходимости вручную управлять промежуточными структурами данных.
#простымисловами
Forwarded from Zen of Python
Что должен знать каждый разработчик Python: 8 основных технологий
У каждого разработчика имеется свой набор технологий и инструментов, которые он использует в своей работе. Их выбор осуществляется в течение всего профессионального пути. Но есть и те, которые нужно знать каждому, не выбирая что-то одно.
В этой статье речь пойдёт о 8 таких технологиях, без которых никак не обойтись в работе в любой сфере от инжиниринга до бекенда.
#советы
У каждого разработчика имеется свой набор технологий и инструментов, которые он использует в своей работе. Их выбор осуществляется в течение всего профессионального пути. Но есть и те, которые нужно знать каждому, не выбирая что-то одно.
В этой статье речь пойдёт о 8 таких технологиях, без которых никак не обойтись в работе в любой сфере от инжиниринга до бекенда.
#советы
Forwarded from Zen of Python
Как автоматизировать инфраструктуру с помощью Terraform и Ansible
Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Первый позволяет настраивать ресурсы, реализовывать масштабируемость и удобное управление цифровыми активами компании. А второй осуществляет доставку, развертывание и обслуживание продуктов на серверах.
В этой статье мы рассказали в чем их особенности и как их можно интегрировать в разработку.
#devops #ansible #terraform
Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Первый позволяет настраивать ресурсы, реализовывать масштабируемость и удобное управление цифровыми активами компании. А второй осуществляет доставку, развертывание и обслуживание продуктов на серверах.
В этой статье мы рассказали в чем их особенности и как их можно интегрировать в разработку.
#devops #ansible #terraform
Forwarded from Zen of Python
10 простых способов ускорить код на Python
Только ленивый не шутил про скорость работы Python. Да, зачастую он оказывается менее производительным, чем другие языки. Однако, существуют способы, которые позволяют значительно повысить скорость при выполнении сложных вычислений или даже обработке больших объёмов данных.
В этой статье собраны 10 таких способов. Читайте и сохраняйте, чтобы не забыть.
#советы
Только ленивый не шутил про скорость работы Python. Да, зачастую он оказывается менее производительным, чем другие языки. Однако, существуют способы, которые позволяют значительно повысить скорость при выполнении сложных вычислений или даже обработке больших объёмов данных.
В этой статье собраны 10 таких способов. Читайте и сохраняйте, чтобы не забыть.
#советы
Forwarded from Zen of Python
tg2md — простая библиотека для парсинга постов из Telegram в Markdown
С помощью этого небольшого скрипта вы сможете быстро преобразовать все посты источника, включая медиафайлы, в файлы с markdown разметкой для дальнейшей работы с Jekyll.
Всё, что нужно — запустить файл с указанием источника данных и путь к конечному каталогу. Подробнее в репозитории проекта.
#библиотека #инструменты #telegram
С помощью этого небольшого скрипта вы сможете быстро преобразовать все посты источника, включая медиафайлы, в файлы с markdown разметкой для дальнейшей работы с Jekyll.
Всё, что нужно — запустить файл с указанием источника данных и путь к конечному каталогу. Подробнее в репозитории проекта.
#библиотека #инструменты #telegram
Forwarded from Zen of Python
questions_1.1.2.epub
868.9 KB
Вопросы для подготовки к Python Developer интервью
Ловите большую шпаргалку, в которой вы найдёте ответы на более чем 100 вопросов, встречающихся на интервью. Автор этого репозитория лично собирал вопросы и ответы на них, что заслуживает отдельного уважения.
А если хотите прочитать в формате книги, то скачивайте .epub, прикреплённый к посту.
#шпаргалка
Ловите большую шпаргалку, в которой вы найдёте ответы на более чем 100 вопросов, встречающихся на интервью. Автор этого репозитория лично собирал вопросы и ответы на них, что заслуживает отдельного уважения.
А если хотите прочитать в формате книги, то скачивайте .epub, прикреплённый к посту.
#шпаргалка
Forwarded from Zen of Python
Media is too big
VIEW IN TELEGRAM
Экскурс в Rust для питонистов
Rust с каждым днём набирает всё большую популярность. Поэтому многие задумываются о переходе на него или хотя бы об изучении его для расширения знаний.
В этом докладе Михаил Грачев рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это не «введение в Rust для новичков», это обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимания и где будет болеть.
#видео #доклад #rust
Rust с каждым днём набирает всё большую популярность. Поэтому многие задумываются о переходе на него или хотя бы об изучении его для расширения знаний.
В этом докладе Михаил Грачев рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это не «введение в Rust для новичков», это обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимания и где будет болеть.
#видео #доклад #rust