Обновить
16K+

SQLite *

Компактная встраиваемая реляционная база данных

2,68
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я создал платформу для изучения иврита: от идеи до работающего сервиса

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели12K

Я построил полноценную образовательную платформу для изучения иврита — с интерактивными тренажерами, умным словарем на 4000+ слов и системой подписок. В статье рассказываю о нетривиальных технических решениях, архитектурных выборах и ошибках, которые пришлось исправлять по ходу.

Продукт: hebrewglot.com

Стек: Next.js 15, TypeScript, PostgreSQL + SQLite, Stripe, NextAuth

Погнали

Сравнительный анализ эффективности планировщиков СУБД при выполнении различных запросов

Уровень сложностиСредний
Время на прочтение34 мин
Охват и читатели14K

Когда мы пишем запрос, СУБД делает гораздо больше, чем просто ищет данные. Она оценивает десятки сценариев выполнения, сравнивает стоимость операций и выбирает оптимальный путь к результату. От этого выбора зависит, будет ли запрос выполняться секунду или минуту. Почему одни системы находят лучший план, а другие выстраивают менее эффективный алгоритм? Попробуем разобраться, как планировщики СУБД принимают решения и что определяет их эффективность.

Читать далее

Магия деплоя: автоматическое развертывание Coreness одной командой

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели4.6K

В этой статье рассматривается решение проблемы деплоя Telegram-бота Coreness, с подробный описанием проблем и решений. Вместо ручного копирования файлов, настройки зависимостей и миграций БД была создана система, которая делает всё автоматически.

Читать далее

Мой первый пет‑проект: как я создавал ядро для Telegram‑ботов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели15K

Я собрал ядро для Telegram‑ботов и описал архитектуру, которая держится на YAML‑сценариях и очереди в БД. Почему отказался от брокера, как экономлю апдейты в базе, как работает «разблокировщик» цепочек и что это даёт в предсказуемости. Показываю решения и компромиссы без «магии».

Читать далее

Удобный софт для работы с файлами SQLite

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели54K

Все мы любим SQLite. Это идеальный движок БД, компактная библиотека размером менее 1 МБ, быстрая, автономная и неубиваемая. Более того, это в принципе удобный способ хранения информации, поскольку СУБД выигрывает у файловой системы по скорости доступа, сжатию, функциональности полнотекстового поиска и т. д. Например, она вдвое быстрее файловой системы Ext4 под Linux.

SQLite — самая популярная в мире СУБД. Как рассказывалось в статье «Безумные и забавные факты о SQLite», в мире активно используется более триллиона (!) БД SQLite, это невероятное число. Просто она встроена во все смартфоны, браузеры, операционные системы и бесчисленное число других приложений.

Читать далее

Эпизод 1: «Скобка, паб и виски с валидацией»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели943

KafkaRail гудел на фоне.

Паб The Broken Tag, где начиналось утро героев, только просыпался — запах старого эля, крошки лог‑файлов, и бильярдный стол под тусклым светом прожектора. Через узел маршрута /corp/news метропоезд пронёсся, как push‑уведомление на рассвете. День в Киберляндии начинался.

JSON откинул капюшон куртки BitStone Protocol с QR‑патчем на рукаве, кивнул Mr. Parseley и заказал, как обычно, Schema Fresca. Он прошёл к бильярдному столу английского пула, стоявшему под старым плакатом «Keep Calm and Close Tags», где RAMmy спорил с TryCatch о синтаксисе ударов.

Читать далее

Соединяем физику и лирику. Как я собрал рекомендательную систему для стихов с помощью Flask, sqlite-vec и Hugging Face

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3K

Для песен рекомендательные системы есть, для книг — есть, для фильмов — есть, для стихов — нет. Непорядочек 🤔

Используя Flask, Jinja2, Sentence-Transformers и sqlite-vec, собрал первый прототип рекомендательной системы для стихов. Для машины измерить в цифрах схожесть двух стихов трудно. А для человека — в самый раз. Прикрутил форму оценки рекомендаций, собрал человеческий фидбек.

В статье подробно рассказываю о деталях конструкции.

Читать далее

Offline First в мобильных приложениях. Кэширование

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.2K

Привет, Хабр! Это Ахмед Шериев, сооснователь стартапа VoxOps, а сегодня — еще и гостевой автор блога Friflex. Моя статья — про опыт разработки офлайн-приложений. 

Я делал офлайн-поддержку в приложениях на самых разных языках. Как вовремя и успешно, так и с факапами. Например, обещал за две недели внедрить офлайн, а потом появлялись скрытые кейсы, и разработка затягивалась до месяца, двух, трех… 

Здесь постараюсь поделиться, как не зарыться в тонну инфраструктурного кода и избежать некоторых других ошибок.    

Я внедрял поддержку offline как в роли разработчика, так и в роли руководителя и директора по разработке. Поэтому тема мне хорошо знакома с обеих сторон. Кто помнит, с ней я выступал на CrossConf.

Читать далее

BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform

Время на прочтение12 мин
Охват и читатели3.3K

BundledSQLiteDriver из библиотеки androidx.sqlite — это специальная сборка встраиваемой СУБД SQLite от команды разработчиков Android Jetpack, предназначенная для использования в Kotlin Multiplatform проектах. В этой статье мы рассмотрим её особенности.

Читать далее

