2025-10-01 Udemyの講座をやってみる

水曜日。8:30起床。今日から日報を書いて、日々を記録する。
React Native + Expoを使ったモバイルアプリの開発手法を根本の部分から学ぼうと、午前中からUdemyの講座を選んだり受講したりした。

React Native入門:ニュースアプリを作りながら覚えよう
https://www.udemy.com/share/102vgU3@Rna5Ln4rzVRcbOjsjVvTezkJxFep6P0uR1SIUEM9WjHS_1E7qD-fLHnuBeHRIYYJxQ==

やってみると2日もあればTestFlight用のビルドを作るところまでいける内容。
(自分は飛ばし飛ばしで進めたので夕方にはカリキュラムは終わってしまったが)

モバイルアプリの開発はクライアントワークとしての案件がほとんどないので、過去にやった事が全然積み上がっていないというのが問題だと感じていた。とりあえずこれを解決する目的として、なんでもいいから自分のアプリプロジェクトを日々運用していれば、技術のキャッチアップや利用するクロスプラットフォーム開発フレームワークの知識も継続的に得られると考えて、とりあえずReact Nativeからやってみることに。
Udemyに月額のサブスクリプションプランが出来たという事で、試しに1ヶ月でどれぐらい受けられるものなのかな?どれぐらい対効果が得られるかを感じるための実験的な意味もあるので、10月だけで得られる知識を見て今後のUdemyの活用を決める予定。
React Nativeで1つ作ったら、次はFlutterでもう1つ、という具合に進められたらいい。

夕方までUdemyの講座を進めて、夜はジョン・メンソズの「SOFT SKILLS」を読む。3年ほど前に1度読んだが、当時はまだコロナ禍でそれどころではなかった事もあり、なかなかここまでメソッドを実行するのは自分には難しいなと考えていた。
3年経って、仕事が受注開発とエージェントを通した業務委託の両輪になってくると、かなり計算してスキルアップや先の目標を立てて行動していく必要が出てきたので、今後はSOFT SKILLSのようなノウハウを得ていく必要もありそうだ。今日は「独学のススメ」のところまで読了。今週末には読み終える予定だ。

クライアントワークのT案件の方はまったく進まない。というか検証データを渡してからまるで連絡がない。
来週には次の更新スプリントのリリースがあるのに、前のリリースがまったく進まないのだから本当に困ったものだなと思う。おそらくこれは来週も終わらせるのは無理だろう。

2025-10-07 読書漬けはオススメできない

火曜日。10:30起床。昨夜のよくわからない感じの夜ふかしが尾を引く。
昨日のうちに水曜日のテストアップの分は実装を終えていたので、今日は取り立ててすぐにやる仕事がなかった。いい機会だと思ったので、1日ひたすら読書をした。

午前中から14:00ぐらいまではミステリー。島田荘司の『寝台特急「はやぶさ」1/60秒の壁』を読了。
吉敷シリーズは1作目のこれで読むのをストップしてしまったので、改めて読んでみた。
怪奇色が強くてメイントリックも驚きのあるものだったけども、実際は「あれ?こんなにトラベルミステリーな感じだったっけ?」というのが再読の印象で、吉敷が結構いろんなところに行く小説だった。
ブルートレインに乗るだけというものではなくて、上越の雪景色や北海道の春を匂わせるところなど、風景がたくさん書かれていてイメージしやすい。
なるほど、こうやって読むのかと気がついた事もあり、吉敷シリーズも今後は順に読んでいく事にした。

ミステリーを1冊読み終わっていたので、少し空けてしまったジョン・メンソズの『SOFT SKILLS』を読み進める。こういうのは実践しながら読んでいくものだと思うので、なかなか読み終わるのに時間がかかるのだ。
今日読んだのは、生産性向上に関するノウハウ。意外と意識できない部分も多くて読んでいてためになる。大きな目標はどこまででもブレイクダウンさせて実行出来る事に縮めていけ、というのは言われてみればその通りなのだが、困難なケースに向かう時に常に意識できているかというとそうではない。
なるほど、何をするにもプログラミングと同じか。
さっそく、今年中に達成したい事を箇条書きして、それを細かい目標に細分してみたら、すぐにもやりたいことがたくさん増えた。達成したい事は今すぐやろうと出来るレベルまで落とし込んで初めて達成に向けてすぐに動き出せるようになるって事なんだろう。

そんな事をしている間にもう19:00になった。
仕事をしているわけではないので、当然のように読んでる最中に眠くなる。
今日は合計で3度も軽い昼寝をしてしまった。どうもいけない。読書とはいっても、意外と集中力を使っているらしい。明らかに老いたなって感じがするので、あまり長時間のめり込むというのも良くないな。ほどよくいろんな事をしたい。

夜はCSの「お台場フォーク村」を観た。今日のフォーク村は詩織ちゃんが出演しないが、初めて吉田拓郎が出る回だったので、ちゃんと鑑賞。トーク部分が大半だったが、とにかく拓郎さんの話がおもしろい。なんか思うところがあったようで「LOVE LOVE あいしてる」に出演している時がいかに楽しかったか、人生を変えてくれたか、なんて話までしていた。
一度でいいから、詩織ちゃんと共演して欲しいなあという願望がますます強くなった。

2025-10-08 みんなどうやってるの?

水曜日。10:30起床。福島遠征をまたいで4日間休んでいたウォーキングを再開。
起きて早速、今日の予定を組んでみたが、予定を書くだけで「こりゃ今日は無理だな」というぐらいにやりたい事が多い。どうにも「いつやるべきか」を決められない性格をしているらしい。

昨日書いた『大きな目標』に向けて進みたい意欲が湧いているけど、そうなったらそうなったでどれも優先順位が高くて、いかに人生とは時間が足りないかを痛感してしまう。
自分の仕事は学ぶ事と仕事を作る事が一体になっているのでまだいい方だろう。本を読めばそのままその知識が仕事に使える。Udemyで得たスキルが次回の案件で活かせる。それでも時間が足りないのだ。他の仕事、例えば料理人、例えば弁護士、例えばショップ店員、どうやって得る知識と仕事をアップデートしているんだろう。自分のようなやり方ではとても間に合わないはずだ…

とりあえず最も優先順位の高い目標は今年中に1つモバイルアプリを開発してリリースすること。一旦、それ以外の事は無視をしようと決めた。
さっそくUdemyでReact Nativeの次の課題に取り組める講座を探した。

実践編:React NativeとFirebaseで作るiOS/Androidアプリ
https://www.udemy.com/course/react-native-firebase/

また、PrismaとORMでバックエンドを作る事にも興味が湧いてきたので、以下の講座も通してやることにした。
【Next.js】フルスタック開発基本講座(TypeScript/Prisma/Auth)
https://www.udemy.com/course/nextjs-basic/

とりあえずReact NativeのコンポーネントとFirestoreとの接続の仕方を、特にFirebaseの新しいAPIを用いる事を原則としてやってみた。Firestoreのコレクションやドキュメント操作について、ほぼすべてのメソッドをimportして使うというところが少しめんどくさい。firestoreオブジェクトのメソッドを通した方がコード内にコード予測が出てやりやすかったな…という不満もありつつ、知識をアップデートした事は良かった。

気づけば夜になっていたので、21:00からウォーキングをした。これは4日ぶりなので6kmのルーチンでもなかなか骨が折れた。実際には折れてない。でもかなり大変だった。
ウォーキングは週6日で続ける。目標は今年中に15kgダウン。

2025-10-09 ピンチの時に本性が出る

木曜日。9:30起床。ウォーキング再開でいきなり腿が痛い。
今日は1日中、ちょこちょこと違う事をやる羽目になった。とりあえずずっと引っ張られてるT案件の打ち合わせと進行のお手伝い。ある程度めどが立ったかなと思うとすぐに痛い事をやってくる。正直、もういいって、そういうのは。

