株式会社BALEEN STUDIOのフィード
https://zenn.dev/p/baleenstudio
並走支援による開発及びコンサルティングを行っております。 上流工程からサービスの担い手であるという課題意識を持ちながらモノづくりを行なっております。 社内・パートナーにAzure MVP受賞経験者多数。 モダンな環境で技術を学べます。
フィード

AIP (API Improvement Proposals)を活用したAPI設計
株式会社BALEEN STUDIOのフィード
TL;DRAIP を規約とする事でAPI設計の助けになる 概略Googleが公開しているAPI設計の標準ガイドライン直訳で API改善提案APIの設計で必要な要素や避けるべき要素がまとめられている 各ページの読み方RFC 2119 に則ったキーワードで設計についてが記述されているmust は必須条件必ず従うmust not は絶対にしてはいけないshould は推奨する内容従うべきだが、理由がある場合は従わなくても問題ないshould not は推奨しない理由が無ければ避ける 内容の一部紹介 R...
4日前

'${widget._value}'の{}を忘れたら自分の常識に疑義が生じた
株式会社BALEEN STUDIOのフィード
さてクイズですQ. Flutter/dartで'${widget._value}'と書くべきところを'$widget._value'としてしまいました。どうなるでしょう?A. Instance of '(widgetのクラス名)'._value という想定外の文字列になる。StatelessWidgetからStatefullWidgetに変えた際にやらかしたんですが、Flutter/dartに限らず色々な言語でやりがちなバグだと思います。 再発防止策他にもやらかしてないかと{}で括られてないのに.を使っている文字列中の変数を、正規表現で検索してみます。\$[a-zA-Z...
10日前

github CIでmiseを使ってsetup-goやsetup-nodeから解放された
株式会社BALEEN STUDIOのフィード
GitHub Actions でGoやNode.jsを使うとき、こんなワークフローを書いたことはないでしょうか。steps: - uses: actions/checkout@v7 - uses: actions/setup-go@v6 with: go-version: '1.27' - uses: actions/setup-node@v6 with: node-version: '26' - run: golangci-lint run . - run: go test ./... - run: npm ci -...
1ヶ月前

Goのバージョンがおかしい。AIと一緒に昔の開発環境を掘り返した話
株式会社BALEEN STUDIOのフィード
Goのバージョンがおかしい最近、Goのバージョンを更新しました。普段使っているMacは、もう長いこと開発に使っています。Goも以前から入っていて、途中からHomebrewを使うようになったり、何度もバージョンを上げたりしています。そんな環境でGoのバージョンを確認していたところ、どうも様子がおかしい。Homebrewで入れたGoを使っているつもりなのに、期待しているものと実際に使われているものが一致していないようでした。こういうとき、昔なら自分でひとつずつ調べていたと思います。でも今回は、AIに聞きながら調べてみることにしました。 まず、どのGoを使っているのか調べ...
1ヶ月前

C# と Luaで何かやってみる (LMStudio&Python)
株式会社BALEEN STUDIOのフィード
Lua とは?Lua は軽量で高速な組み込み型スクリプト言語です。実行環境が小さく、学習曲線も緩やかなので、C#、Java、Python などのホスト言語に簡単に組み込めます。C# から Lua を呼び出すと、次のようなメリットがあります。スクリプトを差し替えるだけでロジックを変更でき、再ビルドを不要にできるLua の柔軟性を活かしてプロンプトやルールを外部化できるLua → Python → LM Studio のように複数言語/ツールを組み合わせられる入出力は Lua で統一し、Lua の柔軟性を活かしつつ、スクリプトを書く側に選択肢を与える構成にしています。...
1ヶ月前

【Go】コンパイル時ゼロコード計装(otelc)で始める OpenTelemetry 入門
株式会社BALEEN STUDIOのフィード
近年、マイクロサービスや分散システムにおいてシステムの可観測性(Observability)を高める標準規格として OpenTelemetry(OTel) が注目されています。しかし、Go言語で OpenTelemetry を導入する場合、各HTTPルーターや外部通信クライアント、データベース接続に対して個別にSDKの初期化やミドルウェアの設定を行う必要があり、コードの記述量が増える点が課題でした。本記事では、サンプルプロジェクト ishisaka/OtelSample を元に、コンパイル時ゼロコード計装ツール otelc と開発ツール mise、そして視覚的な確認に便利な Asp...
1ヶ月前

ログを誰のために書くのか?
株式会社BALEEN STUDIOのフィード
はじめに私はプログラミングを始めてまだ日が浅い新参者で、日々「今まで雰囲気で書いていたものにはちゃんと理由があったんだな……」と感じています。最近その中でも特に印象に残ったのが「ログレベル」の考え方でした。みなさんは、普段どのような基準でログレベルを決めているでしょうか。私はこれまで、なんとなく次のような感覚でログを書いていました。エラーが発生したら Error少し気になるものは Warn状態確認のためのものは Info例えば、Go で error が返ってきたら、そのまま Error ログを出すようなイメージです。if err != nil {log...
2ヶ月前

Flutterでチャートを表示してみる
株式会社BALEEN STUDIOのフィード
はじめにこの記事を書こうと考えた動機は、Flutterでチャートを表示することがあったことでした。チャートを表示するライブラリを少し探してみて、実際に動いているサンプルを見る限りでは難しく無いかなと思っていたのですがそんなことはありませんでした。ライブラリ無しでチャート表示を実装するよりは難しく無いですが、特にグラフを組み合わせた複合チャート、チャートの横スクロールあたりの実装が少し面倒だったので、試しに表示してみたものを記事にしてみました。記事の内容はグラフの選定するまでの話、サンプルとして複合チャートのコードの一部を書いています。 グラフの要件表示するグラフの要件と...
2ヶ月前

Gitで修正したコードが元に戻ったので、ChatGPTと一緒に原因を追ってみた
株式会社BALEEN STUDIOのフィード
こちらは以前に書いた記事の関連記事となります。https://zenn.dev/baleenstudio/articles/1a196a3ee255e5原因調査やリポジトリ再現をChatGPTと一緒に行った過程と、そこから得られた知見をまとめました。AIに出力してもらったのを手直しした記事なので、私がGitにめちゃくちゃ詳しくなった感じになってますが、そこはお察しください。!なお、ChatGPTのFree版で十分だとか有料版を使うべきだとか、そういった意図はありません。個人的な体験と感想です。 0. 関連記事なんて読んでられないぜ! って方のためにGitの履歴を調べていて...
2ヶ月前

ほぼ週間Go言語 2026/08/23: Go 1.27関連記事まとめ
株式会社BALEEN STUDIOのフィード
Go 1.27が2026年8月20日にリリースされました。プログラミング雑記でこれまで取り上げてきたGo 1.27関連記事を振り返ると、ジェネリックメソッドをはじめとする言語仕様の変更、encoding/json/v2やuuidなどの標準ライブラリ追加、ランタイムや開発ツールの改善まで、かなり広い範囲に及んでいます。そこで本記事では、リリース前の提案やRC版から正式リリース後の解説まで、Go 1.27に関連する記事をテーマ別にまとめます。 Go 1.27の全体像https://go.dev/blog/go1.27Go 1.27では、言語仕様、ツールチェーン、ランタイム、標準ラ...
2ヶ月前

Gitの3-way mergeで古い値が競合なしに復活する現象を再現する
株式会社BALEEN STUDIOのフィード
はじめにhttps://zenn.dev/baleenstudio/articles/1a196a3ee255e5この記事は「VS Codeのタイムライン(Git履歴)に騙された話」で使用したリポジトリの再現方法となります。このリポジトリは業務で発生した不具合を再現するべくAI(ChatGPT 5.6)と壁打ちしながら作成したものです。正確を期するため、はじめにと最後に以外の、手順のほとんどはAIに出力してもらいました。(コピペ実行で確認し、不具合は修正済み。)基本的にコマンドをコピペ実行すればいいようにしてあります。期待結果などは出力の一部だけを表示しているところがあるので注...
2ヶ月前

VS Codeのタイムライン(Git履歴)に騙された話
株式会社BALEEN STUDIOのフィード
はじめにみなさん、Git使ってますか? VS Code使ってますか?私はつい最近まで「バージョン管理システムといえばSubversion(SVN)」という環境に慣れ親しんでおり、Gitには馴染みがありません。とはいえ「それほど大きな違いはないだろう」と、たかを括っていたら甘かった、というお話です。 きっかけある日、開発中のアプリを触っていたらあることに気づきました。「修正したはずのバグが巻き戻ってる!」あってはならないことですが、よくあることです。いや、よくあっちゃいけないので、犯人を探しましょう。吊し上げて、とっちめないとね。 まずはどのタイミングで巻き戻ったのかを...
2ヶ月前

Google検索の「AI による概要」を楽に使うための、地味な工夫と入力環境の調整
株式会社BALEEN STUDIOのフィード
はじめにテキストエディタで文章(AIへの指示文など)を書いている際、「この言葉の正確な意味は何だっけ?」「もう少し適切な言い換えはないか?」と気になり、ブラウザで調べる機会が増えました。最近のGoogle検索は、検索ワードに「意味」や「言い換え」を含めるとトップに「AI による概要」を表示してくれることが多く、大まかな定義と類似表現を一度に把握できるため重宝しています。しかし、毎回「テキストをコピー ➔ ブラウザを開く ➔ ペースト ➔ 『意味 言い換え』と手入力」という手順を踏むのが地味に面倒に感じるようになりました。今回は、このちょっとした手間を減らすために行った工夫の備忘...
3ヶ月前

Appium Flutter Driver 再び (powered by Claude Code)
株式会社BALEEN STUDIOのフィード
1. はじめに以前、「Appium Flutter DriverがAppiumで動作するように改良してみた」という記事を書いた。座標指定でしか要素を操作できなかったFlutterアプリのE2Eテストを、Widget単位(ByType、ByValueKey、ByTooltipMessageなど)で操作できるようにし、appium-handlerという独自コンポーネントを新規に作った、という内容だった。あれから実際にプロダクトのE2Eテストとして日常的に回してみると、動くには動くが実運用に耐えない箇所がいくつも出てきた。テストの途中でコンテキストメニューが消える、たまにタップが座標指...
3ヶ月前

goconfigを使って構成設定を簡単にする
株式会社BALEEN STUDIOのフィード
TL;DR自分でpflag等を使ってフラグを準備する必要がなくなる引数だけでなくファイルや環境変数での設定もまとめてできる goconfigとはfulldump/goconfig構成設定をまとめた構造体に対して環境変数などからセットするライブラリ 使用方法goconfigをインストール設定をまとめた構造体を準備する設定を読み込んで構造体に反映する 1. goconfigをインストールgo get github.com/fulldump/goconfig 2. 設定をまとめた構造体を準備するtype Config struct { ...
3ヶ月前

物騒なIT用語の語源を調べてみた話
株式会社BALEEN STUDIOのフィード
はじめにAIに対して「殺す」とか「叩く」とか強い言葉を使うのはやめた方がいいんじゃない?という投稿を見かけて、そういえばIT用語って強い言葉が何個かあるよね?と思い、その中からピックアップしてどこから来たのか起源を調べてみました。記事の内容は、推測が多く含まれている為、史実ではない場合があることへのご理解をお願いいたします。 調べてみた 「殺す」まず物騒な言葉として頭に浮かんだ言葉がこちらの言葉です。関連した言葉として、「生きている」「死んでいる」も使われる事があります。生き物に対してのイメージが強いですが、それ以外にも使い方がありよく目にする言葉だと思います。I...
4ヶ月前

バイブコーディングでできたこと・できなかったこと
株式会社BALEEN STUDIOのフィード
はじめに生成AIの利用について多くの議論や考察がなされていますが、個人的には積極的に利用をしているとは言えない状況で、生成AIの魅力や欠点を実感していませんでした。そこでバイブコーディングでちょっとしたアプリを作成することにしました。その過程で得た知見を共有させていただければと思います。基本的にお金のかからない方法で作成しましたので、興味がありましたら皆さんもバイブコーディングされてみてはいかがでしょうか? 開発手法chatgpt.com でチャット形式で依頼し、出力されたコードをコピー&ペーストする形で作成しました。モデル名:GPT-5.3(ChatGPTのデフォ...
4ヶ月前

UnityのスクリプトからAudioTrackで音量を設定する方法について
株式会社BALEEN STUDIOのフィード
はじめにUnityのタイムラインは様々なものをアニメーションとして管理でき大変便利です。さらにUnityのエディタ拡張を作成することでより便利に使うことができます。例:特定のCSVファイルから一括でタイムラインの自動作成などそのようなエディタ拡張でタイムラインにAudioTrackを追加した際、スクリプトからは、エディタ上のように直接音量プロパティを変更することができなかったため、その対応方法と設定後の確認方法をまとめようと思います。!なお、本投稿内容はUnity 6000.3.6f1にて確認しています。また、AudioClipの読み込みやAudioTrackの使い方...
5ヶ月前

最近、同じことを何度もAIに聞いている
株式会社BALEEN STUDIOのフィード
自己紹介還暦を過ぎたエンジニアです。気がついたらこんな年齢になっていました。この年でもエンジニアとして働けているのが、我ながらすごいなと思います。これ以外に自慢できることはありませんし、いまだに働けているのが不思議です。 まずAIに聞くようになった若いころには、この年になってもコードを書き、仕様を追い、動かない理由を探している自分を、あまり想像していませんでした。けれど現実には、今もそうして仕事をしています。そして、いまの開発を語るうえで、AIの存在はもう外せません。最近の私は、何か分からないことがあると、まずAIに聞くことが増えました。見慣れないエラーメッセージ、新...
5ヶ月前

高解像度モニターで見失うマウスカーソルを、PowerToysでなんとかする
株式会社BALEEN STUDIOのフィード
はじめに画面の高解像度化が進み、作業領域が広くなったのは良いのですが、副作用として「マウスカーソルを見失う」ことが増えました。特にテキスト編集時の「I型カーソル」は、加齢による目の衰えも相まって、背景に紛れると絶望的に見つかりません。今回は、そんな自分を支えてくれている Microsoft PowerToys の活用状況について、備忘録として残しておきます。 マウスカーソルを物理的に「探す」手間を省く広い画面のどこかに消えたカーソルを探すためにマウスを激しく振る……それでも見つからない……という哀れな動きを減らすために、以下の機能を使っています。「マウスの検索」マウ...
5ヶ月前