ブックマーク / zenn.dev/skanehira (4)

  • なぜSQLiteはバイトコードを使うのか

    以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 記事はそのページについ

    なぜSQLiteはバイトコードを使うのか
    yarumato
    yarumato 2024/05/17
    “SQLiteの構造を見てみたらVMだった。疑問をツイートしたところ作者から返事。バイトコードは段階的に実行できるが、SQLiteはOLTPに焦点。OLTPはトランザクション処理で、スケールするかより確実にデータを保存が目的”
  • Vimにおけるカーソル移動の効率化

    初めに 最近Vimにおけるカーソル移動の効率化について少し考えていて、自分なりに どんなカーソル移動方法があるのか? それぞれのメリット・デメリットは何か? について整理&改善をしたくて、この記事を書きました。 後半にカーソル移動の改善のために作ったプラグインの紹介もあるのでぜひ最後まで読んでみてください。 テキストの編集の動作について 基、どんなエディタでもテキストを編集するのに次の動作を繰り返すと思います。 移動先の座標を認識(目で見て脳で認識) キーボード・マウスを使ってカーソルを対象の座標に移動 対象のテキストを編集(カット・置き換え・削除など) これらの動作を前提、どんなカーソル移動の方法があるかについて整理していきます。 マウスによるカーソル移動 多くの人はマウスを使用しているかと思うので、こちらの方法はもっとも一般的といえるでしょう。 個人的に、マウスにおける最大のメリット

    Vimにおけるカーソル移動の効率化
    yarumato
    yarumato 2022/01/30
    “検索によるカーソル移動はキーストローク数が多い。検索結果(というか全文字)にラベルを張り、その文字を入力することで2回のキーストローク数ですむプラグイン”
  • ブラウザをターミナル代わりにするrttyを作った

    初めに 以前にブラウザからターミナルを操作したくて、周りの方に聞いたらSecure Shell Appを教えていただいたんですが、なぜか自分の環境ではうまく動作しませんでした。 他にも似たようなことができるツールはありましたが、メンテナンスがされていなかったりビルドもインストールできなかったりして使えなかったので、自作しました。 しくみ自体はイメージできていたので、そんなに難しくないだろうと思っていましたが、意外と罠があってそれを解決するのに時間がかかってしまいました。 rttyの概要と使い方 rttyはプロセスの入出力をwebsocketを通して、ブラウザでターミナルのような操作を可能にするCLIです。 簡単にいうとブラウザがターミナル代わりになる、という感じです。 +---------+ http +------+ stdin +------+ | browser | <=======

    ブラウザをターミナル代わりにするrttyを作った
    yarumato
    yarumato 2021/07/26
    “Supported OS:Linux Mac” Windowsは非対応か
  • LinuxでもEmacs風なキーバインドを設定する

    Autokeyとは 簡単にいうとキーバインドを設定できるソフトウェアになります。 ちゃんと調べていないですが、イメージとしてはX11を通してソフトウェアに送信されるキー情報を書き換えるという感じでしょうか。 これを使用することで、キーバインドを自由に設定できます。 Ubuntuでは、次のコマンドで導入できます。 なぜAutokeyなのか Ubuntuユーザーであれば知っていると思いますが、Gnome Tweak Toolというアプリケーションがあります。 このアプリケーションではキーバインドをEmacs風に変更できます。しかし↓/↑を<C-n>/<C-p>で代用できない、といった適用しきれていない問題があります。 そこでAutokeyも併用することでさきほどの問題を解決できます。今のところ特に問題なく使えているので設定を気を付ければ競合は起きないと思います。 設定 設定は大きく分けて次の3

    LinuxでもEmacs風なキーバインドを設定する
    yarumato
    yarumato 2021/03/11
    “Ubuntu 20.04 apt install autokey-gtk”
  • 1