昼休みにXを眺めていると、自民党と公明党が連立を解消するかもという報道が出ていた。まあ、これは早々に解消するだろう。双方にとってもはや意味を為していない。イメージだけで与党にいただけで今はもう野党にいた方が絶対に得なんだから。
同時に少しマーケットも落ち着きそうだ。連立が解消されると、当面は国民民主を取り込むだけでは法案が通らないってことも出てくるわけだから。まだ石破総理なのにもはや空気になったな、あの人。
このように密月の関係というのは状況が相手が危険な状況になった時にはじめて両者がどうやって結びついていたか本当のところが見える。近頃の政局は学ぶところが多い。

午後はちょこちょことUdemyの講座を進める。とりあえずReact NativeのコードからFirestoreに接続してデータを保存するプロセスと、あとFirebaseのログイン認証を肩代わりさせるAuthの使い方を学んだ。
React Nativeは触れば触るほど、ああ長い事丁寧にアップデートを続けてきたんだなというのが分かるからコードを書いていてストレスが無い。やっている講座は2年前に作成されたものだが、画面スタックの構築の仕方も変更されていて、とても具合がよくなっていると分かる。
少しFacebookの評価も見直さなきゃな。

夜は今日も6kmのウォーキング。アトリエの周りで6kmのコースがどんどん新規開拓されていく。
それがなかなかに楽しい。こんな道があったのか、こっちの道をまっすぐいくとこんな街になってたのかとウォーキング以外の時もこの辺でご飯食べに行ってみようかなと思える場所がたくさんある。

2025-10-10 次はどこへ行こうか

金曜日。12:30起床。そんでも6時間睡眠だ。
昼に起きてしまって、少し焦ってマーケットをチェック。思ったよりも下げてない。一方、アメリカ株はまだ下げが続いているので、一旦は投信の購入を保留。また来週も注視することに。

今日はなにやら集中力が下がっていて、なかなか学習が進まない。
ポモドーロ・テクニックを使ってやってみたが、React Nativeの学習も画面遷移(Stack Navigation)のやり方を新しいバージョンの使い方を調べながらやっていたら、それだけで6ポモドーロも使ってしまった。
その後に「SOFT SKILLS」のお金の章を読み進める。日本ではなかなか不動産投資で不労所得で得る額を増やしていくというのが現実的ではないが、ある程度不労所得が延びてくるまでは出来る限り金のかからない生活、特に自分が住む家には金をかけるべきではないというのは、なんとなく勇気づけられた。

あっという間に17:00がきたので、現金を下ろすついでに自由が丘まで行く。
ずっとやってみたかった、どこかに電車で行ってそのまま歩いて帰って来るというウォーキングメソッドを試すためだ。18:00前に自由が丘着。

さっそく今、自分が一番美味いと思っているラーメンを食べに行く。
自由が丘の「麺 ひしおのキセキ」さん。スッキリしつつ出汁の味がとても味わい深い醤油ラーメンだが、なにより麺そのものの味と香りが段違いに強い。自分が子供の頃のラーメンってこういうしっかりした香りのある麺だった。たぶん、小麦がいいんだろうと思うのだが。味玉を一口食べて、それからスープを味わうと味が激変するところもとても良く計算出来ていて、本当に最後の一口まで美味い。

自由が丘にはまだまだ新しい店がバンバン出来てるらしいので、しばらく通ってみようと思う。
ラーメンを堪能して、そこからアトリエまで歩いて帰る。自由が丘からだと、学園通りをまっすぐ歩くと目黒通りに出る。そこから目黒通りを都立大学-碑文谷まで歩き、学芸大学から祐天寺に向かって線路沿いを行くと駒沢通りに出る。
都立大学付近も学芸大学もこれまで一度も来た事が無かった街だ。自分が東京に出てきた頃の雰囲気が残っている街で歩いていてとても楽しい。
祐天寺の駅に「ビアードパパ」があることは知っていたので、帰るついでにあーりんがポッドキャストでプッシュしていたシュークリームを買って帰る。

あーりんが話していた焼きチーズのシュークリームは品切れになっていたので、その他の期間限定のシュークリームを2種類買う。これは「渋皮栗のモンブランシュ」である。

今日のウォーキングコースは合計6km。思っていたより短くて助かった。最後は少し足の付根の疲労を感じていたので、ゆっくり歩いて最後の祐天寺からの700mをこなした。

ああ、楽しかった。やっぱりこのウォーキングメソッドはいいな、知らなかった事をどんどん吸収できるあの快感に近い感覚があるし、次はどこに行こうかという気分が持続しそうだ。毎週続けていこう。

2025-10-11 限界ポモドーロ数を測る

土曜日。12:30起床。9:00ごろ起きたのだが布団が気持ちいい季節になったようだ。
ポモドーロ・テクニックの記録。
今日は金曜にまとまったT案件の更新アップデート作業を延々とこなした。計10ポモドーロ。その他にUdemyを使った学習タスクが4ポモドーロ。ここで限界がきた。というかもう23:00である。
現状の自分の体力と集中力を限界まで振り絞っても14ポモドーロだという事が分かった。

次はこの14ポモドーロが1週間持続できるかの実験をしよう。ウィークデイは差し込まれるタスクが多くある事を考慮すると、なかなか持続は難しいかもしれない。頑張っても週70ポモドーロぐらいが当面の達成目安だろうか。
たしかにここから25分は全力で集中するとなると、意外と出来るものだ。これが2時間頑張ろうとかやってた方がどうかしていたと実感で分かる。Wikipediaを読むと、ポモドーロ・テクニックは1980年代からある時間管理ノウハウだそうで、考えたのはイタリア人の学生。なるほど、休んでばっかりが日常のイタリア人がなんとかテストで良い点取るためのテクニックというわけか。なるほどなるほど。

実際、仕事をしていて一番めんどくさいのは単純な思考作業を長時間持続させる場面である。思考の方向性を一定に保つのは難しく、あれこれと考えている時はそれほど時間は苦にならない。
たとえばWebサイトの動作テストを50ページぐらい行わなければならない場合や複数の画面のスタイルを一度にスマホレイアウトに対応させる場合など。25分だけ集中するというのは、25分したら席を立ってもいいという事にもなるわけで理にかなっているだろうと思われる。

明日はステーキを食べるつもりだ。もうそのことばっかり考えている。
こういう事なら思考は持続できるのに、人間の脳は不思議である。

2025-10-12 身体の調子がいいと面倒くさいを凌駕できる

日曜日。10:30起床。少しずつ回復してきたのか、身体の調子が良いのを肌で感じる。
目が覚めてトイレに入ると、その場で新しい方法を思いついた。T案件のアップデートの話だ。要求は現状、Vue Routerでディレクトリベースで設定されているルーティングをWebサーバーの設定が不可という事になり、別の方法で実装するというもの。
スタンダードな方法でいけば、HTML5モードからハッシュモードに切り替えという事になるが、昨日一日、その切替をやっていて、サイトのルートが「/#/」で表現される事がどうにも気になってはいた。
それを解消する方法を思いついたのだ。

そういう事にすぐ思いついて面倒を感じることもなく取り組めるのは身体の調子がいい証拠である。頭と身体が連動していると「面倒くさい」を凌駕できるという事のようだ。
午後いっぱいをかけて、そのアップデートに取り組んで最終版を作り上げた。明日には動作を確認してテストアップが出来るだろう。これで一旦はT案件は片付いた。
明日からは金曜に入ってきた仕事の技術検証をはじめる。

18:30からウォーキング。今日も6km。大橋-三軒茶屋-世田谷公園のルートである。
最近は面白いAudibleに巡り合わない。あーりんのポッドキャストが一番面白い。相変わらずヘトヘトになって帰って来るがペースは安定してきている。あと1週間はこのペースでやってみようかな。
もうひとつの運動目標にリングフィットアドベンチャーを週3でやるというのがあるが、これがまだ棚上げになっている。ウォーキングを朝に回すしかないかな…

