🚀 Вышел NumPy 2.2.4
Свежий патч-релиз NumPy 2.2.4 включает важные исправления ошибок и значительные улучшения в системе типов. Также обновлена поддержка платформ.
Основные фиксы:
✔️ Исправлены ошибки в numpy.loadtxt, np.nonzero, bincount, searchsorted
✔️ Улучшена безопасность многопоточного выполнения
✔️ Исправлена сборка на s390x с clang
✔️ Обновлена поддержка FreeBSD и тестов на QEMU
✔️ Существенные улучшения типизации
Ссылка на релиз: https://clc.to/4AxrTw
Вы обновляетесь на патч-релизы вроде 2.2.4 или ждёте крупных обновлений, таких как 2.3 или 2.4?
👍 Обновляемся на патчи
🤔 Ждём крупных релизов
Библиотека питониста #свежак
Свежий патч-релиз NumPy 2.2.4 включает важные исправления ошибок и значительные улучшения в системе типов. Также обновлена поддержка платформ.
Основные фиксы:
✔️ Исправлены ошибки в numpy.loadtxt, np.nonzero, bincount, searchsorted
✔️ Улучшена безопасность многопоточного выполнения
✔️ Исправлена сборка на s390x с clang
✔️ Обновлена поддержка FreeBSD и тестов на QEMU
✔️ Существенные улучшения типизации
Ссылка на релиз: https://clc.to/4AxrTw
Вы обновляетесь на патч-релизы вроде 2.2.4 или ждёте крупных обновлений, таких как 2.3 или 2.4?
👍 Обновляемся на патчи
🤔 Ждём крупных релизов
Библиотека питониста #свежак
👍15🤔7❤3
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
👍3
🧠 Шпаргалка по алгоритмам
Готовитесь к техническому интервью или хотите прокачать алгоритмическое мышление? Мы нашли отличный репозиторий-шпаргалку с ключевыми концепциями, которые помогут вам уверенно решать задачи.
Внутри:
🔹 Разбор основных структур данных
🔹 Популярные алгоритмы и их применение
🔹 Советы по оптимизации решений
🔹 Подходы к решению задач на кодинг-интервью
Ссылка на репозиторий: https://clc.to/_fEkZg
Библиотека питониста #буст
Готовитесь к техническому интервью или хотите прокачать алгоритмическое мышление? Мы нашли отличный репозиторий-шпаргалку с ключевыми концепциями, которые помогут вам уверенно решать задачи.
Внутри:
🔹 Разбор основных структур данных
🔹 Популярные алгоритмы и их применение
🔹 Советы по оптимизации решений
🔹 Подходы к решению задач на кодинг-интервью
Ссылка на репозиторий: https://clc.to/_fEkZg
Библиотека питониста #буст
👍9❤1
Media is too big
VIEW IN TELEGRAM
Proglib рассказывает базу в формате рилса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤2
🖥️ Обзор: какую Python GUI-библиотеку выбрать в 2025 году?
Хотите добавить графический интерфейс в ваше приложение, но не знаете, с чего начать? Тогда эта статья для вас!
Что вас ждет в статье:
✔️ Сравнение самых популярных Python GUI-фреймворков и их ключевых преимуществ.
✔️ Лицензионные моменты, которые могут повлиять на ваш выбор.
✔️ Примеры кода с простыми приложениями «Hello, World!» для каждой библиотеки.
🎯 Зачем читать?
Вы найдете полезную информацию, которая поможет выбрать идеальную библиотеку для вашего проекта, будь то простое приложение или сложная система с графическим интерфейсом.
👉 Ссылка на статью: https://clc.to/j3l2Zw
Библиотека питониста #буст
Хотите добавить графический интерфейс в ваше приложение, но не знаете, с чего начать? Тогда эта статья для вас!
Что вас ждет в статье:
✔️ Сравнение самых популярных Python GUI-фреймворков и их ключевых преимуществ.
✔️ Лицензионные моменты, которые могут повлиять на ваш выбор.
✔️ Примеры кода с простыми приложениями «Hello, World!» для каждой библиотеки.
🎯 Зачем читать?
Вы найдете полезную информацию, которая поможет выбрать идеальную библиотеку для вашего проекта, будь то простое приложение или сложная система с графическим интерфейсом.
👉 Ссылка на статью: https://clc.to/j3l2Zw
Библиотека питониста #буст
👍9❤4🔥1
⚙️ How to: оптимизируем код с помощью профилировщика
Хотите узнать, что замедляет ваш код? Используйте встроенный профилировщик cProfile. Этот мощный инструмент поможет выявить проблемные участки и ускорить выполнение.
Пример использования:
Что показывает результат:
▪️ Общее время: 4 вызова функций за 0.000 CPU секунд.
▪️ Подробная статистика:
-
-
-
-
-
Пример вывода:
Как оптимизировать:
1. Анализируйте
2. Сократите вызовы: если ncalls высок, рассмотрите оптимизацию логики.
3. Тестируйте изменения: повторяйте профилирование после оптимизации.
Библиотека питониста #буст
Хотите узнать, что замедляет ваш код? Используйте встроенный профилировщик cProfile. Этот мощный инструмент поможет выявить проблемные участки и ускорить выполнение.
Пример использования:
import hashlib
import cProfile
cProfile.run('hashlib.md5("abcdefghiijkl").digest()')
Что показывает результат:
▪️ Общее время: 4 вызова функций за 0.000 CPU секунд.
▪️ Подробная статистика:
-
ncalls
: количество вызовов.-
tottime
: общее время в функции.-
percall
: время на один вызов.-
cumtime
: кумулятивное время.-
filename:lineno(function)
: расположение функции.Пример вывода:
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 {hashlib._md5}
1 0.000 0.000 0.000 0.000 {method 'digest' of '_hashlib.HASH' objects}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
Как оптимизировать:
1. Анализируйте
tottime
и cumtime
: ищите функции с наибольшим временем выполнения.2. Сократите вызовы: если ncalls высок, рассмотрите оптимизацию логики.
3. Тестируйте изменения: повторяйте профилирование после оптимизации.
Библиотека питониста #буст
👍14❤3
В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.
❓Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас.
— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Сразу обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас все-таки забанили
— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Используйте следующий промпт для генерации юнит-тестов с помощью pytest:
💬 Промпт:
Please generate comprehensive unit tests for the following Python function using pytest.
Requirements:
1. Carefully analyze the function’s functionality, inputs, and outputs.
2. Generate unit tests that cover standard use cases and edge cases.
3. Ensure that the tests are clear, easy to understand, and well-organized.
4. Challenge potential inaccuracies with false outcomes, testing against possible mistakes.
5. Use assertions that test both expected outcomes and exception handling.
[insert function code here]
Что вы получите?
▪️ Полный набор юнит-тестов, охватывающих все аспекты функции.
▪️ Применение лучших практик тестирования.
▪️ Обеспечение надежности кода и упрощение отладки.
✔️ Пример:
Предположим, у нас есть функция, которая вычисляет факториал числа:
def factorial(n: int) -> int:
if n == 0 or n == 1:
return 1
return n * factorial(n-1)
Промпт позволит получить набор юнит-тестов для этой функции:
import pytest
from your_module import factorial
def test_factorial_base_case():
"""Проверка, что факториал 0 и 1 возвращает 1."""
assert factorial(0) == 1
assert factorial(1) == 1
def test_factorial_positive_integers():
"""Проверка факториала для положительных целых чисел."""
assert factorial(2) == 2
assert factorial(3) == 6
assert factorial(4) == 24
assert factorial(5) == 120
def test_factorial_large_number():
"""Проверка факториала для большего числа."""
assert factorial(10) == 3628800
def test_factorial_negative():
"""Проверка, что функция выбрасывает исключение для отрицательных чисел."""
with pytest.raises(ValueError):
factorial(-1)
def test_factorial_edge_case():
"""Проверка факториала для граничного случая."""
assert factorial(6) == 720
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🥱9❤4🔥4😢3
Метод чейнинг (method chaining) — техника вызова нескольких методов на одном объекте в одной строке, где каждый метод возвращает
self
, позволяя обходиться без промежуточных переменных.🔹 Преимущества:
• Меньше кода — избавляет от промежуточных переменных.
• Читаемость — код выглядит как последовательность логичных операций.
• Элегантный дизайн — делает API удобным для использования.
🔹 Недостатки:
• Трудность отладки — если что-то сломается, сложно найти источник ошибки.
• Длинные цепочки — могут ухудшать читаемость, если используются чрезмерно.
• Жёсткая связь методов — изменения в классе могут затронуть всю цепочку.
🎯 Когда использовать Method Chaining:
• Трансформации данных — очистка текста, математические вычисления, работа с датафреймами.
• Формировании Fluent API — используется в pandas, jQuery и других библиотеках для удобного взаимодействия с объектами.
🏆 Лучшие практики использования:
• Возвращайте self правильно — убедитесь, что каждый метод возвращает объект, с которым ведется работа, а не новый объект.
• Читаемые цепочки — избегайте слишком длинных цепочек, которые трудно отлаживать.
• Обработка ошибок — добавьте обработку исключений, чтобы не прерывать выполнение кода в случае ошибки.
• Логичность — методы должны выполняться в последовательности, логичной для объекта.
🔹 Пример на Pandas:
import pandas as pd
df = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
result = df.rename(columns={'Name': 'Full Name'}).sort_values(by='Age').reset_index(drop=True)
print(result)
🔹Пример на Flask:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return jsonify(message="Hello, World!").status_code(200)
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7😁1🥱1
🗣️ Истории подписчиков: как я получил первую работу
Каждому из нас когда-то приходилось начинать с нуля, и путь к первой работе разработчиком — это целый сериал эмоций: от сомнений до побед. Вспоминаем, как мы справлялись с трудностями и как наконец нашли свою первую работу.
😅 Вот моя история:
А как вы получили свою первую работу? Делитесь в комментариях!😁
Библиотека питониста #междусобойчик
Каждому из нас когда-то приходилось начинать с нуля, и путь к первой работе разработчиком — это целый сериал эмоций: от сомнений до побед. Вспоминаем, как мы справлялись с трудностями и как наконец нашли свою первую работу.
Когда я только начал осваивать Python, казалось, что программирование — это просто. Прочитал пару статей, написал скрипты, и вот ты уже почти профессионал! Но на собеседовании меня ждали реальные вызовы: задачи на логику, библиотеки, многозадачность... Я, конечно, не знал ответа на половину вопросов.
Но я не сдался! На интервью я признался, что не знаю всех ответов, но готов учиться. Мне дали тестовое задание. Потратил много времени, но в конце понял, что допустил элементарную ошибку с декоратором! Переписал, отправил, и через пару дней получил предложение о работе.
Этот опыт научил меня важному: не бойся признавать свои слабости, если ты готов учиться и расти.
А как вы получили свою первую работу? Делитесь в комментариях!
Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4😁3
🔥 PyGWalker: ускорьте анализ и визуализацию данных
PyGWalker — инструмент, который превращает pandas DataFrame в интерактивный интерфейс для визуального исследования данных.
🔹 Что он умеет?
• Интеграция с Jupyter Notebook.
• Визуализация данных с помощью drag-and-drop.
• Очистка и аннотация данных.
• Поддержка запросов на естественном языке.
💡 Если вы аналитик данных или исследователь, PyGWalker поможет вам быстрее анализировать данные и создавать наглядные отчёты без сложного кода.
🔗 Ссылка на репозиторий: https://clc.to/QjWKzg
Библиотека питониста #буст
PyGWalker — инструмент, который превращает pandas DataFrame в интерактивный интерфейс для визуального исследования данных.
🔹 Что он умеет?
• Интеграция с Jupyter Notebook.
• Визуализация данных с помощью drag-and-drop.
• Очистка и аннотация данных.
• Поддержка запросов на естественном языке.
💡 Если вы аналитик данных или исследователь, PyGWalker поможет вам быстрее анализировать данные и создавать наглядные отчёты без сложного кода.
🔗 Ссылка на репозиторий: https://clc.to/QjWKzg
Библиотека питониста #буст
👍12❤🔥2🔥1
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
🧩💊 Алгоритмическая самоуспокоенность: как мы разучились думать своей головой
Каждый день мы сталкиваемся с бесконечным потоком информации, которая не просто наполняет наш день, а управляет нашими мыслями. Социальные сети, алгоритмы и вечная гонка за вниманием приводят к тому, что мы забываем, как думать собственной головой.
Это не просто влияет на настроение, но и на способность анализировать информацию, принимать решения и, главное, не становиться частью системы манипуляций.
Если вы хотите вернуться к осознанному подходу в восприятии мира и научиться фильтровать контент, то эта тема точно для вас.
🔗 Подробнее в статье
🐸 Библиотека джависта
Каждый день мы сталкиваемся с бесконечным потоком информации, которая не просто наполняет наш день, а управляет нашими мыслями. Социальные сети, алгоритмы и вечная гонка за вниманием приводят к тому, что мы забываем, как думать собственной головой.
Это не просто влияет на настроение, но и на способность анализировать информацию, принимать решения и, главное, не становиться частью системы манипуляций.
Если вы хотите вернуться к осознанному подходу в восприятии мира и научиться фильтровать контент, то эта тема точно для вас.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
6 слов, которые знакомы каждому Python-разработчику
Отложим кодинг и разомнём мозги с нашим небольшим кроссвордом. 💡
По горизонтали:
1. Функция, которая позволяет модифицировать поведение другой функции.
5. Область видимости переменных в коде.
По вертикали:
2. Расширение программы, которое обычно содержит библиотеки и файлы.
3. Способ выполнения асинхронных задач в Python.
4. Фреймворк для создания веб-приложений.
6. Пакетный менеджер для установки Python-библиотек.
Делитесь своими ответами в комментариях 👇
Прячем ответы под спойлер, даём шанс угадать всем.
Библиотека питониста #междусобойчик
Отложим кодинг и разомнём мозги с нашим небольшим кроссвордом. 💡
По горизонтали:
1. Функция, которая позволяет модифицировать поведение другой функции.
5. Область видимости переменных в коде.
По вертикали:
2. Расширение программы, которое обычно содержит библиотеки и файлы.
3. Способ выполнения асинхронных задач в Python.
4. Фреймворк для создания веб-приложений.
6. Пакетный менеджер для установки Python-библиотек.
Делитесь своими ответами в комментариях 👇
Прячем ответы под спойлер, даём шанс угадать всем.
Библиотека питониста #междусобойчик
👍7❤4🥱1
🐍 Python новости
🚀 Релизы и инструменты:
— Django 5.2 RC1 — последний шанс протестировать новые функции перед релизом.
— Unvibe — новый Python-инструмент для генерации кода из unit-тестов.
— Marimo — переосмысление ноутбуков как переиспользуемых Python-программ.
🔬 Глубже в Python:
— Operationalizing Python — почему Python становится трудно поддерживаемым.
— Weakref в Python — руководство по слабым ссылкам.
📚 Обучение и лучшие практики:
— 100 самых популярных Python-докладов 2024 года.
— 5 листингов для лучшего понимания Python.
— Генерация синтетических данных в Python.
🔧 DevOps и безопасность:
— Иерархия контроля в DevOps — как защитить прод от ошибок разработчиков.
Библиотека питониста #свежак
🚀 Релизы и инструменты:
— Django 5.2 RC1 — последний шанс протестировать новые функции перед релизом.
— Unvibe — новый Python-инструмент для генерации кода из unit-тестов.
— Marimo — переосмысление ноутбуков как переиспользуемых Python-программ.
🔬 Глубже в Python:
— Operationalizing Python — почему Python становится трудно поддерживаемым.
— Weakref в Python — руководство по слабым ссылкам.
📚 Обучение и лучшие практики:
— 100 самых популярных Python-докладов 2024 года.
— 5 листингов для лучшего понимания Python.
— Генерация синтетических данных в Python.
🔧 DevOps и безопасность:
— Иерархия контроля в DevOps — как защитить прод от ошибок разработчиков.
Библиотека питониста #свежак
👍4❤3🔥1
Forwarded from Библиотека собеса по Python | вопросы с собеседований
🤔 Почему не стоит использовать изменяемые объекты как параметры по-умолчанию?
В Python не рекомендуется использовать изменяемые объекты в качестве значений параметров по умолчанию по следующим причинам:
— Значения по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.
— Если использовать изменяемый объект (список, словарь), то изменения в нем будут сохраняться между вызовами функции. Это может привести к неочевидному поведению и трудноуловимым ошибкам при многократном вызове функции.
В качестве альтернативы можно задавать значение по умолчанию как None, а в теле функции создавать новый изменяемый объект, если значение не передано.
Такой подход позволяет избежать «эффекта переноса» состояния между вызовами и делает код более понятным и предсказуемым.
Библиотека собеса по Python
— Значения по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.
— Если использовать изменяемый объект (список, словарь), то изменения в нем будут сохраняться между вызовами функции. Это может привести к неочевидному поведению и трудноуловимым ошибкам при многократном вызове функции.
В качестве альтернативы можно задавать значение по умолчанию как None, а в теле функции создавать новый изменяемый объект, если значение не передано.
Такой подход позволяет избежать «эффекта переноса» состояния между вызовами и делает код более понятным и предсказуемым.
Библиотека собеса по Python
👍14❤8❤🔥2👏1
Кто такой современный разработчик в 2025 году? Актуальное исследование портрета IT-специалистов: зарплаты, технологии, специализации и демография разработчиков.
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍2❤1🌚1