Данил об айтишечке
23 subscribers
81 photos
1 video
1 file
27 links
Канал о программировании и всём таком
Download Telegram
Настроил себе автоматическую работу медиасервера: plex + sonarr + radarr + prowlarr + deluge. Интересно, когда всё отвалится? Потому что работает подозрительно хорошо

Данил об айтишечке. Подписаться
Никогда такого не было и вот опять

Данил об айтишечке. Подписаться
Навайбкодил простенький веб-проект
@
Трачу сутки на отладку
И так раз в квартал. Под статью хотят подвести, сволочи

Данил об айтишечке. Подписаться
Полная удалёнка в любой точке мира, если эта точка находится в России

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

Данил об айтишечке. Подписаться
Я тоже не повторяюсь, аккуратный и самое главное — не повторяюсь

Данил об айтишечке. Подписаться
Вернулся домой и есть время записать видео по KV-хранилищам для самых маленьких. Но хватит ли усидчивости, вот в чём вопрос
Данил об айтишечке
Вернулся домой и есть время записать видео по KV-хранилищам для самых маленьких. Но хватит ли усидчивости, вот в чём вопрос
Не, ну работаю над этим. Завтра организую стрим, в котором буду тупить и писать код для версий. Получается простенькая, но вроде функциональная база.
Please open Telegram to view this post
VIEW IN TELEGRAM
Выкроил минутку и добавил REPL. Если что исходники хранятся здесь https://github.com/saigono/kvdb-alpha
Добавил индекс над базой данных. Жми колокольчик здесь если хочешь посмотреть как я туплю онлайн. Но можно и просто кодики посмотреть тут (и звёздочку поставить)
Как тяжело не знать языка программирования. Ну вот я пишу что-то тяп ляп, а как должно быть по-нормальному — не понимаю. Добавил сегментацию базы данных: чтобы размер файлов не превышал заданного размера. Во-первых, маленькими файлами удобнее ворочать. Во-вторых, можно сделать один фокус, который буду реализовывать в следующий раз.
Продолжаем разговор. Теперь я добавил сжатие в базу данных. Очень втупую. Проходим по старым сегментам, собираем все данные. После этого записываем получившееся в новые "архивные" сегменты. Старые удаляем.
Если бы это была более серьёзная база данных, то задача бы выполнялась во много этапов. Сначала бы мы сливали два последних сегмента в один новый. Потом добавляем этот сегмент в список на чтение. Потом убираем два старых сегмента из списка на чтения. Потом физически удаляем файлы.
Всё это нужно для того, чтобы уменьшить количество блокировок для операций на чтение. К счастью, в этой простой базе данных можем обойтись без всяких сложностей.
Добавил удаление ключа. При сжатии он также просто исчезает. Микро база данных почти готова, осталось только добавить бинарный формат хранения и всё