Suche senden
Hochladen
20120721_ishkawa
•
2 gefällt mir
•
1,104 views
Yosuke Ishikawa
Folgen
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Webサーバの性能測定
Webサーバの性能測定
Ryo Maruyama
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用
Eiichi Sato
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
OSC2015nagoya
OSC2015nagoya
Miki Shimogai
Nginx
Nginx
Soichi Takamura
OSC2015kyoto
OSC2015kyoto
Miki Shimogai
Empfohlen
Webサーバの性能測定
Webサーバの性能測定
Ryo Maruyama
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用
Eiichi Sato
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
OSC2015nagoya
OSC2015nagoya
Miki Shimogai
Nginx
Nginx
Soichi Takamura
OSC2015kyoto
OSC2015kyoto
Miki Shimogai
Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表
Akihiro Harai
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
takanori suzuki
お金をかけないDBチューニング
お金をかけないDBチューニング
Kazuya Sato
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
はじめての datadog
はじめての datadog
Naoya Nakazawa
WebGLで浮動小数点テクスチャを扱う話
WebGLで浮動小数点テクスチャを扱う話
翔 石井
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
第8回KPF発表資料
第8回KPF発表資料
cryks
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
Toshi Harada
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
Toshi Harada
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
Toshi Harada
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
Uguisudani
Uguisudani
Moriyoshi Koizumi
今から始めるDocument db
今から始めるDocument db
Kazunori Hamamoto
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
ichikaway
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
MongoDB勉強会資料
MongoDB勉強会資料
Hiromune Shishido
エンジニア戦記 〜小さなチーム、大きな未来〜
エンジニア戦記 〜小さなチーム、大きな未来〜
Yuki Hirai
WKWebViewとUIWebView
WKWebViewとUIWebView
Yuki Hirai
Weitere ähnliche Inhalte
Was ist angesagt?
Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表
Akihiro Harai
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
takanori suzuki
お金をかけないDBチューニング
お金をかけないDBチューニング
Kazuya Sato
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
はじめての datadog
はじめての datadog
Naoya Nakazawa
WebGLで浮動小数点テクスチャを扱う話
WebGLで浮動小数点テクスチャを扱う話
翔 石井
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
第8回KPF発表資料
第8回KPF発表資料
cryks
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
Toshi Harada
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
Toshi Harada
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
Toshi Harada
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
Uguisudani
Uguisudani
Moriyoshi Koizumi
今から始めるDocument db
今から始めるDocument db
Kazunori Hamamoto
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
ichikaway
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
MongoDB勉強会資料
MongoDB勉強会資料
Hiromune Shishido
Was ist angesagt?
(20)
Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
お金をかけないDBチューニング
お金をかけないDBチューニング
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
はじめての datadog
はじめての datadog
WebGLで浮動小数点テクスチャを扱う話
WebGLで浮動小数点テクスチャを扱う話
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
第8回KPF発表資料
第8回KPF発表資料
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws sqaleの場合
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
Uguisudani
Uguisudani
今から始めるDocument db
今から始めるDocument db
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
MongoDB勉強会資料
MongoDB勉強会資料
Andere mochten auch
エンジニア戦記 〜小さなチーム、大きな未来〜
エンジニア戦記 〜小さなチーム、大きな未来〜
Yuki Hirai
WKWebViewとUIWebView
WKWebViewとUIWebView
Yuki Hirai
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
yohei sugigami
let UIWebView as WKWebView
let UIWebView as WKWebView
Taketo Sano
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス
yayugu
Andere mochten auch
(6)
エンジニア戦記 〜小さなチーム、大きな未来〜
エンジニア戦記 〜小さなチーム、大きな未来〜
WKWebViewとUIWebView
WKWebViewとUIWebView
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
let UIWebView as WKWebView
let UIWebView as WKWebView
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス
Ähnlich wie 20120721_ishkawa
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
Makoto Setoh
20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
Insight Technology, Inc.
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
Takahiro Iwase
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
KinebuchiTomo
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
terurou
増加するコアを使い切れ!!
増加するコアを使い切れ!!
guestc06e54
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
Taro L. Saito
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
MITSUNARI Shigeo
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
Sotaro Kimura
実践 Reactive Extensions
実践 Reactive Extensions
Shin Ise
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
Ähnlich wie 20120721_ishkawa
(20)
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
20120405 setsunaセミナー
20120405 setsunaセミナー
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
増加するコアを使い切れ!!
増加するコアを使い切れ!!
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
実践 Reactive Extensions
実践 Reactive Extensions
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
20120721_ishkawa
1.
並列処理再入門 主にNSOperationの話
@_ishkawa
2.
@_ishkawa •
新卒プログラマー @面白法人カヤック • Objective-C:1年ちょっと • Twitterクライアントつくった GitHub: ishkawa Blog: http://blog.ishkawa.org
3.
今日の話 • Grand Central
Dispatch • NSOperation • 両者をどう使うか
4.
並列処理の大切さ
5.
iOSの並列処理 ちょっと大変
• NSThread • Grand Central Dispatch 推奨されている • NSOperation - concurrent - non-concurrent 参考: 並列プログラミングガイド(Apple)
6.
Grand Central
Dispatch • 速い / 簡単 / かっこいい • 並列処理のあれこれが楽にできる (排他制御, 逐次実行 など) • 処理の拡張には向かない (関数+Blocksなので)
7.
Grand Central
Dispatch dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^{ // async dispatch_async(dispatch_get_main_queue(), ^{ // callback }); });
8.
NSOperation • 拡張性が高い (オブジェクトなので) •
複雑な処理をラッピングしやすい • 内部的にGCDが使われている(iOS4)
9.
NSOperation
同期 •NSOperationのmainをオーバーライド (NSOperationQueueに入れれば非同期実行されます) 非同期 •NSOperationのstart, cancelなどをオーバーライド •いろいろとKVO準拠する
10.
両者の扱い • GCD
• NSOperation 関数 + Blocks オブジェクト - 準備要らず簡単に扱える - 準備要るが拡張しやすい - 例:画像の圧縮など - 例:前後処理を含めた通信
11.
ここからNSOperationの 拡張の話になります
12.
例: Twitter API •
目的:API → NSDictionary • タスク 1. HTTPリクエストを組み立てる(OAuth1.0a) 2. ネットワーク通信 3. JSONパース • 問題 1. 毎回書くのはつらい 2. 並列処理しないとUXに影響がある
13.
ラッピングしたい
並列処理 メイン ネットワーク通信 JSONパース 終了ハンドラ
14.
ラッピングしたい [ISTwitterOperation sendRequestWithMethod:ISHTTPMethodGET
path:@”statuses/home_timeline.json” params:nil handler:^(NSURLRequest *r, id object, NSError *error){ if (error) return; self.array = object; }];
15.
NSOperationの拡張 • ISNetworkOperation
(NSURLConnectionを管理してNSDataを返す) • ISJSONNetworkOperation ( + JSONパースしてNSDictionary, NSArrayを返す) • ISTwitterOperation ( APIPath, HTTPMethodからHTTPリクエストを準備(OAuth認証つき))
16.
拡張コード @implementation ISJSONNetworkOperation - (id)processData:(NSData
*)data { NSError *error = nil; id object = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error]; if (error)return nil; return object; }
17.
いろいろ拡張できる
- ISNetworkOperation - ISImageNetworkOperation - ISXMLNetworkOperation - ISHTMLTitleOperation - ISJSONNetworkOperation - ISTwitterOperation - ISFacebookOperation - ISPocketOperation - ISInstapeperOperation
18.
結論: 拡張性がある並列処理を書くなら NSOperationが良さそうです
Jetzt herunterladen