Address
:
[go:
up one dir
,
main page
]
Include Form
Remove Scripts
Accept Cookies
Show Images
Show Referer
Rotate13
Base64
Strip Meta
Strip Title
Session Cookies
More Web Proxy on the site http://driver.im/
Submit Search
Async History in .NET
•
17 likes
•
10,815 views
Takaaki Suzuki
Follow
2014/05/10 非同期勉強会 セッション資料
Read less
Read more
1 of 84
Download now
Downloaded 51 times
More Related Content
Async History in .NET
1.
非同期勉強会 Async History in
.NET - 50分でお届けする14年分の進化 -
2.
Name 鈴木孝明 Twitter Account @xin9le Award Microsoft MVP
for Visual C# Web Site http://xin9le.net About Me
4.
サラッと押さえる非同期処理の基礎 Basis of Asynchronous
5.
同期 vs 非同期 UIスレッド 応答可能 UIスレッド
別スレッド 応答不能
6.
フリーズ防止 CUI / GUIなら、まだ多少はフリーズに耐えられる TUI
/ NUIになると驚くほど耐えられない バックグラウンド処理による効率化 裏側で勝手に終わってると心地いい 非同期処理の必要性
7.
主な適用シーン DBアクセス重たい処理 ファイルの 読み書き ネット ワーク通信
8.
.NETが提供してきた非同期パターンの数々 Asynchronous History
9.
APIの変遷 Task-based async/await Reactive Extensions Event-based Async Programming
Model ThreadPool Thread
10.
同期的な書き方
11.
Thread 1スレッド 1MB程度 作成コスト が大きい
12.
ThreadPool 効率的な タスク処理 スレッドを 使い回す
13.
Async Programming Model 書き方が かなり煩雑 BeginXxx EndXxx
14.
Event-based 明確な処理 の切り分け
15.
Task-based 簡潔な 処理フロー
16.
Reactive Extensions 宣言的な 書き味
17.
async/await もはや魔法 同期とほぼ 同じ書き方
18.
非同期メソッドの基本的な使い方 async/await
19.
async 修飾子 /
await 演算子 含まないと 警告が出る 1つ以上の awaitを含む
20.
async/await の挙動 UIスレッド 別スレッド 任意の ユーザー操作
21.
戻り値 : void それ以外は 非推奨 イベント 専用
22.
戻り値 : Task
/ Task<T> 待機/戻り値 が必要な時
23.
広範な記述可能箇所 例外 : エントリーポイント コンストラクタ /
デストラクタ catch / finally句 lockステートメント (etc...) 大抵の式に 適用可
24.
既定では自動復帰 「UIスレッドに戻す」という意識すら不要 明示的にスレッドを戻さない 呼び出し元スレッドへの復帰
25.
例外処理 try句でのみ await可 いつもの 書き方
26.
ちょっと番外編 Extra Contents
27.
MSテストの非同期 戻り値を Taskにする awaitの 記述が可能
28.
ASP.NET MVC 4
以降の非同期 産廃: AsyncController Taskに 包むだけ
29.
WCF 4.5 で非同期に対応 サーバー側 の効率化
30.
4つのインターフェースから成る Task型との相互変換の提供 C#/.NET では何も意識することなく async/await
で記述可能 http://xin9le.net/articles/79 ストアアプリでの非同期 IAsyncAction IAsyncActionWithProgress IAsyncOperation IAsyncOperationWithProgress
31.
await はコンパイラが別の形に展開する 内部的にはクラスが自動生成される C# 5.0現在、ローカル変数はメンバー変数に昇格している vNext
では変数昇格が最小限になる (予定) ガベージコレクション周りのパフォーマンス改善 http://ufcpp.wordpress.com/ 2014/04/05/c-vnext-roslyn-でのasyncawait-の仕様変更/ コンパイラ展開の仕様変更
32.
折角なので非同期な話題のLTでも Another Story
34.
地元の某上場企業に入社 パソコンに興味があっただけのただの新卒 2007/04
35.
新人プログラミング研修 intもstringも知らない子でした 先生は某C# MVP 2007/05 –
2007/09
36.
陸の孤島で 缶詰教育
37.
独学でC#の勉強を開始 (できちゃった)結婚の現実逃避でした... 2008/02
38.
2009/01/27 – 2009/01/28
39.
Tech Days 2009の資料公開 参加できなかったから心待ちにしてた 2009/03/02
41.
Hokuriku.NET vol.4 勇気を出して勉強会に初参加 長沢さん (@tomohn)
の影響でTwitterを始める 2010/07/17
42.
Hokuriku.NET vol.6 勉強会で初登壇 (VSTOネタ) 2011/04/23 http://atnd.org/events/13237
43.
C#ハンズオン キックオフ Hokuriku.NETの代表 (@kabakiyo)
が突然の「やります^^」宣言 同日
44.
Hokuriku.NET C# -LINQ入門- 講師は当時北陸唯一のC#
MVPだった小島さん 2011/06/11 – 2011/06/25 http://atnd.org/events/15800
45.
このときの懇親会が 始まりだった...
46.
「次はTPLがいいですー」 俗に言う「お前がやれ」事件 「次は鈴木さんがやりましょう」
47.
ファッ!? (゚Д゚;) 恩師には逆らえず...
48.
Blogで「TPL入門」を書き始める それからしばらく「勉強して記事書いて...」の繰り返し ハンズオン勉強会の成功ため必至 2011/07/08 http://xin9le.net/tpl-intro
49.
ReactiveProperty公開 LINQの神様 (@neuecc) の超画期的なアイディア 「Rxってなんぞ!?」と興味津々 2011/08/26 http://neue.cc/2011/08/26_341.html
50.
Visual Studio 11
Developer Preview 公開 .NET Framework 4.5 / C# 5.0 新キーワード : async/await 2011/09/14
51.
Hokuriku.NET C# -TPL入門- 人生初めてのハンズオン講師 Ustream中継/録画もあって超緊張してました 2011/09/17 http://atnd.org/events/19165
52.
このときの懇親会でも...
53.
「次はRxがいいなー (誰かお願い)」 「お前がやれ」事件 Part.2 「じゃあやってよ
^^」
54.
/(^o^)\ 代表にも逆らえず...
55.
Hokuriku.NET vol.8 async/await 触ってみたよ系 2011/11/19 http://atnd.org/events/20801
56.
Blogで「Rx入門」を書き始める TPL入門同様「勉強して記事書いて...」の繰り返し 迫りくるハンズオン勉強会のため必至 2011/12/10 http://xin9le.net/rx-intro
57.
某所からRx入門記事の執筆依頼を受ける 散々悩んだ結果、丁重にお断りさせて頂きました (全く自信がなかった...) 2012/01/04
58.
Hokuriku.NET C# -Rx入門- 人生2度目のハンズオン講師 1回で伝えきれず、2回に渡って開催することに 2012/02/11
- 2012/03/17 http://atnd.org/events/23964
59.
Hokuriku.NET vol.9 Rxで簡単に実現できるサンプルの紹介 「そう、Rxならね」 2012/03/10 http://atnd.org/events/24756
60.
Community Open Day
2012 async/await の使い方紹介 コンパイラ展開を逆コンパイルで解析したり 2012/06/09 http://atnd.org/events/28159
61.
MVP Award 初受賞 2012/07/01 Microsoft
MVP for Visual C#
63.
Blogで「非同期メソッド入門」を開始 COD 2012のために折角いっぱい調べたし、まとめとこ 2012/07/12 http://xin9le.net/async-method-intro
64.
@ITさんより連載記事執筆の依頼を受ける C# 5.0のリリースに先立ち非同期メソッドの連載をしたい、と Blogで入門記事を書くと意外と反響あって驚く 2012/08/10
65.
「async/await入門」公開 依頼されてから公開されるまでのスピード感 毎月1本 (全3回) の連載でしたが、大変さを思い知りました... 2012/08/31 http://www.atmarkit.co.jp/ ait/subtop/features/dotnet/app/masterasync_index.html
67.
地元企業向けに非同期勉強会を開催 Rx だけのハズが延長営業で async/await
もお願いされたり 頼まれると基本断れないタチ (#ご依頼ください) 2012/09/14 http://xin9le.net/articles/35
68.
Hokuriku.NET × WCAF 地元デザイナーとの合同勉強会 デザイナーにも「止まらない
UI/UX」を意識するように説く 2013/04/13 http://xin9le.net/articles/41
69.
北信越のC# MVPでコーディング対決 @AILight /
@Fujiwo / @xin9le すごく盛り上がってたと思ったら、なんとNSAT 192を記録 2013/05/11 http://atnd.org/events/37799
70.
MVP Award 再受賞 2013/07/01 Microsoft
MVP for Visual C#
72.
業務でCTI (電話応対システム) を構築 WPF
+ SignalR + Web API + Rx + async/await (etc...) 電話の処理って非同期処理のオンパレード 2013/09/01
73.
ReactiveProperty Portable かずきさん (@okazuki)
と一緒に開発者として参加 Taskベースの非同期検証機能を追加したりと、少しばかり貢献 2013/10/02 https://reactiveproperty.codeplex.com/
74.
大量の有名人に遭遇 2013/11/18 – 2013/11/21 2013
MVP Global Summit Nov
75.
C#の父: Anders Hejlsberg
76.
ASP.NETのアーキテクト: Scott Hanselman
77.
GitHubの中の人: Phil Haack
78.
SignalRの作者: Damian Edwards
79.
赤シャツ副社長: Scott Guthrie
80.
C#/VBチームの非同期担当: Lucian Wischik
81.
ReactiveSignalR SignalR の少し面倒な記述を Rx
を使って楽に GitHub / NuGet で絶賛公開中!! 2014/01/02 http://xin9le.net/articles/117 http://www.slideshare.net/xin9le/reactivesignalr
82.
非同期勉強会 2014/05/10
83.
Enjoy Asynchronous!! Thank you
84.
For your good
experience. Asynchronous
Download