Курс по Docker, написанный программистами для программистов. Мы выкинули историю контейнеризации и скучную теорию.
Вместо этого жесткая практика: ментальные модели через ООП, анатомия Linux-процессов, написание Dockerfile, docker-compose и подготовка к продакшену.
Экономь время: учись только тому, что реально используется в индустрии
https://uproger.com/docker-bolshoj-ischerpyvayushhij-kurs-glava-1-arhitektura-ponyatiya-i-pervyj-zapusk/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует новогодняя скидка в 40% процентов
👉 Начать учиться на Stepik
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует новогодняя скидка в 40% процентов
👉 Начать учиться на Stepik
❤4👍2🥰1
Идея: не просто добавить индекс на один столбец, а так подобрать порядок полей, чтобы запрос вообще не ходил в таблицу, а читал всё из индекса. Это даёт огромный буст на "горячих" таблицах.
Допустим, у тебя часто есть такой запрос:
SELECT
id,
created_at,
total_amount
FROM orders
WHERE user_id = 123
AND status = 'paid'
ORDER BY created_at DESC
LIMIT 20;
Типичная ошибка - делать что-то вроде:
CREATE INDEX idx_orders_user ON orders (user_id);
CREATE INDEX idx_orders_status ON orders (status);
CREATE INDEX idx_orders_created ON orders (created_at);
Планировщику всё равно приходится лазить в таблицу и склеивать условия. Гораздо эффективнее один правильный составной индекс:
CREATE INDEX idx_orders_user_status_created_at
ON orders (user_id, status, created_at DESC)
INCLUDE (total_amount);
Почему это полезно:
user_id, status - фильтруют строки
created_at DESC - сразу даёт нужный порядок для ORDER BY ... DESC
INCLUDE (total_amount) - позволяет взять сумму прямо из индекса
В результате PostgreSQL (и другие СУБД с подобной механикой) могут сделать index-only scan: прочитать подходящие строки в нужном порядке из одного индекса и почти не трогать основную таблицу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ ИИ для SQL: пусть он объяснит «почему запрос тормозит»
Профессиональный лайфхак:
не проси ИИ «оптимизировать запрос» вслепую.
Вместо этого — давай ему EXPLAIN / EXPLAIN ANALYZE и структуру таблиц.
ИИ отлично умеет:
- разбирать план выполнения
- находить узкие места (Seq Scan, лишние JOIN, сортировки)
- предлагать индексы и переписывание запроса по факту, а не наугад
Алгоритм простой:
1️⃣ запускаешь EXPLAIN ANALYZE
2️⃣ прикладываешь схему таблиц
3️⃣ спрашиваешь: *где bottleneck и что бы ты поменял?*
Так ты получаешь не магию, а обоснованные рекомендации с пониманием, зачем они нужны.
https://www.youtube.com/shorts/LcLMwpVMKNQ
Профессиональный лайфхак:
не проси ИИ «оптимизировать запрос» вслепую.
Вместо этого — давай ему EXPLAIN / EXPLAIN ANALYZE и структуру таблиц.
ИИ отлично умеет:
- разбирать план выполнения
- находить узкие места (Seq Scan, лишние JOIN, сортировки)
- предлагать индексы и переписывание запроса по факту, а не наугад
Алгоритм простой:
1️⃣ запускаешь EXPLAIN ANALYZE
2️⃣ прикладываешь схему таблиц
3️⃣ спрашиваешь: *где bottleneck и что бы ты поменял?*
Так ты получаешь не магию, а обоснованные рекомендации с пониманием, зачем они нужны.
пример «правильного» запроса к ИИ с реальными данными
-- запрос
SELECT *
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at > NOW() - INTERVAL '30 days'
AND c.country = 'US'
ORDER BY o.created_at DESC
LIMIT 100;
-- план выполнения
EXPLAIN ANALYZE
SELECT ...
-- (сюда вставь полный план: Seq Scan / Index Scan / сортировки и т.п.)
-- схема таблиц (важно!)
\d orders
\d customers
-- вопрос ИИ:
"Разбери план выполнения.
Где узкие места?
Нужны ли индексы и какие именно?
Можно ли переписать запрос быстрее, не меняя логику?"
https://www.youtube.com/shorts/LcLMwpVMKNQ
🔥16❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🐳 Как запустить DeepSeek у себя на ПК через Python
Главная ошибка новичков - сразу ставить огромные модели.
Начни с компактной версии, проверь, что всё запускается, и только потом увеличивай размер.
Алгоритм простой:
1) ставим зависимости
2) качаем лёгкую модель DeepSeek
3) проверяем, что она отвечает
4) при необходимости включаем GPU или берём квантизованную версию
Так ты избежишь вылетов, перегрузки памяти и быстрее получишь рабочий результат.
https://uproger.com/kak-zapustit-deepseek-u-sebya-na-pk/
Главная ошибка новичков - сразу ставить огромные модели.
Начни с компактной версии, проверь, что всё запускается, и только потом увеличивай размер.
Алгоритм простой:
1) ставим зависимости
2) качаем лёгкую модель DeepSeek
3) проверяем, что она отвечает
4) при необходимости включаем GPU или берём квантизованную версию
Так ты избежишь вылетов, перегрузки памяти и быстрее получишь рабочий результат.
установить зависимости
pip install transformers accelerate torch sentencepiece
# пример запуска DeepSeek из Python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "deepseek-ai/deepseek-coder-6.7b-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto" # если есть GPU — модель сама её использует
)
prompt = "Напиши на Python функцию, которая проверяет, простое ли число."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=160,
temperature=0.4
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
https://uproger.com/kak-zapustit-deepseek-u-sebya-na-pk/
❤6👍4🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Отменяем все мемы про дроп базы
😁11👍8❤4🔥2⚡1
Прокачай навыки на задачах, которые встречаются в реальной работе.
Бот в Telegram помогает тренироваться каждый день: задания обновляются, сложность растёт, а ошибки разбираются.
✔ практические кейсы
✔ удобный эмулятор работы Аналитика бесплатно
✔ пополняем задачами с реальных собеседований
✔ собираем фидбек и улучшаем тренажёр вместе с вами
Готов работать с данными уверенно? Попробуй симулятор и расти как аналитик.
t.me/Analitics_databot
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6❤4
Бесплатный курс по Claude Code от Anthropic.
Внутри 15 лекций примерно по часу каждая. Обещают, что за это время ты разберёшься:
• как эффективно управлять контекстом и не «тратить» токены зря
• как расширять Claude Code через MCP-серверы
• как писать собственные хуки
• как подключать GitHub и автоматизировать ревью и рутинные задачи
В конце — дают сертификат вайбкодера, который можно показать маме 😁
Курс - хороший способ быстро понять, как превращать Claude Code из просто помощника в полноценного рабочего инструмента.
https://anthropic.skilljar.com/claude-code-in-action
Внутри 15 лекций примерно по часу каждая. Обещают, что за это время ты разберёшься:
• как эффективно управлять контекстом и не «тратить» токены зря
• как расширять Claude Code через MCP-серверы
• как писать собственные хуки
• как подключать GitHub и автоматизировать ревью и рутинные задачи
В конце — дают сертификат вайбкодера, который можно показать маме 😁
Курс - хороший способ быстро понять, как превращать Claude Code из просто помощника в полноценного рабочего инструмента.
https://anthropic.skilljar.com/claude-code-in-action
❤3👍1💊1