風呂からあがって、毎週恒例の牛肉を食べる。
おかやま和牛のヒレ肉をステーキをミディアムで。付け合せはしめじとナスのソテー。とにかく柔らかくて和牛の味も強くメチャクチャに美味しい。間違えてシャトーブリアンを送ってきたのではないか?というぐらい美味かった。これで1kg(200gを5枚)で10,000円は安すぎる。

2025-10-13 決断が遅いと1日が短くなる

月曜日。5:00起床。スポーツの日か、いつから体育の日からスイッチしたんだっけ。
メチャクチャ早起きして今週からR案件に取り掛かる。とりあえず企画だけが上がってきたので、それに合わせて登録フォームを作る。Vueの仕事が続いたので、今回はReactを使う事にした。UIコンポーネントのライブラリはHero UIを選ぶ。

HeroUI (Previously NextUI) – Beautiful, fast and modern React UI Library
https://www.heroui.com/

元々Next UIだったもので、よりTailwind CSSベースであるものを明確にしたアップグレードを行ったものという位置づけらしい。
これに合わせて、フロントエンドも今回はTailwind CSSで実装する事に。

早起きして望んだものの、やっぱりすぐに眠くなる。9:00から二度寝を初めて、12:00に起きる。延々と1日1時間ずつ読み進めていたジョン・メンソズの「SOFT SKILLS」を3時間かけて一気に読み終える。自分にとってこの手の自己啓発本を最後まで読み切る事はなかなか難しく、3年前に読んだ時はどうしても最後まで読めなかったのだが、今回はそのリベンジを果たした。本当に大作だな、という印象。目が覚めるような事がそこまで書かれているわけではないが、生活全般に渡って意識できる根本からのライフハックテクニックが多く書かれていて為になる。なにより実践的だった。

SOFT SKILLSを読んだから、というわけでもないが、自分の決断の遅さが嫌になる。なぜ今日は15:00から歩こうかなと考えていたものが結果は19:00からになってしまうのか。
それは自分が若いとまだ思っているからかもしれない。
若い時というのは1日が長い。1ヶ月1年も今より長い。結果、若い時は決断するのに時間がかかってもそれほど時間は過ぎていないものだ。
しかしおっさんになったらこれは異なる。さあやろうかな、と思ってから少しウダウダとYouTube見てるだけで4時間とか経っているのだ。おっさんほどシェイプアップしたければ、スキルアップしたければ、何かを達成したければ、コンテンツに触れる時間を短くするなど何かを捨てる事を考えるべきだという事だろう。

なんか結構辛い事に気がついてしまった。

2025-10-14 ももいろインフラーZ公開収録@立川

火曜日。10:00起床。結局、こんな感じの起床時間に戻ってしまった…
今日は夕方からももクロ現場なので、集中して仕事をする。T案件の動作確認を再度行って仮納品データを渡した。これでクライアント側の動作確認が終われば納品である。8月からやっていた仕事、ついに完了という事でこれは喜ばしい。

少し上手いこと進んだかと思えば、また次の問題が。
昨日から取り掛かり始めたR案件で、クライアントからのリクエストとは当てはまってない仕様を要求されてしまい、自分に知らされてない事がありそうだと実際に求められてる事の確認作業をひたすら行う。二言目には登録フォームの構築なんてやった事がないと付け加えられるが、そんな専門的な事も難しい事も聞いているつもりもなければ、返答に時間がかかるような内容を求めてもいないのだが…
最近分かった事だが、若いメンバーになるほど、文章で言葉を費やすという行為が面倒らしく、メールやチャットの1ターンあたりのやり取りの内容に不足が多い。これはなんとかしたいところだ。余計に時間がかかる。

午後に少しUdemyの講座を進めて、風呂に入って、いざ立川へ
今日のももクロ現場は「ももいろインフラーZ」の公開収録。去年の公録は落選が続出したせいか、3連休明けの火曜日とまず来れないであろう日を選んできたらしい。しかも会場は2500人規模で昨年の一ツ橋ホールの3倍になっている。ちょっと強気すぎないかと。
立川はとにかく遠い。ただでさえ遠いのに中央線がかなり遅れて、結局ギリギリの到着になってしまった。

番組のテーマは「地下鉄」。最初に「走れ!」だけ歌って、あとはいつものももフラのテンションで収録が進む。お客さんはそれを眺めるだけである。チケット6,000円にしてはかなり物足りない内容だったが、そこはももクロちゃん。テンション高く、トークタイムを伸ばしに伸ばし、まるで漫談を見ているような時間が進む。
早押しクイズになると、咄嗟に4人で玉井vs他という対立構造を作って、その場をゲームの場に変えてみせてしまう。企画が足りない部分を察する能力、そこから面白いステージに変換させる経験則。いやあ、本当に凄い。

結局イベントは2時間で終了。雨が降り始めていたので、寄り道無しでそのまま中目黒に帰ってきてしまった。久しぶりに三ツ矢堂製麺へ行ったが、あからさまに味が落ちていた。というかチャーシューのレシピがおかしいのか、ただ湯通ししただけみたいな味で臭くて食べられない。そしてライスが冷たい。味が落ちている以前の問題だった。いずれ潰れるだろう。

2025-10-15 ChatGPTのコミュ力アップに気がつく

水曜日。11:30起床。日報を毎日書くようにしてからちょうど一週間、続けていこう。
起きてR案件の返信がきていたので、再度確認事項を回す。見積りは明日作る予定だが、とても急いでいる空気ではないのが気になるなあ。

とりあえず新案件に向けて技術的な選定をしておこうと、ChatGPTと会話する。求められるスペックとしてはユーザーが登録するフォームとそのレコードを保管するFirestoreがあればいい。問題は登録完了メールをどうやって送るかだが、、、というところまで聞いて、驚いた。
ChatGPTが「デプロイ先を何にするかにもよるけど、Edge Functionsを使うって手も相談にのるよ?」とか「reCAPTCHAを導入した場合のコードも出せるけど、余分かな?」と言ってきたのである。
要するにそのままコードに書いてこないで、こちらがうっかり忘れていた事項に対して「これを忘れてるぞ」と指摘してくるのではなく、あくまでも「そんな手もあるよ」と敢えてオプションとしてこんなのもやってみるかい?と、そういうコミュニケーションを取る。「ああ、うっかりしてたわ」とは思わせないようにしているわけだ。

・・・怒りを買わないようにしている。人間様に気を使っているぞ、こいつ。
これはかなり恐ろしい事なのではないか?いわゆる自我に近いぞ。自分をどう見せるかを判断している。
これまであらゆる哲学者が、人間とはどうコミュニケーションをとったら自分が豊かになるのかを書いてきたんだろうが、そういう事も学習モデルに含まれているのかもしれない。だとしたらもう太刀打ちは出来ないな。AIが「誰よりもこちらを尊重してくれる存在」になる日は近そうだ。

2025-10-16 来月からは新しい仕事のターンに入れそう

木曜日。10:30起床。業務委託案件も動き出した。
ずーっと天気が悪い。今日を合わせて3日もウォーキングをサボってしまった。気のせいか、仕事のやる気もあまり起きなくなってきた。
午前中はR案件の概算見積り出しと制作スケジュールの精査をして提出。どうやら、ギャランティよりもどこまでのセキュリティが求められるのかがはっきりしない。本当に出来るのかよ、この企画、、、今週末から動こうと思っていたのだが、どうやらまだ無理そうである。

