Enviar pesquisa
Carregar
Ll xcode
•
Transferir como KEY, PDF
•
0 gostou
•
1,098 visualizações
Net Kanayan
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 34
Baixar agora
Recomendados
Teclab3
Teclab3
Eikichi Yamaguchi
traitを使って楽したい話
traitを使って楽したい話
infinite_loop
0x300
0x300
geek_alice
test
test
a1yama1123
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
for JSDeferred Code Reading
for JSDeferred Code Reading
Kenichirou Oyama
Testman
Testman
makoto tsuyuki
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
Recomendados
Teclab3
Teclab3
Eikichi Yamaguchi
traitを使って楽したい話
traitを使って楽したい話
infinite_loop
0x300
0x300
geek_alice
test
test
a1yama1123
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
for JSDeferred Code Reading
for JSDeferred Code Reading
Kenichirou Oyama
Testman
Testman
makoto tsuyuki
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
mishimasyk#4
mishimasyk#4
Takayuki Serizawa
MongoDBの使い方
MongoDBの使い方
Tatsuto Maetsu
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Perlで伝統芸能
Perlで伝統芸能
hitode909
Marionettejs getting started
Marionettejs getting started
Kyohei Morimoto
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
Shinzo SAITO
Local php-100828 2
Local php-100828 2
Akio Ishida
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
テーマ「最適化」
テーマ「最適化」
technocat
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Yukihiro Kitazawa
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
CakeRequest::onlyAllow() について
CakeRequest::onlyAllow() について
Yuya Takahashi
Emscripten使ってみた
Emscripten使ってみた
Yuusuke Jinguuji
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
nakamura001
Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104
Satoshi Suzuki
Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104
Satoshi Suzuki
OSC京都2011
OSC京都2011
haganemetal
Synthesijer hls 20150116
Synthesijer hls 20150116
Takefumi MIYOSHI
Fxos lt
Fxos lt
Net Kanayan
J S Smartphone
J S Smartphone
Net Kanayan
Mais conteúdo relacionado
Mais procurados
mishimasyk#4
mishimasyk#4
Takayuki Serizawa
MongoDBの使い方
MongoDBの使い方
Tatsuto Maetsu
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Perlで伝統芸能
Perlで伝統芸能
hitode909
Marionettejs getting started
Marionettejs getting started
Kyohei Morimoto
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
Shinzo SAITO
Local php-100828 2
Local php-100828 2
Akio Ishida
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
テーマ「最適化」
テーマ「最適化」
technocat
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Yukihiro Kitazawa
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
CakeRequest::onlyAllow() について
CakeRequest::onlyAllow() について
Yuya Takahashi
Emscripten使ってみた
Emscripten使ってみた
Yuusuke Jinguuji
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
nakamura001
Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104
Satoshi Suzuki
Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104
Satoshi Suzuki
OSC京都2011
OSC京都2011
haganemetal
Synthesijer hls 20150116
Synthesijer hls 20150116
Takefumi MIYOSHI
Mais procurados
(20)
mishimasyk#4
mishimasyk#4
MongoDBの使い方
MongoDBの使い方
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Perlで伝統芸能
Perlで伝統芸能
Marionettejs getting started
Marionettejs getting started
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
Local php-100828 2
Local php-100828 2
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
テーマ「最適化」
テーマ「最適化」
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
20110714 j queryベーシック
20110714 j queryベーシック
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
CakeRequest::onlyAllow() について
CakeRequest::onlyAllow() について
Emscripten使ってみた
Emscripten使ってみた
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104
Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104
OSC京都2011
OSC京都2011
Synthesijer hls 20150116
Synthesijer hls 20150116
Destaque
Fxos lt
Fxos lt
Net Kanayan
J S Smartphone
J S Smartphone
Net Kanayan
Blueberrypi
Blueberrypi
Net Kanayan
2010 12gunmaweb
2010 12gunmaweb
Net Kanayan
Smart phone gunma.web
Smart phone gunma.web
Net Kanayan
Ssl
Ssl
Net Kanayan
FileReader and canvas and server silde
FileReader and canvas and server silde
Net Kanayan
Destaque
(7)
Fxos lt
Fxos lt
J S Smartphone
J S Smartphone
Blueberrypi
Blueberrypi
2010 12gunmaweb
2010 12gunmaweb
Smart phone gunma.web
Smart phone gunma.web
Ssl
Ssl
FileReader and canvas and server silde
FileReader and canvas and server silde
Semelhante a Ll xcode
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
Blocksの活用法
Blocksの活用法
Hidetoshi Mori
ScaLa+Liftとか
ScaLa+Liftとか
youku
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
Makoto Setoh
FMDBの利用方法
FMDBの利用方法
uske7i
jQuery超入門編
jQuery超入門編
Yasuhito Yabe
Apache Torqueについて
Apache Torqueについて
tako pons
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
y_taka_23
Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)
Ryuma Tsukano
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
spring_raining
20141129-dotNet2015
20141129-dotNet2015
Takayoshi Tanaka
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
Takuya Azumi
Deep dive into oss written in swift
Deep dive into oss written in swift
Yuki Asai
Deep dive into oss written in swift
Deep dive into oss written in swift
Yuki Asai
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Akira Inoue
VerilatorとSystemC
VerilatorとSystemC
Mr. Vengineer
Nodejuku01 ohtsu
Nodejuku01 ohtsu
Nanha Park
Semelhante a Ll xcode
(20)
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
Blocksの活用法
Blocksの活用法
ScaLa+Liftとか
ScaLa+Liftとか
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
FMDBの利用方法
FMDBの利用方法
jQuery超入門編
jQuery超入門編
Apache Torqueについて
Apache Torqueについて
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
20141129-dotNet2015
20141129-dotNet2015
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
Deep dive into oss written in swift
Deep dive into oss written in swift
Deep dive into oss written in swift
Deep dive into oss written in swift
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
VerilatorとSystemC
VerilatorとSystemC
Nodejuku01 ohtsu
Nodejuku01 ohtsu
Mais de Net Kanayan
Osc16gm
Osc16gm
Net Kanayan
Open source
Open source
Net Kanayan
Http2入門の入門
Http2入門の入門
Net Kanayan
Es6 cognition
Es6 cognition
Net Kanayan
ES6 はじめました
ES6 はじめました
Net Kanayan
Image convert
Image convert
Net Kanayan
Browser push notifications
Browser push notifications
Net Kanayan
Http
Http
Net Kanayan
Basic vulnerability
Basic vulnerability
Net Kanayan
Windows store app html
Windows store app html
Net Kanayan
Js kusen
Js kusen
Net Kanayan
Sass less
Sass less
Net Kanayan
Web creed
Web creed
Net Kanayan
Js mvc
Js mvc
Net Kanayan
Tdd&peapro
Tdd&peapro
Net Kanayan
Nseg jquery mobile
Nseg jquery mobile
Net Kanayan
Smart phone
Smart phone
Net Kanayan
Html5 css3 websocket
Html5 css3 websocket
Net Kanayan
Gunma ruby
Gunma ruby
Net Kanayan
Gunmaweb
Gunmaweb
Net Kanayan
Mais de Net Kanayan
(20)
Osc16gm
Osc16gm
Open source
Open source
Http2入門の入門
Http2入門の入門
Es6 cognition
Es6 cognition
ES6 はじめました
ES6 はじめました
Image convert
Image convert
Browser push notifications
Browser push notifications
Http
Http
Basic vulnerability
Basic vulnerability
Windows store app html
Windows store app html
Js kusen
Js kusen
Sass less
Sass less
Web creed
Web creed
Js mvc
Js mvc
Tdd&peapro
Tdd&peapro
Nseg jquery mobile
Nseg jquery mobile
Smart phone
Smart phone
Html5 css3 websocket
Html5 css3 websocket
Gunma ruby
Gunma ruby
Gunmaweb
Gunmaweb
Ll xcode
1.
LL ばかりのエンジニアが Xcode にチャレンジしました
@kanayannet
2.
LLとは Lightweight Language ※和製英語だそうです。
by wikipedia 例: Perl、Python、PHP Ruby Javascript
3.
Xcode とは?
ソフトウェアを開発するための アップルの統合開発環境 例: IPhone IPad のアプリケーション
4.
主に使われる言語 objective-c
5.
Objective-c とは? C言語をベースにSmalltalk型の
オブジェクト指向機能を持たせた上位 互換言語である。 by wikipedia
6.
解りづらい 自分なりに解釈してみる C言語よりは便利に使えるのかな? LL ではない ->
簡単ではなさそう?
7.
自分が普段使ってる言語 Perl、Ruby、Javascript...
LLばっかりです!
8.
今回、話す事 1.始めるキッカケ 2. Xcode +
Objective-c を使って開発して... 苦戦した箇所 3. 苦戦しなかった箇所を話します
9.
1.始めるキッカケ 家庭菜園でブルーベリー作ってます
10.
1.始めるキッカケ
ブルーベリーの栽培記録を その場で残せるアプリが欲しかった (土壌PH や 農薬 や 肥料など) ↓↓↓↓↓ 作ればいいじゃない!?
11.
1.始めるキッカケ - どうせ作るなら、今までやった事がないもの - ブラウザアプリは結構作った -
Xcode + objective-c は経験ない
12.
よし!やろう!
13.
アプリの構成
HTTP Web API 農作物や日記の入力 データの保存 描画 呼び出し
14.
ごめんなさい! PhoneGapの事は話しません! ※話したい方は懇談会で話しましょう
15.
苦戦した箇所 1.
コードの長さ 2. HTML との違い
16.
苦戦した箇所 1. コードの長さ
HTTP の通信
17.
苦戦した箇所
javascript(Jquery) の場合 $.ajax({ type: "POST", url: "http://example.com", data: "xxx=yyy", success: function(msg){ alert( "成功: " + msg ); } });
18.
苦戦した箇所
objective-c の場合 みなさん使ってるライブラリあるのかな∼? っとググってみる.... ↓↓↓↓↓ 自作ライブラリ配布してる人はいたけど... 多くがコツコツ書いてる...
19.
苦戦した箇所
objective-c の場合 NSURL *nsurl = [NSURL URLWithString:@”http://example.com”]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: nsurl]; [request setHTTPMethod: @"POST"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [request setValue:[NSString stringWithFormat:@"%d", [sendData length]] forHTTPHeaderField:@"Content-Length"]; [request setHTTPBody: sendData]; NSError *error; NSURLResponse *response; NSData *buffer = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
20.
2. HTML との違い
例: Table 表示 HTML の場合
21.
2. HTML との違い
例: Table 表示 HTML の場合 <table width=100% border=1 width=100%> <tr> <td>セル1</td> </tr> <tr> <td>セル2</td> </tr> <tr> <td>セル3</td> </tr> </table>
22.
2. HTML との違い
例: Table 表示 Xcode + Objective-c の場合
23.
//セルの数 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //
table_list の中身は配列 return [table_list count]; } // セルの中身の設定 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"product_items"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; NSInteger row = [indexPath row]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } cell.textLabel.font = [UIFont boldSystemFontOfSize:18]; NSDictionary *table_row = [table_list objectAtIndex:row]; cell.textLabel.text = [table_row objectForKey:@"subject"]; cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; return cell; } //セルの高さ -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 42; }
24.
苦戦しなかった箇所 1. JSON
2. メモリ管理
25.
苦戦しなかった箇所
JSON ( javascript ) var json_string = { status : ok } ; var json_obj = JSON.parse(json_string); console.log( json_obj.status ); // -> ok
26.
苦戦しなかった箇所
JSON Objective-c // json_string にjson文字列 json_string = ‘{”status”:”ok”}’ NSData *json_data = [json_string dataUsingEncoding:NSUTF8StringEncoding]; NSMutableArray *ret = [NSJSONSerialization JSONObjectWithData:json_data options:NSJSONReadingAllowFragments error:nil]; [ret objectForKey:@"status"]; // -> ok
27.
苦戦しなかった箇所
JSON は思ったよりもコーディングしやすかった
28.
苦戦しなかった箇所 メモリ管理(objective-c)
ARC (Automatic Reference Counting) @autoreleasepool { // 自動的にメモリ解放してもらいたい処理 } ※LL でいう GC のようなもの
29.
※ ARC の注意点 これ使うと手動で解放する
release method が 使えなくなります
30.
まとめ Objective-c 自体は思っていたよりも、難しくな かった。 (むしろ、C言語より、やりやすかった) View(描画)処理が絡むとmethod名の長いものが 出てきて、結構面倒くさい...
31.
最後に モック版(デザインはまだ、適当) ですが、ここまで作れたものをデモします http://www.youtube.com/watch?v=ivQdj8KOz9Y
32.
このモック版作れるようになるまで、
どんなもん学習したの? 30時間 ※30 x 1時間 (1日1時間 を 30日しました)
33.
- 30時間続けて勉強した訳ではない - 無理に続けて勉強しても身に付かない -
睡眠時間と適切な休憩時間は必要 - 睡眠すると頭が整理されて、解らなかった 箇所が解るようになったりする
34.
ご清聴ありがとうございました
Notas do Editor
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Baixar agora