GravaStar K1 Lite ゲーミングキーボード ワイヤレス 75%配列 テンキーレス 80キー メカニカルキーボード ホットスワップ対応 ガスケット搭載 Bluetooth 5.0/2.4G/USB-C接続 透明キーキャップ RGB バックライト 無線 Windows/Mac用(リニアスイッチ:Crystal black)
¥13,980 (2025年5月7日 13:18 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)ワイヤレス Bluetooth マウス 【極薄型モデル Bluetooth 5.3&2.4GHz】 マウス 静音 3段階DPI調整(800/1200/1600) 超軽量 Type-C充電 スリープモード 高精度 小型まうす 左右対称 節電 7色LED 人間工学設計 コンパクト オフィス ゲーム Mac/Windows/Surface/PC/Macbookに対応 (ブラック)
¥1,599 (2025年5月7日 13:08 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)

この記事を参考にして、Tidewave Phoenixを使ってみました。
先ずは、@RyoWakabayashi さんの記事にもある、「users テーブルに登録されているデータを表示して」
を試してみました。ちゃんと想定したような応答がえられました。
次に試して見たのは、
「usersに100人のダミーデータを作成して登録して。名前は、日本人の典型的な名前でランダム、ユニークなものにして。年齢も適当に生成。」
一件追加するごとに実行してよいかの確認が表示されて、実行できました。面倒だったので途中からは、全部実行許可しましたけど。
これは便利。
MCPつないだだけで、使い方も理解してるんですね。
「年齢順にソートするボタンを追加」
結構いい感じのコード修正が行われました。しかし、ボタンを押してもソートされませんでした。
「ボタンを押しても何もかわりません」と伝えてみました。
このプロンプトに対してしばらく考えた後、修正されて、ソートが動作するようになりました。
おお。すごい。
“reset: true”の記述が無くて、表示が更新されないのが原因でした。
一体どうやって解決したのか、
「この調査を行う為にMCPサーバにどのような問い合わせをしたのか教えてください。」
聞いてみた
順を追って動作を確認している!
lib/my_tidewave_app_web/live/user_live/index.ex
{:noreply, stream_delete(socket, :users, user)}
end
+
+ @impl true
+ def handle_event("sort_by_age", _params, socket) do
+ sorted_users = Accounts.list_users() |> Enum.sort_by(& &1.age)
+ {:noreply, stream(socket, :users, sorted_users, reset: true)}
+ end
end
my_tidewave_app_web/live/user_live/index.html.heex b/lib/my_tidewave_app_web/live/user_live/index.html.heex
<.>link patch={~p"/users/new"}>
<.>button>New Userbutton>
link>
+ <.>button phx-click="sort_by_age">Sort by Agebutton>
:actions>
header>
- Tiedwaveがあると、CopilotがMCPを通じて、問題点の切り分けを行う事ができる。
- ソートできない原因を、どの段階で問題が起きているのかMCPを使って切り分けをしている事を確認した。
- 適切に修正されていた。人が行うのと同じような手順をおこなってる。
Views: 2