午後、FreelanceBoardのスカウトにちょっといいかもという案件があったので応募してみることに。すると速攻で手配先のエージェントから連絡がきた。この案件についての話ではなく、まずはエージェントに登録せよとの事。明日さっそくキャリアアドバイザーと面談の約束。
ほぼ同時に他会社のエージェントからも連絡がきた。こちらは先週、案件紹介のリクエストを出していたんだけど、やっと面談してほしいという依頼。偶然だろうか?よく分からない。
どんどん来週から年末までの仕事が決まっていきそうで少し安心だ。
その後、T案件がリリースされた事を確認。最終の見積りを送る。こっちは少し休ませてほしい。

夕方からようやくスキルアップのための学習。今日はUdemyの講座をみっちりやった。これでReact Nativeの講座は修了した。明日からさっそくアプリの開発に取り掛かる事にする。
まずは企画を作るところからだけど、業務用のアプリやSaaSも一新していく事に。とりあえず要件定義やワイヤーフレームはMiroで作ってみようかなと触りだしている。そういうの考えるだけでワクワクしてくる自分で良かった。
目標は11月末のリリース。仕事との両立は上手くいくだろうか。

2025-10-17 野菜は生のまま冷凍しよう

金曜日。9:30起床。昨日までとは一転、今日はいい秋の天気に恵まれて、食事に行ったりスーパーで山ほど食料を買い込んだり。
午前中は少し気を引き締めて、年末までの仕事の目標を立てたりした。本を読むと気分が乗ってくる。

午後イチで新しいエージェントとの面談。こちらの要望をお伝えして一旦は案件を紹介してもらう事に。夜に早速、数件の依頼が来た。やっぱりこれが一番早い。11月からチームに入るとして、半年ぐらいはメインはそのチームで働く予定にしている。
15:00からR案件の電話打ち合わせ。ようやく企画の内容を聞き出せた。要件がはっきり分かったので、企画の実現方法を伝える。この方法がダメなら、もう公開日を延ばしてもらうしかなさそうだが。

夕方からはFIrestoreのV2の仕様をいろいろと確認。React Nativeアプリとの連携をやっている時にFirebaseのSDKの仕様に大きな変更が加えられてる事がわかり、早くキャッチアップしておかないとなと気にしていた部分だ。取得・保存・更新・削除の基本的なやり方と、Cloud Functions上での取り回しの仕方などを頭に入れて、とりあえず納得出来るところまできた。これでとりあえず仕事を引き受けても大丈夫だろう。

20:00からウォーキング6kmを済ませて、食事を作る。
東急ストアに売っていた冷凍の食材セットを使った白身魚のバジル焼き。

7分、強い中火で火を通すとあったので、そのまま調理したらポテトはまだいいものの、ブロッコリーと人参のソテーがクタクタになってしまった。野菜は生のまま冷凍しておいてもらった方が美味しいだろうなあ。値段はそこそこする割に満足度は低かったな。

今日はもう一品。茄子が激安だったので、キッコーマンの「ナスとピーマンの香味しょうゆ」で炒めただけ。このキッコーマンのシリーズはどれもとても美味しい。全部試したくなる。

2025-10-18 あーりんポッドキャスト公開収録へ

土曜日。5:00起床。思ったよりもイベントが楽しみすぎて早起きしすぎてしまう。
早起きしすぎてしまい、二度寝をためらうほどに。まあ時間がもったいないなと少しずつウェイクアップの作業を始めようと、昨夜きたエージェントからの紹介案件に2つ話を聞いてみたい案件があったので、スキルに対するコメントと併せて返信した。

休日という事もあって、やっぱり学習に気がいってしまう。とりあえず、もう少しReact Nativeを触りたいと、Udemyの講座内だけではなくExpoのドキュメントをちらほらと読みはじめる。タッチジェスチャーの感知やデータの永続化が含まれているいい感じのTutorialが用意されている事を知り、それをやってみる事にした。このチュートリアルをやるのと同時に、テストのフレームワーク(Jest、Storybook、Playwright)の導入も一緒に調べる事にした。
とりあえず今日はプロジェクトの作成まで。実際のチュートリアルは週明けから始めよう。

なんだかんだで8:00になり、ひとっ風呂浴びて、いざ新宿へ。今日はあーりんのポッドキャストの公開収録がある。場所は東京都庁の都民広場だ。9:30には新宿三丁目まで着いたのだが、ここから都庁への徒歩のルートに苦戦する。滅多な事では新宿駅には入らないようにしているため、今の駅がこんな事になっているとはまったく想像がつかなかった。
東口のアルタ前から地下に入るも、あちこちが工事中。ただ西口に出たいだけなのに、あちこちに歩かされる。10分近く歩いて、たぶんもう西口に来ているのだと思うのだが、工事の塀だらけで外を確認できない。外に出たと思ったら、都庁への道に直進できず、どうしても北側の道路に出てしまう。

そんなこんなで約30分ほどでようやく都庁着。あきらかに既に後方である。
もう少し早く出れば良かった…せっかく5:00に起きたのに。

公開収録は1時間と、いつものゼロヒャクにイベントの紹介が追加された程度だったけど、思っていたよりあーりんの仕草が楽しくて面白かった。春夏秋冬でどれが一番”強い”か?というテーマ、結局よく分からないけどあーりんは夏が好きだという事らしい。

帰りに少し調べて西口の野村ビルに入ってる「とんかつ伊勢」でとんかつを食べる。まあ、こんなものかなという程度の味だったけど、とにかく出てくるのが遅くて体験としてはいただけない。
帰宅は恵比寿で降りて、そこからウォーキングついでに歩いた。新宿から合計で9km。
帰ってきて即昼寝した。起きるとなんと19:00に。晩めしは焼肉丼を作って食べる。今週の牛肉デーもしっかりこなした。
明日は久しぶりの完全休日に充てることにしている。

2025-10-19 文章を書くのが苦ではない

日曜日。10:30起床。そもそも起きる時間がこんなバラバラでいいものなのか。
今日は完全に休日。仕事もしないし、運動もしないし、本も読まない1日。40を過ぎて分かってきた事なのだが(完全に遅い)自分は文章を書く事が苦ではないという特性を持っているらしい。というか、多くの人は言葉を費やすという事が面倒くさいらしい。

自分はメールでも企画書でもこういう日報や日記の類でも、正直いくらでも書けてしまう。長い文章を延々と書き連ねてしまう特性があるようだ。だからいつも、なんでもっとちゃんと最後まで書いて伝えてくれないんだろうと感じる事が頻繁にある。伝達事項は簡潔に!なんて言われても、伝える事はたくさんあるはずなので、文章そのものが短くなる保証なんてない。むしろやり取りの回数が増えるだけで逆に時間がかかって不便じゃないか?と感じる事が昔から頻繁にあった。
これはどうやら相手の落ち度とかではなく、単に文章を書くのが苦だったからなのかと今更ながらに痛感している。相手はそうしないのではなく、シンプルに出来る人と出来ない人が存在するだけなのだ。

今日は久しぶりにドラマを一気見した。WOWOWの「夜の道標」をWOWOWオンデマンドで視聴。
基本、ドラマはWOWOWのドラマWの品質しか信用していないが、やっぱり期待にそぐわない。とてもおもしろかった。昔あった「優生法」にまつわるミステリー。障害を持つ青年がかつての恩師を殺害する。さて、彼に何があったのか、殺害の動機は何かを組織に染まる事が出来ない中年刑事が辿っていくというストーリー。全5話。
キャストの演技も大げさすぎずリアルで良かったのだが、なにより映像がいい。1カット1カットのレイアウトがとてもユニークでしかもより面白く観れるように計算されている。こんなに「背中」を見せるシーンが多いドラマは珍しい。というか滅多に見ない。
休日らしい、いい体験をした。そのまま立て続けに安田くん主演の「怪物」の方も観はじめる。こちらも面白そうなストーリー。

2025-10-20 React Nativeのテスト環境を揃えてみる

月曜日。8:30起床。なんやかんや寒くなってきて、いい加減に「長袖をください」とチェストが嘆いている。
昨日は一日休んだせいか、なかなか仕事はやる気になっていた。天気は悪いが。
長い事放ったらかしていた、フロントエンド周りのテスト環境に関する知識を一気にアップデートした一日。

