Search
Write a publication
Pull to refresh
1
0
Send message

Полуфабрикат Windows-службы

Reading time16 min
Views8.3K
Один из способов доморощенной классификации служб основывается на времени их жизни: некоторые из них запускаются сразу же при старте ОС, оставаясь активными постоянно (сюда, скажем, можно отнести веб-серверы и СУБД), другие же запускаются лишь при необходимости, делают свои архиважные дела и сразу завершаются; при этом, ни один из вариантов сам по себе не делает реализацию службы сложнее, однако второй требует от разработчика как минимум ещё и умения программно стартовать, а при необходимости и досрочно останавливать её работу. Именно указанный аспект управления службой, плюс добавление некоторых отсутствующих в штатной поставке Delphi возможностей, и сподвиг автора на данный опус.

Чтобы статья воспринималась максимально полезной и практичной, в ней предлагается заготовка (почти готовый к употреблению шаблон) службы, обрабатывающей очередь неких задач (или заданий – кому как больше нравится); после того, как все из них обработаны, служба тут же завершается. Если представить графически, то читатель познакомится со следующей конструкцией:

Взаимодействие службы с очередью и управляющим приложением
Читать дальше →

Звуковой луч — реально ли это?

Reading time5 min
Views13K
image
Картинка: Фононный лазерный прибор.
Автор: Ivan S. Grudinin, Источник

С момента своего появления лазеры совершили революцию в современной науке и технике, позволив передавать данные большого объёма на большие расстояния, хранить их, используя модификацию вещества с использованием лазерного луча, исследовать структуру материалов и предоставив многие другие возможности. Известно, что лазер является оптическим явлением. А теоретически, возможен ли некий звуковой лазер? Именно об этом мы и поговорим в этой статье.

Читать дальше →

Команда awk – примеры использования в Linux и Unix

Reading time5 min
Views212K

В этом базовом руководстве вы узнаете самые основы команды awk, а также увидите некоторые способы её использования при работе с текстом, включая вывод содержимого файла, а также его конкретных столбцов, строк и слов по указанным критериям. Приступим!
Читать дальше →

OSINT по спутниковым изображениям

Reading time3 min
Views50K
image

Мы живем в такое время, когда снимок со спутника можно получить в один клик. В оптическом, в инфракрасном и в радиодиапазоне. А еще историю изменений в определенной координате за несколько лет.

Зеленый Кот нашел разбившуюся советскую исследовательскую станцию «Марс-3» по снимкам со спутника, тысячи экологов следят за лесами Амазонки и состоянием береговой линии, школьники делают учебные проекты по слежке за популяцией моржей, репортеры проводят расследования, освобождают рабов, мониторят лагеря беженцев.

Предлагаю вам подборку бесплатных ресурсов и проектов со спутниковыми данными, программами обработки этих данных и полезные статьи.
Читать дальше →

4k @ 144Hz: DP, HDMI, USB-C Alt-Mode & cables…

Reading time11 min
Views70K

Я недавно сделал себе небольшой апгрейд и у меня появился монитор 4k@144Hz. Разумеется, на 144Hz он не заработал. Потому что нюансы. Мне пришлось в это нырнуть глубже, чем хотелось бы...

Спойлеры: DP, USB-C Alt-mode, Thunderbolt, USB4 3x2, 40Gbps, HDMI.
Оглавление: кабели, протоколы, режимы.

Лыдыбр: Моя старая видеокарта на компьютере сумела завести его на 4k @ 60Hz с помощью Display Port. (Либо 2k @ 144Hz). Это её техническое ограничение, больше она не может. Дальше я попытался воткнуть в монитор ноутбук (все 5 шт, какие нашлись у меня и знакомых) и обнаружил, что всё настолько сложно, что мне потребовалось несколько заходов чтения спецификации, пока я "это завёл". Выписываю свои наблюдения и эксперименты. Актуальность - первая половина 2022 года. Монитор under study - Gigabyte M32U, хотя, в принципе, это не существенно для обсуждаемого вопроса. У монитора разъёмы HDMI, DP, USB-C.

Разбирать проблему я буду слоями. Начём с физики.

Читать далее

Стримеру игр в помощь: аппаратный энкодинг видео силами GPU – насколько он хорош?

Reading time8 min
Views11K

Игроки-стримеры не хотят тратить ресурсы на кодирование видео в ущерб производительности самой игры, да и современные GPU часто идут с аппаратными кодировщиками. Но все ли они одинаково полезны? Ведь смотреть замыленную картинку с артефактами никто не станет. Проверяем несколько реализаций аппаратных кодеков, чтобы выбрать лидера. 

Узнать подробности

Экспорт статей Хабра в html, markdown

