
今週の「学び」と「アウトプット」について
Geminiによる要約
## 記事要約
この記事は、著者が1週間で経験した技術的な問題解決と学習過程を記録した開発日記です。Flutterアプリ開発におけるファイル共有機能の実装、Raspberry Piを用いたNAS構築、そしてAndroid StudioとJavaバージョンの非互換性といった複数の課題に遭遇し、それらを解決していく過程が詳細に記述されています。AIアシスタントであるClaudeを活用しながら問題解決を試みましたが、限界を感じ、最終的には自力で解決策を見出す必要性に迫られました。 特にFlutterアプリのビルドエラー解決には多くの時間を費やし、AIの限界と、自身の積極的な思考の重要性を痛感しました。NAS構築も失敗し、Claudeの解約に繋がっています。しかし、最終的にはSambaを用いたRaspberry PiでのNAS構築に成功しています。
今回の大事なところ
そもそも問題はそこではなく、Flutterのオフィシャルで共有の受信を提供していないとはこれいかにというのが話題だ。ちょっと、理由や状況がのみこめないのだが、普通に皆、アプリからデータを共有したりすることはあるはずだ。そのため、普通に操作であり得ることは標準でサポートしてほしいのだが・・・ってのが今回の話だ
WACOM先生を引っ張り出した(12/23)
マニュアルを参照しながら再び使っている。MacやWindowsで特にWindowsはスペックも悪くないはずだけど、ペイントのソフトウェアの相性なのか、動作が残念な感じなので「スマホ」で使用する
どうも、タッチペンだと保護フィルムを貼っているせいか、書きにくい状態が起こっている。ちなみに。スマホだとWACOMのINTUOSの使用できる領域が半分だけなのでhalfサイズでよかった。幸いBluetooth版を購入していたのでスマホとの連携も楽チンだ
で、話が戻るがCluade先生にこんな感じだよと絵でも説明する時に使うようにしている
言葉で通じないと絵を人は使うが、どうやらAIも同じことが言えるようだ
nasの件(12/23)
おおよそ、これで構築する予定だ

ざっくり見積もりも。この価格だったら家電量販店に売っているNASよりは安く作れて保守もしやすくなる

で、"RPI-ZERO-WH Raspberry Pi Zero WH"が自宅でLINE NOTIFYに使っていたので、まずはこれをNASに使えるか試そうと思う
flutterをビルドしようとしたらjdk21が使われている問題(12/24)
本当、プログラマには向いていないわ。これは、aiを使うかの問題ではない(毎回、チェックが求められるし)3時間、この問題に費やして時間を溶かした。
解決せず。
だいたい、ヒューマンエラーと考えれば、思い当たる節はAndroid studioを別なDriveにインストールしたくらいか。何か参照で失敗していないのか。そもそも、javaが好きではないのでruntimeすらインストールしていない。
しかし、Android studioの話なのだから、そういう話ではないハズだ
この辺はclaudeも半端に学習しているのか、本質的な問題には気付けていない
大概、すぐにググる人は自分の思考を停止して、答え探しするコピペプログラマだから、向いていない。
さて、どうして21をターゲットしたのか?どこでターゲットしたのか?
なぜ、21はダメなのか?
が明確に分かっていないから対応できないのだと思う。
ここら辺のライブラリは、最新のバージョンに対応したらインストールできるようにするか、バージョンを任意で下げるとか出来ると、いいのだろうが。
いずれにしても、見つけてみる
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':receive_sharing_intent:compileDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'compileDebugKotlin' task (current target is 18) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 5s
Running Gradle task 'assembleDebug'... 6.9s
Error: Gradle task assembleDebug failed with exit code 1
ビルドが失敗し、例外が発生しました。
* 問題点:
':receive_sharing_intent:compileDebugKotlin' タスクの実行に失敗しました。
> 'compileDebugJavaWithJavac' タスク(現在のターゲットは1.8)と 'compileDebugKotlin' タスク(現在のターゲットは18)のJVMターゲット互換性を、同じJavaバージョンに設定する必要があります。
JVMツールチェーンの使用を検討してください:https://kotl.in/gradle/jvm/toolchain
* 試してみてください:
> スタックトレースを取得するには --stacktrace オプションを付けて実行
> より詳細なログ出力を得るには --info または --debug オプションを付けて実行
> 完全な分析を得るには --scan を付けて実行
> より詳しいヘルプは https://help.gradle.org で確認できます
ビルドは5秒で失敗しました
Gradleタスク 'assembleDebug' を実行中... 6.9秒
エラー:Gradleタスク assembleDebug がエラーコード1で失敗しました
まあ、エラーだけどエラーじゃない(伝わるかな?誰にとってエラーかによる)ことはある
つまり、正常なエラー(Android StudioやFlutterにとっては正常なエラー)で、もし、そのライブラリを使いたければ別な対応をという点では、バグとは見なさないわけだ
まあ、最新版にライブラリも対応してくれよってことなんだけどな