午前中からReact Native(Expo)開発時の静的解析ツール(ESLintとBiome)の併用とユニットテストの手法をChatGPTにあれこれ質問しながら調査する。なんやかんやで時間がかかる仕事だ。
特にESLintのルールセットを取り入れるか取り入れないかで悩む事が多い。Expoでの開発では、初めから推奨されるルールがConfigされている状態なので、これ以上の厳密さがいるのか?とも思うが、案件チームに入るとやれAirbnbだのUnicornだのと入っている事が多いのでなかなか悩む。
ここだけで3時間を費やした。

その後、ユニットテストは既にJestとRN用のTesting Libraryが用意されているようなので、UIのユニットテスト環境をインストール。「react-test-renderer」がReactのバージョンと揃わない問題があって、こっちもなかなか苦戦した。最終的にpackage.jsonを編集してreact-test-rendererを完全に固定のバージョンに指定すればインストールできると分かった。こちらも導入だけで1時間。

結合テストにはStorybookを入れたが、こちらはどうやらRNでもいつもと変わらなかった。Storyを入れるフォルダは「.rnstorybook」の名称になっている。違いはこれぐらいだと思われる。
まだ実際にStoryを書いてるわけではないので、どうやって動かすかはよく分からない。
E2Eテストにはいろいろ探ったが、結局どのツールが適しているのか分からなかったので、日本語のドキュメントが揃っていた「Maestro」というE2Eツールをインストールして使ってみた。グローバルにインストールして実行コマンドでテストを実行すると、既に起動しているシミュレーター上でテストが動くという形のようだ。少し使い方を覚えてみることに。
これで開発する環境を構築出来た事になるので、明日からは実際にExpoのチュートリアルをテストを通しながら進めていこう。
なんだかんだであと10日で実際のアプリを作っていく予定なので、もうかなり時間がない。

2025-10-21 Tailwindが隠されているのはリスクもある

火曜日。7:30起床。なんとなく仮眠の取り方が分かってきたところ。
今日もなかなかに寒い。パーカーの季節だなあとは思うのだが、着るもので肩が凝る季節だ。今年はもう少し軽い服で対処したい。今年は夏が長かった分、寒いのはなかなか対応が難しい。

昨日はReact Native(Expo)開発のテスト環境周りの知識を一気に手に入れたので、それをベースに次はNext.jsプロジェクトのテスト環境も丁寧に作っていく。
静的解析はこちらもESLintとBiomeで揃える。ESLintの追加ルールにSonarJSのルールを追加で入れた。セキュリティ脆弱性やコードの重複などの品質面のチェックまで行えるルールセットらしい。使っているだけで勉強になることもあるだろう。

JestとTesting Libraryはこれまで通りのやり方でOKだったが、Storybookが去年使った時とは使い方が大きく異なっていて、何かとエラーが多発する。Hero UIでラップされているTailwindが効かない状態になっていて、ここをクリアするのにえらく時間を費やしてしまった。ここまでで午前中が終了。
午後に一通りテストのテストみたいな事をやって、最後にE2Eテストのフレームワークを入れた。Next.jsはWebで使いやすいPlaywrightを選択。こちらはいつも通りのやり方でインストールと設定が完了。
これで一通りはクリア出来た。Vue.js+Nuxtの場合もそんなに違いは無いだろう。おおよそ半日を見積もっておけばよさそうだ。(あとはテストを書く習慣を徹底するだけである)

ここからR案件に備えてReactでフォームを作りはじめる。プロジェクトに入る前にある程度作っておけばスタートダッシュも効く。なんて真面目なんだろうと思いつつ、やっぱり作っている時間は楽しい。特に今回は新しいUIフレームワークにユニットテストを意識したコンポーネントの設計も兼ねているので「新しい事をしているな」という感触が楽しさを増幅させているようだ。
これで案件が受注出来れば言う事無しなのだが…

18:30までこれをやって今日はお台場フォーク村の生放送を見る。丸一週間ぶりの詩織ちゃん。

今日から本当に秋だなあと感じるスタイリングであまりにも可愛すぎた。ゲストも個性的で本当に見ていて楽しい番組になったなと感激する。
毎月の事ながら目を見張るような歌唱シーンが多かったが、今日はフジファブリックの「若者のすべて」の歌声が素晴らしくて、その声を聞いただけで涙を流してしまった。詩織ちゃんは本当に歌が上手くなったな。その事を毎年毎年感じられるというのはファンとしてすごくありがたい事だ。

2025-10-22 寒い日は仕事が捗ります

水曜日。6:30起床。今日もかなり早起きした。そして仮眠が捗る。
昨日を上回って朝が寒いなあと思っていたら今日は一日雨でずっと寒い。ついに暖房を入れてしまった。まだ10月なのにな。
これは昔からそうなんだけど、寒くなるほど自分は仕事に集中できるタイプだ。頭が冷えるのがいいのかもしれない。今日のタスクは仮眠を挟んで14ポモドーロ。読書もかなり進んだ。

午前中は昨日の仕事に引き続き、R案件に備えたNext.jsでのフォームの実装。作るコンポーネントごとにJestでコンポーネントテストを実装していくのが、めんどくさくもあり、面白くもある。後でこれがクリア出来ていれば問題無しとなるだろうっていうのを想像するのが面白い。
Hero UIのText InputとTextareaを使ってバリデーションを備えたカスタムコンポーネントを実装した。去年の案件ではチームの他のメンバーがフォームは担当していたが、なるほど、こんな事をやっていたんだなと勉強になる。スタイルはTailwindを採用しているので、楽ではありつつもclassNameを何度も調べながら進めるのが少し億劫だったりもする。
どう考えてもチーム案件向きのフレームワークだなと痛感。

昼間に鍋を作って食べた。去年から自分の中でブームが続いている久原の「あごだし旨辛鍋」だ。
https://www.kubara.co.jp/products/archives/202
これ、本当に美味しい。作り方では豚バラ肉250gとあるが、いつも足りないなと400g買う。あと鶏団子とすごくよく合う事が判明した。
結局、夜もこれを食べた。野菜とタンパク質を過剰摂取してやったぜ。

しばらく昼と夜の2回の食事が続いている。少し太ったかもしれないなあ。

昼食後の仮眠の後、夕方からはReact Nativeの方にシフト。画面を作りながら、こちらもJestでのテストの書き方を丁寧に。さすがに一日やっていると結構慣れてくるものだ。だいたいすぐに「こういうテストを入れておこう」という考えがまとまるようになってきた。
ついでに11月から開発をスタートさせるアプリのスプリント計画を立てる。PBIタスクを作って、それをスプリントバックログのタスクに分解してタスクボードに配置するという新しいルールで運用する事にしてみた。もろもろ案件がスタートすると個人開発も相当に小分けにしないとなかなか継続出来ないだろうと考えての事である。
あと、今日からアジャイルのノウハウ本を読み始めたというのもあるけど、役に立つ事が網羅されていてすぐに実践したくなる。

そういえば、11月からの契約案件の面談が1件決まった。来週だからまだ余裕はあるが、少し下調べが必要だ。明日もなかなか忙しいな。

2025-10-23 AIコーディング事始め

木曜日。12:30起床。夜ふかしが祟ってあっという間に元通りに。
今日も寒い。あっという間に秋が終わってしまったみたいだ。一番好きな季節なのに。ただ、寒いと頭が冷えてよく働く。昨日も書いた気がするが。
起きたらもう昼過ぎで、出来る事も限られてくるなあと、思いついたかのように今日はAIを使ったコーディングを一気に取り入れてみる事にした。

