Alex Takes Notes
Добрый день! Я делаю заметки о технологиях, с которыми имею дело. Возможно, они пригодятся и Вам!
Обновления
21.12.2024 Наконец-то я залезаю в многопоточность приложений. Тема непростая, интересная. Я добавил статью про работу с процессорными потоками в Rust, буду дополнять её далее.
19.12.2024 Немного обновил я данные там и сям:
- В Rust поднял тему сериализации-десериализации с библиотекой Serde
- Скрипт скачивания Kaspersky Container Security из корп. репозитория Harbor
- Полезная утилита tokei для подсчёта строк кода на Rust и других языках
02.12.2024 Наконец-то, массовый апдейт сайта! После обновления движка Hugo у меня были проблемы с занесением сюда новых заметок, но теперь это в прошлом.
- Новый раздел Rust Cargo
- Примеры unit-тестов
- Пример получения списка файлов с каноничными именами
- Новый раздел eBPF File Mon
- Новый раздел про основы контейнеров
- Статья про настройку Obsidian
- Статья про Kubernetes Security
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. Я иногда им пользовался, но совершенно проморгал наличие там мощного механизма работы с масками, а вдобавок мощнейших функций шумодава и микроконтраста. Навёрстываю упущенное, создал раздел в заметках и конспект по шумодаву с масками