Submit Search
DotNetConf2024の資料 BlazorとLowCodeと生成AIの話です
Download as PPTX, PDF
0 likes
102 views
Tatsuya Ishikawa
2025/1/9 の dotnetconf2024 の資料です.
Software
Read more
1 of 23
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
More Related Content
PPTX
burikaigi2025.pptx Burikaigi2025でつかった資料です。
Tatsuya Ishikawa
PPTX
モノづくりBlazor勉強会1回目資料_Blazorについて.pptx
tkeproject
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
PDF
20190822 Microsoftが考えるAI活用のロードマップ
Hirono Jumpei
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
PPTX
local launch small language model of AI.
Takao Tetsuro
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
burikaigi2025.pptx Burikaigi2025でつかった資料です。
Tatsuya Ishikawa
モノづくりBlazor勉強会1回目資料_Blazorについて.pptx
tkeproject
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
20190822 Microsoftが考えるAI活用のロードマップ
Hirono Jumpei
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
local launch small language model of AI.
Takao Tetsuro
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
Similar to DotNetConf2024の資料 BlazorとLowCodeと生成AIの話です
(20)
PDF
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
PDF
Canvas勉強会
Tsutomu Kawamura
PPTX
burikaigi2024.pptx
Tatsuya Ishikawa
PDF
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
PDF
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
PPTX
OpenCVでつくろうARスタンプアプリ in 熊本
Takashi Yoshinaga
PDF
Web開発者が始める .NET MAUI Blazor App
TomomitsuKusaba
PDF
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Jun-ichi Sakamoto
PPTX
burikaigi2023
Tatsuya Ishikawa
PDF
Ques12「AIのテスト~誤検知と検出漏れ~」
hirokazuoishi
PDF
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
日本マイクロソフト株式会社
PDF
AI絵師たちの問題点
73keitti
PDF
OpenCVで作るスタンプAR
Takashi Yoshinaga
PDF
Azure 入門 (と言いながらちょまどの好きな Azure サービス紹介)
Madoka Chiyoda
PDF
OpenCVとARCoreで作るスタンプAR in 宮崎
Takashi Yoshinaga
PDF
エヌビディアのディープラーニング戦略
NVIDIA Japan
PDF
おしゃれCatalystに触ってみた
tomohiro morishita
PPTX
20190319 KIS Open Seminar LT
Syota Yano
PDF
静岡Developers勉強会 HTML5&CSS3
yaju88
PDF
AI-OCR 導入最前線 (AI inside)
Shotaro Umeda
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
Canvas勉強会
Tsutomu Kawamura
burikaigi2024.pptx
Tatsuya Ishikawa
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
OpenCVでつくろうARスタンプアプリ in 熊本
Takashi Yoshinaga
Web開発者が始める .NET MAUI Blazor App
TomomitsuKusaba
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Jun-ichi Sakamoto
burikaigi2023
Tatsuya Ishikawa
Ques12「AIのテスト~誤検知と検出漏れ~」
hirokazuoishi
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
日本マイクロソフト株式会社
AI絵師たちの問題点
73keitti
OpenCVで作るスタンプAR
Takashi Yoshinaga
Azure 入門 (と言いながらちょまどの好きな Azure サービス紹介)
Madoka Chiyoda
OpenCVとARCoreで作るスタンプAR in 宮崎
Takashi Yoshinaga
エヌビディアのディープラーニング戦略
NVIDIA Japan
おしゃれCatalystに触ってみた
tomohiro morishita
20190319 KIS Open Seminar LT
Syota Yano
静岡Developers勉強会 HTML5&CSS3
yaju88
AI-OCR 導入最前線 (AI inside)
Shotaro Umeda
Ad
More from Tatsuya Ishikawa
(20)
PPTX
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
Tatsuya Ishikawa
PPTX
Test to net core 3
Tatsuya Ishikawa
PPTX
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
PDF
Developer summit codeer
Tatsuya Ishikawa
PPTX
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Tatsuya Ishikawa
PPTX
Stack2017 自動化困難な状況での活動方法
Tatsuya Ishikawa
PPTX
メタな感じのプログラミング(プロ生 + わんくま 071118)
Tatsuya Ishikawa
PPTX
Dot netconf2017 - VS拡張
Tatsuya Ishikawa
PPTX
.Netconf
Tatsuya Ishikawa
PPTX
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
PPTX
Stac2014 石川
Tatsuya Ishikawa
PPTX
Bindingからframework elementを見つける
Tatsuya Ishikawa
PPTX
boost - std - C#
Tatsuya Ishikawa
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
PPTX
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
PPTX
Windowsアプリテスト自動化 [Friendly+delphi]
Tatsuya Ishikawa
PPTX
Ride on azure~アイデアソン編~
Tatsuya Ishikawa
PPTX
私とC++ in 例外安全day
Tatsuya Ishikawa
PPTX
他言語との連携(ネイティブから動的言語まで)
Tatsuya Ishikawa
PPTX
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
Tatsuya Ishikawa
Test to net core 3
Tatsuya Ishikawa
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
Developer summit codeer
Tatsuya Ishikawa
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Tatsuya Ishikawa
Stack2017 自動化困難な状況での活動方法
Tatsuya Ishikawa
メタな感じのプログラミング(プロ生 + わんくま 071118)
Tatsuya Ishikawa
Dot netconf2017 - VS拡張
Tatsuya Ishikawa
.Netconf
Tatsuya Ishikawa
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
Stac2014 石川
Tatsuya Ishikawa
Bindingからframework elementを見つける
Tatsuya Ishikawa
boost - std - C#
Tatsuya Ishikawa
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
Windowsアプリテスト自動化 [Friendly+delphi]
Tatsuya Ishikawa
Ride on azure~アイデアソン編~
Tatsuya Ishikawa
私とC++ in 例外安全day
Tatsuya Ishikawa
他言語との連携(ネイティブから動的言語まで)
Tatsuya Ishikawa
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Ad
DotNetConf2024の資料 BlazorとLowCodeと生成AIの話です
1.
Blazor とローコードと AI
2.
石川達也 Codeer 代表取締役 →社員募集中 プログラマ (C,
C++, C#) テスト自動化ライブラリ / ツール開発 Microsoft MVP 2014 ~ 趣味はギターと OSS ライブラリ作成 Twitter: @StoneGuitar777 自己紹介
3.
Blazor でローコードのライブラリ作りました!(どや Blazor アプリに組み込むんで使えます。 もちろん生成
AI とも相性抜群! それでこのライブラリを作成する中で得た Blazor とか AI に関する情報を話します。 今日話す内容
4.
Codeer.LowCode.Blazor Codeer.LowCode.Blazor Codeer.LowCode.Blazor ローコード 生成 AI 使いませんか? 作りませんか? 御社独自の ノウハウ ライブラリで 組み込み 業界 ロジック 開発技術 .NET 資産 Codeer.LowCode.Blazor
を使えば あっという間に『オリジナルのローコードアプリ』を作成 できます! ローコードアプ リを
5.
ビジネスモデル:社内アプリ 開発後はローコードアプリとし て 非技術職の方でもカスタマイズ 可能 メンテナンスも簡単 Blazor で開発フレームワークを最新 化! あっという間に開発完了 Codeer.LowCode.Blazor 自社用 ビジネスア プリ DB (SQL Server,
Oracle, MySQL, PostgreSQL, SQLite) 既存の資産と簡単に連 携 オリジナルのローコードア プリ Codeer.LowCode.Blazor 御社独自のノウハウ・業界ロ ジック AI-Powered! 低コストで高品質なアプリを開発できま す!
6.
ビジネスモデル: SI 基盤
/ パッケージアプリ / 自社サービス Codeer.LowCode.Blazor アプリにローコード機能と AI 機能の組み込みが可能です! 顧客別 ビジネスア プリ 顧客 A 顧客 B ローコード機能と AI 機能を組み込むこ とで 高品質で高速な開発が可能 ベースとなるアプリから 顧客別にカスタマイズして展開するこ とが可能 オリジナルのローコードア プリ Codeer.LowCode.Blazor 御社独自のノウハウ・業界ロ ジック AI-Powered! 顧客 C
7.
充実の機能 生成 AI 開発の効率化
カスタマイズ Codeer.LowCode.Blazor 帳票出力 バーコードリーダー連携 Excel 連携 リッチな UI AI によるデータ取り 込み AI による開発サポー ト 自動テスト 簡単に画面や機能を作成 プロコードとの自由な連携 スクリプトで処理をカスタマ イズ Excel や DB の定義をもとに 作成 Codeer.LowCode.Blazor の特徴 Codeer.LowCode.Blazor
8.
独自の部品、インフラの作成 通常の .NET 開発 基本となるビジネスアプリ機能を ローコードで作成 開発効率
UP エンドユーザー様も ローコード機能でカスタマイズ 独自のローコードアプリを開発しませんか?
9.
デモ 新規作成 レイアウト スクリプト AI で取り込み AI でモジュールつくる AI
でクエリ作成して Chart 表示
10.
※1 .NET8 のテンプレからは消えている ※
2 頑張ったらアリにもできる、昔から ※3 設定で無しにもできる Web での Blazor
11.
WebApp-WebAssembly でもプリレンダリング切れるって
12.
InteractiveServer でもプリレンダリング中は JavaScript
が使えない点で異なる InteractiveServer ではプリレンダリングと本レンダリングを区別できない → OnAfterRender はプリレンダリング中実行されないのでそこでやるのがいいらしい ・プリレンダリング (Server) ・ Seraver で本レンダリング ・ Wasm で本レンダリング InteractiveWebAssmbly では区別がつくけど Wasm と Server の両方で動くようにするのはまあまあ難易度高い 実装難易度が上がるポイント タイミングによって使える機能が異なる!
13.
番外編: BlazorWebView プリレンダリングなし .NET のランタイムで動くので非常に楽
14.
Blazor の認証小話 Duende
IdenityServer builder.Services.AddIdentityServer() .AddApiAuthorization<ApplicationUser, ApplicationDbContext>(); 前に WebAssembly + ASP.NET ホスティングだと Duende IdentityServer が使われていた 商用利用の場合は有料なので注意が必要だった ※ ちなみに Server の方は .NetIdentity の Cookie 認証なので Duende は使われ てない
15.
WebAssembly で社内環境での利用時 Duende IdenityServer
を事情があって使いづらい場合・・・ ASP.NET Core Identity + Cookie 認証 Codeer.LowCode.Blazor のテンプレートで作ってます。 テンプレートからコードの作成自体は無料なんで是非使ってください。 Azure Entra Id のもあります。 VisualStudio MarketPlace https://marketplace.visualstudio.com/items?itemName=Codeer.LowCodeBlazor ってやってたんだけど・・・
16.
WebApp-WebAssembly で作ったら デフォルトで Cookie
認証のコードが出てきます。 ( Duende IdenityServer 使われてない
17.
生成 AI Codeer.LowCode.Blazor は 他の機能と組み合わせて使うのに非常に向いています。 AI
だけでなく UI ライブラリなんかも AI での画像解析機能はユーザーコードの方で AITextAnalysis というフィールドを作成して それを使えるようにしています。 以下説明するコードはテンプレートから作成してもらったら出力されます。 無料なんで是非テンプレートをインストールして作成してみてください。 VisualStudio MarketPlace https://marketplace.visualstudio.com/items?itemName=Codeer.LowCodeBlazor
18.
API が呼ばれる DocumentAnalysisClinet で 画像からテキストデータに変換 テキストを
AI に食わせて 指定のフォーマットの Json に変換 画面用データに変換 AI で画像を読み込んでデータ設定
19.
AI で画像を読み込んでデータに設定 static async
Task<string> ExtractTextFromImage(MemoryStream stream) { var client = new DocumentAnalysisClient( new Uri(config.DocumentAnalysisEndPoint), new AzureKeyCredential(config.DocumentAnalysisKey)); var operation = await client.AnalyzeDocumentAsync( WaitUntil.Completed, "prebuilt-read", stream); return string.Join(Environment.NewLine, operation.Value.Pages. SelectMany(e => e.Lines).Select(e => e.Content)); DocumentAnalysisClinet で画像からテキストデータに変 換
20.
AI で画像を読み込んでデータに設定 生成 AI
で文字列から Json に変換 static async Task<string> DocumentAnalysisByText(IModuleDesigns moduleDesigns, string moduleName, string text) { var config = SystemConfig.Instance.AISettings; var azureClient = new AzureOpenAIClient( new Uri(config.OpenAIEndPoint), new ApiKeyCredential(config.OpenAIKey)); var chatClient = azureClient.GetChatClient(config.ChatModel); var completion = await chatClient.CompleteChatAsync( [ new SystemChatMessage(@" あなたは文中から特定のデータを取得する担当です。取り出すデータの指示と文章を渡すので Json でデータを返してください。 指示はフィールド名とあれば () の中に補助の名前を入れます。 Json ではフィールド名を使ってください。 配列のものもあります。その場合は [{ 子要素のフィールドの指示 }] で再帰的に指定します。 回答はプログラムで使うので Json のみにしてください。 「わかりました」とか「 ```json 」とか本当に何も書かないでください。 "), new UserChatMessage(CreateJsonExplanation(moduleDesigns, moduleName)), new UserChatMessage(text), ]); return completion.Value.Content.FirstOrDefault()?.Text ?? string.Empty; } ① わからせ ② 画面と出力する JSON の説明 ③ テキストデータ
21.
AI でモジュール作成 あなたはローコードのアプリ設計者です。 このローコードシステムの仕様は以下のものです。 ・・・(略) Codeer.LowCode.Blazor
の外部仕様の説明 ・・・ (略)現在のプロジェクト中の設定の説明 今からユーザーがあなたに対してチャットでアプリの設計を相談します。 必要な Module の構成を答えてください。 ユーザーとチャットで会話して Module の構成を決定してください。 ここまでは登場するすべての Module の話をしてください。 最後に Module を作成するかとうかたずねてください。 全部まとめて作ることもできますし、ピックアップして任意のモジュールだけ作成することもできます。 作成時は $Create コマンドを使います。 以下はプログラムが解釈して使うコマンドです。 ・・・ (略)コマンドの説明 プロンプト
22.
・ユーザーの話 ・ AI の回答 ・ユーザーの話 ・
AI の回答 $Create ・ユーザーの話 ・ AI の回答 ・詳細な Json の仕様を追加 ・生成 AI に問い合わせ Module の Json の作成 ※ このことは履歴に追加しない Json の仕様を先に渡すと 要件定義の時に細かい Json の話を AI がし始めるか ら (技術者が細かい技術的な話を お客さんにしちゃうのに似てるかも List<ChatMessage> _chatHistory = new(); var completion = await chatClient.CompleteChatAsync(_chatHistory); // ここまでの会話をコピー var tmp = _chatHistory.ToList(); モジュールを作ったことだけは記憶 やっぱり Json の詳細はしらない AI に入れる知識と会話を制御
23.
THANK YOU ! Codeer.LowCode.Blazor
Download