This media is not supported in your browser
VIEW IN TELEGRAM
Используй tenacity для Retry с экспоненциальной задержкой в Python!
Сохрани себе: для повторных попыток (retry) с экспоненциальной задержкой в Python можно использовать библиотеку
Сохрани себе: для повторных попыток (retry) с экспоненциальной задержкой в Python можно использовать библиотеку
tenacity. Это удобно для работы с нестабильными API, так как она позволяет легко настраивать количество попыток, задержку и её увеличение при каждой неудаче.
import requests
from tenacity import retry, wait_exponential
@retry(wait=wait_exponential(multiplier=1, min=2, max=10), stop=stop_after_attempt(5))
def fetch_data(url):
response = requests.get(url)
response.raise_for_status() # Вызывает исключение для ошибок 4xx/5xx
return response.json()
data = fetch_data("https://example.com/api/data")
print(data)
❤4👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Используй декоратор для отслеживания времени выполнения функций.
Для точного измерения времени выполнения различных частей вашего кода используйте
Для точного измерения времени выполнения различных частей вашего кода используйте
time.perf_counter(), который обеспечивает более высокую точность. Создайте декоратор для автоматического отслеживания времени выполнения функций. Это поможет быстро выявить узкие места в вашем коде.
import time
def time_tracker(func):
def wrapper(*args, **kwargs):
start_time = time.perf_counter()
result = func(*args, **kwargs)
end_time = time.perf_counter()
duration = end_time - start_time
print(f"Функция '{func.__name__}' выполнилась за {duration:.6f} секунд")
return result
return wrapper
@time_tracker
def slow_function():
time.sleep(2)
slow_function()
❤4🔥2👍1
Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Файлы по 10 ГБ - Python всё ещё справится, если не грузить всё в память
Главная ошибка новичка - сделать read() и удивляться, почему всё упало. Для больших файлов думай потоками: читаем кусками, обрабатываем по строкам, пишем сразу в новый файл. Так память почти не растёт, а код спокойно переваривает десятки гигабайт.
Что использовать:
Итерацию по строкам - файл читается лениво
Буферизацию - чтобы не делать миллион мелких операций записи
Потоковую запись - результат сразу на диск
gzip на лету - читаем и пишем сжатые файлы без распаковки в RAM
Главная ошибка новичка - сделать read() и удивляться, почему всё упало. Для больших файлов думай потоками: читаем кусками, обрабатываем по строкам, пишем сразу в новый файл. Так память почти не растёт, а код спокойно переваривает десятки гигабайт.
Что использовать:
Итерацию по строкам - файл читается лениво
Буферизацию - чтобы не делать миллион мелких операций записи
Потоковую запись - результат сразу на диск
gzip на лету - читаем и пишем сжатые файлы без распаковки в RAM
import gzip
src = "big.log.gz"
dst = "filtered.log.gz"
with gzip.open(src, "rt", encoding="utf-8", errors="ignore") as fin,
gzip.open(dst, "wt", encoding="utf-8") as fout:
for line in fin: # ленивое чтение строк
if "ERROR" in line: # любая ваша фильтрация
fout.write(line) # потоковая запись на диск
fout.write("\n") # просто пример финальной записи
fout.write("done\n")
❤3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ
Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».
Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений.
Правильный подход - сначала контейнерная база, потом разработка.
Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.
Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.
Docker - это фундамент проекта, а не финальный штрих.
- https://www.youtube.com/shorts/1q4ceKg1wAA
Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».
Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений.
Правильный подход - сначала контейнерная база, потом разработка.
Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.
Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.
Docker - это фундамент проекта, а не финальный штрих.
Dockerfile (база для Python-проекта)
FROM python:3.12-slim
WORKDIR /app
Сначала зависимости — кеш будет работать правильно
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
Потом код
COPY . .
EXPOSE 8000
HEALTHCHECK CMD curl --fail http://localhost:8000/health
|| exit 1
CMD ["python", "app.py"]
.dockerignore
.git
pycache
venv
node_modules
*.log
docker-compose.yml
version: "3.9"
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env
- https://www.youtube.com/shorts/1q4ceKg1wAA
👍4🔥3😁1
🔥 Бесплатный интенсив по ChatGPT и созданию НЕЙРОСТРУДНИКОВ без опыта программирования🔥
Вы узнаете, как использовать ChatGPT в профессиональных целях, создавать нейросотрудников на заказ и зарабатывать на ИИ от 150.000р в месяц.
Простое понимание основ, без сложного кода!
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Интенсив - максимально простой и доступный, без какого-либо сложного программирования.
Ведущий интенсива - Senior AI-разработчик нейросетей с 2003 года и основатель Университета искусственного интеллекта - Дмитрий Романов.
🤖Присоединяйтесь к нашему бесплатному интенсиву и разберитесь в этой увлекательной теме с нами!
Вы узнаете, как использовать ChatGPT в профессиональных целях, создавать нейросотрудников на заказ и зарабатывать на ИИ от 150.000р в месяц.
Простое понимание основ, без сложного кода!
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Интенсив - максимально простой и доступный, без какого-либо сложного программирования.
Ведущий интенсива - Senior AI-разработчик нейросетей с 2003 года и основатель Университета искусственного интеллекта - Дмитрий Романов.
🤖Присоединяйтесь к нашему бесплатному интенсиву и разберитесь в этой увлекательной теме с нами!
👎3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Обработка исключений при работе с API в Python
Не забывайте об обработке исключений при работе с внешними ресурсами, такими как API или базы данных. Это поможет избежать неожиданных сбоев в работе вашего приложения и упростит отладку.
Не забывайте об обработке исключений при работе с внешними ресурсами, такими как API или базы данных. Это поможет избежать неожиданных сбоев в работе вашего приложения и упростит отладку.
import requests
def fetch_data(url):
try:
response = requests.get(url)
response.raise_for_status() # Проверка на HTTP ошибки
return response.json() # Возвращаем данные в формате JSON
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except requests.exceptions.ConnectionError:
print("Connection error occurred. Please check your internet connection.")
except json.JSONDecodeError:
print("Error decoding JSON response.")
except Exception as err:
print(f"An error occurred: {err}")
data = fetch_data("https://api.example.com/data")
❤2👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Это ломает людям представление о сложности задач. Формат простой: сначала условие на экране, потом включается таймер, ты отправляешь задачу модели, и через пару секунд уже показываешь готовое решение.
Такой контраст "человек думает 20 минут - ИИ думает 3 секунды" вызывает вау-эффект и отлично удерживает внимание. Главное - бери задачу, которую зрители узнают: строки, словари, алгоритмы, обработка данных.
import time
def interview_task(nums):
# Классическая задача: найти два числа, дающих нужную сумму
target = 9
seen = {}
for i, num in enumerate(nums):
diff = target - num
if diff in seen:
return seen[diff], i
seen[num] = i
# Имитация "ИИ думает"
print("Задача отправлена ИИ...")
start = time.time()
result = interview_task([2, 7, 11, 15])
end = time.time()
print("Ответ ИИ:", result)
print("Время решения:", round(end - start, 3), "сек")
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2❤1
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🖥 Машинное обучение : t.me/machinelearning_interview
🖥 ИИ: t.me/ai_machinelearning_big_data
🖥 Python: t.me/pythonl
🖥 Linux: t.me/linuxacademiya
🖥 C++ t.me/cpluspluc
🖥 Docker: t.me/DevopsDocker
🖥 Хакинг: t.me/linuxkalii
🖥 Devops: t.me/DevOPSitsec
👣 Golang: t.me/Golang_google
🖥 Javascript: t.me/javascriptv
🖥 C#: t.me/csharp_ci
🖥 Java: t.me/javatg
🖥 Базы данных: t.me/sqlhub
👣 Rust: t.me/rust_code
🤖 Технологии: t.me/machineint
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
🖥 Chatgpt бот в тг: t.me/Chatgpturbobot
📚 Бесплатные ит-книги: https://xn--r1a.website/addlist/HwywK4fErd8wYzQy
🖥 Подборка по Golang: https://xn--r1a.website/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
📚 Бесплатные ит-книги: https://xn--r1a.website/addlist/HwywK4fErd8wYzQy
⚡️ Лучшие ИИ ресурсы: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Извините, готов рассматривать офферы только от 3000$
😁7🔥5
Forwarded from Machinelearning
Tongyi выложила фундаментальную версию модели семейства Z-Image.
В отличие от ранее выпущенной Turbo, это полновесный трансформер, ориентированный на максимальное качество и управляемость генерации .
Z-Image отлично подходит для дообучения, тренировки LoRA и интеграции с ControlNet.
Модель поддерживает CFG и работу с негативными промптами, генерируя результат за 28–50 шагов.
@ai_machinelearning_big_data
#AI #ML #Diffusion #ZImage #Tongyi
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Найди любого человека в файлах Эпштейна с помощью Python!
Этот репозиторий позволяет проверить, упоминаются ли ваши контакты в открытых судебных документах по делу Эпштейна.
Инструмент анализирует список имён (например, из LinkedIn) и ищет точные совпадения в опубликованных судебных материалах. В результате вы получаете удобный HTML-отчёт со всеми найденными упоминаниями.
Что умеет:
- Поиск по базе судебных документов
- Сортировка упоминаний по количеству
- Генерация наглядного HTML-отчёта
- Работа с файлами контактов (CSV)
Проверь своего друга, не был ли он замечен на печально известном острове.
https://github.com/cfinke/EpsteIn
Этот репозиторий позволяет проверить, упоминаются ли ваши контакты в открытых судебных документах по делу Эпштейна.
Инструмент анализирует список имён (например, из LinkedIn) и ищет точные совпадения в опубликованных судебных материалах. В результате вы получаете удобный HTML-отчёт со всеми найденными упоминаниями.
Что умеет:
- Поиск по базе судебных документов
- Сортировка упоминаний по количеству
- Генерация наглядного HTML-отчёта
- Работа с файлами контактов (CSV)
Проверь своего друга, не был ли он замечен на печально известном острове.
Клонируем репозиторий
git clone https://github.com/cfinke/EpsteIn.git
cd EpsteIn
Установка зависимостей
pip install -r requirements.txt
Подготовьте CSV-файл с именами (по одному имени в строке)
example.csv:
Oleg Petrov
Nikolay Sobolev
Запуск анализа
python epstein.py example.csv
После выполнения будет создан HTML-отчет с найденными совпадениями
https://github.com/cfinke/EpsteIn
❤3👍2👎1😁1