C言語

【入門】プログラミング言語を自作する方法⑤|for文・AST・自動テストでコンパイラを改善

プログラミング言語を作ってみた⑤。前回の続きです。今回は自作言語「五右衛門」にfor文を実装するとともに、AST(抽象構文木)の導入と自動テストを追加しました。コンパイラの設計改善や品質向上について解説します。
DB設計

達人に学ぶDB設計を読んだので、MariaDBでインデックスと実行計画(EXPLAIN)を検証してみた②

前回の10万件に続き、今回は100万件のデータでMariaDBのインデックスと実行計画(EXPLAIN)を検証。データ量が増えてもオプティマイザの判断は変わるのかを確認します。
DB設計

達人に学ぶDB設計を読んだので、MariaDBでインデックスと実行計画(EXPLAIN)を検証してみた①

MariaDBで10万件のデータを用意し、インデックスの効果と実行計画(EXPLAIN)を検証。なぜインデックスを貼ってもtypeがALLになるのか、実際の結果をもとに解説します。
PHP

Zend Engineを読む① | php-srcをビルドする

PHPの実行エンジンであるZend Engineを読むための準備として、php-srcのビルド方法を解説します。buildconf、configure、makeの役割やデバッグビルドの手順も紹介します。
C言語

【入門】プログラミング言語を自作する方法④|if文・while文を実装して制御構文を作る

プログラミング言語を作ってみた④。前回の続きです。今回は自作言語「五右衛門」に if文・while文を実装しました。2パスコンパイルとバックパッチを用いて、JZやJMPによる制御構文を実現します。
PHP

PHPライブラリを作ってPackagist公開するまで

PHPライブラリを作ってPackagistに公開をしてみました。公開するまでの流れや、自動テストについてなど、開発サイクルを備忘録として残しておきます。
C言語

【入門】プログラミング言語を自作する方法③|変数として値を保持から出力まで

プログラミング言語を作ってみた③前回の続きです。今回は五右衛門に変数と出力機能を実装しました。プログラミング言語らしくなってきました。再帰下降構文解析 を用いることで、計算をスマートにパースすることができました。
C言語

【入門】プログラミング言語を自作する方法②|トークナイザを実装して文字列を分解する(C言語)

プログラミング言語を作ってみた②前回の続きです。今回はトークンナイザを実装して、分解をしました。トークンナイザを作ることにより、前回の文字列検索から可読性がかなり上がったと思います。
Linux

【さくらVPS】Linuxのログインパスワードを忘れた時の対処法(GRUBからリセット)

LinuxOSユーザのパスワードを忘れて、デプロイができなくなってしまった、、、今後のために、備忘録としてパスワード復旧手順を残しておきます。参考になれば幸いです。
Laravel

【Laravel】GitHub Actionsでテストを自動実行する方法(Vite環境対応)

自前で用意したサーバで自動テストを実行しました。GitHub Actions の Self hosted runner です。pushするたびにテストサーバでLaravelの自動テストを実行します。