Python RU
13.3K subscribers
945 photos
61 videos
39 files
1.19K links
Все для python разработчиков

админ - @notxxx1

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
🖥 Полный гайд по реальным SQL-вопросам с собеседований

Введение. Собеседования на позиции, связанные с данными (аналитики, инженеры, ученые данных), всё чаще включают нестандартные и продвинутые вопросы по SQL.

Большие технологические компании (Google, Amazon и др.) предъявляют высокие требования: важна не только правильность запроса, но и умение оптимизировать его и разбираться в реальных бизнес-данных.

В этом гайде мы разберем категории наиболее распространенных сложных SQL-задач с реальных собеседований – от платформ вроде DataLemur, LeetCode, StrataScratch – и подробно поясним решения.

Каждая задача сопровождена анализом: условие, оптимальный подход, используемые SQL-конструкции, возможные ошибки и финальное решение (для PostgreSQL и MySQL, с указанием различий где необходимо).

В конце добавлен отдельный раздел о современных базах данных, включая векторные БД (Pinecone, Weaviate, Milvus и др.), с примерами того, что могут спросить про них на собеседовании и как выглядят SQL-подобные запросы для работы с векторами.

📌 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2🥰1
Forwarded from Machinelearning
⚡️ Qwen-ASR Toolkit — мощный Python CLI для быстрой транскрипции длинных аудио и видео

Эта утилита снимает ограничение API Qwen-ASR (бывший Qwen3-ASR-Flash) в 3 минуты и позволяет расшифровывать часы контента. Достигается это за счёт умного разбиения записи и параллельной обработки.

Основные возможности:
- Снятие лимита в 3 минуты - транскрибируй файлы любой длины
- Умное разбиение (VAD - это технология, которая определяет, где в аудио есть речь, а где — пауза или шум.) - деление по естественным паузам, без
- Высокая скорость - многопоточность и параллельные запросы к API
- Автоматический ресемплинг — конвертация в нужный формат 16kHz mono
- Поддержка любых форматов — MP4, MOV, MKV, MP3, WAV, M4A и др.
- Простота - запуск одной командой через CLI

🟢 Установка:


pip install qwen3-asr-toolkit


🔗 GitHub: https://github.com/QwenLM/Qwen3-ASR-Toolkit

@ai_machinelearning_big_data


#asr #speech2text #qwen #opensource #nlp #toolki
Please open Telegram to view this post
VIEW IN TELEGRAM
3
«Я в режиме реального времени поясняла структуру запросов / ответов в Postman и разбирала документацию в Swagger», — пишет аналитик, который прошел наш курс, а потом два технических собеседования в международные компании. Приятно, конечно ❤️

Если в 2025 году вы хотите:
— научиться выбирать стиль интеграции под вашу задачу;
— начать проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и других, + брокеры сообщений);
— узнать как правильно собирать требования и моделировать в UML;
— подготовиться к собеседованию, решив более 100 заданий;
— запустить свой API на Python.

Значит наш курс для вас!

🚀 Начните с открытых бесплатных
уроков — переходите в бот курса и жмите «Старт»
👇
@studyit_help_bot

🚀 Скидка на курс
от канала — 1 000₽ на Stepik по промокоду PROPYT до конца сентября.
3👎1🤯1
🖥 Как сгенерировать QR-код с помощью Python

Все очень просто:


import qrcode

qr = qrcode.make("https://uproger.com/")
qr.save("qr_code.png")


Такой подход удобно использовать для:
— ссылок и лендингов
— Wi-Fi-паролей
— визиток / контактных данных
— быстрых ссылок в своих приложениях
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
🔞 Если у тебя есть девушка, ты обязан знать об этом боте

🔞 Ссоры с девушкой выносят мозг?

Я нашел бота-психолога, которого можно встроить прямо в твой чат с девушкой!

Теперь когда тебе начинают выносить мозги — просто пиши "бот помоги" и получай:

Объективный анализ ссоры/конфликта
Кто действительно прав и виноват
Конкретные шаги к примирению и детальные упражнения
Оценку и показатели ссоры:

📈 ПОКАЗАТЕЛИ ССОРЫ

🏆 "НАГРАДА ЗА ССОРУ"
🤡 Поздравляем, вы получаете Оскар за Драматизацию! Фраза «Ты слишком недалёкий» унесла вас в топ эмоциональных штормов. Совет: замените на «Мне нужна твоя поддержка». Покажите награду в сторис!

📊 КАРТОЧКА-РЕЗУЛЬТАТ ССОРЫ
💩 ВАШ КОНФЛИКТ НА:
- 50% — непрожитая боль 😢
- 25% — защита самооценки 🛡
- 15% — избегание близости 🏃‍♂️
- 10% — реальные проблемы 🧠


Просто перешли боту ссору с девушкой или встрой его в ваш чат 👉 @ai_psycholover_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 no-code база данных, которая сама превращает SQL в Airtable-стиль интерфейс

Что умеет:
- Подключается к MySQL, Postgres, SQLite, MSSQL и сразу показывает данные в виде удобных таблиц
- Делает представления: таблицы, календари, канбан, формы, Гантт
- Генерирует готовые REST и GraphQL API прямо поверх базы
- Делится видами: публично или под паролем, поддерживает загрузку файлов и картинок
- Настраивает роли и доступ до уровня отдельного столбца

Плюс интеграции со Slack, Discord, мессенджерами, почтой и десятками сервисов.

По сути — Airtable, но напрямую поверх твоей базы.

