今日は昼に起きてから、洗濯をしたりちょっと買い物をしたりして、あとはひたすらPCを触っていた。さすがに4月も折り返しを過ぎて、もうそろそろ会社以外の時間もコードを書くようにしないと休日にダラケ癖がついて、学生時代の二の舞になってしまうのが怖い。
個人開発のプロジェクトとしてはタイピングアプリを作ろうと思っている。理由は特になくて、強いて言えば、俺自身、タイピングがもっとはやくなりいのと、タイピングなら普段から結構遊ぶから、俺自身も継続的に開発するモチベーションが湧くだろうと思ったことが理由。
個人開発のコツは、自分が使うものや自分が詳しい領域のものだと友人の強強エンジニアも言っていたので。
今日はテーブル設計をしたり、フロントエンドをdockerに乗せてAPI側との疎通まではなんとか成功した。普段会社で開発する時はmake upでコンテナを立ち上げていて、docker compose upすら自分で打つことが少ないので、環境構築すると改めて知らないことの多さを実感する。
つまづきPOINT
dockerの設定
viteの設定
viteの
laravelの仕様
APIとして開発するためには、php artisan install:api をする必要があるっぽい
laravel側に謎のVITE_PORTが存在する
sailで環境構築した気がする。VITE_PORTの5173がなぜか解放されるために、別で作ったfrontのポートと衝突。
curlでAPI側とのHTTP通信を図るが失敗する
curl -Vしたらprotcolの欄にhttpsが表示されるが、なぜかhttps通信は失敗する(httpだと成功する)
全体的に理解が足りていない気がする。切り分けると
dockerの知識
viteの設定などの知識
laravelの知識
ここは昨日もmigrationの暗黙的な仕様のせいで時間がかかったところではある。。。
ここらへんって、一度開発し始めるとあまりいじらなくなるからすぐ忘れちゃうんだよなぁ。
あとは、テーブル設計はmermaid記法で行なっている。draw.ioでちまちまやるのよりも楽だし、キーボードから手を離さない方が集中力が持続する感があって良い。おまけに、mermaidの場合は、書いたmermaidのテキストをAIに読ませれば、マイグレーションファイルとかcreate文とかをいい感じで作ってくれる気もするので、そう言った意味でも便利だと思う。先週はdrawioでテーブル設計してたけど、だいぶイライラしてたし。
あとは、aerospaceというmacOS専用のタイル型ウィンドウマネージャーを入れてみた。設定とか操作に慣れるのに2時間くらいかかったけど、かなり使いやすい(以前はshiftItというやつを入れていたけど、結局すぐに使わなくなった。)aerospaceの良いところは、aerospace enable on/offで簡単に切り替えができるところ。例えば普段使わないモニターに画面を映す時とかはバグりそうだけど、これをコマンドひとつで切り替えることができるので、バグったらオフにすればOK。
あと、ワークスペースというaerospace特有の機能も存在する。macOSは標準でspaceという機能が存在している。デスクトップ1、デスクトップ2とか、画面をフルサイズにするとそれも一つのspaceになる。トラックパッドで3本指でスワイプすると、隣に移動できるやつ。
ただ、macOSのspaceは、移動が遅かったり、移動時のスワイプアニメーションが若干うるさいということで、aerospaceではそれを再実装したworkspaceという概念を使用している。内部的な処理がどうなっているのかは全くわからないが、おそらくmacOS上の画面を仮想的に大きく扱い、そこにウィンドウをよけているのだと思われる(これによって、spaces時の切り替えのオーバーヘッドを回避しているのだろう。)実際、aerospaceの欠点として、拡張ディスプレイの配置時に、画面の左右下端のどちらかを開けておく必要があるのだが、これはworkspaceの実装上の制約だと考えられる。
公式ドキュメントに詳細は書かれており、現状日本語の情報はあまり多くないのでこれを読むのが一番確実。
https://nikitabobko.github.io/AeroSpace/guide#emulation-of-virtual-workspaces
あとは、いかのQiitaは図解を用いてaerospaceについて説明していてわかりやすかった。
https://qiita.com/showchan33/items/b08b7b0f6feb6a47c70f
キーボードから手が離れないのはめちゃくちゃ良いなとお思ったので、今後vimとかにも手を出したくなるなぁ。ちょっと余裕が出てきたらvim入門しちゃおうかな(ニチャァ)
〜
今日も彼女と長電話で雰囲気悪くなった。もういい加減こういうには疲れた。まじで毎回の電話で地雷を踏まないように気を張っていて、とても疲れる。まじでなんで付き合ってるのかもうわからなくなってくるわ。
〜
まぁこんなクソ嫌な気分は忘れて、明日も開発に精を出していくこととしますか!GWまで時間がないので、速攻で機能実装していかないいけない。まじで死が見えているな。。。本当はGWも開発できたらよかったのに。。。
まぁできないことを言っても仕方がないので、GWまでにいかに終わらせるかを考えることにしよう。