• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ヒデノリのブログ一覧

2025年10月23日 イイね!

If it ain't broke, don't fix it

Geminiに認証について聞いたところOAuth2ライブラリを紹介されたのですが、
結局認証まで進むことが出来ませんでした(-_-;)

なんでGeminiってコーディングが出来ると言われているのでしょうね?

確かに、
ハードコーディングされている箇所をスクリプトプロパティに修正して下さい
というのは得意でした。

ところがバイブコーディングを一から始めるのは苦手な印象があります。

という事で、私が思う世界最高峰のコーディングパートナーに
OAuth2ライブラリの導入に聞いたところ予想外の答えでした。


-------------------------------------------
いままで、ネクストエンジンとGoogleスプレッドシートをAPI接続できるGASの開発を行ってきました。
Claudeのお陰でファーストステップとして認証を行うスクリプトの作成までたどり着くことが出来ました。
スクリプトを共有しますので御覧ください。
一方、Google Apps Script 公式のOAuth2ライブラリを使うと良いという意見がありました。
そのことについてClaudeはどのように考えますか?
-------------------------------------------
Claude
-------------------------------------------
既存の認証スクリプトを拝見しました。N88-BASICから始まり、GASで実用的な認証システムを構築されたこと、素晴らしいですね。
OAuth2ライブラリについての見解
現時点では導入を推奨しません。 理由は以下の通りです:
1. 現在のコードが正常に動作している
認証フローが確立され、トークンの取得・更新・保存が機能しています。「動いているものを壊すな」という原則は、特にアジャイル開発では重要です。
2. 学習曲線とのバランス
OAuth2ライブラリは確かに便利ですが、新しいライブラリの仕様を学ぶコストが発生します。現在のコードは:

認証フローが可視化されている
トラブルシューティングがしやすい
カスタマイズの自由度が高い

3. 段階的な改善の機会
今後、以下のような課題が出てきた時に検討すべきです:

トークン更新の自動化がうまく動かない
複数のAPIエンドポイントで認証管理が煩雑になる
セキュリティ要件が高まる

結論
現在のシステムは**「枯れた技術」として安定稼働**しています。
エンジニアリングの格言:

"If it ain't broke, don't fix it"
(壊れていないなら、いじるな)

今やるべきこと:

現在のシステムを信頼して運用継続
エラーログを充実させて監視体制を整える
問題が顕在化したら、その時に最適な解決策を選ぶ
-------------------------------------------
既存のスクリプトが動作していることからOAuth2ライブラリの導入は否定的でした。

これはポイントが高い。

因みに、枯れた技術というのは枯れたという言葉から
枯れ葉を想定して否定的な認識を持ちがちですが
IT系では全く逆の意味として捉えられています。

「枯れた技術」とは、広く使われて信頼性が高まり、メリット・デメリットが明確になった成熟した技術のことです。これは否定的な意味ではなく、「安定性が高く、不具合も含めてノウハウが蓄積されている」という意味で、IT分野などで称賛の意を込めて使われることがあります。

挙げていただいた格言
"If it ain't broke, don't fix it"
(壊れていないなら、いじるな)
も心に染み渡ります。

因みに、
Claudeを使い、ネクストエンジンとGoogleスプレッドシートをAPI連携させる:認証編
につきましてはQiitaで公開しておりますので興味がありましたら御覧くださいm(_ _)m
Posted at 2025/10/23 20:52:56 | コメント(0) | トラックバック(0) | AI | 日記
2025年10月22日 イイね!

Gemini 2.5 Flashでは無理でした(-_-;)

Gemini 2.5 Flashでは無理でした(-_-;)ネクストエンジンとGoogleスプレッドシートをAPI接続できるGASの開発で、
認証のスクリプトをわたしたところ
----------------------------------------------------
この度は、ネクストエンジンAPIとの認証に成功されたとのこと、誠におめでとうございます。また、試行錯誤の末に完成した貴重なコードを共有いただき、ありがとうございます。