エディタには既に生成AIがアシストしてくれる機能が乗っかってるが、本格的にイチから構築していく。まずは、仕事を想定して各言語と各フレームワークそしてテストの種類ごとにプロジェクトのスターターキットを作ってみる。
今日の課題はExpo(React Native)のプロジェクトを想定したものを。一番難しそうなところからやった方がいいと考えて、バイリンガル対応、テーマの切り替え(ライト/ダーク)、フォームの実装を想定したキットをChatGPTに依頼。
「React Nativeのプロジェクトの雛形を作って」というところからスタートして、各ライブラリの選定を指示、アプリの仕様の追加などを細かく指定していけば完成する。ここまでで1時間。あまりにも簡単に済みすぎて、本当にこのままビルドまで出来るのか不安になるぐらいである。

ChatGPTが出してくるコードの提案がなかなか良かったので、次はターミナル、VSCode、WebStormの各エディタにOpenAIが提供しているCLIツール「Codex CLI」をインストールして使ってみる事にした。プロンプトに書いて欲しいプログラムの内容を指示すれば、AIがそのタスクを実行する。
これは完全に思い込みだったのだが、Codexは機能を指示するとそれに見合ったコードとファイルの構成を吐き出すだけだと思っていたのだが、実際は現在のターミナルのディレクトリ位置にあるレポジトリの内容を分析し、このソースファイル、特にコンポーネントファイルにこんな機能を追加と指示をすると、対象のソースファイル上にコードを追加してくれる。

使ってみてかなり驚いたのは、新規のコンポーネント作成も既存の他のコンポーネントの実装に合わせて作成されていた事だ。例えばあるテキスト入力ボックスをタイトルや説明文をPropsで埋め込めるラッパーコンポーネントでくるんで実装していたとする。そのプロジェクト上で「画像のアップロードをさせるためのピッカーInputを作りたい」と指示すると、ちゃんと他のフォーム用の入力コンポーネントと同様にラッパーのコンポーネントにくるんでアップローダーを実装する。
もちろんプロンプトではそんな指示はしていないのに、である。これは本当に驚いた。

今日は一日、なぜこれをこれまで積極的に使ってこなかったのだろう?と大きな後悔をする一日だった。寝坊してよかったな、おかげでまた新しい事に気づく事ができた。
夕方、見事に秋晴れになったので6kmウォーキング。それが良かったのか、昼に起きたのにもう眠い。

2025-10-24 いろいろやろう、そうAIで

金曜日。6:00起床。やっぱり今日も起きる時間はバラバラ。
今日から少し心をいれかえて、秋っぽく過ごしていこうとウォーキングは朝からたっぷり6km歩く。浅風呂に入って仕事に向かう。といっても、何か進めるわけではなく昨日から気になって仕方がない生成AIによるコーディング支援に慣れる事が中心だ。

とりあえず、昨日ChatGPTが出してくれたReact Native(Expo)のスターターキットを使ってみると、現在のExpoがデフォルトで出してくるアプリの雛形とは根本のRouterが違っている事が分かった。このあたり、やっぱりまだAIの未熟さを感じる。指定されたバージョンとそのバージョンでの実装が違っているので、実際にコードを実行させてみるとすぐに気がつく事だが、ただ知識として出して入れてをやっているとこのような「どこが違うのか」は見落としてしまうのは人間と同じらしい。

せっかくなので、このスターターキットの完成度を上げていく仕事に取り掛かった。今日一日で終わるだろうかと、ひとつひとつExpoの実装を調べながら進んでいく。npx expoでライブラリを入れるのか、npm installで入れるのかの違いがよく分からない。実行しているところをターミナルで確認しても何か違いがあるとは思えないので、ドキュメントを書く人の気まぐれなのかもしれないな。

15:00から11月からのチーム案件の面談。思っていたよりも伝えられた業務内容が明確でなかなか魅力的なプロジェクトだったが、いかんせんギャランティがはっきりしない。面談後に即決する金額を伝えて、次は月曜の別案件の面談に。
夕方になって昨日発注しておいたAI関連の書籍が届く。とりあえずどんなスキルを手に入れるのも自分で作ってみるのが一番早いと考えるタイプだ。最初の一歩として、AIツールを使った開発アプローチやコーディングテクニックに関する本と実際にAPIを通してAIエージェントを作るプロセスを学べる本を読んでみる。こちらは明日の夜から実践をスタート。

夜になってGithubでのAI活用をいくつか試してみる。まずレポジトリの内容を分析して、要約/レビューをする「CodeRabbit」の導入。それとCopilotのコードレビューを試してみることに。CodeRabbitはOKが出ているPRも、Copilotの方はいくつかレビューコメントを出してくるのが面白い。
まだ初歩的なコードでしか試せていないので、これからプロジェクトごとにどんな変化が起きるか楽しみだ。

2025-10-25 髪を切ったら鼻がグズグズする

土曜日。9:30起床。なかなかの秋晴れで気持ちがよく、あまり仕事場にこもりたくない。
起きて、少しだけ散歩をしてから戻って仕事に取り組む。昨日、終わりきらなかったReact Nativeのスターターキットづくり。アプリに必要な基本的なライブラリを網羅できて、取り組みとしてはなかなかナイスな選択だった。

React Nativeの場合、Storybookを入れるところでひとつクセがある。実機デバイス上での確認が前提となるので、アプリそのものにStorybookのモーダルを実装する事になる。つまり、そのモーダルへのルートとそのルートへリンクするボタンも設置する必要があるという事だ。
ここに気づかずに「どうやって登録したコンポーネントを確認するのだろう?」とあれこれ迷ってしまった。やはりWebとは流儀が異なる点が多いし、ローカルのWebサーバーが前提になっていないのでプロセスにおいての考え方は変えなければならない。

昼食はバナナだけにして、午後は予約していたヘアサロンへ散髪に行く。東急東横線が遅れていて、パッと乗った電車が急行。代官山はさっさと通り過ぎ、渋谷へ。結局15分ほど遅れて到着した。
基本的に担当の美容師になされるがままなのが自分なのだが、その間にGraphQLに関しての基礎知識を再度調べる。昨日の面談で少しおかしな事を言っていたなあと感じたからだ。GraphQLでは、データベースの設計、特にテーブルとフィールドもしくはドキュメント構造を知っている者にエンドポイントに投げるクエリとリゾルバを書いてもらうというのがスタイルだと思っていたのだが、それもフロントエンドの仕事と捉えているようだ。JSで書くからという事のようだが、単にSQL文でデータを取得しないというだけのことで、実際はデータベースの内容が分かっていなければクエリに対するデータを作成するプロセスは書けない。もしくは書こうと思ってもテーブルとフィールドの構造図が必要だ。
GraphQLを使ってフロントエンドとAPIのつなぎこみを経験した事がありますか?
改めてGraphQLを調べているうちに、この質問がそもそもおかしいと気がついた。髪を切っている間に得られた知見としてはまずまず満足。
2時間15分かけてカットとカラーを施してもらい、そのままその足で軽くウォーキングを3km。代官山から中目黒を迂回して大橋の方に出る。見たことの無い風景が続いてなかなか楽しい。一応、歩数のノルマは達成したので仕事場に戻る。

そこから時間をかけて読書。チーム仕事が決まりそうなので、少しずつ読み進めていたアジャイル開発の教本(本当にこういう名前の本)を3時間ほどで読了。内容は濃いのだが、ものすごく読みづらい本で本当に頭に入ってこない。方法論とその効果がなんなのかが延々と続くので、その効果がなぜ期待されるのかがイメージしてない自分にとってはそれで得られる効果を語られても他人事である。
でも、タスクの組み立て方などやマネージャーが意識している事は何なのかって事は仕事を進むうちに把握出来るだろう。読んで損な本ではなかった。

夜中に水曜日に作った鍋にまた具材を足して食べる。

2025-10-26 なぜいままでこうしてこなかった

