пятница, 27 августа 2021 г.

вторник, 24 августа 2021 г.

Using uart in winapi

Articles:
1) Serial Port Programming using Win32 API https://www.xanthium.in/Serial-Port-Programming-using-Win32-API
4) Serial port programming using Win32 API (Windows) https://aticleworld.com/serial-port-programming-using-win32-api/

msdn:

async read from rs232:

samples:

uart:
1) Пакетный обмен данными по UART https://habr.com/ru/post/578116/
2) UART и с чем его едят https://habr.com/ru/post/109395/
3) Учимся работать с USB-устройством и испытываем систему, сделанную на базе контроллера FX3 (fpga) https://habr.com/ru/post/535406/
4) Трансивер UART для 8-битного компьютера на макетной плате https://habr.com/ru/post/519820/

понедельник, 23 августа 2021 г.

Библиотека для ini-файлов inih

Для использования, как и в случае с легковесной встраиваемой библиотекой sqlite, надо просто включить файлы ini.h, ini.c в свой проект на студии и qtcreator'е.

Как в win7 отформатировать microsd-флешку размером 64ГБ в fat32

Можно либо скачать утилиту fat32format сделать быстрое форматирование, либо из консоли под админом набрать и подождать, пока закончится полное форматирование флешки (но всё равно в этом случае win7 отказывается работать с этой флешкой):

format /fs:fat32 [имя диска]:

Ссылки:

среда, 18 августа 2021 г.

Двоичные деревья

Двоичное дерево поиска (habr):
1) Структуры данных: бинарные деревья. Часть 1 https://habr.com/ru/post/65617/
2) Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев https://habr.com/ru/post/66926/

1) Понимаем красно-черное дерево. Часть 1. Введение https://habr.com/ru/post/555404/
2) Понимаем красно-черное дерево. Часть 2. Балансировка и вставка https://habr.com/ru/post/557328/
3) Удаление в красно-черном дереве https://habr.com/ru/post/573502/

понедельник, 16 августа 2021 г.

Модель памяти и lock-free структуры

Модель памяти:
1) http://www.1024cores.net/home/in-russian/cto-takoe-model-pamati-i-s-cem-eee-edat
2) https://tproger.ru/articles/low-level-memory/
3) https://prog-cpp.ru/asm-memory/

Lock-free структуры данных:
1) Lock-free структуры данных. Основы: Модель памяти https://habr.com/ru/post/197520/
2) Lock-free структуры данных. 1 — Начало https://habr.com/ru/post/195770/
3) Lock-free структуры данных. Извне: введение в libcds https://habr.com/ru/post/196834/
4) Lock-free структуры данных. Внутри. Схемы управления памятью https://habr.com/ru/post/202190/

Как приготовить яблочный сидр

Ссылки:
1) Как сделать яблочный сидр в домашних условиях https://lifehacker.ru/yablochnyj-sidr-v-domashnix-usloviyax-recept/
2) Яблочный сидр в домашних условиях (с газом и без) https://alcofan.com/domashnij-sidr-recept-i-texnologiya-prigotovleniya.html

Пробки с гидрозатвором:
1) https://www.ozon.ru/product/kryshka-s-vnutrennim-gidrozatvorom-dlya-brozheniya-diametr-82-mm-kladovaya-vasilicha-sinyaya-296007676/?gclid=Cj0KCQjws4aKBhDPARIsAIWH0JUNuEfpVOqu3uj9IPvm2DYwVn1WP4rVxK5SQGc4hS-iAs2CowCswggaAo6NEALw_wcB&sh=NrvMhL8J&utm_campaign=MSPT_Product_Shopping_Smart_SSC_newclients&utm_medium=cpc&utm_source=google

2) https://xn--80adgowkbd.xn--p1ai/rezinovaja-probka-s-otverstiem-dlja-gidrozatvora

3) https://dobrovar-shop.ru/probka-dlya-butyli-pod-gidrozatvor-5054-mm/

4) https://www.ozon.ru/product/butyl-s-ruchkoy-dlya-pitevyh-zhidkostey-19l-262485374/?gclid=Cj0KCQjws4aKBhDPARIsAIWH0JXyOV4sU2y4Z6PS6yApZvhTPfHN2JakcaEobBQl510caKzX8T3YLFAaAktVEALw_wcB&sh=sU4aeh6a&utm_campaign=RF_Product_Shopping_Smart_allclients_SSC_super&utm_medium=cpc&utm_source=google&utm_term=

Вики:

среда, 11 августа 2021 г.

Winapi

Habr:
1) Разбираемся в WinAPI https://habr.com/ru/post/130093/
2) Создание простой обертки над WinAPI для оконных приложений https://habr.com/ru/post/123648/
3) Окна на чистом WinAPI. Или просто о сложном https://habr.com/ru/post/352096/
5) Петцольд Ч. Программирование для Windows 95. Том 2.

Криптография: сеть Фейстеля

Вики, хабр:
2) Введение в криптографию и шифрование, часть первая. Лекция в Яндексе https://habr.com/ru/company/yandex/blog/324866/
3) Почему сеть Фейстеля работает? Объяснение «на пальцах» https://habr.com/ru/post/140404/

среда, 4 августа 2021 г.

Использование библиотеки pcap

Habr:
1) (linux, !) Программирование с использованием PCAP https://habr.com/ru/post/337840/
2) Raw socket programming on windows with Winpcap https://www.binarytides.com/raw-sockets-packets-with-winpcap/
3) (windows, -) Перехват и анализ сетевого трафика с помощью библиотеки pcap https://habr.com/ru/post/550148/

Wiki, doxygen docs:

Анализ сетевых пакетов в Wireshark и их генерация в Scapy

Применение фильтров траффика в wireshark:

Wireshark, tcpdump (habr, wiki):
1) Руководство и шпаргалка по Wireshark https://habr.com/ru/post/436226/
2) Wireshark — приручение акулы https://habr.com/ru/post/204274/
4) Wireshark для всех. Лайфхаки на каждый день https://habr.com/ru/company/vdsina/blog/562110/
5) Анализ сетевого трафика на сервере с помощью tshark 
6) Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer) https://habr.com/ru/post/211042/

Scapy:
1) Packet crafting как он есть https://habr.com/ru/post/208786/

вторник, 3 августа 2021 г.

WinSock, UDP, threads

msdn:

binarytides.com:
1) (!)UDP Socket programming in winsock – How to code Client and Server 

After run in VS2017 on Win7 x64 we have some errors. Errors fix:
1.1) warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings src\core\MuninNodeServer.cpp 64 1 https://stackoverflow.com/questions/26947496/deprecated-commands-in-visual-c 
resolution: #pragma warning( disable : 4996)

1.2) gets function not found in <stdio.h> 
resolution: change "char buffer[BUFFERSIZE]; gets(buffer);" to "char buffer[BUFFERSIZE]; fgets(buffer, sizeof(buffer), stdin);" https://ru.wikipedia.org/wiki/Gets

2) (!)Winsock tutorial – Socket programming in C on windows https://www.binarytides.com/winsock-socket-programming-tutorial/
3) Raw socket programming on windows with winsock https://www.binarytides.com/raw-sockets-using-winsock/

winsocketdotnetworkprogramming.com:

habr:
1) (!)Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP 
2) Сетевое программирование для разработчиков игр. Часть 2: прием и передача пакетов данных 
3) Особенности работы с Multicast https://habr.com/ru/post/141021/
4) (ругают в комментах) Простой и быстрый сервер на C/C++ с клиентом на C#: TCP версия https://habr.com/ru/post/327574/
5) (! c++)Кроссплатформенный многопоточный TCP/IP сервер на C++ https://habr.com/ru/post/503432/
6) IPv6 в новом TCP/IP стеке Windows https://habr.com/ru/post/85814/
7) Повесть о создании классической RTS в домашних условиях с нуля + разбор основных этапов разработки (AI, сеть и т.д.) https://habr.com/ru/post/280520/
8) Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение») 
9) Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение») Продолжение статьи: GUI https://habr.com/ru/post/328116/
10) (!)Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение») Окончание статьи: Сеть https://habr.com/ru/post/328118/

udp sockets with threads:
1) What architecture should I use for a Multi-Threaded UDP Server https://forums.codeguru.com/showthread.php?76505-What-architecture-should-I-use-for-a-Multi-Threaded-UDP-Server
2) Creating high-performance UDP servers on Windows and Linux https://blog.grijjy.com/2018/08/29/creating-high-performance-udp-servers-on-windows-and-linux/

boost.asio

Перевод книги John Torjo «Boost.Asio C++ Network Programming» (habr):
1) «Boost.Asio C++ Network Programming». Глава 1: Приступая к работе с Boost.Asio https://habr.com/ru/post/192284/