む、8ケ月前で更新も掛かっていないし、
issueも明確な回答が存在しない
結局、JVM Targetの問題が分からんし、8カ月前のソースコードでは更新が掛かっていない。Flutter.devでも、2カ月前だし
予想
もっと、皆、別の方法をしているのではないか?(明確な回答がないため)
そもそも、kotlinを使っているのであればkotlinで実装できるのでは?
結果
Claude先生に聞いたら、Channelを介せば共有の受信できるぞと、あっさり回答が・・・。どうやら本質的な答えはこれらしい
最初から提案してくれよ
推察
そもそも、ダウングレードするのではなく最新の状態に合わせるのが本質的な話のようだ。なければ作ればいいってことだ
結局、プロンプトにAIは従うことを考えると、この思考をしたのは自分自身だ。つまり、解決とはAIがするものではなく人による思考のものだ。6時間は溶かしたな。
何でも、AIにやらせれば問題は解決するというのは間違いだ。
問題にぶつかったときに自分の頭で考えることを放棄しないので、思考することが出来た人間がAIを使うことで問題が解決する
現在のAIは、あくまでタスカーとしてのレベルだと思う
つまり、いくつかバリエーションを持って考えるのはまだまだ、人間だ。そもそも、よく分からず更新もされていないライブラリを使えばいいというのが思考停止している。
流用するのは大事だが、問題にぶち当たったときには別の方法を検討する。ちなみに、最初の15分くらいでこの問題に気付いていれば、1時間くらいで解決したのではないかと後悔する
もう少し、問題にあたるとき、広く捉えた方がいいかもしれないね。単にFlutterでどうやるの?ではなくて、オフィシャルにサポートされていない機能があるときは、ライブラリだけではなく他にはどんな方法があるのか?とか聞いてみるといいのだろう。
つまり、一般的には皆、この問題はどうやって対応しているのか?と聞くのが正解なのだろう。(歴史から学べ)AIが集合知として持っていれば、答えることはできるのだろう。
まあ、Claudeもkotlinとflutterは最初は連携されませんと言ってきたが、そんなハズないだろうとか、Claudeが知らないだけだろうとか、とりあえず、回答は疑って、Channelを引き出したのだがね。Google検索してチェックする先で回答がなければ、概ね、Cluadeの知識と=になる可能性があるので、認められるのだろうけど
しかし、自分の頭の中では、そんな不便な話はないだろうと思うわけだ。流石にそこは自分を信じてよかったようだ。
NASはダメだ(12/25)
うまくいかない。10時間以上、トライしているがwebの記事含めて、ダメだ。Claudeに2回もシステムロックさせられた。これ以上は付き合えない。大人しく買った方が良さそうだ。
費用帯効果で同じ耐用年数でやろう
ちょっと、真面目に解約を考えるか。想像以上に使えない
下手にsambaとかいじる必要はない
Claudeを解約した(12/25)
クリティカルな問題に対応できないため解約をした
NASの件で決定的に折れた
あまりに無力だ
ここに時間を費やすのには心が折れた
ちょうど、潮時かもしれない
徹夜させられたのは痛い(そして解決しないのは痛い)
sambaの件、解決しました(12/27)
昨日は寝込んだがsambaの件、解決できました。raspberrypiでもsambaの構築できました。使用できることもわかったが、ちょっと、使用パターンによって実用面で別な問題が生じたので、そこを検証していました。
とりあえず、構築できた件など含めて、noteに記事にするつもりですが、ちょっと書き味を変えてお届けしようと思います。
流石に前回ので心が折れたため。後、睡眠大事