日曜日。9:30起床。1日中、雨が降っていて買い物にもウォーキングにもいけない。
今日も目一杯に仕事をしなければという焦りみたいなものを感じる一日だった。少しAIを離れて、今日からGithubを使い倒す事とそのHowToを学んでいく。ずっとタスクに入れていたのになかなか手つかずだった事が片付いていく嬉しさはある。

まず、開発リポジトリに対して、全体のテストを自動化する。既にPullRequestを出しているブランチに対してコミット&プッシュするとGithubActionsのパイプラインを通して、静的チェック(LintとFormatとTypeCheck)が実行される。そのあとでJestによるユニット/コンポーネントテストが実行される。
というプロセスまでを実装。とりあえずExpoによるスマホアプリのプロジェクト上で働く事を想定してGithubActionsを書いてみた。
.github/workflowsディレクトリの中にパイプラインを示すYAMLを置けば、名前がついたActionsが実行できるようになる。それぐらいの下調べしかしていないので、Codexが出してきたパイプラインコードに少し分からないところがある。ひとつひとつ調べながら実行。
2時間ぐらいかけて、自動テスト成功。なるほど、こんな簡単な事だったのかと。

本当はE2Eテストや自動デプロイなども実行させたいが、とりあえずExpoプロジェクトでの開発環境を作り上げる事を優先しているので、このあたりはEASで出来る事も調べながら進めないとという事で明日に持ち越しだ。たしかExpoには自動でTestFlightに回す方法があったはずなのでデプロイはそれを使えばいい。Githubの方に欲しいのはEASのビルドステップを実行する手段で、これはちょっと時間がかかりそうなので明日に回す。

午後からはいろいろとPRを出しては、コードを足して自動テストが実行されるかのテストを繰り返す。ついでというわけではないが、Gitの操作を1日、コマンドを通してやってみた。どう考えてもGithub Desktopを使った方が早いと苦笑する。
やはりmainへのマージの前に必ずテストが通っているという安心感は大事だなとちょっとこれまでの行いを反省した。なぜもっと早くこうするべきだと気が付かなかったのだろう。どんなに面倒でもこれからはこれは必須フローとしてやっていきたい。

日曜日なので、16:00からはももクロのラジオタイム。今週もバカみたいに面白い。そして楽しい。
夕食は鍋にも少し飽きて、今夜は親子丼を作って食べた。自分で言うのもなんだが、なかなか雑な味ながらムチャクチャ美味い。タンパク質を多く摂りたい時の食事はこれが一番いいなと。
食べてすぐに10分歩くと血糖値が上がった感触が無くなる、というとても有意義な知識を得たのでさっそくやってみると奇跡のように身体のくたびれた感じが無くなった。かなり驚いた。これも習慣にする事が決定。
食べたら歩く。簡単なルーティンである。

2025-10-27 面談

月曜日。9:30起床。ようやく晴れたか。しばらく過ごしやすそうだ。
12:00から11月からの案件の商談があるので、少しソワソワしながら過ごした。Vue2も用いる案件だという事だったので、5年前ぐらいの頃のVueのドキュメントを少し読んでおく。昼までの空き時間、積み残していたWebstormへのAI関連機能のインストールも実施した。これでAIサジェスチョンに関してはほぼVSCodeと同等だと思う。だが、年間¥14,000はなかなかに高い気もする。

予定通り12:00から、クライアントと面談。事前に伝えてもらった通り、Vue2+Nuxtで構築されたtoB向けのサービスへの機能開発。面談は上手くいって、すぐにオファーしたいというお返事をいただけた。
どこまでリファクタリングすべきか、という部分がなかなかさじ加減が分かりづらかったが、仕事に入る上での不安や不満は無くて、11月から来年いっぱいはここにしようかなと思った。自社サービスというのもいい。なかなかノンビリした環境っぽいし。

商談が上手くいって少し安心したので、今日はゆっくりのんびりと学習作業を進める。これまでGitの操作はGithub Desktopに任せっきりだったので、少しGitのコマンドをちゃんと覚えようとこのリファレンス本を一通り読んでしまうことにした。

『エンジニアのためのGitの教科書 実践で使える!バージョン管理とチーム開発手法』

10年前の本ながらリファレンスとしてなかなか優秀で、どのコマンドを実行すると、実際にどのようなログが出て、ワーキングディレクトリとコミット対象のステージングエリアで何が起きるのかが平行して書かれている。これならコマンドの意味を間違えにくい。例えばよく迷うのはresetかrevertか、resetで–hardオプションを付けるかどうか、といった事がワーキングディレクトリとステージングエリアの両方で何が起きるのか解説してある。
たしかにそれによって読む量は増えるので時間がかかるが、これ一冊知っておけばもうGitに関してはほぼ困る事はないだろう。

夜、久しぶりにひとりふんどしのゲストが詩織ちゃんで楽しい時間を過ごせた。来週の月曜日は楽しみにしていたビルボードのライブ。それについての情報はグッズの紹介だけだったけど、あまりの可愛らしさに大満足。
さて、久しぶりに予定の無い週なのでじっくりプライベートのプロジェクトに取り組む事になるだろう。上々の月曜日だった。

2025-10-28 AIの比較をしている

火曜日。9:30起床。起きてからずっとワールドシリーズ観てた、マジでいつまでやるんだよ。
15:00まで完全に潰れてしまったので、焦ってコーディングに取り掛かる。Expoを使ったReact Nativeの開発を学ぶのは10月末までと決めているのでそろそろ片付けないと次に行けない。
今日はAIにコンポーネントテストを書かせる実験をやる事にした。

WebstormにAIアシスタントとして実装されているのは、ChatGPTとGoogleのGemini、あとClaudeがある。また、Codexも使えるのでこちらも試してみる事に。
生成結果はほとんど変わらないのかなあと思ったのだが、実はエージェントによって結構な違いがある。一番驚いたのはChatGPTとCodexではまるで違うテストを書いてきた事だ。どちらもOpenAIが提供するサービスでも、同じモデルを使用しているわけではないらしい。

ChatGPTは正直、使い物にならないものを書いてきた。React Native版のTesting Libraryには、そもそもそんなマッチャーが存在していない、とか、それはいつのバージョンのTesting Libraryなんだよ?とか。要するに現在のプロジェクトのテスティングフレームワークのバージョンさえ理解せずにコードを提案してきている。
それに対してCodexは日本語でこそ返答してこないものの、非常に正確だ。こちらもマッチャー部分でエラーが出たので調べてみると、使っているコンポーネントのライブラリの仕様の方がマッチしていないだけだと分かった。これならtestIDを使うだけであとは要望どおりのテストが実行できた。
Geminiはこちらから「どういうテストをやるか」というテストの具体的な内容を伝えないと表示テストしか作らなかった。Claudeをそもそも待ち時間が長すぎて使えなかった。何か登録が必要なのかもしれない。
もうちょっといろいろ触ってみるつもりだが、今のところコーディングにはCodexを使うのが一番理に適っているのかも。(コメントが全部英語なので、そこをどうするかなのだが)

一通りテストを書いて、そろそろビルドの方法を一通り学ばないととなり、チュートリアルに沿って、シミュレーター用ビルド、開発ビルド(実機デバイスで動作させていてもホットリロードでコードの更新内容が反映される)、プロダクションビルドを作ってみた。1つの設定ファイルで、この3つのビルド環境の設定が出来るのはとてもよく出来ているなと感心した。Expoは凄いぞ。

2025-10-29 オンラインホワイトボードを使ってブレストする

水曜日。12:00起床。今日で日報を毎日書き始めてから丸1ヶ月が経過した。案外あっけない。
昨日はものすごく夜ふかしした、というか朝までReact Nativeの実践。ビルドサーバーとして利用しているExpoのEASの待ち時間が急に長くなった気がする。平気で1時間とか待たされるので、余裕で朝まで仕事になってしまうなあ。

