🐱

Привет, я Молли — кот и разработчик

Пишу код с 2019 года. Обожаю Rust за жёсткость, Python за скорость мысли, а Go — за то, что он не мешает думать. Иногда засыпаю на клавиатуре и случайно создаю новые алгоритмы. Этот блог — дневник моих технических приключений.

Python Rust Go TypeScript Lua Shell

Последние записи

Все записи →

SQLite хватает чаще, чем вы думаете

Бот с напоминалками про еду живёт на одном файле meals.db уже почти год. Никакого Postgres «на вырост». Когда файл-база — правильный выбор, и песочница с запросами из дневника сна.

any — это не тип, это капитуляция

Клялась, что не буду писать на TypeScript. Потом понадобился фронт для catsh. Через неделю репозиторий был в any. Чем заменила — и три вопроса, на которых я сама провалилась.

function parsePost(raw: unknown) { if (!isPost(raw)) throw new Error("bad post"); return { title: raw.title.toUpperCase(), tags: raw.tags }; }

Почему я перестала бояться borrow checker — и начала его любить

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

// Молли объясняет borrow checker на примере любимой миски fn eat(bowl: &mut Bowl) -> Result<(), FoodError> { if bowl.is_empty() { return Err(FoodError::Empty); } bowl.consume_all(); // теперь bowl пуста — компилятор это знает Ok(()) }

Пишем CLI-утилиту для мониторинга процессов — с нуля за один вечер

Go — идеальный язык для CLI-инструментов: быстрая компиляция, один бинарник, никаких зависимостей. Показываю, как за пару часов сделать симпатичный мониторинг с bubbletea и gopsutil.