https://github.com/nocodb/nocodb
1
Forwarded from Python/ django
🆕 PDF Arranger — лёгкий и удобный инструмент для работы с PDF.

Возможности:
- Объединение и разделение файлов
- Поворот и обрезка страниц
- Перестановка и удаление страниц
- Интуитивный drag-and-drop интерфейс

💻 Доступен для Linux, Windows (включая портативную версию) и BSD.
Полностью опенсорс (GPL-3.0).

Идеален, если нужно быстро подготовить PDF к печати или презентации — без сложных настроек.

📌 GitHub

#PDF #opensource #Linux #devtools

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
😁7👍31
800+ SQL Server Interview Questions and Answers .pdf
1 MB
🖥 Полезнейший сборник из 800+ вопросов по SQL, которые часто задают на собеседованиях.

Он также включает задачи для самостоятельной работы и множество примеров.

Сборник отлично подходит для тех, кто хочет прокачать свои навыки работы с SQL, освежить знания и проверить свои знания.

GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🖥 Python: как убрать «тысячу мелких пакетов» в TCP и ускорить отправку без Nagle-лагов

Неочевидный, но очень полезный приём для высоконагруженных Python-сервисов, которые пишут в сокет маленькими кусками (заголовки, чанки и т.п.).

Проблема: множество send() приводит к лишним системным вызовам и маленьким TCP-сегментам. Если включён Nagle, мелкие посылки «склеятся», но вы получите задержки (особенно рядом с read()`/`write() пинг-понгом).

Решение: управляем склейкой вручную:
- На Linux используйте флаг MSG_MORE — ядро понимает, что «продолжение следует» и подержит пакет, пока вы не отправите финальный кусок без MSG_MORE.
- Альтернатива — временно включать TCP_CORK: ядро копит данные и шлёт крупным сегментом при снятии «пробки».
- Для передачи файлов после заголовков используйте os.sendfile() — это почти нулевые копирования (zero-copy).

Итого: меньше syscalls, крупнее сегменты, ниже latency-хвост без «магии» Nagle.


import os
import socket
import time
from contextlib import contextmanager

HAS_MSG_MORE = hasattr(socket, "MSG_MORE")
HAS_TCP_CORK = hasattr(socket, "TCP_CORK") # Linux only

@contextmanager
def tcp_cork(sock: socket.socket):
"""Временно включаем TCP_CORK (Linux), чтобы склеить мелкие записи."""
if HAS_TCP_CORK:
try:
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_CORK, 1)
yield
finally:
# Снятие «пробки» — ядро отправит накопленное
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_CORK, 0)
else:
# На не-Linux просто не делаем ничего
yield

def send_with_coalescing(sock: socket.socket, parts: list[bytes]):
"""
Отправляем несколько маленьких кусков как один крупный сегмент.
- Linux: предпочитаем MSG_MORE (проще, не требует cork).
- Иначе: объединяем буфером в памяти как fallback.
"""
if HAS_MSG_MORE:
# Все, кроме последнего, шлём с MSG_MORE
for chunk in parts[:-1]:
# может вернуть меньше; используем sendall для простоты
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1])
elif HAS_TCP_CORK:
# Включаем «пробку», шлём всё, затем снимаем
with tcp_cork(sock):
for chunk in parts:
sock.sendall(chunk)
else:
# Портативный fallback — склеиваем в памяти
sock.sendall(b"".join(parts))

def demo_http_like_response(conn: socket.socket, path_to_file: str | None = None):
# Пример: заголовки и небольшой body
headers = [
b"HTTP/1.1 200 OK\r\n",
b"Content-Type: text/plain\r\n",
b"Connection: close\r\n",
b"\r\n",
]
body = [b"Hello, ", b"world", b"!", b"\n"]

# 1) Заголовки + маленький body — аккуратно склеим
send_with_coalescing(conn, headers + body)

# 2) Большой файл после заголовков — лучше через sendfile (zero-copy)
if path_to_file and os.path.exists(path_to_file):
# В реальном сервере заголовки Content-Length/Type должны соответствовать файлу
with open(path_to_file, "rb") as f:
offset = 0
while True:
sent = os.sendfile(conn.fileno(), f.fileno(), offset, 1 << 20) # 1 MiB
if sent == 0:
break
offset += sent

def simple_server(port=9090, file_to_send=None):
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Хорошая практика для рестартов
srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
srv.bind(("0.0.0.0", port))
srv.listen(128)
print(f"listening on :{port} ...")
while True:
conn, addr = srv.accept()
try:
demo_http_like_response(conn, file_to_send)
finally:
conn.close()

if __name__ == "__main__":
# Запустите и сходите curl'ом: curl -v http://127.0.0.1:9090/
# На Linux увидите меньшую фрагментацию пакетов (ss, tcpdump).
simple_server(port=9090, file_to_send=None)
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2👍1
🕷️ Spyder: универсальный инструмент для OSINT

Spyder — это открытый инструмент для разведки в области открытых данных, который позволяет выполнять поиск по большим глобальным базам данных. Он предоставляет информацию о номерах телефонов, IP-адресах, социальных сетях и многом другом.

🚀Основные моменты:
- Поиск информации по номерам телефонов и IP-адресам
- Доступ к данным из социальных сетей (Facebook, Instagram и др.)
- Поиск по электронной почте и адресам
- Узнайте информацию о доменах и номерных знаках
- Удобный интерфейс для быстрого доступа к данным

📌 GitHub: https://github.com/gumot0/spyder-osint
4👍1🔥1😁1