Как мы искали должников при помощи Pandas

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели16K

Петербургский Фонд капитального ремонта опубликовал документы, в которых указана задолженность за каждую квартиру в городе по итогам 2024 года. Мы изучили эти файлы, чтобы ответить на вопрос: где и почему хуже всего платят за ремонт в своём доме.

Я занимаюсь анализом данных и дата‑журналистикой в газете «Деловой Петербург». Расскажу о том, как объединяли информацию из множества локальных html‑таблиц и приведу примеры кода на «Питоне».

Читать далее

Как мы ускорили работу с базой данных в Android-приложении

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели5.1K

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В этой статье я поделюсь опытом оптимизации работы с SQLite + Room в нашем Android-приложении, который помог нам значительно сократить время выполнения запросов. Расскажу как очевидные ошибки иногда остаются незамеченными. Давайте разбираться вместе!

Читать далее

Как фильтры Блума в 10 раз ускорили SQLite

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели14K

Это интригующая история о том, как исследователи с помощью грамотного использования фильтров Блума смогли в 10 раз ускорить аналитические запросы в SQLite. Ниже я приведу свой краткий обзор работы «SQLite: Past, Present, and Future (2022)», и объясню некоторые внутренние особенности баз данных, включая механизм реализации соединений.
Читать дальше →

Безумные и забавные факты о SQLite

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели53K

  1. SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.

    Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Читать дальше →

Ближайшие события

Telegram-бот-магазин на Python: пошаговый гайд с оплатой, каталогом и админкой (Aiogram 3 + SQLAlchemy 2)

Время на прочтение52 мин
Охват и читатели73K

Сегодня я к вам с новым практическим проектом на Python. На этот раз мы создадим полноценного Telegram-бота для продажи цифровых товаров с базой данных, которой будем управлять через SQLAlchemy 2, админ-панелью, пользовательской частью и интегрированной оплатой через Юкассу.

Я шаг за шагом проведу вас через все этапы разработки такого бота: начиная от регистрации токена в BotFather и заканчивая деплоем готового продукта на удаленном хостинге, чтобы бот мог бесперебойно работать 24/7 без привязки к вашему компьютеру или интернет-соединению.

Читать далее

Как построить оценку качества контакт-центра с помощью Speech Analytics API

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели974

Привет, Хабр! Контакт-центры — это важная линия взаимодействия бизнеса с клиентами. Клиенты могут быть разными: кто-то жалуется на задержки, кто-то хочет вернуть товар, а кто-то просто звонит выразить благодарность. Но для бизнеса важно понять одно: насколько хорошо оператор решил проблему клиента? И ушел ли клиент довольным?

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

Читать далее

Создание бота в дискорде с деплоем на сервер за 5 минут

Время на прочтение7 мин
Охват и читатели20K

Доброго времени суток, уважаемые читатели. В этой статье мы поговорим о том как сделать простейшего бота в Discord на Python с базой данных SQlite3 и задеплоим его с использованием GitOps-подхода за три команды в терминале.

Функционал бота будет следующим:

1. Вывод пинга: 

- Бот отвечает на команду /пинг, отправляя обратно сообщение с текущим пингом на запущенном сервере.

2. Выдача роли: 

Читать далее

«Напомните через месяц?»: как автоматизировать напоминания клиентам с Golang, SQLite и вебхуками

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.7K

Привет, Хабр! Представим ситуацию: вы клиент. Разговор с менеджером завершен, он предложил вам что-то полезное — услугу, продукт или подписку — и, допустим, вы соглашаетесь: «Почему бы и нет, отличная идея». Менеджер записал ваше согласие и обещал напомнить вам через месяц. Звучит просто.

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

Читать далее

Разработка Task Manager с нуля до полнофункционального продукта

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели19K

Если Вы когда-нибудь задумывался о том, как создать своё собственное веб-приложение, надеюсь, эта статья окажется вам полезна.

Мы пройдём весь путь — от установки необходимых инструментов и настройки окружения до разработки интерфейса и деплоя приложения на сервере. Каждый этап будет сопровождаться объяснениями и примерами кода, которые вы сможете найти в репозитории на GitHub.

Читать далее

Создаем свою ORM на python — гайд

Уровень сложностиСредний
Время на прочтение41 мин
Охват и читатели16K

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

ORM позволяет абстрагироваться от сырых SQL запросов путем абстракций.

В этой статье мы и рассмотрим создание своей ORM на Python с документацией и публикацией на PyPI. Данный проект очень интересен со стороны реализации: ведь требуется изучить большую часть ООП, принципов и паттернов.

Мы создадим сессии, модели баз данных, различные поля, миграции и другой вспомогательный функционал. Мы разберем изнутри, как работает такая концепция и как достигается удобство работы.

Некоторые из вас могут подумать что мы изобретаем велосипед. А я в ответ скажу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок?

Читать далее

Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке

Время на прочтение39 мин
Охват и читатели64K

Сегодня я покажу вам, что для создания полноценных кроссплатформенных приложений достаточно одного языка — Python. С помощью всего нескольких библиотек и фреймворков можно легко обойтись без JavaScript для веб-разработки, без Kotlin и Swift для мобильных приложений и даже без C++ для десктопных программ. В этой статье разберем, как, используя Flet и FastAPI, можно создавать мощные и удобные решения для любой платформы!

Читать далее