Подарок для ML-инженеров: онлайн учебник по Computer Vision от MIT
Эта книга охватывает широкий спектр тем: от базовых алгоритмов обработки изображений до современных методов глубокого обучения, такие как CNN, Transformers и современные AI-модели.
Множество иллюстраций, примеров и коротких глав делают книгу удобной как для последовательного изучения, так и для использования в качестве справочника🙂
☝️ Ссылка источник
✈️ Python Ninja
Эта книга охватывает широкий спектр тем: от базовых алгоритмов обработки изображений до современных методов глубокого обучения, такие как CNN, Transformers и современные AI-модели.
Множество иллюстраций, примеров и коротких глав делают книгу удобной как для последовательного изучения, так и для использования в качестве справочника
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝4🔥2
Путеводитель по миру Full Stack Python
Учебный ресурс, посвящённый полному циклу разработки веб-приложений на Python, где опытные разработчики словно оставили тебе записку: “Вот всё, что пригодится в реальной работе”
Здесь всё собрано в один мощный источник: от первых шагов в Python до тонкостей серверной архитектуры, деплоя и реального боевого опыта
Компетентный выбор для системного изучения🥥
☝️ Ссылка источник
✈️ Python Ninja
Учебный ресурс, посвящённый полному циклу разработки веб-приложений на Python, где опытные разработчики словно оставили тебе записку: “Вот всё, что пригодится в реальной работе”
Здесь всё собрано в один мощный источник: от первых шагов в Python до тонкостей серверной архитектуры, деплоя и реального боевого опыта
Компетентный выбор для системного изучения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Переменные в Python это стикеры, а не коробки.
Переменная не хранит значение, а указывает на него. Меняешь список обе переменные видят изменение. Со стикерами это логично. С коробками магия: две коробки загадочно меняются одновременно📚
✈️ Python Ninja
Переменная не хранит значение, а указывает на него. Меняешь список обе переменные видят изменение. Со стикерами это логично. С коробками магия: две коробки загадочно меняются одновременно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В сеть выложили мегагайд по запуску локальных LLM
Если давно хотели запускать нейронки у себя на ПК, но не знаете, с чего начать здесь разжевали всё. От выбора процессора и видеокарты до настройки llama.cpp и работы с памятью.
Отдельно разбираются оптимизация KV кэша, распределение нагрузки между RAM и GPU, а также способы ускорить генерацию на обычном железе без трат на покупки новых комплектующих.
Полезная шпаргалка для всех, кто хочет запускать модели локально и получать от них максимум📖
☝️ Ссылка источник
✈️ Python Ninja
Если давно хотели запускать нейронки у себя на ПК, но не знаете, с чего начать здесь разжевали всё. От выбора процессора и видеокарты до настройки llama.cpp и работы с памятью.
Отдельно разбираются оптимизация KV кэша, распределение нагрузки между RAM и GPU, а также способы ускорить генерацию на обычном железе без трат на покупки новых комплектующих.
Полезная шпаргалка для всех, кто хочет запускать модели локально и получать от них максимум
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2
Исторический момент. Новый HTTP-метод в стандарте.
QUERY. Альтернатива GET и POST.
Как GET не меняет состояние ресурса. Как POST можно использовать тело запроса. Шлёшь JSON, кешируешь ответ.
Только что повышен до Proposed Standard.
✈️ Python Ninja
QUERY. Альтернатива GET и POST.
Как GET не меняет состояние ресурса. Как POST можно использовать тело запроса. Шлёшь JSON, кешируешь ответ.
Только что повышен до Proposed Standard.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Трюк Python
Как получить список простых чисел
Длинный способ (много циклов):
Короткий способ (используем filter и all):
✈️ Python Ninja
Как получить список простых чисел
Длинный способ (много циклов):
primes = []
for x in range(1, 10):
count = 0
for y in range(1, x+1):
if x % y == 0:
count += 1
if count == 2:
primes.append(x)
print(primes) # [2, 3, 5, 7]
Короткий способ (используем filter и all):
primes = list(filter(
lambda x: all(x % y != 0 for y in range(2, x)),
range(2, 10)
))
print(primes) # [2, 3, 5, 7]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Открытый инструмент для работы с SQL-базами данных!
Визуализируйте, редактируйте и проектируйте базы данных с помощью удобного визуального интерфейса:
✓ Интерактивные диаграммы ваших таблиц
✓ Экспорт схемы базы данных в изображение PNG
✓ Поддержка MySQL, PostgreSQL, SQLite и других СУБД
☝️ Ссылка источник
✈️ Python Ninja
Визуализируйте, редактируйте и проектируйте базы данных с помощью удобного визуального интерфейса:
✓ Интерактивные диаграммы ваших таблиц
✓ Экспорт схемы базы данных в изображение PNG
✓ Поддержка MySQL, PostgreSQL, SQLite и других СУБД
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Китайский брат выложил в открытый доступ замену для NumPy, которая выполняет вычисления на GPU.
Называется CuPy. Во многих случаях достаточно заменить одну строку:
на
и тот же код может работать на CUDA до 100 раз быстрее.
Что умеет:
• Совместим с существующим кодом на NumPy и SciPy.
• Не требует переписывать программу или изучать новый синтаксис.
• Поддерживает не только CUDA, но и AMD ROCm.
Проект полностью с открытым исходным кодом.
✈️ Python Ninja
Называется CuPy. Во многих случаях достаточно заменить одну строку:
import numpy as np
на
import cupy as cp
и тот же код может работать на CUDA до 100 раз быстрее.
Что умеет:
• Совместим с существующим кодом на NumPy и SciPy.
• Не требует переписывать программу или изучать новый синтаксис.
• Поддерживает не только CUDA, но и AMD ROCm.
Проект полностью с открытым исходным кодом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
В Python заархивировать файлы можно буквально в пару строк
Вот пример:
Данный скрипт использует стандартный модуль
Минимум кода, максимум результата💪
✈️ Python Ninja
Вот пример:
import zipfile
files = ['file1.txt', 'file2.txt']
with zipfile.ZipFile('pycl.zip', 'w') as zipf:
for file in files:
zipf.write(file)
print("ZIP file created!")
Данный скрипт использует стандартный модуль
zipfile для упаковки списка файлов в архив формата ZIPМинимум кода, максимум результата
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
Эффективное освоение алгоритмов через паттерны LeetCode
Ресурс группирует задачи LeetCode по фундаментальным паттернам решения, превращая разрозненные задачи в понятную систему подходов
Каждый паттерн объяснён, подкреплён примерами и визуализациями что помогает не просто «зубрить» задачи, а понимать сам подход, который легко переносится на новые задачи
Есть треки для пошаговой подготовки от новичка до продвинутого. Это экономит время: вместо хаотичного выбора задач вы двигаетесь по структурному пути, который закрывает все ключевые темы для собесов💪
☝️ Ссылка источник
✈️ Python Ninja
Ресурс группирует задачи LeetCode по фундаментальным паттернам решения, превращая разрозненные задачи в понятную систему подходов
Каждый паттерн объяснён, подкреплён примерами и визуализациями что помогает не просто «зубрить» задачи, а понимать сам подход, который легко переносится на новые задачи
Есть треки для пошаговой подготовки от новичка до продвинутого. Это экономит время: вместо хаотичного выбора задач вы двигаетесь по структурному пути, который закрывает все ключевые темы для собесов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вход в ИБ часто упирается в одно: бесплатные материалы дают отдельные темы, но редко — цельную основу: Linux, сети, атаки, защита, мониторинг в правильной последовательности.
«Основы информационной безопасности» в Академии Codeby — вводная практическая программа для первого системного шага.
За 5 месяцев в рамках программы курса вы научитесь:
⏺️ понимать основные принципы информационной безопасности;
⏺️ разбираться в типах угроз и векторах атак;
⏺️ понимать, как защищаются данные, сети и системы;
⏺️ ориентироваться в базовых средствах и методах защиты;
⏺️ анализировать простые инциденты безопасности;
⏺️ понимать роли и направления в сфере кибербезопасности;
⏺️ закладывать основы для дальнейшего развития в ИБ.
Преподаватель-практик из ИБ проверяет ДЗ и отвечает на вопросы.
Старт курса 20 июля
➡ ️️️ Посмотреть программу и записаться
Бесплатная консультация @CodebyAcademyBot
«Основы информационной безопасности» в Академии Codeby — вводная практическая программа для первого системного шага.
За 5 месяцев в рамках программы курса вы научитесь:
Преподаватель-практик из ИБ проверяет ДЗ и отвечает на вопросы.
Старт курса 20 июля
Бесплатная консультация @CodebyAcademyBot
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
Совет по Python: как vars() “раскрывает” атрибуты объекта
Функция
Когда это особенно полезно?
Когда нужно быстро увидеть текущие значения всех атрибутов объекта (без принудительного вывода каждого вручную).
При преобразовании экземпляров классов в словари – например, в API-ответах или при сохранении в JSON.
Для динамической работы с атрибутами: можно программно проанализировать, модифицировать или фильтровать их.
Обратите внимание:
Если использовать его на объектах без
Отлично отражает дух Python — коротко, читаемо и эффективно. Особенно полезен, если хочется «зазеркалить» состояние объекта без лишнего кода
✈️ Python Ninja
Функция
vars(obj) возвращает внутренний словарь __dict__ объекта – то есть все публичные атрибуты экземпляра класса и их значения. Это универсальный способ получить «срез» состояния объекта: удобно для отладки, логирования, сериализации в JSON и других задач.Когда это особенно полезно?
Когда нужно быстро увидеть текущие значения всех атрибутов объекта (без принудительного вывода каждого вручную).
При преобразовании экземпляров классов в словари – например, в API-ответах или при сохранении в JSON.
Для динамической работы с атрибутами: можно программно проанализировать, модифицировать или фильтровать их.
Обратите внимание:
vars() работает только с объектами, у которых есть атрибут __dict__ (стандартные экземпляры классов, модули, классы)Если использовать его на объектах без
__dict__ (например, на строке, числе или объектах с __slots__) возникнет TypeErrorОтлично отражает дух Python — коротко, читаемо и эффективно. Особенно полезен, если хочется «зазеркалить» состояние объекта без лишнего кода
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Наткнулся на хороший гайд: как ускорить Python до 150× с помощью C
Эта статья отличный учебный пример, как постепенно интегрировать C-код в Python. Автор показывает три подхода:
На примере алгоритма Левенштейна продемонстрированы реальные бенчмарки — и выигрыш в скорости может быть вплоть до 150×
Если вы изучаете оптимизацию кода, системную разработку или просто хотите лучше понимать, как языки взаимодействуют — этот материал будет очень полезен💯
☝️ Ссылка источник
✈️ Python Ninja
Эта статья отличный учебный пример, как постепенно интегрировать C-код в Python. Автор показывает три подхода:
🔄 запуск с помощью subprocess🔄 использование ctypes🔄 интеграция C-кода через CPython API
На примере алгоритма Левенштейна продемонстрированы реальные бенчмарки — и выигрыш в скорости может быть вплоть до 150×
Если вы изучаете оптимизацию кода, системную разработку или просто хотите лучше понимать, как языки взаимодействуют — этот материал будет очень полезен
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Трюк в Python: Последовательность Фибоначчи
Классический способ
Вывод:
В первом способе используются переменные
Компактный способ (с использованием list comprehension)
Вывод:
Второй способ короче и использует list comprehension. Создается начальный список
✈️ Python Ninja
Классический способ
f1 = 0
f2 = 1
fib = []
for i in range(0, 10):
fib.append(f1)
temp = f1 + f2
f1 = f2
f2 = temp
print(fib)
Вывод:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]В первом способе используются переменные
f1 и f2, которые изначально равны 0 и 1 — первым двум числам последовательности. В цикле for текущее значение f1 добавляется в список fib, после чего вычисляется следующее число как сумма f1 и f2. Затем значения переменных обновляются: f1 принимает значение f2, а f2 — вычисленную сумму. Этот процесс повторяется 10 раз, в результате чего формируется список из первых 10 чисел ФибоначчиКомпактный способ (с использованием list comprehension)
fib = [0, 1]
[fib.append(fib[-2] + fib[-1]) for _ in range(8)]
print(fib)
Вывод:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]Второй способ короче и использует list comprehension. Создается начальный список
fib = [0, 1], а затем в цикле 8 раз (поскольку первые два числа уже заданы) добавляется новое число, равное сумме двух последних элементов списка (fib[-2] + fib[-1]). Таким образом, list comprehension модифицирует список "на лету", добавляя очередное число Фибоначчи на каждой итерацииPlease open Telegram to view this post
VIEW IN TELEGRAM
❤4
Не учите ML, прыгая по случайным туториалам.
DS-ML Bootcamp — это публичный репозиторий курса по Data Science и машинному обучению для начинающих, которые хотят структурированный путь от нуля до практических проектов.
Он помогает перейти от установки и концепций к практической ML-работе, организуя уроки, задания, примеры кода, датасеты и решения вокруг основного воркфлоу машинного обучения.
Ключевые возможности:
- Сквозной воркфлоу — охватывает сбор данных, предобработку, разбиение на train/test, выбор модели, обучение, оценку и развёртывание
- Структура по урокам — начинается с инструментов/настройки, Data Science, ML, основ данных и регрессии
- Практические материалы — задания дают учащимся структурированные задачи, а не только чтение конспектов
- Код + датасеты — примеры на Python и сырые CSV-датасеты включены для упражнений
- Настройка для повторения — в README сказано, что можно клонировать репозиторий и использовать Jupyter или VS Code, параллельно просматривая уроки
Бесплатный публичный репозиторий на GitHub.
✈️ Python Ninja
DS-ML Bootcamp — это публичный репозиторий курса по Data Science и машинному обучению для начинающих, которые хотят структурированный путь от нуля до практических проектов.
Он помогает перейти от установки и концепций к практической ML-работе, организуя уроки, задания, примеры кода, датасеты и решения вокруг основного воркфлоу машинного обучения.
Ключевые возможности:
- Сквозной воркфлоу — охватывает сбор данных, предобработку, разбиение на train/test, выбор модели, обучение, оценку и развёртывание
- Структура по урокам — начинается с инструментов/настройки, Data Science, ML, основ данных и регрессии
- Практические материалы — задания дают учащимся структурированные задачи, а не только чтение конспектов
- Код + датасеты — примеры на Python и сырые CSV-датасеты включены для упражнений
- Настройка для повторения — в README сказано, что можно клонировать репозиторий и использовать Jupyter или VS Code, параллельно просматривая уроки
Бесплатный публичный репозиторий на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5