Reading time2 min
Views13K

image


До меня было написано 4 статьи по экспорту статей с хабра в FB2 и pdf:



Я захотел получить исходники своих статей.

Читать дальше →

Уличное освещение на основе ESP8266

Reading time16 min
Views17K

Привет, Хабр! В этой статье я расскажу о своем опыте разработки системы уличного освещения, построенной на микроконтроллере ESP8266. Хоть данная идея и не нова и в интернете огромное количество готовых проектов на базе данного микроконтроллера, я хотел бы поделиться тем, что у меня получилось в надежде, что для кого-нибудь это окажется полезным.

Читать далее

Мощный электромагнитный импульсный генератор — реальность или вымысел?

Reading time7 min
Views72K
Картинка: browsecat.net

Периодически то в одном, то в другом фильме мелькает интересный девайс, который позволяет за доли секунд выключить: всю электронику в окрестностях, свет во всём городе, «победить всех роботов разом» и т.д. и т. п. Да, речь пойдёт о «мифическом» генераторе электромагнитного импульса. Но насколько он реален на самом деле?

Читать дальше →

Библиотека для адресных светодиодов STM32

Reading time8 min
Views27K

Драйвер для STM32 для реализации протокола адресных светодиодов (WS2812, WS2811, SK6812, и т.д.), с рациональным использованием буферной памяти и DMA.

Читать далее

Проектирование и настройка микрополосковых полосно-пропускающих фильтров СВЧ диапазона

Reading time8 min
Views17K

При проектировании СВЧ электроники часто приходится использовать микрополосковые фильтры реализованные на плате в виде проводящих дорожек. Если нужен не очень качественный фильтр (2-3 порядка), то рассчитать его топологию не составит труда. Но иногда необходимо настроить фильтр высокого порядка и получить хорошую селективность и высокое ослабление в полосах заграждения. Тогда задача становится нетривиальной. В таком случае на помощь приходить такой замечательный инструмент современного инженера, как САПР.

В данной статье я расскажу про свой опыт настройки СВЧ фильтров с применением Microwave office от AWR. Данная программа представляет собой классический инструмент для симуляции электрических схем и обладает рядом преимуществ, призванных облегчить жизнь инженеру разработку СВЧ электроники.

Это моя первая статья на Хабре, поэтому прошу строго не судить. Конструктивную критику воспринимаю хорошо.

Читать далее

NNHelper – пакет на языке Go для создания и использования нейронной сети

Reading time4 min
Views7.2K

Данная статья описывает работу пакета nnhelper, предназначенного для создания и использования нейронных сетей в программах на языке Go.

Если Вы уже знакомы с машинным обучением и используете его в своей работе, то эта статья и описанные в ней примеры могут показаться вам слишком простыми. Если Вы в начале пути и хотите познакомиться с этой темой или вам хотелось бы научиться использовать нейроматрицу в ваших программах на языке Go, то вы попали точно по адресу.

Go пакет nnhelper разработан для быстрого создания нейронной сети и использовании ее в приложениях, написанных на языке Go. Для использования nnhelper не потребуется ничего дополнительного, кроме Go. Пакет nnhelper является надстройкой над пакетом gonn. И это единственная внешняя зависимость.

Читать далее

Руководство GNU troff

Reading time3 min
Views4.1K

Здравствуй, Хабр!

Первая часть перевода документации troff в библиотеке Coolib. Сегодня этот замечательный текстовой процессор, старший брат LaTeX, редко упоминается на компьютерных форумах, однако история troff очень и очень достойная. Кроме всего прочего, troff компактный, прекрасно работает с большими текстовыми файлами (например, базами данных огромных размеров), позволяет простыми и удобочитаемыми методами форматировать текст. Наверное, относительная удобочитаемость и заставила меня полюбить этот текстовой процессор, детище Джерри Зальцера, Дж. Ф. Оссанны, Брайана Кернигана и Джеймса Кларка.

Читать далее

Развёртывание Kubernetes-кластера на домашнем сервере

Reading time18 min
Views43K

Дано: домашний сервер под управлением Debian 11 с установленным гипервизором Xen.

Требуется: развернуть Kubernetes-кластер для получения опыта, связанного с настройкой и управлением Kubernetes-кластера, и дальнейшего его использования для разработки и хостинга персональных проектов.

Развёртывание Debian и Xen, а также миграция с Hyper-V на Xen нескольких Windows-виртуальных машин описана в моей статье Миграция домашнего сервера с Hyper-V на Xen Project на Debian. В ней также описана конфигурация моей сети.

