ターミナルとかCLIツールをいい感じにした

2年ぶりにこんにちは。ちょこみんとです。 最近はターミナルから利用するAI Agentが流行りです。おかげで近頃ターミナルを利用する時間が増え、 適当にやっていたターミナルとCLIツールをいい感じに整備したいな~と思うようになりました。 というわけで、いい感じに整備した記録を忘れないように書いておきます。 ※最近はmacで開発を行っているので記事の内容はmacOS向けです。 開発ツールの管理をmiseに移行した これまでFlutterのバージョン管理はfvm、Node.jsはnvmを利用してバージョン管理をしていました。 使う言語やツールが増えるたびにバージョン管理ツールも増えるのがめんどくさいよ~と思っていたところにmise(ミーズ)というツールがあることを知りました。 miseを利用することで、言語のバージョン管理、環境変数の管理、タスクランナー3役をmiseのみで完結させることが出来ます。 fvm、nvmなどを介さずにasdf(あるいはnvmやpyenvなど、ただしあらゆるプログラミング言語に対応)と同様に、 node.js、Python、CMake、Terraformなどの開発ツールや、数百種類にも及ぶその他のツールを管理します。 direnvと同様に、異なるプロジェクトディレクトリごとに環境変数を管理します。 makeと同様に、プロジェクトのビルドやテストに使用するタスクを管理します。 (miseのREADMEより) というわけで、fvmとnvmをアンインストールして全部miseでバージョン管理するようにしました。 ターミナルをGhosttyにした これがそもそもの開発環境を整備しようとした一番の原因になります。 いままでターミナルはWarpを利用していましたが、 Codex CLIで変換を確定した際にプロンプトが送信されてしまう 気がついたらWarpにいろんな機能が増えてIDEみたいになってしまった ということがあり、ターミナルを変えることにしました。 候補としてはAlacrittyやWezTermなどがあったのですが、 プラットフォームのネイティブのUI Unicodeまわりの対応を頑張っているらしい Mitchell Hashimoto氏のポスト なんか新しくてよさそう という3点でWarpからGhosttyに移行することにしました。 WarpとmacOS標準のターミナル以外を使ったことがないのでぶっちゃけ違いはわかりませんが、GhosttyではIME周りの問題が発生していないのでいい感じな気がしています。 .zshrcを整備した 上に書いたように、ターミナルはこれまでWarpを利用していたのですがWarpは設定しなくても色々よしなにやってくれることがウリでした。 しかし、Ghosttyに移行したことで設定や挙動のカスタマイズは自分でやる必要があります。 これを機に、雰囲気で書きすぎていて設定が意味不明だった.zshrcをちゃんと書くことにしました。 具体的には、 プラグインをsheldonで管理するようにする プラグインを入れる romkatv/powerlevel10k zdharma-continuum/fast-syntax-highlighting zsh-users/zsh-autosuggestions 補完や履歴の設定をちゃんと書く ということをやりました。 詳しい設定は後に書くdotfilesのリポジトリをご覧ください。 dotfilesを始めた これまでCLIツールの設定ファイルがどこに格納されているか設定を変更するたびにドキュメントをみて探していたのですが、 これでは流石に効率が悪すぎる 会社のPCでも同じ設定を使いたい という思いがあり、重い腰を上げてdotfilesで各種設定ファイルを書くことにしました。 dotfilesの管理にはchezmoiを利用しています。 詳しい設定はdotfilesのリポジトリをご覧ください。 成果 というわけでターミナルとかCLIツールをいい感じに整備したわけですが、整備した甲斐あってこれまで雰囲気で書いていた設定の意味を理解できるようになったり、 入れるだけ入れて眠っていたCLIツールを活用できるようになったりと色々いいことがあったのでやってよかったな~と思います。 気が向いたら.zshrcとdotfilesについても詳しく記事を書こうと思います。気が向いたら。 ではまたいつか会いましょう。ちょこみんとでした。

December 6, 2025

高専プロコンで採用してよかった技術・やってよかったこと

