blog.livewing.net
2021 年
2021/07/18
Arch Linux + i3 快適環境を構築したときのログ
以前の Arch Linux + Xfce のインストール記事 がだいぶ古くなり、インストール方法が変わりましたので新しく記事を書きます。また、筆者の Arch Linux 環境も大きく変わりましたので、それも併せて紹介します。 Arch Linux とは Arch Linux は、常に最新・最先端を追い求める人に最適な Linux ディストリビューションです。シンプル・最新・実用的・ユーザー中...
2021/06/30
zsh のあの記号 (チートシート)
シェルやシェルスクリプトを使っていて「この記号なんだこれ」ってなったときに見る記事です。記号について調べたくてもググラビリティが低くて検索できないので、まとめました。正直 man ページ見れば全部分かるんだけどね 筆者は zsh (zsh 5.8) を使っているので基本的に zsh についてまとめていますが、 bash など他のシェルで使用できるものもあります。 POSIX sh では使えないもの...
2021/06/18
GPG で始める暗号・署名ライフ
PGP (Pretty Good Privacy) の実装のひとつである GPG (GNU Privacy Guard) を使用して鍵を生成する方法をゼロから紹介します。 また、ファイルを暗号化・署名してやりとりする方法や、 Git のコミットに署名をつける方法、エンジニアフレンドリーなパスワードマネージャー Pass によるパスワード管理の方法なども紹介します。 メールでパスワードつき zip ...
2021/05/08
GatsbyJS ブログ記事に楽譜を埋め込む
LilyPond を使用して、 GatsbyJS のブログ記事に自動で楽譜を埋め込むプラグインを作ってみました。 Markdown ファイルに LilyPond ソースコードを直接書くと、以下のように SVG 形式で楽譜を埋め込むことができます。楽譜作成ソフトから手動で SVG を出力して貼り付ける作業が不要になります。 ```lilypond:embed \version "2.22.0" \p...
2021/03/22
TypeScript でゼロから作るパーサコンビネータ
プログラミング言語などのコンピュータ言語を構文解析するパーサコンビネータを TypeScript で作ってみようと思います。既存のパーサライブラリは使用せず、すべて自作します。パーサコンビネータを実装した後、四則演算の式パーサや JSON パーサを作ってみます。 書いてみると、意外と簡単です。「関数型言語」という言葉に謎にビビっている人もレッツトライ。 パーサコンビネータとは 小さなパーサ関数を組...