В данной статье я исхожу из того, что читатель имеет представление о том, что такое Kubernetes, как он работает, из каких компонентов состоит и знаком с необходимой терминологией. Многие идеи и код я брал из статьи Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian), но местами адаптировал под свои нужды и окружение. Задача данной статьи дать читателям готовое решение, требующее минимальных усилий для повторения и, вместе с тем, не требующее дополнительных инструментов (вроде Ansible или Terraform), а также показать новичкам некоторые моменты работы с Linux, Kubernetes и используемыми пакетами. Повествование разбито на несколько шагов, каждый из которых заключается в запуске скрипта и нескольких ручных командах.

Читать далее

Алгоритмы на кристалле. Глава 1: Вычислительная модель

Reading time23 min
Views9.5K
Примерное оглавление всей книги тут.
Следующая статья этого цикла.
Возможно, в вашем браузере с первого раза не будут правильно отображаться формулы. Если так, попробуйте перезагрузит страницу — на моем компьютере этот фокус работает

Пара слов о том, что мы будем изучать.


На фотографии ниже представлена электронная схема в том масштабе, на котором мы привыкли их видеть невооруженным взглядом. Множество всяких квадратных и не очень блочков с торчащими из них проволочными ножками (пинами), сеть проводящих металлических дорожек, к которым своими ножками припаяны блочки, покрывающая плату затейливым узором. Современные цифровые схемы на кристалле концептуально представляют из себя примерно тоже самое, однако их строение не получится разглядеть без микроскопа.


Какая-то плата. Источник фото ukrmarket.net

В общих словах работу цифровой схемы можно описать так: дорожки соединяют выходные пины одних блочков с входными пинами других. С некоторой периодичностью по дорожкам распространяются электрические импульсы от выходных пинов, где они, собственно, и зарождаются, к входным. Обычно каждый такой импульс кодирует одно из двух значений: логические ноль или логическую единицу. Значение импульсов, которые за текущий такт породит блочок на своих выходных пинах, зависят от конструкции блочка и того, какими были значения импульсов, пришедших на его входные пины за все предыдущие время.

Конечно, чтобы уметь проектировать микросхему и потом быть в состоянии рассуждать о ее работе, нам потребуется какая-то более-менее точная теория. Созданием такой теории мы сейчас и займемся. Если кто-то из читателей переживает, что он не знает или забыл, где у транзистора база, а где эмиттер, я спешу его успокоить – эти знания нам даже не понадобятся. Рассуждения в книге будут относиться к концептуально более простому и высокому уровню: уровню логических блоков.
Читать дальше →

«Выглядит похоже». Как работает перцептивный хэш

Reading time6 min
Views126K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →

Простой поиск дубликатов изображения

Reading time3 min
Views7.8K

Существует множество проверенных решений, основанных на разных алгоритмах. Этот пример использует элементы машинного обучения, текущий уровень развития инструментов, позволяет с минимальными усилиями решать "бытовые задачи". В качестве меры сходства - косинусное сходство. Сравнение многомерных массивов (изображение в цифровом пространстве), ресурсоемкий процесс, поэтому, применяем обученную свёрточную нейронную сеть для уменьшения размерности с учетом важных пространственных признаков. Библиотека keras содержит готовые модели под разные задачи, этот пример задействует архитектуру VGG16 обученную на данных imagenet. Вход в сеть (N, 224, 224, 3), выход (1, 512).

Читать далее

Преобразование офисных файлов в текст

Reading time4 min
Views6K

Представление документа в виде простого текста понадобится для анализа его содержимого: индексирования и поиска, классификации, предварительной проверки.

В нашем случае, стояла задача предварительного анализа (скоринга) документов по их содержимому. Верхнеуровневый процесс обработки документов построен с использованием MS Power Automate, поэтому конвертор нужно было реализовать в виде некоего облачного сервиса, доступного через HTTP.

В результате получился очень компактный сервис экстракции текста из офисных файлов, который успешно работает у нас уже несколько месяцев. Под катом - краткое описание сервиса, ссылка на репозиторий и другие полезные статьи по теме.

Читать далее

Подключение уличной видеокамеры к видеорегистратору в облаке

Reading time6 min
Views19K

Всем привет! Снова на связи Алексей Холодаев, младший системный администратор Cloud4Y.

Есть у меня уютная личная берлога за городом, в которой я периодически отдыхаю от суеты. И в один прекрасный момент я понял, что не помешало бы организовать видеонаблюдение за участком. Не что-то монументальное и всевидящее, а просто для душевного спокойствия. На это дело я решил выделить 6000 рублей. 

Итак, передо мной встала задача: организовать наблюдение за участком при условии, что там нет проводного интернета. И я начал искать варианты.

Читать далее

Information

Rating
Does not participate
Registered
Activity