триггер
-
Хабрахабр
Санком. Неизвестный производитель оптических домофонов
Приветствую всех! В начале лета этого года я уже рассказывал про домофоны с оптическим ключом. И так уж вышло, что в статье речь шла исключительно про самый популярный тип ключа с пятью тройками дырочек. Но, само собой, существовали и другие устройства. Итак, сегодня поговорим об оптических считывателях и домофонах ранее неизвестной мне фирмы. Узнаем, как работали их ключи и разберёмся,…
Читать далее » -
Хабрахабр
Действующий процессор на 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 (SDUI) — это подход для динамичного и гибкого пользовательского интерфейса, когда сервер посредством API сообщает приложению, какие компоненты и с каким контентом отображать. Он довольно популярен, и мы его тоже используем на многих экранах — помогает быстро выпускать фичи в продакшн. В статье покажу, на каких экранах мы его применяем, и расскажу, как развивались у нас подходы гибкого…
Читать далее » -
Хабрахабр
Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
Server-Driven UI (SDUI) — это подход для динамичного и гибкого пользовательского интерфейса, когда сервер посредством API сообщает приложению, какие компоненты и с каким контентом отображать. Он довольно популярен, и мы его тоже используем на многих экранах — помогает быстро выпускать фичи в продакшн. В статье покажу, на каких экранах мы его применяем, и расскажу, как развивались у нас подходы гибкого…
Читать далее » -
Хабрахабр
Интегральный таймер NE555 и его применение
Когда в 1972 году началось производство микросхемы интегрального таймера NE555, никто не предполагал, что и через пятьдесят лет она не утратит популярности, а к названию таймера будут добавлять слово «легендарный». В данной публикации мы разберём основные применения легендарного таймера 555 и аккуратно заглянем ему «под капот».Приведённые в качестве примера схемы и временные диаграммы работы этих схем созданы с помощью SPICE-симулятора…
Читать далее » -
Хабрахабр
DBA: Когда почти закончился serial
"Шеф, всё пропало, у нас serial на мегатаблице почти закончился!" - а это значит, что либо вы его неаккуратно накрутили сами, либо у вас действительно данных столько, что разрядности integer-столбца уже не хватает для вашей большой и активной таблицы в PostgreSQL-базе. Да и столбец этот не простой, а целый PRIMARY KEY, на который еще и ряд других немаленьких таблиц по…
Читать далее » -
Хабрахабр
Отложенные задачи в рамках микро-сервисной архитектуры
Часто в проектах возникает необходимость выполнения отложенных задач, таких как отправка email, push и других специфических задач, свойственных доменной области вашего приложения. Сложности начинаются, когда обычного crontab уже недостаточно, когда пакетная обработка не подходит и когда у каждой единицы задачи свое время выполнения или оно назначается динамически. Для решения такой задачи было создано очередное решение под названием Trigger Hook. Принципиальная…
Читать далее » -
Хабрахабр
Агрегаты в БД — зачем, как, а стоит ли?
С течением жизни приложения в его БД накапливается все больше данных. Десктопное оно, SaaS или даже мобильное - неважно, в современном мире почти каждый что-то хранит "у себя". Если это какая-то локальная утилита - не страшно, само ее существование у пользователя достаточно ограничено. Но если это что-то вроде нашего СБИС, который накапливает и помогает анализировать операции за все время существования…
Читать далее » -
Хабрахабр
PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии
Рекурсия — очень мощный и удобный механизм, если над связанными данными делаются одни и те же действия «вглубь». Но неконтролируемая рекурсия — зло, которое может приводить или к бесконечному выполнению процесса, или (что случается чаще) к «выжиранию» всей доступной памяти. СУБД в этом отношении работают по тем же принципам — "сказали копать, я и копаю". Ваш запрос может не только…
Читать далее »