この記事はみすてむず いず みすきーしすてむず (4) Advent Calendar 2023 24日目の記事です。 こんにちは。ちょこみんとです。10月に第34回高専プロコン 自由部門の本選に出場してきました。 自分のチームは、C言語以外の経験がほとんどない3人チームで、制作期間も3か月しかありませんでした。 そのときに採用してよかった技術や、やってよかったことを紹介します。 Git/GitHub メンバー全員がGit/GitHubの使用経験がなく、開発初期はDiscordに.dartファイルを貼り付けて共有していました。 しかし、管理するファイルが増えすぐに苦しくなったのでGit/GitHubを用いたバージョン管理を導入しました。 導入には苦労するかと思いきや、案外1週間かからずに導入できました。 開発終了後も個人開発のプロジェクトでGit/GitHubを活用でき、プロジェクトの管理が以前より楽になったので この機会に導入して本当によかったと思っています。 Discordにpushの通知を送る Git/GitHubを導入した後、webhookで開発チームのDiscordサーバーにpushの通知を送るように しました。やる気が出ない期間でも、他のメンバーのpush通知をみて自分もやらなきゃと 焦ることができたり、同様に他のメンバーにも焦ってもらえたので、 開発のモチベーション維持に非常に役立ちました。 Flutter/Dart アプリケーションの制作にはFlutter/Dartを採用しました。 FlutterはGoogleが開発しているクロスプラットフォームのモバイルアプリ開発フレームワークです。 テーマが確定する前からFlutterの学習を始めたので最悪テーマが変更になっても流用できる技術がいいなと思い、Flutterを採用しました。 Flutterを採用して良かったこととして、以下の点が挙げられます。 日本語でも情報が多く、学習しやすい 標準でMaterial Designに準拠しているので自分でデザインを考える必要がない 簡単にiOSとAndroidの両方に対応できた GUIのプログラミングがたのしい はじめてのオブジェクト指向に苦労しましたが、Flutter/Dartが比較的流行っている(気がする)ので 情報が多く、学習しやすかったのは非常に助かりました。 また、これまでにさほどプログラミングに関心のなかった開発メンバーがGUIのプログラミングにはじめて触れ、 その楽しさを知り、アプリケーションエンジニアを目指すようになりました。 自分が直接何かをしたわけではありませんが、素直に嬉しかったです。 Material Design 3 アプリケーションのデザインには、Material Design 3を採用しました。 開発期間にまったく余裕が無かったので既存のデザイン言語を利用でき、1から考える必要がない点は大きなメリットでした。 開発を始めた時点ではFlutterのデフォルトはMaterial Design 2でしたが、 Material Design 3のほうが好みだったのでMaterial Design 3を採用してみました。 情報が少なく苦労しましたが、会場で「市販されているアプリみたい」などと、 デザインを褒めていただける機会が多く、採用した甲斐があったと思っています。 まとめ 以上、高専プロコンで採用してよかった技術/やってよかったことを紹介しました。 アプリ開発にハマるきっかけになってもらったり、これまで自分の作ったものを評価してもらう機会のなかった メンバーに機会を与えられたり、高専プロコンそのものも出場してよかったと思います。 ありがとうございました。

December 24, 2023

Reel 2024

こんにちは。ちょこみんとです。2023年ももう終わってしまいますね。 2023年に作った中でもお気に入りの作品たちをここにまとめておきます。 プログラミング @MomentEffect.anm AviUtlで利用可能なLuaスクリプトです。50行にも満たないスクリプトですが、かゆいところにてが届くスクリプトだったようでTwitterで200いいねをいただきました。うれしい。 GitHubからダウンロードできます。 ColorLens 全国高等専門学校プログラミングコンテスト 第34回福井大会(2023)本選出場作品です。 Flutterを使用し、制作しました。 ColorChat ChatGPT APIを利用し、自然言語から配色を生成するソフトウェアです。 モデルやリクエストパラメータを自由に設定できる高いカスタマイズ性を備えています。 BOOTHで販売しています。 映像 電算機部文字アニメ 学園祭前日になにか展示したいな~と思い、3時間ほどで作った文字アニメです。 かわいくできてお気に入りです。 エラーコード 二次創作PV エラーコードの二次創作PVです。 はじめて映像に触れてから長い事たちますが、この作品でようやくキネポのコツを掴めた気がします。

December 22, 2023

ブログを作りました

HugoとGitHub Pagesでブログを作りました。 markdownファイルをpushするとGitHub Actionsで自動でデプロイされるようになっています。 適当に色々書いてく予定です。 よろしくお願いします。 参考文献 HugoとGitHub Pagesを使ったお手軽サイト構築 Hugo と Github Pages でブログを作る

October 20, 2023