Рубрика «sqlite» - 4

Вступление

Сама библиотека довольно таки зрелая, — первый релиз на гитхабе
датируется аж 2004 годом. Я был удивлён когда хабр в поиске
не выдал мне ни одной ссылки на статьи, в которых бы упоминалось
об этой замечательной библиотеке.

SOCI поддерживает ORM, через специализацию type_conversion.

В SOCI имеются бэкенды для:

  • Firebird
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite

Я не стану переводить мануалы или приводить здесь код из примеров,
а постараюсь адаптировать (с изменением структуры таблицы, и других упрощений)
код из своего прошлого проекта, чтобы было наглядней и интересней.

Читать полностью »

В этом выпуске: больше новых рефакторингов, лучше автодополнение, поддержка баз данных из DataGrip и даже поддержка Touch Bar. Более подробно — под катом.

Splash
Читать полностью »

Привет, Хабр и его обитатели! Захотелось изваять нечто на HTML и JS, чтобы было десктопное и удобное. Что для этого нужно? Правильно. Node.js и NW.js или Electron. Поглядев на слабые попытки холивара NW vs Electron и почитав документацию и того и другого было принято решение для начала пощупать NW.js.

Но вот ведь засада. Выполнение npm i sqlite3 устанавливает только те библиотеки, которые могут исполняться при непосредственном запуске через node. А если попытаться подключить скрипт в html и запустить этот html в NW.js, то ничего у нас не выйдет. Гугл сотоварищи выдает только один рецепт включения sqlite в проект на nw.js, да и тот приходится вытаскивать из кэша. Да и устарел он уже. Посему было потрачено пару дней на изучение проблематики и поиск рабочего решения. Прошу под кат.
Читать полностью »

Привет! Сегодня я выпустил новую версию ThinkingHome.Migrator — инструмента для версионной миграции схемы базы данных под платформу .NET Core.
ThinkingHome.Migrator — версионная миграция схемы базы данных на платформе .NET Core - 1

Пакеты опубликованы в NuGet, написана подробная документация. Вы уже можете пользоваться новеньким мигратором, а я расскажу, как он появился, почему у него номер версии 3.0.0 (хотя это первый релиз) и зачем он нужен, когда есть EF Migrations и FluentMigrator.

Читать полностью »

Инфраструктура открытых ключей: Удостоверяющий Центр на базе утилиты OpenSSL и SQLite3 (Посткриптум) - 1В одном из комментариев, присланным участником garex, в ответ на заявление:

Но сегодня в стандартной версии openssl отсутствует поддержка как ГОСТ Р 34.11-2012, так и ГОСТ Р 34.10-2012. Более того в версии 1.1 поддержка криптографии ГОСТ исключена из стандартной поставки («The GOST engine was out of date and therefore it has been removed.»)

было сказано:

Чем не устраивает вот эта, которую «убрали?» github.com/gost-engine/engine
Пример билда: github.com/rnixik/docker-openssl-gost/blob/master/Dockerfile

Читать полностью »

Экспрессивность — интересное свойство языков программирования. С помощью простого комбинирования выражений можно добиться впечатляющих результатов. Некоторые языки осмысленно отвергают идеи выразительности, но Kotlin точно не является таким языком.

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

vs

Ссылка на GitHub для нетерпеливых

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

Данная статья расскажет про библиотеку на Kotlin, которая позволяет писать SQL запросы в синтаксисе Kotlin. Также, мы немного посмотрим на внутренности библиотеки, чтобы понять как это работает.

Читать полностью »

Вы просто не умеете редактировать данные - 1

Конечно, вы постоянно что-то редактируете и прекрасно умеете это делать. А что насчёт данных в мобильном приложении, когда на экране нужно разместить большое количество элементов? Не забудьте, что сделать это нужно максимально аккуратно для пользователя, эффективность которого напрямую зависит от удобства ввода. Задача перестаёт быть тривиальной.

Прочитав статью, вы узнаете, как:

  • организовать структуру данных, чтобы их было удобно редактировать
  • обеспечить «динамизм» вашему UI
  • определять, изменилось ли что-то
  • сохранять историю изменений
  • сделать многопользовательский режим за 5 минут

В конце вас ждет готовый прототип с исходным кодом, демонстрирующим описанный подход.

Читать полностью »

Как я эволюцию админов в программистов измерял - 1
Недавно мой знакомый Karl (имя изменено) проходил собеседование на должность DevOps и обратился ко мне с просьбой проверить его решение. Я почитал условие задачи и решил, что из нее бы вышел неплохой тест, поэтому немного расширил задачу и написал свою реализацию, а заодно попросил коллегу Alex подумать о своей реализации. Когда все три варианта были готовы, я сделал еще две сравнительные версии на C# и сел писать эту статью. Задача довольно проста, а соискатели находятся на неких ступенях эволюции из админов в программисты, которые я и хотел оценить.
Кому интересны грязные детали, необъективные тесты и субъективные оценки — прошу под кат.
Читать полностью »


1. Введение

SQLite не использует Git. Вместо этого у нас работает система управления версиями Fossil, специально разработанная и написанная для поддержки SQLite.

Люди иногда спрашивают, почему SQLite не использует Git, как все остальные. В статье мы попробуем ответить на этот вопрос. Кроме того, в третьем разделе приводятся советы для пользователей Git, как легко получить доступ к исходному коду SQLite.
Читать полностью »

Доброго времени суток, Хабровчане!

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

  • регистронезависимым;
  • по русским и английским символам;
  • игнорирование символа ё/Ё при поиске;
  • быстрым;
  • использовал встроенный NOCASE collation.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js