午後、エージェントから電話がかかってきて、月曜に面談したクライアントから条件を含めたオファーをいただいた。仕事の内容にもギャランティにも満足しているので、その電話でそのまま即決。11月中旬からチームに入る。その前にいろいろと知識を蓄える時間はありそうだ。
業務で使用するMacは貸与という事なので、ちょっと置き場所やデスクのレイアウトを考えないといけない。デスクにはまったく置き場所がないのよ。

React Nativeのビルドフローまでの学習が完了したので、あとは基本的なテストを書けるようになればアプリ開発に動ける。UdemyにはReactやNext.js上で書くテストの講座はあるのだが、React Nativeを対象にしたものは無いため、とりあえずAIにテストを書かせては、その内容を自分で読んでいくしかないかなと。ひとまず先に企画の方をやっていく事にする。
今日やったのは、スプリント0であるプリプロダクション業務におけるWhat/How戦略の立案。スプリントの目的(Why)から、必要なアウトプット(What)を洗い出して、それはどのように行動したら(How)出来上がるかをプランニングする。ブレストはMiro上で行った。

Miro
https://miro.com/ja/

1年前の案件でMiroがブレストのホワイトボード代わりに使われてて、図を書くには便利かもなと少し気になっていたので自分でも使ってみる事にした。無制限にボードを作れるようになるプランがあるが、¥1,160/月と機能に対して正直ちょっと料金が高い。
ホワイトボード代わりなので、何かドキュメントして作りたいわけでも無い限りはフリープランのまま使ってみようか。ただ図解を書くだけならFigmaでも出来るしなあと。
2時間ほどかけてスプリント0のプランを立てた。明日から早速実行だ。

夜はミステリーを読み進める。島田荘司の「出雲伝説7/8の殺人」。ここのところ、読むものが多くてなかなか手つかずだったが、11月からの案件が決まったので少しミステリーもやっつけていく事に。
島田荘司の吉敷シリーズは昭和の空気感が感じられて読んでいてとても楽しい。起こっている事件はなかなかに凄惨なものなんだが、出てくる人物がみんな飄々としていてやり取りが殺伐としない。純粋な謎解きに集中できるし、トラベルミステリーらしい旅情感もあっていいなと感じている。
チョコクッキーを食べながら3時間ほど没頭した。

2025-10-30 AIとの協業は大変忙しい

木曜日。15:00起床。どんどん目が覚める時刻が、、、
とは言いつつ、実は今日の10:00ごろに寝ている。実際は5時間弱でちゃんと起きているわけだ。3連休中にちゃんと戻す算段だったりする。

今日は試しにフロントエンドテストの学習&AIコーディング&個人開発アプリの3つを同時並行に進めるという事をやってみた。もちろんAIを活用する事が目的なのだが、結果としては「上手くいかないな」である。ターミナルとエディタとブラウザタブをあちこちに移動しているだけなので1ポモドーロ分も集中出来ている感じがしない。忙しいは忙しいのだが、仕事の歩みは極めて遅い。

実際は自動化させているタスクを終了させる方が自分の頭の処理よりも速いため、事あるごとに待ち時間が増える。例えば、CodexにあるUIコンポーネントを書かせるプロンプトを処理させている間に、ChatGPTに作らせるアプリプロジェクトの構成をプロンプトを書いていても、前者の方が処理が速い。ああ、もう終わったかと後者のプロンプトを書いている途中に、Codexが出したコードの動作確認とレビューをする。それをしている間に次にテストしなきゃいけないけど、マッチャーの選び方が分からなくてAIに調べるタスクを出す。ああ、ChatGPTへの指示がまだだったな、えっとどこまで書いたか、そっかUIライブラリを選定しなきゃいけなかったんだ…

忙しい。とにかく忙しい。そんな感じで一つのタスクも自分は満足にこなせなくなる。
明らかに使い方が間違っているなと3時間ほどで気がつく。結局のところ、同時にこなせる案件が増やせるわけではないのだから、いいとこ「作るのが多少は早くなる」ってところだろう。
今度は懲りずにCodexが書いたコードをそのままPRレビューに出して、それをCodeRabbitにレビューさせるというプロセスを試してみるつもりだ。なんとなく動かないままレビューは通りそうな気がするが…
とにかくお金は払っているのだから無駄な時間は過ごさせたくないのだな。

いろいろ遊んで、夜はAIエージェントの勉強を進める。今読んでいる本は服部佑樹さんの「コード×AIーソフトウェア開発者のための生成AI実践入門」

コード×AIーソフトウェア開発者のための生成AI実践入門
https://www.amazon.co.jp/dp/4297144840

入門といいつつ、本当にエンジニアよりのAI利用の解釈が多くてとてもためになる。巷のプロンプトエンジニアリングの解釈には広義のプロンプト指示と狭義のプロンプト指示があって、広義の意味、つまりAIに正しい情報を出させるためにプロンプトエンジニアリング技術が必要だと考えてしまう事である。実際はどういうプロンプトを出そうと、AIが出した情報が正しいかどうか、有効かどうかを確認するには、それを見る人間の方に”正しい”とはどういう状態を指すのか判断する知識やスキルが必要なわけだ。そこを勘違いしてしまうという意味である。

例えば、今、自分はAIにコーディングをさせているわけだが、これが正しく動作するのかどうかは実際に環境を揃えて動作確認させるしかない。またコードの内容のどこが間違っているのかを確認するためには、使われている言語やフレームワークを使いこなしている人間の経験が必要だ。
結局のところ、この”広義”の意味でのプロンプトエンジニアリングは本質的な意味はない。ただ適当ぶっこいているだけなので信用しないようにと。

目から鱗が落ちるとはこの事である。
求められているのはAIに指示を出す人間の適正の方であり、その人間はかなりのプロフェッショナルになる必要がある。そういう時代になるという意味だろう。

2025-10-31 テストのテスト

金曜日。12:30起床。なんかすごく気が急いているのだが、おかしいな。
実際のところ、今日まで少しお休み気分で過ごそうと10月いっぱいはインプットに集中する勉強月間としたのだが、やってみるとこれが思いの外忙しい。特に15日過ぎてからは、1日1日が秒で過ぎていった。おかしいぞ、ももいろインフラーZの公開収録は2、3日前だったはずなのに。
たぶん「学ぶ」という行為に時間がかかっている、つまり頭が悪くなっている証拠なんだろうなあ。

今日は起きてから夜までずっとフロントエンドのコンポーネントテストの学習をやっていた。いい加減には出来ない内容だし次の案件の役にも立つだろうと、まずはJestからVitestに切り替えるという事からスタート。
動かしてみると、たしかに格段に速くテストが終わる。2msとか出るテストケースまである。同じ事をしているし同じ仮想DOMライブラリを使用しているはずなのに、一体どういう仕組みなんだ。
その代わりなのか、そうじゃないのか分からないが、動作させるまでに設定する内容が多い。本当にびっくりするぐらい面倒くさい。しかもWebStormのエディタ上でテストが実行されない。少し調べてみたら、Vitest対応!と謳ってアップデートを出したものの、Vitest4では実行されない事に気が付かないままリリースしてしまったらしい。そんなドジがあるかよと笑ってしまった。

Vitestが構築出来たらひたすらにコンポーネント向けのクエリとマッチャーを書く。ここは特にJestとは変わらない。ただ1点、APIの通信を割り込むモックの仕組みと作り方をしっかり学んだ。これまでは見様見真似でなんとなく実装していた箇所だが、自分的にここ(WebAPIとの接続テストをモックする)は面倒だなあといつも思っていて、それがウィークポイントだなとも感じていたのでちょっと気持ちがスッキリした。(4時間もかかったが)

ユニットテストの勉強はこれで気が済んだので、明日からはリグレッションとE2Eに入る。ずっと読めてなかった参考書があるので、こっちは少し楽しみだったりする。11月に入る前に準備出来て良かったな。明日からはアプリの開発も本格スタートするので。