Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

研究会20140604:進捗とWWDCとコードの書き方を少々

2014/06/04の研究会スライド
今取り組んでいることと(前日にWWDCがあったのでそれと)コードの書き方についてを紹介

  • Login to see the comments

  • Be the first to like this

研究会20140604:進捗とWWDCとコードの書き方を少々

  1. 1. Komachi Lab. M1 Peinan ZHANG 研究会 2014/06/04
  2. 2. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 進捗というか 今取り組んでいること&近々やること 2
  3. 3. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 今取り組んでいること 石川研との共同研究 p  Twitterを用いたアニメ,サッカーの盛り上がりの評価 対話・会話処理の勉強 p  インターンに向けての準備 筋トレ p  ベンチプレス30kgを10回4セット 3
  4. 4. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 石川研との共同研究 Twitterを用いたアニメ,サッカーの盛り上がり評価 現状 p  Crawling n IPの申請が必要 •  API1.1からはアカウントベースに変更されたため必要なく なった p  Survey n Jon Kleinberg, Bursty and Hierarchical Structure in Streams n Hiroya Takamura et al., Summarizing microblog stream p  ベースラインの実装 4
  5. 5. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 石川研との共同研究 Twitterを用いたアニメ,サッカーの盛り上がり評価 問題 ①  フィルタリングが上手くいかない n 上手く形態素解析できずに単語のみを抽出してくる •  (例)クエリ「サッカー」→「#サッカー」などのスペー スで区切られた単語しか抽出できず、「昨日サッカーを見 に行った」などのような文が抽出されない。 n Streaming APIの仕様なのかライブラリの問題なのか •  Javaでやっている人も上手く抽出できなかったので仕様な 気が… 5
  6. 6. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 石川研との共同研究 Twitterを用いたアニメ,サッカーの盛り上がり評価 問題 ②  フィルタリングに使うキーワードをどう(どこまで)決め るか n W杯でもただ単に「サッカー」だけでは全て取れない。国の 名前や人の名前を使う必要がある n 同じようにアニメは作品タイトルだけでなくその略称、登場 人物なども用いる必要がある n Twitterの制限で最大キーワードは400まで n 人手で全部考えるのには限界がある n どうすれば最も効率的に抽出できるのか 6
  7. 7. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG TODOs 共同研究でのSurvey p  Crawlingを修正(今週中に) p  盛り上がりをどう評価するか(今週中に) 対話処理の勉強 p  20日までにもらった本を読破 筋トレ p  ベンチプレス40kgを10回3セット目指して 7
  8. 8. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG おまけ(本編) コードの書き方などについて 8
  9. 9. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG ところで昨日のWWDC見ました? 自分はマリカーやってました 9
  10. 10. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG WWDC2014 を三行で n  MacOSX 10.10 Yosemite n  サードパーティを重視したiOS 8 n  新言語Swift 10
  11. 11. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG Mac OS X 10.10 Yosemite 11
  12. 12. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG Mac OSX 10.10 Yosemite n Flat UI n iCloud Drive n Safari 12
  13. 13. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG サードパーティを重視したiOS 8 ティム・クック「iOS8の話をしましょう」 13
  14. 14. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG ティム・クック 「1億3千万のユーザーが新たにAppleデバイスを利 用してくれました。」 14
  15. 15. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG ティム・クック 「人々は虫(bugs)のようなコレから、より良い環境 のために乗り換えてくれたのです。」 15
  16. 16. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG サードパーティを重視したiOS n  通知センターを強化 n  Quick Type n  iMessage強化 n  Health Kit n  Extensions n  ThirdpartyApps n  Touch ID n  Keyboard などなど 16
  17. 17. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG SWIFT 新しいプログラミング言語 17
  18. 18. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG プログラミング言語 Swift swift 1.  [adj.] 迅速な,速やかな 2.  [adj.] つかの間の 18
  19. 19. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG プログラミング言語 Swift 何が新しい・良いのか Fast Objective-Cよりはるかに速いパフォーマンス Modern Modernな言語仕様をサポート Safe 変数の型 ”var” & ”let” Powerful インタラクティブな開発が可能 19
  20. 20. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 具体的にどう良いのか 変数の型推論がある 20 // 型推論 let name   = "Shinji Ikari" // 変数の型は推論によりString型になる let age    = 14             // 変数の型は推論によりInteger型になる let height = 141.5          // 変数の型は推論によりDobule型になる let wieght:Float = 43  // Float型 let favoriteWord:String  = "最低だ俺って" //String型
  21. 21. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 具体的にどう良いのか 文字列の操作がObjCよりも簡単 21 let firstName = "Shinji" let lastName  = "Ikari" let fullName  = firstName + lastName // "Shinji Ikari" // 僕はShinji Ikariです let message   = “僕は(firstName) (lastName)です。” // Objective-Cの場合 // 文字列の連結 NSString *firstName = @"Shinji"; NSString *lastName  = @"Ikari"; NSString *fullName  = [firstName stringByAppendingString:lastName]; NSString *message   = [NSString stringWithFormat: @"僕は%@ %@",firstName,lastName];
  22. 22. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 具体的にどう良いのか ArrayやDictionaryを扱う際Objectかどうか意識し なくて良い 22 var first  = 1 var second = 2 let numbers  = [ first, second ] Objective-Cでは値とObjectを自分自身でコンテキ ストによっての使い分けが必要 例えば数値を扱う際にしてもNSIntegerは値、 NSNumberはオブジェクトとどちらを利用するかを、 コンテキストを見ながら考える必要がある
  23. 23. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 具体的にどう良いのか その他にも p  Arrayに型を持たせることができる p  Switch文に色んなデータを渡せる p  Method Chain(fluent interface)なインタフェースが書きやすい p  enumの表現力が豊か n enumの各値にprefixをつける必要がない n enumの値にデータに振る舞いを持たせることができる p  関数の引数にデフォルト値をとれる p  Closureの書き方がわかりやすい p  Classの定義が直感的 などなどがある 23
  24. 24. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 前座が長くなってしまったけど こっから本題の本題 24
  25. 25. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG コードの書き方について 読みやすいコードとは 25
  26. 26. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 読みやすいコード リーダブルコードのすゝめ 26
  27. 27. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG これってリーダブル? if (!isNotEmpty(str)){ }else{ do(); } 27 それって、なくはないよね
  28. 28. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG つづきはWEBで! 時間の都合上… 28 リーダブルコード勉強会
  29. 29. Komachi Lab. M1 Peinan ZHANGKomachi Lab. M1 Peinan ZHANG 参考・出典 u  Apple https://www.apple.com/ u  Apple Developer https://developer.apple.com/ u  Engadget http://japanese.engadget.com/ u  IT速報 http://blog.livedoor.jp/itsoku/ u  新言語SwiftがObjective-Cよりも良いところ http://qiita.com/nori0620/items/cf956fea84e82ec2aee5 u リーダブルコード勉強会 http://www.slideshare.net/norimatsu2012/ss-23791246 29

×