SQLite WAL параллельная запись, многопоточность и работа на сервере

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

Но действительно ли это так?

sqlc: типобезопасный SQL в Go без магии ORM

Наверное, я не один такой: после долгой работы с Django, когда понадобилось писать код на Go, первым делом начал искать «нормальную ORM». После удобства Django ORM казалось, что без похожего инструмента работать с базой данных будет неудобно.

Но в Go всё оказалось иначе. Здесь сильна культура явного кода, и со временем я пришёл к выводу, что наиболее удобный инструмент для работы с базой данных — вовсе не ORM. Это sqlc.

Hammerspoon: инструмент для автоматизации macOS

Если вы давно пользуетесь Mac, у вас наверняка накопился зоопарк утилит: одна управляет окнами, другая переназначает клавиши, третья запускает приложения по хоткею. Для разных задач я использовал Automator, Shortcuts, Karabiner (очень классная вещь, но у меня с ним на клавиатуре ноутбука была задержка, на внешней клавиатуре все отлично работало) , BetterTouchTool, Raycast, Amphetamine и т.п. […]

Два моих принципа разработки: KISS и YAGNI

Я пишу на разных языках и развиваю собственный стартап. За годы практики перепробовал много методик, шаблонов и фреймворков. В конце концов я понял, два главных моих принципа разработки это KISS и YAGNI.

GlitchTip — открытая и легковесная альтернатива Sentry для мониторинга ошибок

В современном мире разработки программного обеспечения мониторинг ошибок и производительности приложений является неотъемлемой частью процесса. Разработчики и команды DevOps постоянно ищут инструменты, которые позволяют быстро выявлять проблемы, анализировать их и предотвращать повторные сбои. Один из таких инструментов — GlitchTip, open-source платформа для отслеживания ошибок, сбоев и проблем производительности в приложениях. Проект часто называют более легковестной и простой альтернативой Sentry.

Асинхронность в Python: синтаксис и особенности

В современном программировании производительность и скорость отклика приложения — одни из важнейших факторов. Особенно это касается веб-сервисов, чат-ботов, микросервисов и других систем, работающих с большим количеством запросов. В таких задачах важно не просто быстро выполнять код, но и уметь не ждать, пока завершится одно действие, чтобы начать другое.

UV — шаг вперёд в управлении зависимостями Python

В мире Python экосистема инструментов для управления зависимостями и виртуальными окружениями всегда была областью живых дискуссий. Долгое время царствовала связка pip и venv, затем появились более сложные и функциональные инструменты, например Poetry, которые упростили управление зависимости в проектах. Однако все они, так или иначе, сталкивались с общей проблемой — скоростью.

Установка и использование MySQL в Docker + подключение из DBeaver

В этой статье мы разберём, как установить и запустить MySQL в контейнере Docker, а также как подключиться к ней с помощью графического клиента DBeaver. Это позволит вам экспериментировать с базой данных в изолированной среде, не затрагивая основную ОС.

Почему «синхронный» в программировании — это не «одновременный»

Помню когда первый раз столкнулся с понятиями «синхронный» и «асинхронный» запрос у меня возникла путаница из-за разных смыслов слова «синхронный» в программировании и в обычной речи. Вот небольшое пояснения для тех кто тоже с этим сталкивается. ➡️ В обычной речи «Синхронно» = одновременно, в одно время. Например, «синхронное плавание» — это когда все делают одно и то же движение […]

Как использовать yt-dlp на Mac

Что такое yt-dlp yt-dlp — это форк проекта youtube-dl, активно поддерживаемый и расширенный. Он позволяет скачивать видео и аудио с YouTube и множества других платформ, предлагая дополнительные возможности. Ниже я покажу вам, как установить и использовать yt-dlp на компьютере с Mac OS. Установка yt-dlp на Mac OS Самый простой способ установки — это использовать пакенный […]