Soumettre la recherche
Mettre en ligne
20120616i phonedeveloperworkshop
•
0 j'aime
•
1,330 vues
Yoichiro Sakurai
Suivre
2012/06/16の勉強会資料です
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 18
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
Yoichiro Sakurai
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
晃 遠山
20120826i phonedeveloperworkshop
20120826i phonedeveloperworkshop
Yoichiro Sakurai
インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術
koedoyoshida
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
Tomohiro Kumagai
Introduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjug
Yoshimasa Tanabe
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Tomohiro Kumagai
Recommandé
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
Yoichiro Sakurai
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
晃 遠山
20120826i phonedeveloperworkshop
20120826i phonedeveloperworkshop
Yoichiro Sakurai
インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術
koedoyoshida
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
Tomohiro Kumagai
Introduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjug
Yoshimasa Tanabe
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Tomohiro Kumagai
会社でClojure使ってみて分かったこと
会社でClojure使ってみて分かったこと
Recruit Technologies
Introduction to WildFly Swarm
Introduction to WildFly Swarm
Yoshimasa Tanabe
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使う
HDeanK
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
Djangoのススメ
Djangoのススメ
Alisue Lambda
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
Kameko Ohmura
milkcocoa入門@milkcocoa meetup#1
milkcocoa入門@milkcocoa meetup#1
Syuhei Hiya
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
Hiroaki NAKADA
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
Choreonoid+ros
Choreonoid+ros
独立行政法人 産業技術総合研究所
Rancher select
Rancher select
cyberblack28 Ichikawa
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
賢 秋穂
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
Yosuke Hiraishi
「Eye」でカジュアルにプロセス監視
「Eye」でカジュアルにプロセス監視
Takeshi Yabe
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
l_b__
20111030i phonedeveloperworkshoppublished
20111030i phonedeveloperworkshoppublished
Yoichiro Sakurai
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
Yoichiro Sakurai
Contenu connexe
Tendances
会社でClojure使ってみて分かったこと
会社でClojure使ってみて分かったこと
Recruit Technologies
Introduction to WildFly Swarm
Introduction to WildFly Swarm
Yoshimasa Tanabe
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使う
HDeanK
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
Djangoのススメ
Djangoのススメ
Alisue Lambda
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
Kameko Ohmura
milkcocoa入門@milkcocoa meetup#1
milkcocoa入門@milkcocoa meetup#1
Syuhei Hiya
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
Hiroaki NAKADA
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
Choreonoid+ros
Choreonoid+ros
独立行政法人 産業技術総合研究所
Rancher select
Rancher select
cyberblack28 Ichikawa
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
賢 秋穂
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
Yosuke Hiraishi
「Eye」でカジュアルにプロセス監視
「Eye」でカジュアルにプロセス監視
Takeshi Yabe
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
l_b__
Tendances
(20)
会社でClojure使ってみて分かったこと
会社でClojure使ってみて分かったこと
Introduction to WildFly Swarm
Introduction to WildFly Swarm
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使う
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Djangoのススメ
Djangoのススメ
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
milkcocoa入門@milkcocoa meetup#1
milkcocoa入門@milkcocoa meetup#1
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
Swift勉強会
Swift勉強会
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Choreonoid+ros
Choreonoid+ros
Rancher select
Rancher select
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
Gradleどうでしょう
Gradleどうでしょう
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
「Eye」でカジュアルにプロセス監視
「Eye」でカジュアルにプロセス監視
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
En vedette
20111030i phonedeveloperworkshoppublished
20111030i phonedeveloperworkshoppublished
Yoichiro Sakurai
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
Yoichiro Sakurai
20120422i phonedeveloperworkshoppublished
20120422i phonedeveloperworkshoppublished
Yoichiro Sakurai
CoreDataをバックグラウンドで扱うためのTips
CoreDataをバックグラウンドで扱うためのTips
Yohei Yamaguchi
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
CoreData 非同期データ処理
CoreData 非同期データ処理
次朗 永島
javascript を Xcode でテスト
javascript を Xcode でテスト
Yoichiro Sakurai
En vedette
(7)
20111030i phonedeveloperworkshoppublished
20111030i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
20120422i phonedeveloperworkshoppublished
20120422i phonedeveloperworkshoppublished
CoreDataをバックグラウンドで扱うためのTips
CoreDataをバックグラウンドで扱うためのTips
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
CoreData 非同期データ処理
CoreData 非同期データ処理
javascript を Xcode でテスト
javascript を Xcode でテスト
Similaire à 20120616i phonedeveloperworkshop
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Koichi Sakata
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
第8回 福岡西区勉強会
第8回 福岡西区勉強会
Shinya Kinoshita
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
徹 上野山
20120421中国gtug
20120421中国gtug
Yusuke Sato
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Gradle handson
Gradle handson
Nemoto Yusuke
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
20160728 hyperscale #03
20160728 hyperscale #03
ManaMurakami1
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
つぶLT20121215
つぶLT20121215
遼一 杉浦
Gws in fukuoka
Gws in fukuoka
Takuma Watabiki
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
Yasuhiro Yoshimura
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
kojiokb
Tokyo r30 beginner
Tokyo r30 beginner
Takashi Minoda
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
Ken'ichi Sakiyama
130710 02
130710 02
openrtm
Similaire à 20120616i phonedeveloperworkshop
(20)
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
明日から使えるgradle
明日から使えるgradle
第8回 福岡西区勉強会
第8回 福岡西区勉強会
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
20120421中国gtug
20120421中国gtug
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Async deepdive before de:code
Async deepdive before de:code
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Gradle handson
Gradle handson
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
20160728 hyperscale #03
20160728 hyperscale #03
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
つぶLT20121215
つぶLT20121215
Gws in fukuoka
Gws in fukuoka
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Tokyo r30 beginner
Tokyo r30 beginner
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
130710 02
130710 02
Plus de Yoichiro Sakurai
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Yoichiro Sakurai
Xcode で gulp を使うお話
Xcode で gulp を使うお話
Yoichiro Sakurai
開発を加速させるRetty式チーム開発術 Reloaded
開発を加速させるRetty式チーム開発術 Reloaded
Yoichiro Sakurai
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
Yoichiro Sakurai
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
Yoichiro Sakurai
NSInvocationの便利さとハマりどころ
NSInvocationの便利さとハマりどころ
Yoichiro Sakurai
Google admobmediationで広告最適化
Google admobmediationで広告最適化
Yoichiro Sakurai
Crashlyticsでクラッシュ撲滅作戦
Crashlyticsでクラッシュ撲滅作戦
Yoichiro Sakurai
20130216 workshop
20130216 workshop
Yoichiro Sakurai
20121028i phonedeveloperworkshop
20121028i phonedeveloperworkshop
Yoichiro Sakurai
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
20110424i phonedeveloperworkshoppublish
20110424i phonedeveloperworkshoppublish
Yoichiro Sakurai
Plus de Yoichiro Sakurai
(13)
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Xcode で gulp を使うお話
Xcode で gulp を使うお話
開発を加速させるRetty式チーム開発術 Reloaded
開発を加速させるRetty式チーム開発術 Reloaded
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
NSInvocationの便利さとハマりどころ
NSInvocationの便利さとハマりどころ
Google admobmediationで広告最適化
Google admobmediationで広告最適化
Crashlyticsでクラッシュ撲滅作戦
Crashlyticsでクラッシュ撲滅作戦
20130216 workshop
20130216 workshop
20121028i phonedeveloperworkshop
20121028i phonedeveloperworkshop
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
20120316 designerworkshoppublished
20120316 designerworkshoppublished
20110424i phonedeveloperworkshoppublish
20110424i phonedeveloperworkshoppublish
20120616i phonedeveloperworkshop
1.
「エキスパートObjective-C プログラミング」で始める
GCD入門 朔 洋一郎 (@saku2saku)
2.
当勉強会について iPhoneアプリ開発者の交流 技術情報の交換 比較的初心者の方も多いです というか自分もそこまで熟練者ではないです そのため、もしかしたら間違ったことを言ってしま うかもしれませんがご容赦ください 一緒にアプリ開発の勉強をしていきましょう!
3.
自己紹介 名前 朔 洋一郎 趣味 漫画を読みあさる
プログラミング 料理 趣味創り
4.
製作 iPhoneアプリ
世界夜景旅行 for iPhone MusicPlayerSleepTimer MusicPlayerSleepTimerFree iPadアプリ 世界夜景旅行 工場夜景探検 夜桜花見旅行 Web さくさく日記 http://iphonework.biz/ iPhone Developer Workshop http://workshop.iphonework.biz/
5.
「エキスパートObjective-C プログラミング」で始めるGCD入門
6.
GCDとは? Grand Central Dispatch
の略 マルチスレッドプログラミングをシステムレベルで実装し た枠組み 開発者はタスクを定義して、それをキューに追加するだ けでマルチスレッド処理を実現できる 簡単に実装する上で細かいスレッドの制御を気にする 必要なくコードを記述できる 細かい制御(セマフォやjoinなど)をすることも可能 iOS4 以降から利用が可能になりました
7.
キュー、タスクとは? タスクとは処理の定義、キューとはタスクを格納す る処理の実行列 タスクはBlocksで定義される キューはFirst
In First Outの概念の実行列 dispatch_async(queue, ^{...});
8.
キューの種類 キューは2種類あります シリアル実行キュー:Aのタスクが終了した後にBの タスクが実行される
並列実行キュー:AとBのタスク両方が並列に実行さ れる OS4 以前のマルチスレッドプログラミングはどうして いたか? NSObjectのperformSelectorInBackgroundや NSOperation、NSThreadなどで実装
9.
キューの種類 タスク
シリアル実行キュー 1 実行順 2 キュー スレッド 3 並列実行キュー 4 実行順
10.
キューの種類 サンプルコード http://workshop.iphonework.biz/files/2012/06/ SampleCode.zip
並列実行キュー PerformInBackgroundConcurrent GCDConcurrent シリアル実行キュー PerformOnMainThreadSerial GCDSerial
11.
Blocksの利用 GCDのタスク定義はBlocksを利用する Blocksについては前回サンプルを含め、基本的な 使い方の説明も前回しているので良ければ参照し
てください http://workshop.iphonework.biz/?p=446
12.
Global Dispatch Queue キューは自前で生成するキューと、デフォルトで存在 するキューの2種類がある
High Priority: 優先度 高 Default Priority: 優先度 標準 Low Priority: 優先度 低 Background Priority: 優先度 バックグラウンド 上記は全てConcurrentの実行キュー Main Dispatch Queueというデフォルトで存在する キューもある(メインスレッド)
13.
dispatch_queue_t
のライフサイクル キューにはretainとreleaseの概念がある ARCが有効な場合にも上記は必要なので注意 dispatch_queue_createでキューの生成 dispatch_queue_releaseでキューの廃棄 Global Dispatch Queueについてはreleaseは不要
14.
その他サンプル テーブルビューの画像の非同期読み込み処理 AsyncImageLoadTable
15.
一歩進んだ使い方 dispatch_after 数秒おいて処理を実行したいときに利用
正確なシステム時間による処理ではないため、 ある程度おおざっぱな処理向き dispatch_group_asyncとdispatch_group_notify 複数のdispatch_queueの処理の実行が全て終了 した後に処理を実行したいときに使用
16.
さらに進んだ使い方 「エキスパートObjective-C プログラミング」で 詳しく説明されていますのでご参照ください! Amazon社のサイト
17.
追記:質疑応答について dispatch_get_global_queueの第二引数のunsigned long って何が妥当なんですか?
第二引数は予約領域となり、常に0を渡すことが公 式に推奨されております AsyncImageLoadTableのサンプルで dispatch_queue_createしていますがこれは沢山の キューが作られてしまうのでは? これは dispatch_get_global_queue と間違えてい たため、修正しました
18.
ご清聴 ありがとうございました
Télécharger maintenant