💡 SQL: поиск уникальных значений с COUNT(DISTINCT)
Хотите посчитать количество уникальных элементов по каждому пользователю?
Не нужно подзапросов — используйте
🔎 В одном запросе можно узнать, сколько разных товаров и категорий купил каждый пользователь.
Это упрощает аналитику и заменяет сложные вложенные запросы.
@cpluspluc
Хотите посчитать количество уникальных элементов по каждому пользователю?
Не нужно подзапросов — используйте
COUNT(DISTINCT ...)
прямо в выборке.
SELECT
user_id,
COUNT(DISTINCT product_id) AS unique_products,
COUNT(DISTINCT category) AS unique_categories
FROM purchases
GROUP BY user_id;
🔎 В одном запросе можно узнать, сколько разных товаров и категорий купил каждый пользователь.
Это упрощает аналитику и заменяет сложные вложенные запросы.
@cpluspluc
👍2
Forwarded from botavtopost
🎮 Command & Conquer Red Alert Source Code
Репозиторий содержит исходный код для классической игры Command & Conquer Red Alert. Он поддерживает интеграцию с Steam Workshop и предназначен для сохранения кода, хотя требует доработки для компиляции.
🚀Основные моменты:
- Исходный код для C&C Red Alert
- Поддержка Steam Workshop
- Требуется восстановление для компиляции
- Лицензия GPL v3
- Архивный статус без поддержки
📌 GitHub: https://github.com/electronicarts/CnC_Red_Alert
#c
Репозиторий содержит исходный код для классической игры Command & Conquer Red Alert. Он поддерживает интеграцию с Steam Workshop и предназначен для сохранения кода, хотя требует доработки для компиляции.
🚀Основные моменты:
- Исходный код для C&C Red Alert
- Поддержка Steam Workshop
- Требуется восстановление для компиляции
- Лицензия GPL v3
- Архивный статус без поддержки
📌 GitHub: https://github.com/electronicarts/CnC_Red_Alert
#c
GitHub
GitHub - electronicarts/CnC_Red_Alert: Command and Conquer: Red Alert
Command and Conquer: Red Alert. Contribute to electronicarts/CnC_Red_Alert development by creating an account on GitHub.
🔥12❤7🎉3
🛠️ Создание недорогого XYZ-манипулятора с высокой точностью
MicroManipulatorStepper — это открытый проект для сборки моторизованного XYZ-манипулятора, обеспечивающего субмикронную точность. Идеален для оптической настройки, пробирования электронных компонентов и микроскопии. Устройство управляется через G-Code и легко интегрируется в другие проекты.
🚀 Основные моменты:
- Высокая точность до 50 нм благодаря магнитному редуктору.
- Простая сборка с использованием доступных компонентов и FreeCAD.
- Поддержка 6DOF-планирования движения для сложных манипуляций.
- Легкий доступ к электронике без SMD-пайки.
📌 GitHub: https://github.com/0x23/MicroManipulatorStepper
#cpp
MicroManipulatorStepper — это открытый проект для сборки моторизованного XYZ-манипулятора, обеспечивающего субмикронную точность. Идеален для оптической настройки, пробирования электронных компонентов и микроскопии. Устройство управляется через G-Code и легко интегрируется в другие проекты.
🚀 Основные моменты:
- Высокая точность до 50 нм благодаря магнитному редуктору.
- Простая сборка с использованием доступных компонентов и FreeCAD.
- Поддержка 6DOF-планирования движения для сложных манипуляций.
- Легкий доступ к электронике без SMD-пайки.
📌 GitHub: https://github.com/0x23/MicroManipulatorStepper
#cpp
❤9👍1🔥1
🚀 Предложения по C++ 📜
Репозиторий содержит предложения и идеи для улучшения языка C++. Здесь собраны различные концепции, которые могут быть рассмотрены для будущих версий C++. Отличная площадка для обсуждения и обмена мнениями среди разработчиков.
🚀 Основные моменты:
- Сборник предложений по C++
- Обсуждение новых идей и улучшений
- Вклад сообщества в развитие языка
- Поддержка различных концепций
📌 GitHub: https://github.com/ZXShady/proposals
#cpp
Репозиторий содержит предложения и идеи для улучшения языка C++. Здесь собраны различные концепции, которые могут быть рассмотрены для будущих версий C++. Отличная площадка для обсуждения и обмена мнениями среди разработчиков.
🚀 Основные моменты:
- Сборник предложений по C++
- Обсуждение новых идей и улучшений
- Вклад сообщества в развитие языка
- Поддержка различных концепций
📌 GitHub: https://github.com/ZXShady/proposals
#cpp
GitHub
GitHub - ZXShady/proposals: C++ proposals
C++ proposals. Contribute to ZXShady/proposals development by creating an account on GitHub.
❤3👍2🥰1
Введение. Собеседования на позиции, связанные с данными (аналитики, инженеры, ученые данных), всё чаще включают нестандартные и продвинутые вопросы по SQL.
Большие технологические компании (Google, Amazon и др.) предъявляют высокие требования: важна не только правильность запроса, но и умение оптимизировать его и разбираться в реальных бизнес-данных.
В этом гайде мы разберем категории наиболее распространенных сложных SQL-задач с реальных собеседований – от платформ вроде DataLemur, LeetCode, StrataScratch – и подробно поясним решения.
Каждая задача сопровождена анализом: условие, оптимальный подход, используемые SQL-конструкции, возможные ошибки и финальное решение (для PostgreSQL и MySQL, с указанием различий где необходимо).
В конце добавлен отдельный раздел о современных базах данных, включая векторные БД (Pinecone, Weaviate, Milvus и др.), с примерами того, что могут спросить про них на собеседовании и как выглядят SQL-подобные запросы для работы с векторами.
📌 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2🥰1
Хотите освоить высокоскоростной обмен данными в Embedded-разработке? Присоединяйтесь к бесплатному вебинару от OTUS: “Тайный язык общения чипов. Подключаем всё к ESP32”
📅 Когда: 8 октября, 20:00 мск
О чём вебинар?
Погрузитесь в мир протокола SPI и научитесь использовать его для молниеносной передачи данных с микроконтроллером ESP32. Разберём, как работает самый быстрый интерфейс, как программировать SPI-контроллеры и как собрать «квази-компьютер» с SD-картой и LCD-дисплеем, не теряя в производительности.
Что вы узнаете:
- Как работает протокол SPI и где он применяется.
- Программирование встроенных SPI-контроллеров ESP32.
- Использование драйверов RTOS для высокой производительности.
- Практический пример: сборка устройства с диском и экраном.
🔧 Присоединяйтесь, чтобы раскрыть секреты SPI и вывести свои Embedded-проекты на новый уровень!
👉 Зарегистрироваться https://otus.pw/EIRG/?erid=2W5zFH4Yi6L
Вебинар приурочен к курсу Embedded Developer, где вы освоите разработку устройств на ESP32 — от программирования до проектирования PCB.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
📅 Когда: 8 октября, 20:00 мск
О чём вебинар?
Погрузитесь в мир протокола SPI и научитесь использовать его для молниеносной передачи данных с микроконтроллером ESP32. Разберём, как работает самый быстрый интерфейс, как программировать SPI-контроллеры и как собрать «квази-компьютер» с SD-картой и LCD-дисплеем, не теряя в производительности.
Что вы узнаете:
- Как работает протокол SPI и где он применяется.
- Программирование встроенных SPI-контроллеров ESP32.
- Использование драйверов RTOS для высокой производительности.
- Практический пример: сборка устройства с диском и экраном.
🔧 Присоединяйтесь, чтобы раскрыть секреты SPI и вывести свои Embedded-проекты на новый уровень!
👉 Зарегистрироваться https://otus.pw/EIRG/?erid=2W5zFH4Yi6L
Вебинар приурочен к курсу Embedded Developer, где вы освоите разработку устройств на ESP32 — от программирования до проектирования PCB.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤4
🧩 Минималистская библиотека для парсинга JSON
sj.h — это компактная библиотека для парсинга JSON на C, состоящая всего из ~150 строк кода. Она не использует выделение памяти и предоставляет сообщения об ошибках с указанием местоположения. Библиотека не включает парсинг чисел и строк, позволяя разработчикам самостоятельно обрабатывать эти аспекты.
🚀Основные моменты:
- Минимальный код и нулевое выделение памяти
- Удобные сообщения об ошибках
- Гибкость в обработке чисел и строк
- Легко интегрируется в существующие проекты
📌 GitHub: https://github.com/rxi/sj.h
#c
sj.h — это компактная библиотека для парсинга JSON на C, состоящая всего из ~150 строк кода. Она не использует выделение памяти и предоставляет сообщения об ошибках с указанием местоположения. Библиотека не включает парсинг чисел и строк, позволяя разработчикам самостоятельно обрабатывать эти аспекты.
🚀Основные моменты:
- Минимальный код и нулевое выделение памяти
- Удобные сообщения об ошибках
- Гибкость в обработке чисел и строк
- Легко интегрируется в существующие проекты
📌 GitHub: https://github.com/rxi/sj.h
#c
❤10🔥3🥰1
🚀 BlazingMQ — очередь сообщений от Bloomberg с упором на скорость
BlazingMQ — это open-source система для обмена сообщениями, которую Bloomberg использует в продакшене уже больше 8 лет. Она справляется с миллиардами сообщений в день и при этом держит низкую задержку.
⚡ Что умеет:
- Скорость — сотни тысяч сообщений в секунду с задержкой всего ~1–2 мс.
- Надёжность — хранение и репликация данных, защита от «битых» сообщений.
- Гибкость — поддержка разных сценариев: очереди задач, приоритеты, fan-out, broadcast.
- Эффективность — multi-hop архитектура снижает нагрузку на сеть при массовой рассылке.
- Технологии под капотом — написана на C++ с нуля, использует Raft для репликации и оптимизирована под высокую производительность.
🛠 Есть SDK для C++, Java и Python.
👉 Для чего подходит: системы реального времени, финтех, распределённые сервисы с высокими требованиями к скорости и отказоустойчивости.
🔗 Репозиторий: https://github.com/bloomberg/blazingmq
#BlazingMQ #Messaging #Bloomberg #DistributedSystems
BlazingMQ — это open-source система для обмена сообщениями, которую Bloomberg использует в продакшене уже больше 8 лет. Она справляется с миллиардами сообщений в день и при этом держит низкую задержку.
⚡ Что умеет:
- Скорость — сотни тысяч сообщений в секунду с задержкой всего ~1–2 мс.
- Надёжность — хранение и репликация данных, защита от «битых» сообщений.
- Гибкость — поддержка разных сценариев: очереди задач, приоритеты, fan-out, broadcast.
- Эффективность — multi-hop архитектура снижает нагрузку на сеть при массовой рассылке.
- Технологии под капотом — написана на C++ с нуля, использует Raft для репликации и оптимизирована под высокую производительность.
🛠 Есть SDK для C++, Java и Python.
👉 Для чего подходит: системы реального времени, финтех, распределённые сервисы с высокими требованиями к скорости и отказоустойчивости.
🔗 Репозиторий: https://github.com/bloomberg/blazingmq
#BlazingMQ #Messaging #Bloomberg #DistributedSystems
👍4❤3🔥2
Готовы с нуля создавать телекоммуникационные решения для беспроводных мобильных сетей и сопутствующих услуг? 🧑💻
Отправляйте резюме до 19 октября и присоединяйтесь к команде YADRO Телеком!
Как получить оффер за 3 дня? Листайте карточки выше — все подробности там!
💙 Оставляйте заявку — мы ждём именно вас!
Отправляйте резюме до 19 октября и присоединяйтесь к команде YADRO Телеком!
Как получить оффер за 3 дня? Листайте карточки выше — все подробности там!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Компактная библиотека для сопоставления шаблонов в C++
Patternia — это заголовочная библиотека для C++, обеспечивающая сопоставление шаблонов на этапе компиляции с использованием возможностей C++20/23. Она предлагает богатый набор встроенных паттернов и удобный DSL для создания читаемых выражений сопоставления.
🚀Основные моменты:
- Заголовочная библиотека без зависимостей
- Поддержка компиляции на этапе времени
- Удобные паттерны для значений и отношений
- Читаемый синтаксис с автоматическим разрешением перегрузок
📌 GitHub: https://github.com/sentomk/patternia
#cpp
Patternia — это заголовочная библиотека для C++, обеспечивающая сопоставление шаблонов на этапе компиляции с использованием возможностей C++20/23. Она предлагает богатый набор встроенных паттернов и удобный DSL для создания читаемых выражений сопоставления.
🚀Основные моменты:
- Заголовочная библиотека без зависимостей
- Поддержка компиляции на этапе времени
- Удобные паттерны для значений и отношений
- Читаемый синтаксис с автоматическим разрешением перегрузок
📌 GitHub: https://github.com/sentomk/patternia
#cpp
❤3👍1🤣1
⌨️ Открытый урок «Инструменты много поточного программирования в стандартной библиотеке на С++»
🗓 14 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional».
🎯 Что рассмотрим на вебинаре:
✔️Инструменты много поточного программирования в стандартной библиотеке
✔️Классы стандартной библиотеки, ответственные за создание многопоточности
✔️Примитивы синхронизации
👥 Кому будет интересно:
- junior, junior+ C++ Разработчикам
🔗 Ссылка на регистрацию:https://otus.pw/kyW2/?erid=2W5zFJoqQfi
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🗓 14 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional».
🎯 Что рассмотрим на вебинаре:
✔️Инструменты много поточного программирования в стандартной библиотеке
✔️Классы стандартной библиотеки, ответственные за создание многопоточности
✔️Примитивы синхронизации
👥 Кому будет интересно:
- junior, junior+ C++ Разработчикам
🔗 Ссылка на регистрацию:https://otus.pw/kyW2/?erid=2W5zFJoqQfi
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🚀 Современный ORM и генератор SQL для C++20
sqlgen — это типобезопасный ORM и генератор SQL, вдохновленный SQLAlchemy и Diesel. Он обеспечивает компоновку запросов с проверкой типов на этапе компиляции и защитой от SQL-инъекций, что делает его идеальным для создания надежных ETL-пайплайнов.
🚀Основные моменты:
- 🔒 Компиляция с проверкой схем таблиц и запросов
- 🛡️ Защита от SQL-инъекций с параметризованными запросами
- 🔄 Удобный интерфейс для составления сложных запросов
- 🚀 Высокая производительность с пакетными операциями
- 📦 Поддержка PostgreSQL и SQLite
📌 GitHub: https://github.com/getml/sqlgen
#cpp
sqlgen — это типобезопасный ORM и генератор SQL, вдохновленный SQLAlchemy и Diesel. Он обеспечивает компоновку запросов с проверкой типов на этапе компиляции и защитой от SQL-инъекций, что делает его идеальным для создания надежных ETL-пайплайнов.
🚀Основные моменты:
- 🔒 Компиляция с проверкой схем таблиц и запросов
- 🛡️ Защита от SQL-инъекций с параметризованными запросами
- 🔄 Удобный интерфейс для составления сложных запросов
- 🚀 Высокая производительность с пакетными операциями
- 📦 Поддержка PostgreSQL и SQLite
📌 GitHub: https://github.com/getml/sqlgen
#cpp
👍2❤1🔥1
📜 Библиотека форматирования {fmt} для C++ 🚀
{fmt} — это быстрая и безопасная библиотека форматирования, предлагающая альтернативу стандартным средствам C и C++. Она поддерживает современный синтаксис форматирования и обеспечивает высокую производительность.
🚀 Основные моменты:
- Простое API для форматирования с поддержкой позиционных аргументов.
- Реализация стандартов C++20 и C++23 для форматирования.
- Безопасность: ошибки в строках формата выявляются на этапе компиляции.
- Высокая производительность по сравнению с iostream и стандартными функциями.
- Легкость в использовании и отсутствие внешних зависимостей.
📌 GitHub: https://github.com/fmtlib/fmt
#cpp
{fmt} — это быстрая и безопасная библиотека форматирования, предлагающая альтернативу стандартным средствам C и C++. Она поддерживает современный синтаксис форматирования и обеспечивает высокую производительность.
🚀 Основные моменты:
- Простое API для форматирования с поддержкой позиционных аргументов.
- Реализация стандартов C++20 и C++23 для форматирования.
- Безопасность: ошибки в строках формата выявляются на этапе компиляции.
- Высокая производительность по сравнению с iostream и стандартными функциями.
- Легкость в использовании и отсутствие внешних зависимостей.
📌 GitHub: https://github.com/fmtlib/fmt
#cpp
❤2👍1🔥1
МТС приглашает всех, кто пишет на С++, Go, Python, JS, Java, C# и других языках, на True Tech Champ — всероссийский чемпионат по программированию. Соревнование будет проходить в двух треках.
Трек 1. Алгоритмический. Индивидуальный зачет [призовой фонд 2 750 000 рублей]
Реши задачи, которые помогут прокачаться в работе с алгоритмами и структурами данных. Похожие задания встречаются на собеседованиях в МТС и других крупных компаниях. До 240 лучших участников попадут в финал и сразятся в лайв-кодинге.
Трек 2. Программирование роботов. Командный формат [призовой фонд 7 500 000 рублей]
Проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.
🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.
📍 Зрелищный шоу-финал с ИИ-технологиями, кодерскими челленджами и выступлениями международных и российских спикеров пройдет 21 ноября в МТС Live Холл.
Стоит участвовать, чтобы:
— Освежить знания и прокачать новые навыки.
— Заявить о себе на всю страну, получить карьерный буст и шанс лично пообщаться с HR-специалистами МТС.
⏰ Регистрация участников до 20 октября на сайте.
Трек 1. Алгоритмический. Индивидуальный зачет [призовой фонд 2 750 000 рублей]
Реши задачи, которые помогут прокачаться в работе с алгоритмами и структурами данных. Похожие задания встречаются на собеседованиях в МТС и других крупных компаниях. До 240 лучших участников попадут в финал и сразятся в лайв-кодинге.
Трек 2. Программирование роботов. Командный формат [призовой фонд 7 500 000 рублей]
Проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.
🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.
📍 Зрелищный шоу-финал с ИИ-технологиями, кодерскими челленджами и выступлениями международных и российских спикеров пройдет 21 ноября в МТС Live Холл.
Стоит участвовать, чтобы:
— Освежить знания и прокачать новые навыки.
— Заявить о себе на всю страну, получить карьерный буст и шанс лично пообщаться с HR-специалистами МТС.
⏰ Регистрация участников до 20 октября на сайте.
🔥2
Seer — это графический интерфейс для GDB, упрощающий отладку программ на Linux. Он предлагает интуитивно понятный интерфейс с возможностями управления переменными, точками останова и журналами вывода. Проект активно развивается и поддерживает как Qt5, так и Qt6.
🚀 Основные моменты:
- Удобный интерфейс для работы с GDB.
- Поддержка обратной отладки.
- Управление переменными и точками останова.
- Логи и вывод GDB в одном месте.
- Активное развитие и обновления.
📌 GitHub: https://github.com/epasveer/seer
#cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤5👍2