並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 62件

新着順 人気順

sqlite3 insert into selectの検索結果1 - 40 件 / 62件

  • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

    はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

      【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
    • Rust で SQLite を再実装した 2023 - kawasin73のブログ

      気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hatenablog.com 4 ヶ月前にこの記事を書いたときは簡単な SELECT 文しか実行できなかったのですが、現時点では SELECT, INSERT, DELETE 文をサポートし、express

        Rust で SQLite を再実装した 2023 - kawasin73のブログ
      • ISUCON12 予選の解説 (Node.jsでSQLiteのまま10万点行く方法) : ISUCON公式Blog

        ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです ISUCON12 予選の解説 (Node.jsでSQLiteのまま10万点行く方法) こんにちは、面白法人カヤックのacidlemonです。例年ISUCONに参加するたびにとても長い「やったこと」ブログを書いているので、もしかしたらそちらを読んだことがある人もいるかもしれません。 ISUCONの公式サイトに記事を書くのは ISUCON3の予選の解説 以来でしょうか。今回もacidlemonが解説、fujiwaraが講評を書く予定ですので、お楽しみに。あ、そういえば先日掲載していただいた 面白法人カヤックからの応援メッセージ の脳内インタビューも私が書いていますのでよく考えたらそれ以来ということになるのかもしれません。予選

          ISUCON12 予選の解説 (Node.jsでSQLiteのまま10万点行く方法) : ISUCON公式Blog
        • SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏

          SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試

            SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏
          • 僕たちは本当のSQLite3を何も知らない(柔軟なデータ型と外部キー制約の罠について) - give IT a try

            「えっ、SQLite3ってこんな仕様なの!?」と最近ビックリしたことを紹介します。 たとえばこんな2つのテーブルがあったとします。 CREATE TABLE blogs ( id int primary key, title varchar(32) ); CREATE TABLE comments ( id int primary key, content varchar(32), blog_id int, foreign key (blog_id) references blogs(id) ); ポイントはcommentsテーブルのblog_idにはblogs(id)への外部キー制約が貼ってあることです。 もちろん、blog_idもblogs(id)も、どちらもint型です。 で、以下のようなSQLを発行します(blog_idの値に注目)。 -- blogsにデータを追加 INSERT

              僕たちは本当のSQLite3を何も知らない(柔軟なデータ型と外部キー制約の罠について) - give IT a try
            • SQLiteを分散データベースに変えるmvSQLite | DevelopersIO

              Introduction 先日Githubに公開されたmvSQLiteですが、 「SQLite互換のスケーラブルなデータベース」とのことで話題になってます。 mvSQLiteの特徴は、SQLiteのストレージレイヤーをFoundationDBに分離しているところです。 これにより、DynamoDBのように際限のないスケーラビリティ、point-in-timeでの読み取り、 そしてRDBの厳密な一貫性を提供します。 作成者曰く、mvSQLiteの目標は 「SQLiteを分散データベースに変えること」 とのことです。 FoundationDBとは FoundationDBは大量の構造化データを処理するために設計された分散データベースです。 2015年にAppleが買収したことでもニュースになりました。 データをソート済みのKeyValueデータとして保管し、 すべての操作にACIDトランザクシ

                SQLiteを分散データベースに変えるmvSQLite | DevelopersIO
              • SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ

                型は型、どうもかわしんです。SQLite では型は絶対ではなく、あくまでも尊重です。信用しすぎると裏切られます。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com なるべく本家の SQLite と compatible にするために SQLite のドキュメントやコードを読んで挙動を理解しながら作っています。これを作ることになった経緯はこの記事で紹介していますが、その過程でいろいろ知らなかった面白い仕様や実装があったので紹介していきたいと思います。今回はその第一弾です。 kawasin73.hatenablog.com データ型と Type Affinity SQLite のドキュメントの中で、今の所一番面白いのがこれです。 www.sqlite.org まず、SQLite の内部的には 5 つのデータ型しかありません。 NULL INTEGER

                  SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ
                • SQLite Wasm + OPFSで簡単アプリ化!ビジネスに活かすWasmとWeb技術

                  Wasmでお金を稼げるプロダクトは作れるのか? こんにちは。私は技術者としてはかなりミーハーな部類に入ります。 そんなミーハーな私は盛り上がっている分野についてはとりあえず触ってみたい欲が先行します。 ここ数年で盛り上がっている分野といえば色々とありますが、例えばWasmはソフトウェアエンジニア界隈を中心に盛り上がっている分野の一つとして数えてもよいでしょう。 私自身Webフロントエンド開発なども行っているため、分野的にもWasm、そしてWasmを活用した事例などは気になるところです。 ところでこういった気になる分野の技術については、なるべくビジネス的にも機能する形で落とし込みたいと常日頃考えています。 つまり その技術を使うことでお金を得ることができる という状況で使いたいのです。 これは私の性格的な部分が大いに影響していると思いますが、趣味的な用途でしかその技術を利用しない場合、ちょっ

                    SQLite Wasm + OPFSで簡単アプリ化!ビジネスに活かすWasmとWeb技術
                  • ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog

                    注意喚起の記事になります。タイトルが結論です。 既にこの問題に言及している記事はいくつかあるのですが*1、私は気付かずに踏んでしまったので、タイトルで「おっと、うちは大丈夫かな」と思ってもらえるようにこの記事を書いています。 joinableとは何か 問題として挙げているjoinableオプションですが、これはネストしたトランザクションの挙動に影響を与えます。少しややこしいので、サンプルコードを見せながら説明します。 # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "activerecord", "7.

                      ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog
                    • ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向

                      TL;DR ISUCON12予選にシン・ウー馬場ーイー2 として出場しました。 結果、予選2位で本選出場をきめました。やったね。 最終スコアは75800、予選中のベストスコアは76525でした。本選もがんばるぞ! 毎年素晴らしいコンテストを開催してくださる運営様には感謝しかありません。本当にありがとうございます!!1 体制 あいこん なまえ やくわり ペアプロ matsuu バリバリ実装する前衛 ドライバー netmarkjp 司令塔+ベンチ実行+結果解析 ナビゲーター ishikawa84g セキュリティ+情報官+動作確認 AppArmor、マニュアルや公式アナウンスの把握、ブラウザでの挙動確認 ナビゲーター 今年も3人が別々の場所からリモート参加です。 コミュニケーションはDiscordを使ってます。3人それぞれの画面を共有しながら音声チャットつなぎっぱなしです。 手元の環境 どうでも

                        ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向
                      • Build your own SQLite, Part 1: Listing tables

                        As developers, we use databases all the time. But how do they work? In this series, we'll try to answer that question by building our own SQLite-compatible database from scratch. Source code examples will be provided in Rust, but you are encouraged to follow along using your language of choice, as we won't be relying on many language-specific features or libraries. As an introduction, we'll implem

                          Build your own SQLite, Part 1: Listing tables
                        • tanukirpcというWebフレームワークを作っています - ぱいぱいにっき

                          最近の盆栽ですけれど、tanukirpcというGoのWebフレームワークを書いています。ある程度やりたいことができはじめてきたので、どんなフレームワークかを紹介します。 github.com TL;DR Webアプリケーションでよくやるようなことを、最短手順で自然に書けるように設計したフレームワーク リクエストをパースして構造体にマッピングする リクエストの内容をバリデーションする レスポンスの構造体をエンコードしてレスポンスとして書き込む グローバルスコープもしくはリクエストスコープでの構造体のコントローラーへの依存性注入 DBコネクションやAPIクライアントの保持などに使う 現在の責務範囲はWebアプリケーションのコントローラーだが、Webアプリを作る時によくやるようなことはできるだけやれるようにしてく tanukiup 開発サーバー起動用コマンド。ファイル更新を監視してビルドおよびサ

                            tanukirpcというWebフレームワークを作っています - ぱいぱいにっき
                          • A can of shardines: SQLite multitenancy with Rails

                            There is a pattern I am very fond of - “one database per tenant” in web applications with multiple, isolated users. Recently, I needed to fix an application I had for a long time where this database-per-tenant multitenancy utterly broke down, because I was doing connection management wrong. Which begat the question: how do you even approach doing it right? And it turns out I was not alone in this.

                            • Claude Codeにセキュリティ診断をさせてみた

                              はじめに こんにちは、Claude Codeを使っていますか? 私の観測範囲内でもClaude Codeを使っている人がどんどん増えてきています。 他のAIコーディングエージェントから乗り換えている人も結構な人数いそうです。 今回の記事ではClaude Codeに脆弱性の診断をさせてみました。 診断の対象としたのは以前の記事でClaude Codeに作ってもらった以下のAIチャットボットのアプリケーションです。 リポジトリはこちら 記事はこちら 実践 診断開始 今回はClaude Codeで以下のようなプロンプトで指示を出しました。 > あなたは経験豊富なセキュリティ専門家(ホワイトハッカー)として行動してください。 **要求する分析内容:** 1. **脆弱性の特定** - 発見した脆弱性の種類と場所を明確に指摘 - 各脆弱性のCVE分類またはOWASP Top 10での位置づけ 2.

                                Claude Codeにセキュリティ診断をさせてみた
                              • Emacs 29 is nigh! What can we expect?

                                Some random rambling by a linguistics nerd about Emacs, Linux, and conlanging It was announced a couple of hours ago, Emacs 29’s branch is now cut from the master branch! This means the emacs-29 branch will from now no longer receive any new feature, but only bug fixes. So, what’s new with this new major release? I skimmed over the NEWS file, and here are the changes which I find interesting and e

                                • #!/usr/bin/env docker run

                                  Dockerfile P� Ҫ� � Ҫ� #!/usr/bin/env -S bash -c "docker run -p 8080:8080 -it --rm \$(docker build --progress plain -f \$0 . 2>&1 | tee /dev/stderr | grep -oP 'sha256:[0-9a-f]*')" # syntax = docker/dockerfile:1.4.0 FROM node:20 WORKDIR /root RUN npm install sqlite3 RUN <<EOF cat >/root/schema.sql CREATE TABLE IF NOT EXISTS clicks ( id INTEGER PRIMARY KEY AUTOINCREMENT, time INTEGER NOT NULL ); EOF

                                    #!/usr/bin/env docker run
                                  • Deprecating and removing Web SQL  |  Blog  |  Chrome for Developers

                                    The Web SQL Database API, which allows you to store data in a structured manner on the user's computer (internally based on the SQLite database engine), was introduced in April 2009 and abandoned in November 2010. While it was implemented in WebKit (which powers Safari) and remained active in the Blink engine (which powers Chrome), Gecko (which powers Firefox) never implemented this feature and We

                                    • Claude Code SDK ではじめる 定額 AI Agent 開発入門 - LayerX エンジニアブログ

                                      こちらは LayerX AI Agentブログリレー 7日目の記事です。 こんにちは。バクラク勤怠のソフトウェアエンジニアの @upamune です。 最近は社内のいろんなリソースをMarkdownに変換する怪物になっています。 1. はじめに:定額で始めるAI Agent開発 皆さんAI Agent開発していますか?AI Agentを開発する時の障壁の一つとして、LLMを呼び出す際のAPIコールが従量課金のため、なかなか個人で気軽に試せないというのがあると思います。 そこで、今回はClaude Code SDKを利用してAI Agentを作成することで、Pro/Maxプランに加入することで定額でAI Agentを開発できる選択肢があることを紹介します。 2. なぜClaude Code SDKなのか Claude Codeを利用している方は多いと思いますが、Claude Code SDK

                                        Claude Code SDK ではじめる 定額 AI Agent 開発入門 - LayerX エンジニアブログ
                                      • SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日本語全文検索

                                        SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日本語全文検索 2023.06.20 ### 前段 2023年現在、全文検索システムをセルフホストしようとした場合に、 Elasticsearch、OpenSearch、Meilisearch(最近勢いありますね) がまずメジャーどころで候補にあがるとおもいますが、これ以外にSQliteという選択肢もあります。 SQLiteには、デフォルトで有効の拡張機能として全文検索 FTS(Full-Text-Search)があります。 SQLite FTSはSQLite自体の特徴である優秀なポータビリティ、SQLで扱える習得運用コストの低さ、何より必要十分過ぎる検索速度があります。 ローカル/エッジといった環境向けなら個人的にはかなりオススメと感じています。 今回は SQLite FTS での

                                          SQLite FTS : trigram tokenizerでunigram&bigram検索までサポート-日本語全文検索
                                        • Next.jsのAPI Routesでどんなことができるのかを理解する | アールエフェクト

                                          API RoutesはServerless Functions API Routesに記述したコードはserverless functions(サーバレス)としてデプロイされます。サーバレスという名前からサーバがないというイメージを持つかもしれませんがserverless functionsを利用するとサーバを管理する必要がなくなりserverless functionsを提供するクラウドプロバイダーがサーバを管理してくれます。そのため開発者はserverless functionsに記述するコードの作成のみに集中することができます。またserverless functionsは外部からリクエストがあった場合のみ起動を行い実行して停止するというサイクルを持っているためサーバを常時起動しておく必要はなくリエクストがある回数のみ起動/実行/停止を繰り返すことになります。 Next.jsプロジェ

                                            Next.jsのAPI Routesでどんなことができるのかを理解する | アールエフェクト
                                          • SQLite Wasm in the browser backed by the Origin Private File System  |  Blog  |  Chrome for Developers

                                            SQLite is a popular, open-source, lightweight, embedded relational database management system. Many developers use it to store data in a structured, easy-to-use manner. Because of its small size and low memory requirements, SQLite is often leveraged as a database engine in mobile devices, desktop applications, and web browsers. One of the key features of SQLite is that it is a serverless database,

                                            • RubyKaigiスケジュールアプリのPostgreSQLからSQLiteへの移行 - SmartHR Tech Blog

                                              久しぶり、プログラマーのkinoppydです。前回の記事では、RubyKaigi公式スケジュールアプリ 「Schedule.select」 のデザイン刷新に関してお届けしました。 tech.smarthr.jp Schedule.selectの今年の大きなトピックは以下の5つです。 デザインの刷新 PostgreSQLからSQLite3への移行 Solid三兄弟の導入(cableはまだ使うかどうかわかりませんが……) Rails 8へのアップグレードとPWA対応 Kamalによるデプロイ 今回は第2回目として、Schedule.selectのデータベースをPostgreSQLからSQLiteへ移行したお話しをします。 目次 目次 Why SQLite PostgreSQLからSQLiteへのデータ移行 pg gem を削除し、sqlite3 gemを入れる config/database.

                                                RubyKaigiスケジュールアプリのPostgreSQLからSQLiteへの移行 - SmartHR Tech Blog
                                              • 最近話題のVector Searchを実現するFaissって何? #1|masuidrive

                                                Faissを使ったFAQ検索システムの構築Facebookが開発した効率的な近似最近傍検索ライブラリFaissを使用することで、FAQ検索システムを構築することができます。 まずは、SQLiteデータベースを準備し、FAQの本文とそのIDを保存します。次に、sentence-transformersを使用して各FAQの本文の埋め込みベクトルを計算し、そのベクトルをFaissインデックスに追加します。新しいクエリが入力されたときは、sentence-transformersを使用してクエリの埋め込みベクトルを計算し、Faissインデックスを使用して、クエリの埋め込みベクトルに最も類似したFAQの埋め込みベクトルを検索します。 検索結果は、FAQのIDのリストとして返され、最後に返されたIDを使用して、SQLiteデータベースから関連するFAQの本文を取得し、検索結果としてユーザーに表示されま

                                                  最近話題のVector Searchを実現するFaissって何? #1|masuidrive
                                                • CVE-2022-32224(Railsの脆弱性)を試す - knqyf263's blog

                                                  前回の記事は割と濃い味付けでしたが、今回は薄味です。 脆弱性自体は簡単なやつなのですが、調べている過程でRuby 3.1からYAMLのパースが安全になったことを知ったのでその共有がてら書きました。最近はあまりRubyを触る機会がなかったのでリハビリを兼ねて触っているところもあり、間違いがあれば教えて下さい。 要約 背景 RubyのYAML.load Railsのデシリアライゼーションを試す 準備 クラスの復元 任意コード実行 まとめ 要約 Rubyの YAML.load (正確には Psych.load )をユーザ入力など信頼できない値に対して実行するのは危険でした。 Do not use YAML to load untrusted data. Doing so is unsafe and could allow malicious input to execute arbitrary

                                                    CVE-2022-32224(Railsの脆弱性)を試す - knqyf263's blog
                                                  • SQLite3で同時書き込みしたい

                                                    書き込みが発生する暗黙的トランザクションも同様のロックが発生します。 ロック中の読み取りは、EXCLUSIVEロック中だけ他プロセスもリードアクセスができなくなります。これ以外のUNLOCKED 、SHARED 、RESERVED中はリードアクセス可能です。 PENDINGはSHAREDロック所有プロセスはリードアクセス可能です。新たなSHAREDロックは獲得できません。 同時読み込みをサポートする仕組みであることがわかります。ただEXCLUSIVEロック中は読み込みも失敗することに注意が必要です。 プログラム(PHP SQLIte3)に落とし込んで考えると以下のようなことがわかりました。 querySingle(“select”)、query(“select”)、prepare(“select”)等でSHAREDロックが発生する exec(“insert”)等でSHARED、RESERV

                                                      SQLite3で同時書き込みしたい
                                                    • LitestreamでSQLiteをS3にバックアップしてみた

                                                      Litestream はSQLite向けのストリーミング・レプリケーション・ツールです。 インクリメンタルにファイルシステムやS3のようなオブジェクトストレージにレプリケートします。 Hello Worldとして、Ubuntu上のSQLiteをAmazon S3にレプリケートし、リストアするところまでを動作確認します。 環境 Litestream v0.3.8 OS : Ubuntu 22.04 x86_64(Amazon EC2のAMIを利用) ストレージ : Amazon S3 SQLiteをインストール $ sqlite3 ~/fruits.db sqlite> CREATE TABLE fruits (name TEXT, color TEXT); sqlite> INSERT INTO fruits (name, color) VALUES ('apple', 'red'); s

                                                        LitestreamでSQLiteをS3にバックアップしてみた
                                                      • In search of a faster SQLite - blag

                                                        Disclosure: I work with one of the paper’s authors at Turso SQLite is already fast. But can we make it even faster? Researchers at the University of Helsinki and Cambridge began with this question and published a paper, “Serverless Runtime / Database Co-Design With Asynchronous I/O”. They demonstrate up to a 100x reduction in tail latency. These are my notes on the paper. This is the foundational

                                                        • 【Python】SQLite で日本語を全文検索するコード例【N-Gram, FTS4/FTS5】

                                                          日本語の全文検索ぜんぶんけんさく (full-text search, FTS) を、高速に実行する Python コード例です。 Python の標準モジュール sqlite3 を使用しました。 sqlite3 から、SQLiteエスキューライト の全文検索 (FTSエフティーエス) を使ってみました。 試したのは、FTS4エフティーエスフォー と FTS5エフティーエスファイブ の2種類です。 ところで、SQLite の読み方は色々ありました。YouTube では、エスキューライト、エスキューエライト、スィクライト、スィクエライト、などの発音を聞きました。 全文検索の使い方(FTS の使い方)ですが、テキストを N-Gram にして、FTS4 か FTS5 の仮想テーブルに INSERT するだけでした。 (2022年2月5日 追記)MeCab の使い方も書きました。 MeCab で

                                                            【Python】SQLite で日本語を全文検索するコード例【N-Gram, FTS4/FTS5】
                                                          • GitHub - phiresky/sqlite-zstd: Transparent dictionary-based row-level compression for SQLite

                                                            The data will be moved to _table_name_zstd, while table_name will be a view that can be queried as normally, including SELECT, INSERT, UPDATE, and DELETE queries. This function will not compress any data by itself, you need to call zstd_incremental_maintenance afterwards. config is a json object describing the configuration. See TransparentCompressConfig for detail. The following differences apply

                                                              GitHub - phiresky/sqlite-zstd: Transparent dictionary-based row-level compression for SQLite
                                                            • Pythonで簡単DB - Qiita

                                                              pythonでsqlite3データベースを簡単に使う SQLとかわかんないよみたいな方だってデータベースに触れたら世界が変わるかも知れない。わかんないけど。 ほとんどの場合ざっくりと簡単なクエリ発行で事足りる場合が多いので、SQLに詳しい方だって多分楽できるかも。 DBクラスとDBwrapperクラス ほぼ素に近い状態でsqliteを使うDBクラスと、そのDBクラスを継承して簡単に使えるファンクションを追加したのがDBwrapperクラス。 DBwrapperクラスはDBクラスのファンクションを全部使えるのでとりあえずDBwrapperクラスを取り込んで使えば便利。 たとえば dict型でデータを作って set とか読んでやればDBにデータを挿入・更新できたり get をforで回してやれば1行づつデータが取り出せる。 データの件数も count で取り出せるぞ、手軽だね。 詳しくは以下の

                                                                Pythonで簡単DB - Qiita
                                                              • Origin Private File System を基盤とするブラウザ内の SQLite Wasm  |  Blog  |  Chrome for Developers

                                                                SQLite は、よく利用されているオープンソースの軽量な組み込みリレーショナル データベース管理システムです。多くのデベロッパーが、構造化された使いやすい方法でデータを保存するために使用しています。SQLite はサイズが小さく、メモリ要件が低いため、モバイル デバイス、デスクトップ アプリケーション、ウェブブラウザのデータベース エンジンとしてよく利用されます。 SQLite の主な特長の 1 つは、サーバーレス データベースであることです。つまり、動作に個別のサーバー プロセスを必要としません。代わりに、データベースはユーザーのデバイス上の単一のファイルに保存されるため、アプリケーションに簡単に統合できます。 Web アセンブリに基づく SQLite Web Assembly(Wasm)に基づく非公式の SQLite バージョンが多数存在し、ウェブブラウザで使用できます(例: sql

                                                                • SQLite3で型に厳格なSTRICTテーブルを作る | DevelopersIO

                                                                  SQLiteの際立った特徴の一つは動的な型システムを採用していることです。 一般的なリレーショナルデータベースであれば、カラムの型がレコードによって異なるなんてことはありませんが、SQLiteはその限りではありません。 整数型と宣言したカラムにテキスト型のレコードを格納できます。 これはバグではなくて仕様のため、SQLiteのデータ型のドキュメント冒頭で丁寧に解説されていますし("Flexible typing is a feature of SQLite, not a bug.")、"The Advantages Of Flexible Typing"というそのものズバリのドキュメントも存在します。 とはいえ、他のRDBMSに慣れ親しんだ人にも驚きが少ない仕様を提供するためか、型に厳格な STRICT テーブルがバージョン3.37(2021-11-27リリース)から提供されました。 SQ

                                                                    SQLite3で型に厳格なSTRICTテーブルを作る | DevelopersIO
                                                                  • I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS

                                                                    I Migrated from a Postgres Cluster to Distributed SQLite with LiteFSNovember 21st, 2022 — 22 min read Over the last few months, I've been heads-down on building the content for EpicWeb.dev. And I've been building it all in the open on my YouTube channel. If you've been watching my EpicWeb.dev live streams, you'll know that I've been building the app we'll use to learn web dev: Rocket Rental 🚀. Wi

                                                                      I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS
                                                                    • How we built an open-source SEO tool using Workers, D1, and Queues

                                                                      How we built an open-source SEO tool using Workers, D1, and Queues2023-03-02 Building applications on Cloudflare Workers has always been fun. Workers applications have low latency response times by default, and easy developer ergonomics thanks to Wrangler. It's no surprise that for years now, developers have been going from idea to production with Workers in just a few minutes. Internally, we're n

                                                                        How we built an open-source SEO tool using Workers, D1, and Queues
                                                                      • Pythonでいいね機能を実装する方法 - ITエンジニアが仕事に対して思うこと

                                                                        ソーシャルメディアやウェブアプリケーションでは、ユーザーがコンテンツに対して「いいね」や「いいね」ボタンを押す機能が一般的です。これはユーザーエンゲージメントを向上させ、コンテンツの評価や共有を促進するための重要な機能です。今回は、Pythonを使用してシンプルないいね機能を実装する方法について説明します。 いいね機能の基本的な仕組み いいね機能の基本的な仕組みは、ユーザーがコンテンツに対していいねを押すと、その情報がサーバーに送信され、データベースに反映されるというものです。具体的には、各コンテンツに一意なIDがあり、ユーザーがボタンを押すとそのIDとユーザーIDがデータベースに保存されます。 データベースの設計 まず、いいね情報を格納するためのデータベースを設計します。以下は、SQLiteを使用した簡単な例です。 import sqlite3 conn = sqlite3.connec

                                                                          Pythonでいいね機能を実装する方法 - ITエンジニアが仕事に対して思うこと
                                                                        • Supercharge SQLite with Ruby functions

                                                                          An interesting twist in my recent usage of SQLite was the fact that I noticed my research scripts and the database intertwine more. SQLite is unique in that it really lives in-process, unlike standalone database servers. There is a feature to that which does not get used very frequently, but can be indispensable in some situations. By the way, the talk about the system that made me me to explore S

                                                                          • 週刊Railsウォッチ: Action ViewのサニタイザがHTML Living Standard(旧HTML5)準拠にほか(20230621前編)|TechRacho by BPS株式会社

                                                                            週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 編集部注 このプルリクで言及しているHTML5という仕様は現在廃止されており、WHATWGのHTML Living Standardに置き換わっていますので適

                                                                              週刊Railsウォッチ: Action ViewのサニタイザがHTML Living Standard(旧HTML5)準拠にほか(20230621前編)|TechRacho by BPS株式会社
                                                                            • 第901回 さらに進化したUptime Kumaで、家庭内監視システムを構築する | gihyo.jp

                                                                              使用するイメージの選定基準としては、おおむね以下のようになるでしょう。 2系の最新を自動的に追従してほしい人 → 2 勝手にバージョンを上げてほしくない人 → 2.x.x Kumaの最新を追いたい人 → next 内蔵のMariaDBや、Browser Engine監視タイプは不要という人 → 各種Slim版 公式としては、「⁠2」ないし「2-slim」の利用が推奨されています。ただし筆者は意図しないトラブルを避けるという意味から、コンテナのバージョンを確実に固定したいため、今回は「2.1.1」を指定しています[1]。ちなみにSlim版のイメージにMariaDBは含まれていませんが、ネットワークを介して外部のMariaDBサーバーに接続はできます。MariaDBコンテナをComposeで別立てしたいような場合も、Slim版を利用するとよいでしょう。 Rootless Docker向けに、「

                                                                                第901回 さらに進化したUptime Kumaで、家庭内監視システムを構築する | gihyo.jp
                                                                              • Logging C Function Calls

                                                                                May 19th, 2022 @ justine's web page Logging C Functions One of my favorite features of the Cosmopolitan Libc runtime is its --ftrace flag that logs C function calls. It's the simplest system for debugging programs I've ever used and it surprises me that I found no evidence of someone having invented it before. Here's one of its most important use cases. Have you ever had you debugger stupified by

                                                                                • SQLite Index Visualization: Structure

                                                                                  After learning about indexes, I understood their basic structure, but I wanted to dig deeper — to explore the data structure, understand the algorithm, and learn how the index data is stored on disk. The theory and actual implementation can differ, so I decided to explore this topic further. I wanted to see how a database management system (DBMS) stores an index in both disk and memory, and how it