Персональний блог на різноманітні теми: від кулінарії до мережевої безпеки.
MYCSS
2016-09-28
2016-09-27
Компіляція браузера Chromium для Ubuntu (x265, HEVC)

Є перевірена новина, що у експериментальній версії браузера Chromium 55.0.2850 для Windows з'явилася можливість програвати медіа файли формату (HEVC або він же h265).
2016-09-20
Використання мереж VLAN у FreeBSD при міграції до Hyper-V
Портував FreeBSD сервер до віртуального середовища під керуванням Microsoft Hyper-V. І за звичай хотів використовувати налаштування які я робив у FreeBSD для віртуальних мереж, де є одна мережева карта "fxp0" і з неї "витягуються" усі віртуальні мережі vlan101...vlan1000:
Після аналізу з'ясував що так і потрібно, щоб віртуальні середовища були ізольовані один від одного.
Вихід з цього простий треба у налаштування віртуального середовища створити стільки мережевих адаптерів скільки віртуальних мереж Вам потрібно. Для тегованих так і не тегованих портів створюються окремі адаптери:
rc.conf: cloned_interfaces="vlan101 vlan102 vlan103 vlan104 vlan1000" ifconfig_vlan101="inet 192.168.101.1 netmask 255.255.255.0 vlan 101 vlandev fxp0" ifconfig_vlan102="inet 192.168.102.1 netmask 255.255.255.0 vlan 102 vlandev fxp0" ifconfig_vlan103="inet 192.168.103.1 netmask 255.255.255.0 vlan 103 vlandev fxp0" ifconfig_vlan104="inet 192.168.104.1 netmask 255.255.255.0 vlan 104 vlandev fxp0" ... ifconfig_fxp0="up"Але з'ясувалося через 'tcpdump -i fxp0 -eee', як у жахливому сні - що десь чути чую, а сказати нічого не можу .
Після аналізу з'ясував що так і потрібно, щоб віртуальні середовища були ізольовані один від одного.
Вихід з цього простий треба у налаштування віртуального середовища створити стільки мережевих адаптерів скільки віртуальних мереж Вам потрібно. Для тегованих так і не тегованих портів створюються окремі адаптери:
| Визначення TAG ID port VLAN для мережевого адаптера у Hyper-V |
2016-09-15
Використання змінних з проект файлу Qt5 у С++ програмі
Наприклад у інтерфейсі програмі треба показати версію програми, визначаємо змінну VERSION у файлі .pro:
VERSION = 0.1.0Але є проблема що у програмі це повинна бути string, обробляємо:
VERSTR = '\\"$${VERSION}\\"'
І додаємо оброблену зміну через визначення DEFINES:
DEFINES += VER=\"$${VERSTR}\"
Після цього можна використати у власній програмі .cpp:
#ifdef VER
QString("version: %1 (Build: %2 %3)").arg(VER).arg(__DATE__).arg(__TIME__);
#endif
P.S. DEFINES визначає змінні макросів С препроцесора для qmake через ключ -D (add_definition)2016-09-04
2016-08-02
Офшор, і данні українських державних установ майже у сусідів з MAIL.RU
Не перший раз, вже бачу як рекламують, і застосовують дивний домен поштової системи @MAIL.UA. На перший погляд дуже патріотично, український домен .UA. Також відомо що отримати його не так швидко і просто, потрібна торгова марка. Регламент особливостей реєстрації приватних доменних імен другого рівня в домені .UA:"3.3. Приватні доменні імена другого рівня в домені .UA делегуються виключно у
разі, якщо відповідне доменне ім`я повністю, або його компонент другого рівня
(до знака ".", але не включаючи цей знак), за написанням співпадає із Знаком,
права на використання якого на території України належать відповідному
реєстранту.".
Ось приклад використання на сайті Прозоро інформація про певну державну організацію котра використовує пошту у домені MAIL.UA.
| Сайт ProZorro |
2016-07-27
Модифікація датчика руху при використанні освітлення на світлодіодах
Так дуже приємно не вмикати освітлення самому, а використовувати датчики руху на основі - пасивних інфрачервоних сенсорів PIR (passive infrared sensor).
Так, наприклад, у коридорі стоїть датчик руху з лампочкою LED потужністю 5W, а біля кухні датчик руху з потужнім світлодіодом LED потужністю 10W.
Коли, раніше, використовували лампи розжарення потужністю 75-100W, то ніколи ніхто не замислювався про те, а скільки споживає електричної енергії схема систем керування і який її відсоток від загального споживання. Але з часом переходу на більш економні лампи на світлодіодах, відсоток споживання електричної енергії плати керування, став зовсім іншим.
Тому мета з'ясувати скільки що споживає, і чи можливо щось вдіяти з цим.
2016-07-14
Blocking ip by list of numbered dns names
Щось дістали записи у протокольних фалах від не бажаної пошти, вирішив заблокувати по IP.
Таким скриптом перебираю адреси, шукаю усі їх IP, колекціюю до файлу, сортую у пошуках унікальних, і передаю адресу скрипту з блокування адрес фаєрволом на певний час.
Таким скриптом перебираю адреси, шукаю усі їх IP, колекціюю до файлу, сортую у пошуках унікальних, і передаю адресу скрипту з блокування адрес фаєрволом на певний час.
#!/bin/sh
echo "START"
for i in $(jot - 1 99); do
hip="m$i.esputnik.com";
ip=$(host -t a $hip | awk '{print $4}');
for addr in $ip
do
echo "$addr" >> block_ip_loop.txt
done
done
for addr in $(sort -u block_ip_loop.txt).
do
echo "blocking $addr"
./ipfw-blockip-by-hand.sh 9999999 $addr
done
rm block_ip_loop.txt
echo "END"
2016-06-18
Qt контрольована робота QRunnable, QThread, QThreadPool, на прикладі QWebSocket
За допомогою статті можна зробити контрольовану роботу QRunnable та QThreadPool у Qt.
Тобто передати результати роботу зовнішньому СЛОТУ.
Через симуляцію connect:
How to report progress and abort a long running operation with QRunnable and QThreadPool
P.S. Не забуваємо про попереднє використання qRegisterMetaType.
на кшталт
Тобто передати результати роботу зовнішньому СЛОТУ.
Через симуляцію connect:
QMetaObject::invokeMethod(receiver, "updateProgressBar",
Qt::QueuedConnection,
Q_ARG(int, pFinished));
How to report progress and abort a long running operation with QRunnable and QThreadPool
P.S. Не забуваємо про попереднє використання qRegisterMetaType.
на кшталт
qRegisterMetaType<QWebSocket*>();
Підписатися на:
Коментарі (Atom)
Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...
When you forgot your native language you would become a poor at spirit every day ...
Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