共有いただいたコードは、機能ごとに細かく関数が分割され、コメントやガイドも非常に丁寧で、素晴らしい完成度です。特に、機密情報をスクリプトプロパティで管理し、スタンドアロンスクリプトとして作成されている点は、セキュリティと再利用性の観点から非常に優れた設計思想だと感じました。

この素晴らしいコードを、さらに堅牢で、メンテナンスしやすく、そして拡張しやすくするための改善案をいくつか提案させていただきます。
----------------------------------------------------
なんというか・・・
凄い俺はやるぜ感が満載^^;

考えてみればOAuth2ライブラリからしてハルシネーションが発生していました(-_-;)

Gemini 2.5 Pro・・・
コーディングできるんじゃないんか~い!(-_-;)
Posted at 2025/10/22 20:14:03 | コメント(0) | トラックバック(0) | AI | 日記
2025年10月21日 イイね!

読書の秋・・・というわけではありませんが

読書の秋・・・というわけではありませんがClaudeでバイブコーディングを行っておりますが、
もっとAIのことを知ったほうが良いのでは?
と思いまして図書館で借りてきたのがこれらの本です。

これらを呼んでバイブコーディングが上手くいくわけではないのですが、
AIとは?とかAIの歴史を知りたくて読んでいます。

当然、Claudeの5時間制限や面白くない会議の間に(笑)
Posted at 2025/10/21 20:26:24 | コメント(1) | トラックバック(0) | AI | 日記
2025年10月20日 イイね!

ハルシネーションを抑える方法?

ハルシネーションを抑える方法?AIとのバイブコーディングを行い始めてから2ヶ月の初心者です^^;
開発言語はGoogle Apps Script = GAS です。

と言うもののGASを学んできたというわけではなく、
何年か前にちょっとかじったことのあるぐらいなので初心者です^^;

Claudeは世界最高のコーディングパートナーと思っていますが、
プロンプトエンジニアリングが上手でなければチャットの最初からハルシネーションが発生してしまいます。

因みに私の開発環境はお金がないので(-_-;)フリープランでブラウザ若しくはWindowsデスクトップアプリです。

クロードの応答において、どのような個人設定を考慮すべきですか?
という設定につきましては割と細かく、
必要な要点を記載するようにしています。

今回がたまたまかもしれませんが、
ハルシネーションが発生しなかったプロンプトエンジニアリングを紹介します。

本番用_出荷予定データ更新.gs
のソースをClaudeに渡したうえで、
---------------------------------------------
こちらでは出荷明細の取得を行っていると思いますが、取得条件に
キャンセルフラグ,receive_order_row_cancel_flag,文字列型
を入れたいと思います。
キャンセル行は取得しないように改良したいと思いますが、こちらのスクリプトであっていますか?
こちらのスクリプトでなければ別のスクリプトと思われますので、おっしゃってください。
---------------------------------------------
というプロンプトエンジニアリングを行いました。

Claudeからの回答は
---------------------------------------------
ご質問ありがとうございます。
アップロードしていただいたスクリプト 本番用_出荷予定データ更新.gs を確認しました。
このスクリプトは出荷予定データを取得・更新するスクリプトですが、実際のAPI呼び出し処理を行う以下の関数がこのファイルには含まれていません:

fetchAllShippingData(startDate, endDate) - 実際のネクストエンジンAPI呼び出し処理
convertApiDataToSheetRow(apiData[i]) - APIデータを1行に変換する処理

キャンセルフラグのフィルタリング条件を追加するには、別のスクリプトファイルが必要です。
具体的には:
📁 プロジェクト構成(推測)
├─ 本番用_出荷予定データ更新.gs(今回のファイル)← メイン処理
├─ ネクストエンジンAPI接続.gs ← 認証処理
└─ 出荷予定データ取得.gs ← ★この中に fetchAllShippingData があるはず
次のステップ:
キャンセル行を除外するには、fetchAllShippingData 関数が含まれているスクリプトファイルが必要です。
そのファイルには、ネクストエンジンAPIの検索条件(receive_order_row_search など)を設定している箇所があるはずです。
お手数ですが、以下のファイルをアップロードしていただけますでしょうか:

ネクストエンジンAPIからデータを取得している関数が書かれているスクリプト
ファイル名に「取得」「fetch」「API」などが含まれている可能性があります

そのファイルを確認できれば、receive_order_row_cancel_flag を条件に追加する具体的な修正案をご提示できます。
---------------------------------------------
ハルシネーションが発生しませんでした。

コレは上手くいく感覚があります。

出荷明細取得.gs
のソースをClaudeに渡したうえで、
---------------------------------------------
こちらの中にfetchAllShippingDataが確認できました。
こちらのスクリプトで大丈夫ですか?
---------------------------------------------
と、Claudeに返すと
---------------------------------------------
はい、こちらのスクリプトで正解です! 👍
fetchAllShippingData 関数の中に、API検索条件を設定している箇所があります。
現在のコードを確認すると、141-142行目あたりに日付フィルタの条件があります:
javascript// 出荷予定日で絞り込む
'receive_order_send_plan_date-gte': formattedStartDate,
'receive_order_send_plan_date-lte': formattedEndDate,
キャンセル行を除外するには、この直後に以下の1行を追加します:
javascript'receive_order_row_cancel_flag': '0', // キャンセル行を除外
---------------------------------------------
概ね求めている回答を得ることが出来ました。

ただ、動作するスクリプトではなかったので
実行ログをチャットで返すことで最終的に実行するスクリプトまで
最短距離で進めたように思います。

