#полезное
👨💻 Новый уровень хардкорных самоделок: энтузиаст запустил веб-сервер на… одноразовом вейпе.
Внутри устройства оказался микроконтроллер PUYA Cortex-M0+ с 24 КБ флеша и 3 КБ RAM. Автор подключил SLIP через semihosting, прикрутил uIP-стек и поднял минимальный HTTP-сервер.
Первые тесты выглядели как издевательство: пинг 1.5 секунды, страницы загружались по 20 секунд. Но после оптимизаций результаты впечатлили: около 20 мс на пинг и загрузка страницы за 160 мс.
Памяти хватает, чтобы держать небольшой блог и даже JSON-эндпоинт для статистики.
Получается, что одноразовый вейп может быть не только вредной привычкой, но и хостинг-решением — пусть и на 95% более «безопасным».
Проект
👉 Новости 👉 База вопросов
Внутри устройства оказался микроконтроллер PUYA Cortex-M0+ с 24 КБ флеша и 3 КБ RAM. Автор подключил SLIP через semihosting, прикрутил uIP-стек и поднял минимальный HTTP-сервер.
Первые тесты выглядели как издевательство: пинг 1.5 секунды, страницы загружались по 20 секунд. Но после оптимизаций результаты впечатлили: около 20 мс на пинг и загрузка страницы за 160 мс.
Памяти хватает, чтобы держать небольшой блог и даже JSON-эндпоинт для статистики.
Получается, что одноразовый вейп может быть не только вредной привычкой, но и хостинг-решением — пусть и на 95% более «безопасным».
Проект
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Умный текстовый анализатор для обработки данных
Этот репозиторий предлагает инструменты для анализа и обработки текстовой информации. Он включает в себя функции для извлечения ключевых слов, анализа частоты слов и других полезных методов, которые помогут в работе с текстовыми данными.
Основные моменты:
🔵 Извлечение ключевых слов из текста
🔵 Анализ частоты слов и фраз
🔵 Поддержка различных форматов входных данных
🔵 Легкий в использовании интерфейс
GitHub
👉 Новости 👉 База вопросов
Этот репозиторий предлагает инструменты для анализа и обработки текстовой информации. Он включает в себя функции для извлечения ключевых слов, анализа частоты слов и других полезных методов, которые помогут в работе с текстовыми данными.
Основные моменты:
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
git reset --mixed : отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.git merge --abort : отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 Web-сервер на микроконтроллере через SWD
Проект позволяет запускать веб-сервер на микроконтроллере, используя semihosting и TCP/IP. Он демонстрирует, как передавать данные через SWD, используя SLIP для сетевого взаимодействия, что делает его интересным решением для встраиваемых систем.
🚀Основные моменты:
- Запуск веб-сервера на ARM микроконтроллере через SWD.
- Использование SLIP для передачи данных по TCP/IP.
- Оптимизация производительности с минимальными затратами памяти.
- Поддержка различных ARM микроконтроллеров с pyOCD.
GitHub
👉 Новости 👉 База вопросов
Проект позволяет запускать веб-сервер на микроконтроллере, используя semihosting и TCP/IP. Он демонстрирует, как передавать данные через SWD, используя SLIP для сетевого взаимодействия, что делает его интересным решением для встраиваемых систем.
🚀Основные моменты:
- Запуск веб-сервера на ARM микроконтроллере через SWD.
- Использование SLIP для передачи данных по TCP/IP.
- Оптимизация производительности с минимальными затратами памяти.
- Поддержка различных ARM микроконтроллеров с pyOCD.
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивный 3D-инструмент Бенджамина Байкрофта визуализирует слои, веса и матричные операции LLM.
https://bbycroft.net/llm
👉 Новости 👉 База вопросов
https://bbycroft.net/llm
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Что делает GPU быстрее, чем CPU?
Я только что дочитал главу 4 книги Programming Massively Parallel Processors. В ней пытаются ответить на этот вопрос. Вот мои заметки.
Подход к вычислениям в GPU принципиально отличается от CPU. GPU не состоит из одного процессора. Это массив высокопоточных процессоров, которые называются streaming multiprocessors (SM). Каждый SM имеет свои ядра, память, логику и так далее.
Наименьшая единица работы это thread. Потоки объединяются в block, а блоки в grid. Все потоки внутри блока выполняются на одном SM. Все блоки в SM должны синхронизироваться друг с другом чтобы избежать race conditions.
32 потока внутри блока образуют warp. Они работают по модели SIMD. Чтобы справляться с ситуацией control divergence, GPU выполняет разные пути исполнения по очереди. Например, если есть условие if-else, сначала активируются только те потоки, для которых условие истинно, затем потоки для ложного условия. Стоимость этого подхода в том, что на каждом проходе часть warps остаётся неактивной.
Вывод это то что высококачественный код для GPU это минимальная control divergence
Latency tolerance возникает, когда текущий warp ждёт операцию с большой задержкой. Планировщик не ждёт его, а может переключиться на другой warp, готовый к выполнению.
Это значит что Occupancy = активные warps на SM / общее количество warps, которое SM может поддерживать.
👉 Новости 👉 База вопросов
Я только что дочитал главу 4 книги Programming Massively Parallel Processors. В ней пытаются ответить на этот вопрос. Вот мои заметки.
Подход к вычислениям в GPU принципиально отличается от CPU. GPU не состоит из одного процессора. Это массив высокопоточных процессоров, которые называются streaming multiprocessors (SM). Каждый SM имеет свои ядра, память, логику и так далее.
Наименьшая единица работы это thread. Потоки объединяются в block, а блоки в grid. Все потоки внутри блока выполняются на одном SM. Все блоки в SM должны синхронизироваться друг с другом чтобы избежать race conditions.
32 потока внутри блока образуют warp. Они работают по модели SIMD. Чтобы справляться с ситуацией control divergence, GPU выполняет разные пути исполнения по очереди. Например, если есть условие if-else, сначала активируются только те потоки, для которых условие истинно, затем потоки для ложного условия. Стоимость этого подхода в том, что на каждом проходе часть warps остаётся неактивной.
Вывод это то что высококачественный код для GPU это минимальная control divergence
Latency tolerance возникает, когда текущий warp ждёт операцию с большой задержкой. Планировщик не ждёт его, а может переключиться на другой warp, готовый к выполнению.
Это значит что Occupancy = активные warps на SM / общее количество warps, которое SM может поддерживать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?
💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 StructToTuple — библиотека C++ 20 для преобразования структур в кортежи и наоборот!
Github
👉 Новости 👉 База вопросов
Github
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏕 DOOM внутри базы данных SQL это реально
Разработчик запустил DOOM прямо в CedarDB, и игра полностью написана на SQL
Многопользовательский режим работает, а графика выполнена в ASCII, каждая деталь от рендеринга до синхронизации игроков реализована в базе данных
Для тех, кто ценит необычные проекты и готов погрузиться в SQL-экстрим: https://github.com/cedardb/DOOMQL
👉 Новости 👉 База вопросов
Разработчик запустил DOOM прямо в CedarDB, и игра полностью написана на SQL
Многопользовательский режим работает, а графика выполнена в ASCII, каждая деталь от рендеринга до синхронизации игроков реализована в базе данных
Для тех, кто ценит необычные проекты и готов погрузиться в SQL-экстрим: https://github.com/cedardb/DOOMQL
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏠 Прикольный тренажёр по Linux
Это TUI-приложение содержит более 70 задачек для обучения основам работы в терминале
Забираем с GitHub
👉 Новости 👉 База вопросов
Это TUI-приложение содержит более 70 задачек для обучения основам работы в терминале
Забираем с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #Cplus
🤔 Что такое vector в C++?
💬 Кратко:
Вектор в С++ — это динамический массив, который может хранить элементы любого типа данных и автоматически изменяет свой размер при необходимости.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Вектор в С++ — это динамический массив, который может хранить элементы любого типа данных и автоматически изменяет свой размер при необходимости.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤯 Разработчик, недавно изучающий C, создал простую игру на основе рэйкастера. Проект написан на C с использованием SDL и простого пиксельного буфера.
По его словам, работа над игрой была очень увлекательной, и он всерьёз полюбил программирование на C.
В сети уже доступно небольшое демо игры, а также код на GitHub. Автор приветствует любые отзывы и ревью со стороны сообщества.
👉 Новости 👉 База вопросов
По его словам, работа над игрой была очень увлекательной, и он всерьёз полюбил программирование на C.
В сети уже доступно небольшое демо игры, а также код на GitHub. Автор приветствует любые отзывы и ревью со стороны сообщества.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 Простая реализация паттерна Singleton на C.
Это настолько просто, и в то же время красиво. по крайней мере, на мой взгляд. Впрочем, можете предложить более удачный способ реализации этого паттерна на C?
👉 Новости 👉 База вопросов
Это настолько просто, и в то же время красиво. по крайней мере, на мой взгляд. Впрочем, можете предложить более удачный способ реализации этого паттерна на C?
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Чем векторы в С++ отличаются от массивов?
💬 Кратко:
Вектора в С++ — это динамические структуры данных, которые могут изменять свой размер, в то время как массивы имеют фиксированный размер, определяемый при их создании. |
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Вектора в С++ — это динамические структуры данных, которые могут изменять свой размер, в то время как массивы имеют фиксированный размер, определяемый при их создании. |
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Это, пожалуй, один из лучших ресурсов по GPU-программированию, что я находил — GPU Glossary от Modal. В нём сложные концепции разобраны с понятными визуализациями и объяснениями: от архитектуры CUDA до Tensor Cores и CTA.
modal.com/gpu-glossary
👉 Новости 👉 База вопросов
modal.com/gpu-glossary
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 std::clamp
👉 Новости 👉 База вопросов
std::clamp ограничивает значение в пределах заданного диапазона. Это полезно для валидации чисел, нормализации данных и защиты от выхода за границы.Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1
#полезное
😇 В чем разница между передачей по значению и по ссылке?
При передаче по значению функция получает копию исходного параметра. Значение оригинального параметра остаётся неизменным после любых операций с этой копией внутри функции.
При передаче по константной ссылке функция получает ссылку на исходный параметр, но с пометкой const, поэтому изменить значение оригинального параметра нельзя. Без const изменение будет возможным.
👉 Новости 👉 База вопросов
При передаче по значению функция получает копию исходного параметра. Значение оригинального параметра остаётся неизменным после любых операций с этой копией внутри функции.
При передаче по константной ссылке функция получает ссылку на исходный параметр, но с пометкой const, поэтому изменить значение оригинального параметра нельзя. Без const изменение будет возможным.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Как восстановить удалённую ветку?
💬 Кратко:
Если ветка была удалена локально, её можно восстановить, используя команду
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Если ветка была удалена локально, её можно восстановить, используя команду
git reflog . Если ветка была удалена удалённо, можно восстановить еёс помощью git push origin ‹ branch_name›.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM