Прошлые события

30.12.2024 Для анализа данных о системе из прошлой статьи нужно отфильтровать всё лишнее с помощью регулярных выражений.

26.12.2024 В качестве пробного приложения я пробую container runtime. Такое приложение сразу порождает кучу практичных вопросов. Например, вопрос подходящего ядра Linux. Чтобы узнать его версию, нужно быстро опросить систему, для этого я добавил кусочек библиотеки sysinfo. Есть и другой способ узнать версию ядра и тип ОС: uname -a && cat /etc/issue. Для этих целей можно запустить команду в STDIN поток ОС.

25.12.2024 Сегодня день посвящён работе с ошибками в Rust. У меня ранее уже была статья об этом, пора в её неё добавить деталей, а также разобрать специализированную библиотеку Anyhow для упрощения работы с ошибками.

24.12.2024 Механизм логгирования и трассировки позволяет отслеживать работу приложения максимально плотно. Есть несколько инструментов для сбора логов, но наиболее эффективный из них tokio tracing, так как корректно обрабатывает трассировку потоков многопоточных и многоканальных приложений. Разбор работы с ним теперь в статье про tracing. Общий посыл в том, что можно писать лог с функций любым логгером, и это вполне подходит - до тех пор, пока не начать писать многопоточное, многоканальное приложение. Как только появляется вязанка потоков, каждый из которых создаёт события, типовой логгер начинает сбоить, т.к лог события с одного потока перекрывает лог с другого потока. И вот, чтобы корректно с этим работать, логгер уже не пишет просто события, а создаёт “промежуток потоковой трассы событий”, т.е набор событий в контексте работы каждого потока, при этом запись этих событий должна быть как неблокирующее поток вывода действие, и отправляться оно должно необязательно в файл, а есть поддержка сразу отправки в SIEM, анализатор типа Datadog и т.д. в режиме дозаписи (rolling). Т.е логгер одновременно делает трассировку, отдачу телеметрии - с заворачиванием в стандарт OpenTelemetry по желанию, и многопоточную передачу этих данных в один или несколько приёмников: одновременно в файл с ротацией, SIEM, облако и т.д. Круто же!

23.12.2024 Долго я не понимал прелести работы библиотеки Rust clap по работе с аргументами командной строки. А потом как понял! Всему виной громоздкие документация и примеры. Начинать надо с малого, что я и сделал в своей статье про clap.

21.12.2024 Наконец-то я залезаю в многопоточность приложений. Тема непростая, интересная. Я добавил статью про работу с процессорными потоками в Rust, буду дополнять её далее.

19.12.2024 Немного обновил я данные там и сям:

02.12.2024 Наконец-то, массовый апдейт сайта! После обновления движка Hugo у меня были проблемы с занесением сюда новых заметок, но теперь это в прошлом.

06.08.2024 Я делаю новый подход к снаряду с Kubernetes. Попутно я заметил, что не сделал заметок по пространствам имён - исправляю этот недочёт.

24.04.2024 Недавно я разбирался с хабом для умного дома на базе OpenWRT и озадачился кросс-компиляцией утилит под него. А следом у меня возник вопрос о кросс-компиляции проектов Rust. Оказалось, для этого есть модуль Cross, который через контейнер Docker/Podman +Wine способен скомпилировать код на моём макбуке под Windows. Заметку об этом я добавил по ссылке.

30.03.2024 Множество мелких добавок-правок не попадают в новости, но что-то я периодически дописываю на портале. Из недавнего-интересного - чтение файлов в Rust. Чтение в строку, через буфер, в вектор из байт для бинарных файлов. В перспективе я думаю разобрать парсинг спец-форматов: XML, JSON, YAML, TOML.
03.02.2024 Ещё один элемент стиля Rust - повсеместное использование замыканий в самых разных хитрых комбинациях. Это сокращает количество кода, при этом сохраняет скорость выполнения. Прицепом я добавил в тему словарей инициализацию со значениями. В Python аналог defaultdict был полезной штукой, местный аналог в Rust тоже нужно было записать.

01.02.2024 В процессе решения задачек я потихоньку прихожу к пониманию, что такое “смена мышления” при работе с Rust относительно других языков: это упор на типы данных и конструкции языка заместо привычных общепринятых. Например, использовать перечисления (enum) и match всегда и везде заместо if-else. Попутно я дополнил статью о векторах темой перевода туда-обратно в строки. Для составных типов данных это наиболее актуальный вопрос: как собрать в такой тип данные, а потом отдать данные назад в правильном формате.

28.01.2024 Этот год я решил вернуться к Rust после перерыва и научиться решать задачки с ним в codewars. В процессе я потихоньку осваиваю расширенную библиотеку, например, модуль itertools тут есть, как и в Python, даёт возможность делать полезные преобразования и сортировку строк.

11.11.2023 Неожиданное открытие на днях: давно я искал RAW-редактор фото а-ля Lightroom, но при этом бесплатный-открытый, и чтобы при этом умел работать с масками, а вдобавок делать много проб под кривые коррекции в LAB. И такой оказался у меня прямо под носом - Darktable. Я иногда им пользовался, но совершенно проморгал наличие там мощного механизма работы с масками, а вдобавок мощнейших функций шумодава и микроконтраста. Навёрстываю упущенное, создал раздел в заметках и конспект по шумодаву с масками

09.11.2023 Подборка полезных/интересных фреймворков для Rust:

  • Bevy - игровой 2D и 3D движок на Rust;
  • Сравнение веб-фреймворков;
  • Serde - конвертация между структурами Rust и строками JSON;
  • Tokio - асинхронность, распараллеливание потоков данных;
  • Nannou - креативное программирование, рисование фрактальных форм;
  • Polars - аналог Pandas, обработка массивов данных;

20.10.2023 Формат “стены” - небольших новостей-блогов - мне показался более интересным для главной страницы сайта. В связи с этим я буду тут писать небольшие заметки, которые далее перемещать в новый раздел новостей сайта.

Позавчера мы обсудили с коллегами от Kaspersky Labs, VK Cloud и Positive Technologies перспективные технологии на рынке ИБ. Особый упор на ePBF и WebAssembly. Ссылку на стрим я добавил в список своих видео выступлений

Более ранние обновления Раздел новостей сайта

06.10.2023 27.09.2023 22.09.2023 18.09.2023 14.09.2023

06.09.2023 Статья контексты безопасности в Pod

31.08.2023 Статья k8s Pod Commands, Env Variables

29.08.2023
  • Обновил статьи по k8s Deployments, Services, Pods - добавил ссылки, императивные команды, дополнил описания
28.08.2023

27.08.2023 Статья k8s Replica Sets

25.08.2023 Статья k8s Pods

02.05.2023 Раздел о библиотеках Rust

27.04.2023 Editing VR360 video in Davinci Resolve

25.04.2023 23.04.2023 05.04.2023

04.04.2023 k8s

16.03.2023 Rust Traits

06.03.2023 Rust Generics

28.02.2023 Обновление Rust Strings

17.02.2023 Handling errors in Rust

15.02.2023 Rust Hashmap

13.02.2023 09.02.2023 08.02.2023 07.02.2023

01.02.2023 Rust structs

30.01.2023 29.01.2023

20.01.2023 Rust Variables

13.01.2023 12.01.2023

11.01.2023 Начало.