情報発信をしよう &アプリに何もしないでアプリに AI を組み込む

1.2K Views

December 09, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

情報発信をしよう & アプリに何もしないでアプリに AI を組み込む 【登壇者募集中】.NET Conf 2024 後! C# Tokyo カンファレンス 石崎 充良 1 / 40

2.

自己紹介 石崎 充良 ( @mishi_cs ) C# Tokyo コミュニティ管理メンバー GitHub: https://github.com/m-ishizaki blog: https://rksoftware.hatenablog.com/ 2 / 40

3.

情報発信をしよう 3 / 40

4.

【登壇者募集中】 【登壇者募集中】 https://csharp-tokyo.connpass.com/event/334045/ https://www.youtube.com/@CTokyo-wj8fv 4 / 40

5.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 5 / 40

6.

OneNote は素晴らしい製品です 人は学ぶ生き物 しかし 忘れてしまう生き物 例えば OneNote https://www.microsoft.com/ja-jp/microsoft365/onenote/digital-note-taking-app しかし大きな課題も 6 / 40

7.

おうち vs 職場 学ぶのは自分の環境 活用は職場 個人のアカウント(環境) 職場の環境 参照(コピペ) できない OneNote 仕事 PC 7 / 40

8.

いつでも、どこからでも 学ぶのは自分の環境 活用は職場 インターネットに公開 職場の環境 参照(コピペ) できる ブログ 仕事 PC 8 / 40

9.

職場は変わる恐れがある 職場 自分の環境 職場の環境 メンテ不可 インターネットに公開 ブログ 転 ずっと メンテ可能 ブログ 職場の環境 ブログ 9 / 40

10.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 10 / 40

11.

職場ブログを 書いてほしい時は 11 / 40

12.

自分で学ぶ隙を与えない 学ぶのは自分の環境 学ぶのは職場 インターネットに公開 職場の環境 職場での学びが ファストだと 自分ブログに書 かない ブログ 仕事 PC 12 / 40

13.

時系列 新しいものが登場 調査 ブログ 調査 調査 ブログ ブログ 13 / 40

14.

時系列 新しいものが登場 日本時間深夜 に公開 翌日の業後 調査 ブログ 調査 調査 ブログ ブログ 14 / 40

15.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 15 / 40

16.

自分が良ければよい 16 / 40

17.

不十分・わかりにくい 調べものをしていて、良さそうな記事を見つけました。喜んで読んでみると 記事を書いた 本人にとって 十分でわかりやすい 17 / 40

18.

例えば C# で早いコードを書きたいけど、ベンチ マークの取り方どうやるんだっけ? https://www.google.com/search https://rksoftware.hatenablog.com/entry/2023/12/19/010000 18 / 40

19.

例えば 検索したのは自分 C# で早いコードを書きたいけど、ベンチ マークの取り方どうやるんだっけ? 書いたのは自分 読んでいるのは 自分 自分の自分による自分のための記事 自分が書いたものが自分にとって一番わかりやすい https://www.google.com/search https://rksoftware.hatenablog.com/entry/2023/12/19/010000 19 / 40

20.

不十分・わかりにくい 調べものをしていて、良さそうな記事を見つけました。喜んで読んでみると 別の切り口・視点・ 表現の記事 記事を書いた 本人にとって 十分でわかりやすい 自分に近い状況の人にとっても わかりやすいかもしれない 20 / 40

21.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 21 / 40

22.

締め切り駆動 情報発信 22 / 40

23.

締め切り駆動 情報発信 イベントに合わせて 調査・情報整理 YouTube 動画公開 スライド 公開 スライド共有サイト 職場環境 https://csharp-tokyo.connpass.com/event/334045/ https://www.youtube.com/@CTokyo-wj8fv 23 / 40

24.

【登壇者募集中】 【登壇者募集中】 https://csharp-tokyo.connpass.com/event/334045/ https://www.youtube.com/@CTokyo-wj8fv 24 / 40

25.

アプリに何もしないで アプリに AI を組み込む 25 / 40

26.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 26 / 40

27.

結論 DLL 読み込み コントローラーを追加 (コントローラーを探す場所に DLL を追加) MvcCoreMvcBuilderExtensions.AddApplicationPart(IMvcBuilder, Assembly) メソッド https://learn.microsoft.com/ja-jp/dotnet/api/microsoft.extensions.dependencyinjection.mvccoremvcbuilderextensions.addapplicationpart 27 / 40

28.

ASP.NET MVC の頃は? DLL を置くだけでコントローラーを追加できた プロジェクトテンプレートで 生まれるコード 置いておく DLL の中身 こういったクラスを含む DLL を置いておくだけ 28 / 40

29.

デバッグを意識したプロジェクト構成 追加で置く DLL のプロジェクト 存在感の強い長さの相対パス ASP.NET Core MVC プロジェクト 29 / 40

30.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 30 / 40

31.

AI 機能を実装したコントローラー 背後で Azure OpenAI を呼ぶコントローラー リクエスト・レスポンスデータの型 背後で呼ぶAzure OpenAI の情報 環境変数にしておくことで 開発者ごとの Azure OpenAI が使える(OSSの複数人開発など) 開発・本番での AI の切り替え なんでもはできないように、 システムプロンプトはサーバーサイドで設定 Azure OpenAI を呼ぶコード 31 / 40

32.

プロジェクト設定 Web プロジェクトにしておくだけでよい NuGet からこれはインストール > dotnet add package Azure.AI.OpenAI https://www.nuget.org/packages/Azure.AI.OpenAI/ 32 / 40

33.

追加でこんなコントローラーも Web ページ上のボタンをクリックすると 指定のテキストエリアの値を 前述の AI 機能コントローラーに送信する JavaScript 33 / 40

34.

こんなコードが必要でした DLL 読み込み コントローラーを追加 (コントローラーを探す場所に DLL を追加) MvcCoreMvcBuilderExtensions.AddApplicationPart(IMvcBuilder, Assembly) メソッド さらには前述の JavaScript も どうやって呼ぶか…… https://learn.microsoft.com/ja-jp/dotnet/api/microsoft.extensions.dependencyinjection.mvccoremvcbuilderextensions.addapplicationpart 34 / 40

35.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 35 / 40

36.

Pleasanter というプロダクト コントローラーを追加 (コントローラーを探す場所に DLL を追加) https://github.com/Implem/Implem.Pleasanter/blob/f6867d805850d8b912743b346923e3f272de2ea9/Implem.Pleasanter/Startup.cs#L145 36 / 40

37.

テーブルの管理 Pleasanter のテーブルの管理という機能は、ページに HTML をコンテンツ として登録可能 Web ページにボタンを追加 追加ボタンしたボタンのクリックで 前述の AI 機能コントローラーを使用 37 / 40

38.

実行結果 38 / 40

39.

1. (分量:04 ページ)人はなぜブログを書くのか 2. (分量:03 ページ)職場ブログを書いてほしい時は 3. (分量:04 ページ)自分が良ければ良い 4. (分量:02 ページ)締め切り駆動 情報発信 5. (分量:03 ページ)アプリに何もしないで機能を追加する 6. (分量:03 ページ)AI 機能の実装は簡単 7. (分量:03 ページ)ネタバレ・実際に追加してみる 8. (分量:01 ページ)まとめ 目次 39 / 40

40.

まとめ ⚫ C# Tokyo コミュニティではいつでも【登壇者募集中】 ⚫ ASP.NET Core MVC では機能追加の口が必要 ⚫ 口の用意されているプロジェクトも世の中にはある 40 / 40

41.

ありがとうございました。 石崎 充良 41 / 40