триггер

  • ХабрахабрФото Санком. Неизвестный производитель оптических домофонов

    Санком. Неизвестный производитель оптических домофонов

    Приветствую всех! В начале лета этого года я уже рассказывал про домофоны с оптическим ключом. И так уж вышло, что в статье речь шла исключительно про самый популярный тип ключа с пятью тройками дырочек. Но, само собой, существовали и другие устройства. Итак, сегодня поговорим об оптических считывателях и домофонах ранее неизвестной мне фирмы. Узнаем, как работали их ключи и разберёмся,…

    Читать далее »
  • ХабрахабрФото Действующий процессор на 13 микросхемах стандартной логики

    Действующий процессор на 13 микросхемах стандартной логики

    Привет, Хабр! Для меня было просто невозможно пройти мимо этого схемотехнического чуда. Горстка деталей на небольшой двусторонней плате выполняет команды машинного языка и выводит результат в виде двоичного кода! Действующая модель называется "TD4 CPU", является проектом с открытыми исходниками, реально работает и позволяет понять устройство и принцип работы процессора. ▍ История проекта Автором идеи является Ику Ватанабе, написавший книгу «とりあえず動作するだけの4bitCPU…

    Читать далее »
  • ХабрахабрФото Звуковой датчик при респавне игрока

    Звуковой датчик при респавне игрока

    ////////////////////////////////////////////////////////////////////////////////// WinMain.cpp//// По умолчанию в UT99 звук воспроизводит: Galaxy.GalaxyAudioSubsystem.// Если, что-то будет не так - проверьте файл UnrealTournament.ini,// установлено-ли: AudioDevice=Galaxy.GalaxyAudioSubsystem #include <windows.h>#include <winioctl.h> char* GAppname="Resp2A Trigger UT99'";char* GAppname_UT="Unreal Tournament"; void mb(char* s);void OnKbdLeds();void ToggleLed(BOOL toggle, int led);char* appGetOpenFileName(); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) } char CurrentDirectory[MAX_PATH]; lstrcpy(CurrentDirectory,CommandLine); int i; for(i=lstrlen(CurrentDirectory)-1;i>0;--i) { if('\\'==CurrentDirectory[i-1] || '//'==CurrentDirectory[i-1]) break; } CurrentDirectory[i]=0; PROCESS_INFORMATION…

    Читать далее »
  • ХабрахабрФото Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг

    Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг

    Server-Driven UI (SDUI) — это подход для динамичного и гибкого пользовательского интерфейса, когда сервер посредством API сообщает приложению, какие компоненты и с каким контентом отображать. Он довольно популярен, и мы его тоже используем на многих экранах — помогает быстро выпускать фичи в продакшн.  В статье покажу, на каких экранах мы его применяем, и расскажу, как развивались у нас подходы гибкого…

    Читать далее »
  • ХабрахабрФото Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг

    Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг

    Server-Driven UI (SDUI) — это подход для динамичного и гибкого пользовательского интерфейса, когда сервер посредством API сообщает приложению, какие компоненты и с каким контентом отображать. Он довольно популярен, и мы его тоже используем на многих экранах — помогает быстро выпускать фичи в продакшн.  В статье покажу, на каких экранах мы его применяем, и расскажу, как развивались у нас подходы гибкого…

    Читать далее »
  • ХабрахабрФото Интегральный таймер NE555 и его применение

    Интегральный таймер NE555 и его применение

    Когда в 1972 году началось производство микросхемы интегрального таймера NE555, никто не предполагал, что и через пятьдесят лет она не утратит популярности, а к названию таймера будут добавлять слово «легендарный». В данной публикации мы разберём основные применения легендарного таймера 555 и аккуратно заглянем ему «под капот».Приведённые в качестве примера схемы и временные диаграммы работы этих схем созданы с помощью SPICE-симулятора…

    Читать далее »
  • ХабрахабрФото DBA: Когда почти закончился serial

    DBA: Когда почти закончился serial

    "Шеф, всё пропало, у нас serial на мегатаблице почти закончился!" - а это значит, что либо вы его неаккуратно накрутили сами, либо у вас действительно данных столько, что разрядности integer-столбца уже не хватает для вашей большой и активной таблицы в PostgreSQL-базе. Да и столбец этот не простой, а целый PRIMARY KEY, на который еще и ряд других немаленьких таблиц по…

    Читать далее »
  • ХабрахабрФото Отложенные задачи в рамках микро-сервисной архитектуры

    Отложенные задачи в рамках микро-сервисной архитектуры

    Часто в проектах возникает необходимость выполнения отложенных задач, таких как отправка email, push и других специфических задач, свойственных доменной области вашего приложения. Сложности начинаются, когда обычного crontab уже недостаточно, когда пакетная обработка не подходит и когда у каждой единицы задачи свое время выполнения или оно назначается динамически. Для решения такой задачи было создано очередное решение под названием Trigger Hook. Принципиальная…

    Читать далее »
  • ХабрахабрФото Агрегаты в БД — зачем, как, а стоит ли?

    Агрегаты в БД — зачем, как, а стоит ли?

    С течением жизни приложения в его БД накапливается все больше данных. Десктопное оно, SaaS или даже мобильное - неважно, в современном мире почти каждый что-то хранит "у себя". Если это какая-то локальная утилита - не страшно, само ее существование у пользователя достаточно ограничено. Но если это что-то вроде нашего СБИС, который накапливает и помогает анализировать операции за все время существования…

    Читать далее »
  • ХабрахабрФото PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии

    PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии

    Рекурсия — очень мощный и удобный механизм, если над связанными данными делаются одни и те же действия «вглубь». Но неконтролируемая рекурсия — зло, которое может приводить или к бесконечному выполнению процесса, или (что случается чаще) к «выжиранию» всей доступной памяти. СУБД в этом отношении работают по тем же принципам — "сказали копать, я и копаю". Ваш запрос может не только…

    Читать далее »


Кнопка «Наверх»