В статье объясняется, что такое LangChain — фреймворк для работы с большими языковыми моделями (LLM), их интеграцией в приложения и созданием AI-агентов. Рассмотрены базовые компоненты и их применение.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Кажется, что код логичен, но как только начинаешь объяснять его коллеге — сам понимаешь, где каша?
Please open Telegram to view this post
VIEW IN TELEGRAM
Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотите разобраться с WebSocket и написать свой чат с комнатами? Разбираем разницу с HTTP, поднимаем сервер на FastAPI, создаём FullStack-чат и деплоим за пару минут. Всё просто, даже если вы новичок.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает список чисел и возвращает второе наибольшее число. Если в списке меньше двух уникальных чисел, функция должна вернуть
None
.[10, 20, 4, 45, 99]
45
[5, 5, 5]
None
Решение задачи
def find_second_largest(numbers):
# Удаляем дубликаты и сортируем список в порядке убывания
unique_numbers = sorted(set(numbers), reverse=True)
# Если уникальных чисел меньше двух, возвращаем None
return unique_numbers[1] if len(unique_numbers) >= 2 else None
# Пример использования:
print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45
print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
Please open Telegram to view this post
VIEW IN TELEGRAM
• 7 продвинутых приемов pandas для науки о данных
• Красивые картинки на скатерти Улама
• Дообучаем языковую модель GPT2 с помощью Torch
• Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов
• Разбей и властвуй: как создать кастомный токенизатор в SpaCy
Please open Telegram to view this post
VIEW IN TELEGRAM
Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-скрипт, который проверяет доступность указанного веб-сервера и отправляет уведомление на почту, если сервер недоступен. Скрипт должен выполнять проверку каждые 5 минут и отправлять уведомление только один раз, если сервер падает, а затем повторно — только когда сервер снова станет доступен.
•
python monitor.py https://example.com
— проверяет доступность сервера по адресу https://example.com
, отправляет уведомление на почту, если сервер перестаёт отвечать, и повторно уведомляет при восстановлении работы.Решение задачи
import requests
import time
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import sys
# Настройки для отправки уведомлений
SMTP_SERVER = 'smtp.example.com '
SMTP_PORT = 587
EMAIL = '[email protected] '
PASSWORD = 'your-password'
TO_EMAIL = '[email protected] '
# Функция для отправки уведомления
def send_notification(subject, message):
msg = MIMEMultipart()
msg['From'] = EMAIL
msg['To'] = TO_EMAIL
msg['Subject'] = subject
msg.attach(MIMEText(message, 'plain'))
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(EMAIL, PASSWORD)
server.sendmail(EMAIL, TO_EMAIL, msg.as_string())
print(f"Уведомление отправлено: {subject}")
# Функция для проверки доступности сервера
def check_server(url):
try:
response = requests.get(url, timeout=5)
return response.status_code == 200
except requests.RequestException:
return False
# Основная функция мониторинга
def monitor(url):
server_is_down = False
while True:
is_up = check_server(url)
if is_up and server_is_down:
send_notification("Сервер восстановлен", f"Сервер {url} снова доступен.")
server_is_down = False
elif not is_up and not server_is_down:
send_notification("Сервер недоступен", f"Сервер {url} перестал отвечать.")
server_is_down = True
time.sleep(300) # Проверка каждые 5 минут
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Укажите URL сервера для мониторинга.")
sys.exit(1)
url = sys.argv[1]
monitor(url)
Please open Telegram to view this post
VIEW IN TELEGRAM
Python-разработчик (Junior/Middle)
Junior Python Developer
Computer Vision Engineer (Junior/Junior+)
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираемся, как с помощью Python и библиотеки Pillow сделать Telegram-бота, который мгновенно превращает изображения в мемы или стикеры. Отличный инструмент для быстрой и забавной реакции в чатах.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
yield from
в Python и зачем он нужен?В Python
yield from
используется для делегирования генератору, позволяя передавать управление и данные другому генератору без явного цикла for
. Это делает код короче, читабельнее и эффективнее при работе с итераторами.def sub_generator():
yield "Первый"
yield "Второй"
def main_generator():
yield "Начало"
yield from sub_generator() # Делегируем выполнение
yield "Конец"
for item in main_generator():
print(item)
🗣️ yield from sub_generator() передаёт управление sub_generator(), избавляя от явного цикла.
Please open Telegram to view this post
VIEW IN TELEGRAM
SDET Python
•
Python, Selenium•
Уровень дохода не указан | от 1 года опытаQA Automation Engineer (Python)
•
Python, PyTest, SQL, NoSQL, Kafka, GitLab•
Уровень дохода не указан | от 1 года опытаPython developer
•
Python, JavaScript (React), pandas, sklearn, matplotlib, numpy, SQL, PostgreSQL, Cassandra, Git, GitLab•
Уровень дохода не указан | от 1 года опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается о личном опыте создания проекта в программировании. Это не инструкция или руководство, а просто история новичка, который делится своей идеей, потому что подобного проекта он не нашел в сети.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое принимает строку и определяет частоту встречаемости каждого символа в этой строке. Программа должна выводить результаты в консоль и сохранять их в файл
char_count.json
.•
python app.py count "Hello, World!"
— выводит количество каждого символа и сохраняет в char_count.json
.Решение задачи
import json
import sys
from collections import Counter
def count_chars(text):
count = Counter(text)
print(count)
with open('char_count.json', 'w') as f:
json.dump(count, f)
if __name__ == "__main__":
if len(sys.argv) > 1:
count_chars(sys.argv[1])
else:
print("Укажите строку для подсчета символов.")
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь полностью контролировать свои Docker-образы? Мы расскажем, как создать и настроить личный реестр контейнеров, идеально подходящий для твоих задач.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираемся в основах диффузионных моделей: принципы работы, отличия от GAN и автоэнкодеров. В статье три подхода к изучению – теория, практика и продвинутый уровень.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Backend Developer (Python)
•
Python, FastAPI, Django, PostgreSQL•
от 200 000 ₽ | 3–6 летSenior Python Backend Developer
•
Python, Django, FastAPI, PostgreSQL, Docker, Apache Kafka•
от 300 000 ₽ | 3–6 летPython QA Automation Developer
•
Python, Linux, HTTP, TCP, CI/CD•
до 5 000 $ | 1–3 годаPlease open Telegram to view this post
VIEW IN TELEGRAM
• «Снова упала?» Как поднять самооценку и зачем мы сравниваем себя с другими, даже если от этого больно
• Из учителя в QA: мой путь в IT
• Рынок дата-инженеров и прогноз на 2025
• Лидерами рождаются или становятся? Откуда берутся управленцы и лидеры в IT
• Работать или переработать: как победить в себе заядлого удаленщика
Please open Telegram to view this post
VIEW IN TELEGRAM
Поговорим о создании пайплайна для обучения нейросетей, сражающихся на арене. Узнайте, как шаг за шагом построить процесс, и попробуйте обучить собственного чемпиона. Подробности и код на GitHub!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Генераторные выражения — это компактный способ создания итераторов в Python. Они похожи на списковые выражения (list comprehensions), но возвращают по одному элементу за раз, а не создают сразу весь список. Это делает их более эффективными по памяти, особенно для обработки больших объемов данных.
# Списковое выражение — создает весь список в памяти
squared_list = [x**2 for x in range(10)]
print(squared_list) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Генераторное выражение — возвращает по одному значению
squared_gen = (x**2 for x in range(10))
print(next(squared_gen)) # 0
print(next(squared_gen)) # 1
🗣 Генераторные выражения экономят память и могут использоваться для последовательной обработки данных, где полный список не нужен.
Please open Telegram to view this post
VIEW IN TELEGRAM