🔥 Один из лучших обучающих курсов на StepiK по SQL
SQL можно знать годами и всё равно теряться, когда запрос внезапно начинает тормозить в проде.
Этот курс про уровень, где ты не просто пишешь SELECT, а понимаешь, что происходит внутри MySQL, почему запрос работает медленно и как ускорить его без новых проблем. Здесь разбираются EXPLAIN, индексы, CTE, оконные функции, транзакции, аналитические паттерны, legacy SQL и работа с AI-ассистентами.
Каждый урок - с практикой и реальными SQL-задачами на MySQL 8 с автопроверкой.
После курса ты сможешь увереннее разбирать чужой код, находить узкие места и предлагать решения, которые действительно работают.
Для подписчиков скидка - 49% в течение 2 суток: https://stepik.org/a/298827/
SQL можно знать годами и всё равно теряться, когда запрос внезапно начинает тормозить в проде.
Этот курс про уровень, где ты не просто пишешь SELECT, а понимаешь, что происходит внутри MySQL, почему запрос работает медленно и как ускорить его без новых проблем. Здесь разбираются EXPLAIN, индексы, CTE, оконные функции, транзакции, аналитические паттерны, legacy SQL и работа с AI-ассистентами.
Каждый урок - с практикой и реальными SQL-задачами на MySQL 8 с автопроверкой.
После курса ты сможешь увереннее разбирать чужой код, находить узкие места и предлагать решения, которые действительно работают.
Для подписчиков скидка - 49% в течение 2 суток: https://stepik.org/a/298827/
❤2👍1🔥1
🐍 Python: как найти изменённое поле во вложенном словаре
Сравнение
Результат:
Библиотека находит изменения значений и типов, добавленные и удалённые элементы. Работает со вложенными словарями, списками и другими объектами.
Полезно для сравнения ответов API, конфигураций и результатов обработки данных. Можно исключать отдельные поля через
Установка:
Документация - https://zepworks.com/deepdiff/current/
Сравнение
before == after покажет, равны ли объекты. DeepDiff покажет, где именно они отличаются, включая старое и новое значения.
from deepdiff import DeepDiff
before = {"user": {"name": "Egor", "level": 3}}
after = {"user": {"name": "Egor", "level": 4}}
print(DeepDiff(before, after))
Результат:
{
"values_changed": {
"root['user']['level']": {
"old_value": 3,
"new_value": 4
}
}
}
Библиотека находит изменения значений и типов, добавленные и удалённые элементы. Работает со вложенными словарями, списками и другими объектами.
Полезно для сравнения ответов API, конфигураций и результатов обработки данных. Можно исключать отдельные поля через
exclude_paths и игнорировать порядок элементов через ignore_order=True.Установка:
pip install deepdiffДокументация - https://zepworks.com/deepdiff/current/
👍8
📚 Бесплатная книга по математике для Computer Science и Machine Learning - более 2200 страниц
Жан Галлье и Джоселин Куэйнтанс собрали в одном учебнике алгебру, топологию, дифференциальное исчисление и теорию оптимизации.
Материал для тех, кто хочет глубже разобраться в математической основе алгоритмов и машинного обучения. Книга на английском, полная рукопись доступна бесплатно в PDF.
https://www.cis.upenn.edu/~jean/gbooks/geomath.html
Жан Галлье и Джоселин Куэйнтанс собрали в одном учебнике алгебру, топологию, дифференциальное исчисление и теорию оптимизации.
Материал для тех, кто хочет глубже разобраться в математической основе алгоритмов и машинного обучения. Книга на английском, полная рукопись доступна бесплатно в PDF.
https://www.cis.upenn.edu/~jean/gbooks/geomath.html
👍2
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
Во второе поколение семейства вошли две модели - Arrow 2 и флагманская Arrow 2 Telos.
Обновление принесло скорость генерации, улучшенную геометрию и композицию. В готовом файле стало меньше опорных точек, меньше лишних узлов и перекрывающихся контуров, а отступы и выравнивание элементов держатся без дополнительных инструкций в промптах.
Telos добавляет доработку возможностями топовых языковых моделей.
QuiverAI советует брать Arrow 2, когда важны скорость и цена за одно изображение, а Telos - под сложные брифы.
Разделения моделей по тарифам в описании планов нет. Предлагаются подписки Go (8 долларов в месяц), Basic (20), Pro (40), плюс корпоративный план по запросу.
Для Go есть 14-дневный пробный доступ с привязкой карты. В тарифы входит недельная квота, которая обнуляется по понедельникам и не переносится, перерасход списывается с баланса.
API тарифицируется отдельно и тоже требует предоплаты.
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Открытый инструмент для домашней лаборатории, офиса или нескольких филиалов. Собирает сведения об устройствах в одном веб-интерфейсе и помогает заметить неизвестное оборудование.
Что умеет:
— Обнаруживать устройства через ARP-сканирование, DHCP, Pi-hole, UniFi и SNMP.
— Отслеживать подключения, отключения и изменения IP-адресов.
— Отправлять уведомления в Telegram через Apprise, а также в ntfy, Pushover и другие сервисы.
— Объединять данные из разных VLAN и удалённых сетей через распределённые узлы Sync Nodes.
— Передавать события в Home Assistant, запускать автоматизации через вебхуки и экспортировать метрики в Prometheus.
Разворачивается на своём сервере, в том числе через Docker. По умолчанию данные хранятся локально; внешняя передача появляется при настройке уведомлений и интеграций.
https://github.com/netalertx/NetAlertX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Как правильно получить случайное число в Python
Если нужен диапазон от 1 до 100 включительно, используйте:
Можно импортировать функцию напрямую:
Второй вариант просто короче, но не делает код «профессиональнее».
Для паролей, токенов и других задач безопасности используйте
Если нужен диапазон от 1 до 100 включительно, используйте:
import random
x = random.randint(1, 100)
Можно импортировать функцию напрямую:
from random import randint
x = randint(1, 100)
Второй вариант просто короче, но не делает код «профессиональнее».
int(random.random() * 100) возвращает числа от 0 до 99, поэтому пример на изображении даёт другой диапазон.Для паролей, токенов и других задач безопасности используйте
secrets:
import secrets
x = secrets.randbelow(100) + 1
👍10❤2😁1
Визуализация данных на Python: 10 лучших примеров с кодом
Визуализация данных на Python - один из самых быстрых способов понять, что происходит в данных. Один удачный график заменяет десятки строк df.describe(): сразу видны тренды, выбросы, корреляции и аномалии.
В этой статье собраны 10 лучших примеров визуализации данных на Python с готовым кодом на Matplotlib, Seaborn и Plotly. Все примеры используют открытые учебные датасеты, поэтому их можно запустить в Jupyter Notebook или Google Colab без подготовки данных.
https://uproger.com/vizualizaciya-dannyh-na-python-10-primerov/
Визуализация данных на Python - один из самых быстрых способов понять, что происходит в данных. Один удачный график заменяет десятки строк df.describe(): сразу видны тренды, выбросы, корреляции и аномалии.
В этой статье собраны 10 лучших примеров визуализации данных на Python с готовым кодом на Matplotlib, Seaborn и Plotly. Все примеры используют открытые учебные датасеты, поэтому их можно запустить в Jupyter Notebook или Google Colab без подготовки данных.
https://uproger.com/vizualizaciya-dannyh-na-python-10-primerov/
👍5❤2🔥2
Octop - open-source платформа, где можно запускать сразу несколько AI-агентов для себя, семьи или команды, при этом все данные остаются на вашей машине.
Главное:
- multi-user + multi-agent архитектура;
- Web UI, CLI, Telegram, Feishu, DingTalk, QQ, WeCom;
- собственная память для каждого workspace;
- RAG по вашим документам;
- browser automation через headless Chromium;
- удалённый рабочий стол и управление GUI;
- cron-задачи на естественном языке;
- интеграция с Claude Code и OpenCode через ACP;
- MCP/OAuth connectors и система плагинов;
- SQLite по умолчанию, PostgreSQL опционально.
GitHub - https://github.com/TencentCloud/Octop
Главное:
- multi-user + multi-agent архитектура;
- Web UI, CLI, Telegram, Feishu, DingTalk, QQ, WeCom;
- собственная память для каждого workspace;
- RAG по вашим документам;
- browser automation через headless Chromium;
- удалённый рабочий стол и управление GUI;
- cron-задачи на естественном языке;
- интеграция с Claude Code и OpenCode через ACP;
- MCP/OAuth connectors и система плагинов;
- SQLite по умолчанию, PostgreSQL опционально.
GitHub - https://github.com/TencentCloud/Octop
❤4
Миниатюра из фотографии за 4 строки Python 🐍
Pillow уменьшит фото до размера не больше 128 × 128 пикселей, сохранив пропорции. Если исходник меньше, увеличивать его не будет.
Установить библиотеку:
*На картинке в
from PIL import Image
with Image.open("my_image.jpg") as image:
image.thumbnail((128, 128))
image.save("thumbnail.jpg")
Pillow уменьшит фото до размера не больше 128 × 128 пикселей, сохранив пропорции. Если исходник меньше, увеличивать его не будет.
Установить библиотеку:
pip install Pillow*На картинке в
save() указана переменная thumbnail_path, но она не объявлена. В примере выше это исправлено.*❤5
Forwarded from Machinelearning
Стартап Synthetic Sciences из зимнего набора Y Combinator 2026 года вывел на Product Hunt OpenScience – открытую рабочую среду с ИИ-агентом для научных исследований.
Сам агент компания выложила ещё в июле, а главное из обновления – режим Autoresearch, в котором агент без участия человека ставит серию экспериментов и улучшает заданную метрику.
OpenScience ведёт исследование целиком, от обзора литературы и гипотезы до кода, эксперимента, анализа и текста статьи.
Агенту доступны 295 встроенных навыков, от обучения моделей до молекулярной биологии, хемоинформатики и вёрстки в LaTeX, и около сорока научных баз, среди них UniProt, PDB, ChEMBL, PubChem, arXiv и Semantic Scholar.
В Autoresearch задачу ставят обычными словами, например - снизить функцию потерь на валидационной выборке, остановить работу через час или при выходе метрики на плато и закончить после 20 запусков или 8 часов.
Агент сначала запускает базовый вариант, затем по очереди проверяет идеи, отсортированные по ожидаемой пользе, и по каждому запуску решает, сохранить изменение или откатить.
Чтобы цикл не затроил, после четырёх стартов без прогресса агент переключается на идеи другого типа, плюс каждые шесть запусков пересматривает подход.
Ход работы записывается в файлы с постановкой задачи, очередью идей, таблицей результатов и выводами.
Среда собрана как настольное приложение с деревом файлов, редактором, терминалом и просмотрщиками молекул, структур и геномов.
Модель выбирается, подойдут собственные ключи Anthropic, OpenAI, Google и других провайдеров, вход по подписке ChatGPT или Codex, локальные модели и фирменный сервис Ace.
Эксперименты запускаются локально, по SSH, в кластере под Slurm или PBS или в облаке Modal. Метрики собирает встроенный трекер, скрипты под wandb работают с ним без переделки.
На Terminal-Bench Science агент решил 53 задачи из 70, это 75,7%.
В этом тесте OpenScience управляла GPT-6 Astra с GPT-6 Sol в роли исполнителей, на задачу давали 8 часов и одну попытку.
Лучший результат в таблице Snorkel – 68,1% у Codex с GPT-6 Astra, у Claude Code с Opus 5.5 там 63,3%.
В научной части Terminal-Bench 4.0 агент решил 10 задач из 14 против 60% у Claude Code с Fable 5.1, на BiomniBench-DA набрал 82,2 балла против 81,04 у aipoch.
@ai_machinelearning_big_data
#AI #ML #Agents #AiScientist #Bioinformatics #OpenScience
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥2
🔥 Почему Python-библиотеки всё чаще пишут критичные части на Rust
Например, Pydantic v2 использует pydantic-core, написанный на Rust. Связка работает через PyO3: Rust-функции компилируются в нативную библиотеку, после чего Python импортирует её как обычный модуль.
Но есть интересный нюанс: ускорить сам алгоритм недостаточно.
При возврате большого результата Rust должен превратить свои структуры в Python dict, list, str, float и другие объекты. Для больших данных эта конвертация может занимать больше времени, чем сама обработка в Rust.
Главный вывод: если переносите горячий код Python на Rust через PyO3, профилируйте не только вычисления, но и границу между двумя языками.
Иногда именно она съедает весь выигрыш в производительности.
https://belderbos.dev/blog/how-libraries-run-rust-inside-python/
Например, Pydantic v2 использует pydantic-core, написанный на Rust. Связка работает через PyO3: Rust-функции компилируются в нативную библиотеку, после чего Python импортирует её как обычный модуль.
Но есть интересный нюанс: ускорить сам алгоритм недостаточно.
При возврате большого результата Rust должен превратить свои структуры в Python dict, list, str, float и другие объекты. Для больших данных эта конвертация может занимать больше времени, чем сама обработка в Rust.
Главный вывод: если переносите горячий код Python на Rust через PyO3, профилируйте не только вычисления, но и границу между двумя языками.
Иногда именно она съедает весь выигрыш в производительности.
https://belderbos.dev/blog/how-libraries-run-rust-inside-python/
👍4❤2🔥2