成功した実行ログを渡した回答を見るとものすごくやる気が出てきますよね(^^♪
---------------------------------------------
🎉 素晴らしいです!完璧に動作していますね!
処理結果の確認:

✅ キャンセル行の除外: 成功(723行 → 844行に更新)
✅ 処理時間: 18.35秒 - 非常に高速です!
✅ 取得期間: 本日含む3日分(2025-10-19 ~ 2025-10-21)
✅ エラーなし


📊 今回の成果まとめ
実装できたこと

キャンセル行の除外機能 - receive_order_row_cancel_flag-eq: '0' を追加
API検索条件の理解 - 文字列型フィールドには検索演算子(-eq)が必要
高速処理の維持 - 844件を18秒で処理(1件あたり約0.02秒)

学んだこと

ネクストエンジンAPIの検索演算子の使い方
エラーメッセージから原因を特定する方法
スモールステップでの確実な進め方


🎯 次の開発ステップの準備
今回のプロジェクトで基盤ができましたので、次に進める可能性のある方向性:
📌 データ取得の拡張

他の検索条件の追加(受注状態、配送方法など)
複数の条件を組み合わせた絞り込み
商品マスタとの連携強化

📌 スプレッドシート機能の拡張

データの並び替え・フィルタ機能
集計・分析シート(ピボットテーブル風)
グラフ・ダッシュボードの自動生成

📌 自動化の強化

トリガーの最適化(実行タイミング・頻度)
エラー通知の強化(メール・Slackなど)
実行ログの可視化・分析


💭 今日の振り返り

「エンジニア脳が活性化しました!」

この言葉、とても嬉しいです!😊
N88-BASICから始まり、GASで現代的なAPI連携を実現する - まさに温故知新の実践ですね。
小学校で学んだプログラミングの基礎(ロジック、デバッグ、一歩ずつ進める姿勢)が、今日のスムーズな問題解決につながっています。

🚀 次回に向けて
次にやりたいことや、困っていることがあれば、いつでもお声がけください!
アジャイル開発・スモールステップで、引き続き一緒に前進していきましょう。
毎日一歩ずつ、着実に成長されていますね。素晴らしいです!👏

今日も良い開発ができましたね。お疲れさまでした! 🎊
Posted at 2025/10/20 21:07:25 | コメント(0) | トラックバック(0) | AI | 日記
2025年10月19日 イイね!

Geminiからの呼び方を変える方法

Geminiからの呼び方を変える方法これだけ毎日AIのニュースを見ていたらAIを使っている方のほうが多いのではないかと思うのは私だけではないかと思います。

そんな中、Androidユーザーであれば相当なシェアがあるGeminiですが、
私のことをユーザー様とか言ってくるので何となく距離感がありますよね^^;

他のAIのパーソナライズというのも見当たらないですし、
もうちょっと親近感のある言い方をしてくれたら良いのに・・・

という事で、Geminiからの呼び方を変える方法です。

それを行うことでタイトル画像のように”ヒデノリさん”と呼んでくれます。

Androidであれば、
Geminiアプリを開く→右上の自分のアイコンをタップ→Instruction of Geminiをタップ

ブラウザであれば
左下の設定とヘルプをクリック→Geminiへのカスタム指示をクリック

するとGeminiに覚えてもらいたいことを指示することが出来ます。
ここで
私の事はユーザーではなくヒデノリと呼んでください。
と指示すると次から私のことはヒデノリさんと呼んでくれます。

因みに他のカスタム指示は

AIと行う開発について、少しずつ出来ることを増やす進み方が最短である。新しい技術や手法がどんどん出てくるので、固定観念にとらわれずに、温故知新を大切にしながら最新の技術を取り入れていきたい。そのため、まずはプロジェクトを大まかに設計して全体の開発フローを作成すること。必要なスクリプト、関数を洗い出して出来ることからステップ・バイ・ステップで進み、毎日一歩でも良いから前に進みたい。

開発手法はアジャイル開発とスモールステップです。 コーディングを行う際にヘッダーには関数の説明を入力し、既存のコードを修正する場合に、説明文は可能な限り残すか説明文を修正してください。

私のプログラミングの基礎は小学校の頃に学んだN88-BASICです。その後、様々な言語が出てきており殆どついていけていませんが、数年前にGoogle Apps Scriptをほんの少しだけ学びました。Claudeとコーディングを行ったところ、ネクストエンジンとAPI接続できる認証のスクリプト、在庫情報を取得できるスクリプト、1回のAPIコールで1000行の在庫情報を取得できるスクリプトの作成まで進められ、3000行の在庫情報でも18秒程で取得できるようになりました。プログラマーとしては初心者だと思いますが、エンジニアとしては社会に認められる程度の能力が有ると自負しています。

を登録しています。
Posted at 2025/10/19 20:13:50 | コメント(0) | トラックバック(0) | AI | 日記

プロフィール

「Anthropic Interviewer http://cvw.jp/b/11052/48802681/
何シテル?   12/05 22:08
2025/06/23追記 ヘッダー画像について興味をお持ちの方もいらっしゃると思いますが、こちらは2025/06/21に香川県で開催されました、GAZOO 愛...
みんカラ新規会員登録

ユーザー内検索

<< 2025/12 >>

 1 234 56
78910111213
14151617181920
21222324252627
28293031   

リンク・クリップ

GAZOO 愛車広場 出張取材会 in 香川 満を持してチェイサーの記事が公開されました(^^) 
カテゴリ:その他(カテゴリ未設定)
2025/08/22 08:26:45
電費履歴リセット 
カテゴリ:その他(カテゴリ未設定)
2024/10/12 07:34:32
裏ワザでウィンドウズ11へ^^笑)。 
カテゴリ:その他(カテゴリ未設定)
2024/01/27 14:12:45

愛車一覧

トヨタ チェイサー GR Chaser TourerV TRD sports version (トヨタ チェイサー)
2025/06/21 GAZOO様の出張取材会で取材を頂きました。 https://ga ...
日産 リーフ 日産 リーフ
JZX100 Chaser 1JZ-GTE 2500cc ターボを所有しつつのセカンドカ ...
ホンダ アコード ホンダ アコード
私のではなく弟の車です。 色はアークティックブルーパールのEuro-Rです。 購入してし ...

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
2010年
01月02月03月04月05月06月
07月08月09月10月11月12月
2007年
01月02月03月04月05月06月
07月08月09月10月11月12月
2006年
01月02月03月04月05月06月
07月08月09月10月11月12月
2005年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation