Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.77K photos
75 videos
51 files
4.35K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤‍🔥1👍1🔥1
🤤 Жадные алгоритмы: все, что нужно знать для собеседования

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

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

🔗 Читать статью
🔗 Зеркало
❤‍🔥7
🦥 Ленивые логические операторы в Python

Логические операторы, такие как and и or, в Python используют то, что называется вычислением по короткой схеме (short-circuit evaluation) или ленивым вычислением. Это означает, что правый операнд оценивается только тогда, когда это необходимо.

📍 Поясним на примере. Чтобы определить конечный результат выражения с оператором and, Python начинает с оценки левого операнда. Если он ложен, то всё выражение будет ложным. В этом случае нет необходимости оценивать правый операнд, так как Python уже знает конечный результат.
def left():
print("Оцениваем левый операнд...")
return False

def right():
print("Оцениваем правый операнд...")
return True

result = left() and right()
print("Результат:", result)
# ->
# Оцениваем левый операнд...
# Результат: False


Такой подход позволяет повысить производительность выполняемого кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🤩32👏2
✍️ Как выбрать имя для функции Python

Есть несколько правил, которые нельзя нарушать при выборе имени для функции. Помимо этого, существуют некоторые соглашения и рекомендации, которым вы можете не следовать (зачем вам это, впрочем, неясно).

Вот те жёсткие правила:

▪️ Вы не можете использовать цифры в качестве первых символов имени;
▪️ Нельзя ставить пробелы в названии функции;
▪️ Не разрешено использовать любые ASCII символы пунктуации, кроме подчёркивания (_).

Об остальных соглашениях читайте в статье на Real Python 👈
7
🤔 Инварианты: проектирование эффективных алгоритмов

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

🔗 Читать статью
5🥰4😁2
Привет, друзья! 👋

Мы готовим статью о самых раздражающих вопросах на собеседованиях и хотим узнать ваше мнение! 🤔💼

📌 Какой вопрос на собеседовании вы считаете самым бесящим или нелепым? Почему?
🎭 Как вы обычно отвечаете на вопрос «Расскажите о своих недостатках»? Поделитесь своими лайфхаками!
🚀 Какой самый неожиданный или креативный вопрос вам задавали на собеседовании? Как вы на него ответили?

Ваши ответы помогут другим кандидатам подготовиться к собеседованиям! Самые интересные истории и советы попадут в нашу статью.

Ждём ваших комментариев! 👇😊
6😢2
🔑 Даже крутые питонисты не застрахованы от утечки GitHub-токенов

Занятной историей поделился Ee Durbin, который занимает должность директора по инфраструктуре в Python Software Foundation. У него утёк персональный токен доступа GitHub. И случилось это по невнимательности специалиста.

▪️Ee Durbin работал над проектом cabotage-app локально и столкнулся с ограничениями по количеству запросов к API GitHub, которые применяются к анонимным пользователям. Чтобы обойти эти ограничения, он временно добавил свой персональный токен доступа в локальные файлы для использования в проекте.

▪️Токен захардкодили в файле cabotage/celery/tasks/build.py. Впоследствии он оказался в скомпилированных файлах .pyc.

▪️Когда проект был собран в Docker-образ, файл .dockerignore не исключал каталоги __pycache__ и файлы *.pyc из сборки. Всё это было опубликовано на hub.docker.com.

Как подытожил Ee Durbin:
Это отличное напоминание о необходимости устанавливать агрессивные сроки истечения для API токенов (если они вообще нужны), относиться к файлам .pyc так же, как к исходному коду, и выполнять сборки на автоматизированных системах только из чистого исходного кода.
👏9👍6🔥4😁4
🤖💼 ТОП-6 самых высокооплачиваемых профессий в сфере ИИ

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

Зарплаты указаны для западного рынка.

👉 Читать подробности в статье
🥱105🌚1
🐍 Нам нужно ещё больше отсылок к «Монти Пайтон» 🐍

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

Это inspect_fodder.py, который относится к тестовой инфраструктуре CPython. Только посмотрите на него 👈

Например, две функции названы spam и eggs. Это отсылка к знаменитому скетчу «Монти Пайтон», в котором официантка предлагает посетителям кафе различные блюда, почти все из которых включают в себя консервированную ветчину spam и часто яйца. Этот же скетч, кстати, стал причиной, по которой мы называем навязчивые сообщения на почте (и не только) спамом.

StupidGit, MalodorousPervert и ParrotDroppings тоже отсылаются к «Монти Пайтон».
👍6🔥3
🛡️GGShield — утилита для защиты от утечек секретов

В тему к посту рассказываем об инструменте командной строки от GitGuardian. Он способен:

находить более 400 типов секретов, которые вы могли захардкодить;
детектировать 70+ типов ошибок конфигурации инфраструктуры как кода.

Работает на macOS, Linux и Windows. Требует Python 3.8 и старше, а также git. GGShield легко интегрируется с CI/CD пайплайнами и предоставляет гибкие возможности настройки для различных сценариев использования.

🔗 Ссылка на репозиторий
🔗 Ссылка на документацию
👍4🔥1
🐍«Free-threaded CPython готов к экспериментам!»

Запустился сайт py-free-threading.github.io, который предоставляет документацию и отслеживает статус внедрения поддержки многопоточного Python (free-threaded CPython).

Если коротко: речь идёт о значительном изменении в CPython, которое позволяет запускать несколько потоков параллельно в одном интерпретаторе. Это экспериментальная функция в CPython 3.13, отключающая глобальную блокировку интерпретатора (GIL). Она упрощает написание кода, заточенного на использование нескольких ядер ЦПУ.

🔗 Прочесть обо всём подробнее можно на сайте
👍8🔥1
✍️😎 Вопросы с собесов и ответы на них

Это подборка самых популярных постов канала «Библиотека собеса по Python» за последний месяц. Сохраняй себе, чтобы не потерять👇

Корутины (Coroutines)
Валидаторы данных
Метод sets.issubset()
Метод setdefault()
Проверяем, является ли заданная дата — праздником
3👾3👍1
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/d1c2419a

На вводной части вас ждут:

1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;

2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;

3. Практические задания после лекций;

4. Ссылки на дополнительные материалы для самостоятельного изучения.

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/d1c2419a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🎉2