Proglib.academy | IT-курсы – Telegram
Proglib.academy | IT-курсы
3.87K subscribers
2.2K photos
79 videos
15 files
2.05K links
Онлайн-курсы для программистов от создателей «Библиотеки программиста».

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f60aed6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Чек-лист: 5 приемов ускорения Python

👍 JIT-компиляция с Numba:
Numba — это JIT-компилятор, который переводит код Python в быстрый машинный код. Добавив декоратор @jit, вы можете ускорить вычисления в циклах и операциях с массивами.

Пример:
from numba import jit
import numpy as np
import time

@jit(nopython=True)
def sum_squares(arr):
total = 0
for i in range(arr.shape[0]):
total += arr[i] * arr[i]
return total

data = np.arange(1000000)
start = time.time()
result = sum_squares(data)
end = time.time()
print("Numba JIT:", result, "Time:", end - start)


Результат
: прирост производительности до 10-30 раз.

👍 Многозадачность:
Python ограничивает многозадачность из-за GIL, но для вычислительно сложных задач можно использовать многопроцессорность, чтобы обойти это ограничение.

Пример:
import multiprocessing as mp

def process_image(image):
return image ** 2

if __name__ == '__main__':
images = range(20)
with mp.Pool(mp.cpu_count()) as pool:
results = pool.map(process_image, images)
print(results)


👍 Cython и PyPy:
Cython компилирует Python в C, что ускоряет выполнение кода. PyPy — это JIT-компилятор, который улучшает производительность без изменения кода.

Пример: С использованием Cython можно ускорить код, написав его в файле .pyx, а с PyPy просто сменив интерпретатор.

👍 Правильные структуры данных:
Используйте более эффективные структуры данных, такие как массивы NumPy, вместо списков Python для числовых вычислений. Это ускоряет выполнение и экономит память.

Пример:
import numpy as np
data = np.arange(1000000)
result = data * 2


Векторизация операций с NumPy может быть в 50 раз быстрее.

👍 Инструменты профилирования:
Профилирование помогает понять, какие части кода нуждаются в оптимизации. Используйте cProfile и line_profiler для анализа производительности.

Пример:
import cProfile

def heavy_computation():
return sum([i * i for i in range(1000000)])

cProfile.run('heavy_computation()')


Это поможет найти узкие места и ускорить работу.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Гадание на мемах 

Посвящаем сегодняшний вечер гаданию на эту неделю. Доверьтесь судьбе и жмите на любую карточку. 🔮

🏃‍♀️ Proglib Academy

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ СТАРТ ЗАВТРА: Математика для разработки AI-моделей

Это финальный призыв. Группа почти набрана, завтра начинаем занятия.

Почему стоит идти?

1. Фокус на AI: Учим только тому, что нужно для разработки моделей.
2. Цена: 28 200 ₽ — новогодний подарок от нас.
3. Скорость: Интенсивный формат.

Не откладывайте обучение. Инвестиция в знания окупается быстрее всего.

👉 ЗАПИСАТЬСЯ СЕЙЧАС

🎁 Бонус: Бесплатный тест для проверки уровня: @proglib_academy_webinar_bot
Визуализация пакетов PyPi — новый способ поиска библиотек

Если вы разрабатываете на Python, то наверняка используете PyPi. Мы нашли интересную визуализацию пакетов, которая делает процесс их изучения и поиска более удобным и наглядным.

Графическая карта пакетов
Удобный поиск и исследование зависимостей
Возможность находить новые полезные библиотеки

📂 Исходный код и инструкции для воспроизведения тоже доступны.

Ссылка на проект: https://clc.to/uxDWGg

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💳 Как выбить зарплату побольше

Собрали для вас в карточках 5 стратегий для торгов на собеседовании. Есть ещё несколько, которые подробно описаны в статье.

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👍 Эффективная работа с JSON Lines в Python: сравнение библиотек

JSON — популярный формат для обмена данными, но его обработка в data science и data engineering может быть сложной. Часто данные представлены в виде JSON Lines (NDJSON), и первый шаг — преобразование их в dataframe.

В статье от Nvidia сравнивают производительность и функциональность Python-библиотек:
pandas
DuckDB
pyarrow
RAPIDS cuDF pandas Accelerator Mode

Результаты:

📊 cuDF.pandas показывает отличное масштабирование и высокую пропускную способность, особенно для сложных данных.

🔧 Широкий набор опций JSON-ридера в cuDF повышает совместимость с Apache Spark и упрощает обработку аномалий в JSON.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🙏1
😶 Алгоритмы или гугл?

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

А что важнее для junior-разработчика? Делитесь своим мнением и голосуйте! 👇

❤️ — Алгоритмы, без них никуда
🔥 — Гуглить тоже надо уметь
👍 — Главное — чтобы код работал

🏃‍♀️ Proglib Academy

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
5 распространённых ошибок в Django

1️⃣ Не использование select_related и prefetch_related для FK и M2M запросов

Ошибка: Неоптимизированные запросы к базе данных при работе с внешними ключами и многими ко многим, что приводит к неэффективным запросам (проблема N+1).

2️⃣ Недооценка возможностей Django Admin

Ошибка: Недостаточное использование мощных функций интерфейса администрирования Django.

3️⃣ Обращение с QuerySets как с обычными списками

Ошибка: Неправильное понимание работы QuerySets, что приводит к лишним запросам к базе данных.

4️⃣ Неверное обслуживание статических и медиа-файлов

Ошибка: Использование Django для обслуживания статических и медиа-файлов в продакшене.

5️⃣ Использование `.all() с большими или неупорядоченными наборами данных

Ошибка: Использование .all() на моделях без дефолтного порядка или с большими наборами данных, что приводит к проблемам с производительностью.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM