最近話題の ChatGPT に色々質問してみたり、ブログの記事を書かせてみたらどんな感じになるか試してみたのでメモ。
今年の春頃、自分で使う用に、コマンドライン入力された文章を DeepL API で翻訳して結果を返すプログラムを C++ で作っていました。その名も dptran です。
結局未完成で非公開のまま、しばらく開発も放棄していました。しかし、最近 Rust で dptran を作り直し始めたのをきっかけに、せっかくだから以前書いた C++ 版もソースコードだけでも公開しておくかと思い、この記事を書きました。
CLI ツールを開発していると、設定ファイルの管理という面倒な問題に直面してしまいます。
何が面倒かというと、JSON とか xml とか toml のシリアライズ・デシリアライズも面倒なんですが、OS によって各 CLI ツールが扱うファイルを置くための場所が変わってしまうのが何より面倒。
例を挙げると、
Windows ならC:\\Users\[ユーザ名]\AppData\Local\[アプリ名]
Mac なら~/Library/Preferences/[アプリ名]
Linux なら/etc/[アプリ名]
などなど…
実行ファイルと同じ場所に設定ファイル置いておいてもいいんですが、環境によっては本来置くべき場所とは違う場所(例えば bash の参照ディレクトリとか)に置くことになってしまう場合も考えられるので微妙だし、相対パスが使えない(端末のカレントディレクトリが参照されるため)。
そんな中、それらを自動でやってくれるクレートがあったので、ブログ更新回数稼ぎを兼ねてメモ。
Mac 用のパッケージマネージャである Homebrew、実は Linux にも対応していて、この度 Ubuntu 20.04 に導入したのですが…
導入完了後、なぜか自作の Rust 製のツールが rustc でコンパイルできない状況に。
最近、写真データが HDD を圧迫してしまい空き容量不足気味なので、思い切って 6TB の外付け HDD を購入。外付け HDD といっても、内蔵 HDD と外付けケースを別々に購入し自分で組み立てました。既製品よりも若干安く済むし、中身の HDD を自分で選べるという良さがあります。また、側だけ一度買っておけば後で HDD を交換することも可能です。
GitHub Copilotが自分の研究室用のGitHubアカウントで使えるようになったので、これをVS Codeにインストールしようとしたとき、間違えて個人用のアカウント(GitHub Copilotが有効になっていないアカウント)でVS Codeにログインしてしまいました。GitHub CopilotはVS Codeで使う際にアカウントの連携が必要で、GitHub Copilotが有効化されたアカウントでログインする必要があります。
最近、Rust で CLI ツールを作っており、ある程度できてきたのでそろそろリリースしようかなと思い。今までと同じような単なる実行ファイル配布ではなく、パッケージマネージャからインストールできたら導入が便利かなと思い、Mac 版と Linux 版は Homebrew での配布を検討しています。
今回は Homebrew の公式リポジトリに上げるのではなく、brew tapで自分のリポジトリからインストールできるようにしています。
前回、「Albus Box ver.0.2.0は7月中には公開〜」とかほざいていたのにもう10月になってしまいました。卒研の中間発表やら院試やらでバタバタしており、気づいたら夏が終わっていました。お許しを。。
やっと一段落ついたので、ほぼver.0.2.0が完成した状態のAlbus Boxについて記録しておきます。特に目新しい機能はありませんが、バグ修正やエラー処理の実装などを行いました。
前回に続き、「ゼロからのOS自作入門」を読み進め、少し進捗があったので書いていきたいと思います。
自分のペースで進めているため、day02bとday03aという変な区切れ目になっていますがお許しください。
最近、Rustを個人的に勉強し始めていて、簡単なツールを作っているのですが、Windowsでビルドしたときだけこんな警告が現れるようになりました。