На картинке — простой пример, как с помощью
FastMCP и SQLAlchemy можно подключить инструмент к базе данных, который по человеческому запросу выводит список всех таблиц.list_tables(), получает список через SQLAlchemyИспользуемые технологии:
FastMCP — для регистрации инструментов и взаимодействия с агентами@mcp.tool — декоратор, позволяющий превращать функции в доступные действия для ИИinspect() из SQLAlchemy — безопасный способ получить метаданные БДИнтерфейс будущего уже здесь — не SQL-запрос, а обычный вопрос на английском.
Please open Telegram to view this post
VIEW IN TELEGRAM
В репозитории собраны шпаргалки (на русском) по Python и не только, разделённые по категориям. Каждая ссылка ведёт к PDF с нужной темой.
Кроме Python, есть материалы по Git, CORS, Docker, API, SQL, CI/CD, Kubernetes и другим темам разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
У вас есть таблица purchases:
purchases (
id SERIAL PRIMARY KEY,
customer_id INT,
purchase_date DATE,
amount NUMERIC
)
Найти всех клиентов, у которых вторая покупка произошла не позднее, чем через 7 дней после первой.
Показать:
WITH ordered_purchases AS (
SELECT
customer_id,
purchase_date,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY purchase_date) AS rn
FROM purchases
),
first_second_purchases AS (
SELECT
p1.customer_id,
p1.purchase_date AS first_purchase_date,
p2.purchase_date AS second_purchase_date
FROM ordered_purchases p1
JOIN ordered_purchases p2
ON p1.customer_id = p2.customer_id
AND p1.rn = 1
AND p2.rn = 2
)
SELECT *
FROM first_second_purchases
WHERE second_purchase_date <= first_purchase_date + INTERVAL '7 days';
Please open Telegram to view this post
VIEW IN TELEGRAM
Примерная схема
Customer Orders (CO) моделирует систему управления заказами в розничной торговле. Подходит для обучения, тестов и демонстрации возможностей Oracle Database.Основные особенности:
Таблицы:
products — товары, цены, JSON-описание и изображения customers — покупатели с ID, именем и email orders — заказы с датой, статусом и привязкой к магазину order_items — позиции в заказе, количество, цена, доставка stores — физические и онлайн-точки продаж shipments — информация об отправке товараСхема отражает типичный розничный бизнес-процесс и показывает, как можно сочетать структурированные данные и JSON в Oracle DB.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
В мире разработки выбор БД — ключ к производительности, масштабируемости и эффективности. Это не просто SQL vs NoSQL, а поиск инструмента под данные, нагрузку и цели бизнеса. От IoT до ИИ — тип не важен, важна задача. Разбираем:
БД — это про масштабируемость, интеллект и гибкость. Выбирайте под задачу, а не по привычке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дана таблица users:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT,
deleted_at TIMESTAMP
);
Вы выполняете:
SELECT COUNT(*) FROM users WHERE deleted_at = NULL;
И получаете... 0. Хотя вы уверены, что есть пользователи, у которых deleted_at не задано.
Что не так с запросом? Как правильно получить количество “неудалённых” пользователей?
Вопрос: В чем ошибка? И как надо правильно писать такой фильтр?
Чтобы проверить, является ли значение NULL, нужно использовать специальный оператор IS NULL.
SELECT COUNT(*) FROM users WHERE deleted_at IS NULL;
Этот запрос корректно найдёт все строки, где в столбце deleted_at действительно отсутствует значение (т.е. он равен NULL), и посчитает их количество.
Итог:
Не используйте = или != для сравнения с NULL.
Используйте IS NULL для проверки на NULL.
Используйте IS NOT NULL для проверки на не NULL (если бы вам понадобилось посчитать удалённых пользователей, у которых deleted_at заполнено).
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот open-source проект позволяет создавать ER-диаграммы прямо в браузере с экспортом в SQL-скрипты.
Инструмент имеет образовательную направленность. Интерфейс на португальском и английском языках адаптирован для учебных задач: есть подсветка сущностей, автоматическая расстановка связей и валидация схемы. Запустить локальную копию можно через Node.js + MongoDB или Docker-контейнеры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дата-продукты — это дашборды, отчеты, таблицы и вообще все, что помогает извлекать инсайты из данных. Любой, кто хоть раз делал верстал дашборд или просто делал табличку в Google Sheets знает, насколько это сложная и порой неблагодарная работа.
Данные постоянно меняются и обновляются, их объемы растут, а пайплайны становятся сложнее. Добавляется и человеческий фактор, потому что у каждого дата-продукта — разные владельцы и пользователи, со своими требованиями, ожиданиями и подходами к работе с данными. Все это надо учитывать, чтобы делать продукты, которые реально приносят пользу, а не просто существуют для галочки.
Ну и как это сделать?
Как вариант — обратиться к специальному гайду. Есть короткая версия в виде поста в сабстаке, где предлагают разделить этот процесс на 5 шагов:
И именно в таком порядке. Это важно!
Документ основательный и при этом универсальный — он описывает общие подходы и принципы, которые каждый сможет примерить на себя, вне зависимости от деталей вроде стека, размера команды или типов данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
— транзакций больше, но средний чек ниже;
— люди уходят из онлайна в офлайн: +2% покупок в магазинах, −1,3% онлайн. Маркетологи, сигнал вам: курсы лучше продавать, когда холодно и дождь 🌚;
— активно растет спрос на автоуслуги (+22%), аренду электросамокатов (+15%) и алкоголь (+6% в алкомаркетах и +7% в барах).
— кинотеатры собирают больше зрителей: +9% зимой и +8% летом;
— спрос смещается в интернет
— средний чек на автоуслуги выше: спрос смещается в сторону более дорогостоящего ремонта
Please open Telegram to view this post
VIEW IN TELEGRAM
Hacker News — новостной сайт, где постят обо всем по чуть-чуть, но в основном про ИТ. И именно в ИТ-сообществе он очень популярен, поэтому по нему можно отслеживать некоторые тренды индустрии. Это может быть полезно, если хотите быть в курсе, какие фреймворки и инструменты сейчас востребованы, а какие уходят в прошлое.
На иллюстрации к посту — график с частотой упоминаний разных БД и СУБД в заголовках новостей на HN.
Это только его «хвост» — полная версия, созданная на основе 1,8 млн постов, охватывает период с 2007 года по 2025. В оригинальной статье, кроме графика (там он интерактивный, кстати), есть еще и несколько таблиц с данными о количестве комментариев и анализом динамики.
В общем, получается, что самой большой популярностью пользуются open-source и аналитические хранилища, а вот проприетарные тулы вызывают меньше интереса.
Как вам график? Увидели что-нибудь неожиданное для себя?
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️Уже завтра в 15:00 (МСК) состоится эфир:
NO-CODE на помощь: решаем задачи за пределами стандартных отчётов 1С
На вебинаре:
🟣 поговорим, как сделать отчетность из 1С простой и прозрачной;
🟣 разберем актуальность нестандартных отчетов в «1С», кому и зачем это нужно;
🟣 покажем простую и быструю выгрузку из «1С» в AW BI через NO-CODE;
🟣 продемонстрируем на реальных примерах, как можно налету сформировать понятную и красивую визуализацию сформированных данных.
🔗 Регистрируйтесь, если ещё не успели — не тяните, встречаемся уже завтра!
https://aw-bi.ru/company/events/awbi-denvik-nocode?utm_source=telegram&utm_medium=promo&utm_campaign=awnews%7Cawbi-denvik-nocode
NO-CODE на помощь: решаем задачи за пределами стандартных отчётов 1С
На вебинаре:
🟣 поговорим, как сделать отчетность из 1С простой и прозрачной;
🟣 разберем актуальность нестандартных отчетов в «1С», кому и зачем это нужно;
🟣 покажем простую и быструю выгрузку из «1С» в AW BI через NO-CODE;
🟣 продемонстрируем на реальных примерах, как можно налету сформировать понятную и красивую визуализацию сформированных данных.
🔗 Регистрируйтесь, если ещё не успели — не тяните, встречаемся уже завтра!
https://aw-bi.ru/company/events/awbi-denvik-nocode?utm_source=telegram&utm_medium=promo&utm_campaign=awnews%7Cawbi-denvik-nocode
This media is not supported in your browser
VIEW IN TELEGRAM
Очаровательный анимированный проект (и потрясающий пример научпоп визуализации!) про зоонозы: инфекционные заболевания, которые передаются от животных к человеку
Исследователи изучили австрийскую литературу с 1975 по 2022 год, нашли там упоминания зоонозов, классифицировали их по видам, частоте упоминаний и способу передачи.
Особенно интересно разглядывать граф передачи болезней и узнавать, как и от чего можно заразиться. Правда, впечатлительным зрителям после просмотра может расхотеться тесно контактировать с животными, есть мясо или пользоваться общественными туалетами.
➡️ https://vis.csh.ac.at/zoonotic-web/
Исследователи изучили австрийскую литературу с 1975 по 2022 год, нашли там упоминания зоонозов, классифицировали их по видам, частоте упоминаний и способу передачи.
Особенно интересно разглядывать граф передачи болезней и узнавать, как и от чего можно заразиться. Правда, впечатлительным зрителям после просмотра может расхотеться тесно контактировать с животными, есть мясо или пользоваться общественными туалетами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻 Команда VK HR Tek разработала КЭДО — систему электронного кадрового документооборота, которая начиналась как внутренний сервис, а сегодня используется в крупнейших компаниях страны: от «Газпром нефти» до «Золотого яблока».
⚙️ Система автоматизирует подписание документов, оформление отпусков и командировок, защищает от просрочек, интегрируется с 1С, SAP и БОСС-HRM. Данные хранятся в Tier 3 ЦОДах, используется HTTPS и метки времени.
📌 В статье рассказывается, как КЭДО превратился из пилота внутри VK в лидера рынка кадровых решений
⚙️ Система автоматизирует подписание документов, оформление отпусков и командировок, защищает от просрочек, интегрируется с 1С, SAP и БОСС-HRM. Данные хранятся в Tier 3 ЦОДах, используется HTTPS и метки времени.
📌 В статье рассказывается, как КЭДО превратился из пилота внутри VK в лидера рынка кадровых решений
800+ SQL Server Interview Questions and Answers .pdf
1 MB
Подойдёт, чтобы:
— прокачать SQL-навыки с нуля до продвинутого уровня
— быстро освежить синтаксис перед интервью
— попрактиковаться на реальных задачах
Полезно как джунам, так и мидлам. Отличный способ проверить себя и закрыть пробелы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Проект устраняет главную боль разработчиков: необходимость дублировать модели для БД и API.
Инструмент имеет синтаксис на основе аннотаций типов. Один класс одновременно описывает таблицу в БД и схему для FastAPI, а встроенная поддержка IDE сразу подсказывает поля и выявляет ошибки. Например, модель Hero с полями name и secret_name готова к использованию и в миграциях, и в эндпоинтах без лишнего кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
А вы когда-нибудь задумывались, почему функции вызывают? Это выражение используется, кажется, применительно ко всем языкам программирования, где вообще есть функции, которые можно вызывать. Оно стало таким привычным, что многие вряд ли задумываются, откуда оно взялось. Очевидно, что в русский язык выражение пришло из английского, а откуда там появилось «call function»?
[…] the position in the memory at which arguments are placed can be standardized, so that whenever a subroutine is called in to perform a calculation, the subroutine will automatically know that the argument which is to be used is at a specified place.
[…] Some of them might be written out in a handbook and transferred to the coding of the problem as needed, but those of any complexity presumably ought to be in a library — that is, a set of magnetic tapes in which previously coded problems of permanent value are stored.
[…] позицию в памяти, где размещаются аргументы, можно стандартизировать так, чтобы при вызове подпрограммы для выполнения вычислений она автоматически знала, что необходимый аргумент находится в определенном месте.
[…] Некоторые из них можно было бы записать в справочник и вручную вставлять в код по необходимости, но более сложные следует хранить в библиотеке — то есть в наборе магнитных лент с закодированными задачами.
Возможность вызвать подпрограмму для выполнения какой-то функции упоминается еще в нескольких других источниках середины прошлого века — например, в мануале FORTRAN II от 1958 года:
Each [CALL statement] will constitute a call for the defining subprogram, which may carry out a procedure of any length or complexity […] [The CALL] statement causes transfer of control to the subroutine NAME and presents the subroutine with the arguments, if any, enclosed in parentheses.
Каждый [оператор CALL] производит вызов определенной подпрограммы, которая может выполнить операцию любой длины и сложности […] Оператор CALL передает управление подпрограмме с указанным именем и передает ей аргументы, заключенные в скобки.
Также он подчеркивает, что хотя слово «вызов» применительно к подпрограммам используется регулярно, целиком знакомое нам выражение «вызвать подпрограмму» встречается в 1961 в документе Burroughs Algebraic Compiler:
The ENTER statement is used to initiate the execution of a subroutine (to call a subroutine).
Оператор ENTER используется, чтобы начать выполнение подпрограммы (то есть чтобы вызывать подпрограмму).
Вот такая ИТ-лингвистика. А вы знали историю термина?
Please open Telegram to view this post
VIEW IN TELEGRAM
Система автоматически публикует результаты в формате GitHub Gist с возможностью сравнения с популярными моделями через интеграцию с YALL — альтернативным рейтингом языковых моделей. Для работы потребуются только API-токены RunPod и GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
Автоматизация отчётов с Python и API – с нуля до первых результатов
Представьте ситуацию: в пятницу после работы звонит в панике руководитель маркетинга — в понедельник встреча с инвесторами, а сводка по рекламным кампаниям не готова. Данные разбросаны по Google Ads, Yandex.Direct и внутренней CRM.
Раньше это означало 3–4 часа ручного копирования и сведение в Excel с поиском ошибок — стресс для всех. Но всё меняется, когда вы умеете автоматизировать этот процесс.
На предстоящем 12 августа в 19:00 (МСК) вебинаре Александр Грудинин, Lead Data Analyst в AdTech Holding и ментор курса «Аналитик данных», пошагово расскажет и покажет, как с помощью Python и API сервисов можно решать такие задачи быстро и эффективно:
Почему это важно для новичков?
Увидите "кухню" реальной аналитики, поймёте логику работы с данными – от запроса к API до готового отчёта, а также получите навык, который выделит вас среди других начинающих аналитиков.
Чем раньше вы научитесь автоматизировать рутину – тем быстрее начнёте расти в аналитике.
🕗 12 августа в 19:00 по МСК
😶 Регистрируйтесь сейчас — вебинар будет максимально практическим!
Представьте ситуацию: в пятницу после работы звонит в панике руководитель маркетинга — в понедельник встреча с инвесторами, а сводка по рекламным кампаниям не готова. Данные разбросаны по Google Ads, Yandex.Direct и внутренней CRM.
Раньше это означало 3–4 часа ручного копирования и сведение в Excel с поиском ошибок — стресс для всех. Но всё меняется, когда вы умеете автоматизировать этот процесс.
На предстоящем 12 августа в 19:00 (МСК) вебинаре Александр Грудинин, Lead Data Analyst в AdTech Holding и ментор курса «Аналитик данных», пошагово расскажет и покажет, как с помощью Python и API сервисов можно решать такие задачи быстро и эффективно:
🟠 Как подключаться к API Google Ads, Yandex.Direct и CRM через библиотеку и получать структурированные данные.🟠 Как превращать «сырые» ответы в удобные для анализа таблицы.🟠 Как создавать наглядные отчеты и графики динамики трафика и экспортировать результаты.
Почему это важно для новичков?
Увидите "кухню" реальной аналитики, поймёте логику работы с данными – от запроса к API до готового отчёта, а также получите навык, который выделит вас среди других начинающих аналитиков.
Чем раньше вы научитесь автоматизировать рутину – тем быстрее начнёте расти в аналитике.
🕗 12 августа в 19:00 по МСК
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Он включает преднастроенные потоки для интеграции моделей ИИ, таких как OpenAI, Ollama и другие, позволяя управлять данными и автоматизировать процессы без необходимости использования облачных сервисов. Решение идеально подходит для бизнеса и индивидуальных разработчиков.
Лицензия: Apache-2.0
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот проект предлагает готовую облачную платформу или возможность самому развернуть альтернативу Firebase, но с GraphQL и PostgreSQL под капотом. Вместо NoSQL — привычный SQL, вместо REST — мощный GraphQL API на базе Hasura, а также встроенные аутентификация, хранилище и serverless-функции.
При этом Nhost не привязывает разработчика к конкретному фронтенд-фреймворку. Один и тот же SDK работает с React, Vue, Next.js и даже Flutter. Локальная разработка упрощена благодаря CLI, а для продакшна можно выбрать как managed-решение от создателей, так и развернуть всё на своих серверах через Docker.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы уже рассказывали про хранение данных на бумаге и в черно-белых видео с помехами, но недавно обнаружилось еще более оригинальное хранилище — скворец. Точнее, песня скворца.
Ютубер Бенн Джордан выложил видео, где рассказал, как записывал и анализировал песни разных птиц. Одной из этих птиц стал скворец по имени Рот (или Mouth), который всю жизнь прожил с людьми и научился имитировать окружающие его звуки вроде щелчка камеры или человеческих голосов.
Please open Telegram to view this post
VIEW IN TELEGRAM