Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Perlでの”⼩小規模”アプリ      制作事例例   2013.03.29(⾦金金)       @ruik                     1
本Talkの⽬目的     Perl  Casualは「カジュアルにPerlを楽しみたい “初⼼心者”向けのイベント」      “初⼼心者”でも “⼩小規模”アプリをCasualに作っちゃえるんだという勇気を!                ...
⾃自⼰己紹介         3
⽊木村  塁             今年年の6⽉月から                  年年末まで育児休業    @ruik                     を取得予定年年齢: 30歳職業: 会社員@KDDI    ヒカリエ33〜~...
Perlレベル          5
6
いわゆる「ライブラリの  利利⽤用者」           7
“⼩小規模”アプリ制作事例例                 8
みんなでつくる旅のしおり      2010/12          開発開始      2011/7              サービスリリース      2013/5/31    サービス終了了予定
旅の経験をもっと⼤大切切に         経験の記録         旅のしおりプランニング           経験の共有
Mash  Up   ⼀一緒に⾏行行く⼈人皆で   -‐‑‒    予定の追加   -‐‑‒    写真などの思い出   -‐‑‒    ⾏行行った場所(Check-‐‑‒in)   ができる。
Real-‐‑‒Time    旅のしおり画⾯面から、    写真投稿やCheck-‐‑‒in、予定    の追加などをすると・・・
Real-‐‑‒Time        Facebookでも旅         の情報をシェア
構成         iPhoneアプリバックエンド  サーバ やり取りは  JSON   Androidアプリ
構成(当初)アプリからのアクセス   apache     +  mod_̲perl
構成(⾒見見直し後)              外部からのアクセス                apachedaemontoolsでプロセス監視         starman
なんでMojolicious?       MojoliciousはCatalystの作者が新たに作った WebフレームワークらしいCatalystってのは俺でも知ってる          じゃあ、  Mojolicious  >  Catal...
Mojoliciousでアプリを作る  $  mojo  generate  app  sojorsojor  ./  ├──  lib  │      ├──  Sojorsojor  │      │      └──  Example.p...
Mojoliciousでアプリを作る                      lib/Sojorsojor.pm  package  Sojorsojor;  use  Mojo::Base  Mojolicious;      #  Thi...
Mojoliciousでアプリを作る  ./  ├──  lib  │      ├──  Sojorsojor            Controller  │      │      └──  Api  │      │      │  └...
Mojoliciousでアプリを作る   最終的に40個超のAPIを     アプリ向けに⽤用意    コピペコードが満載    次こそはこの反省省を      活かそう。。。
2つ⽬目の”⼩小規模”アプリ制作事例例                      23
毎⽇日の買い物を楽しくソージャ!ソージャ!の経験とコードを活かし    2011/4	  	  	  	  	  	  開発開始	    て⼯工期短縮      2011/7	  	  	  	  	  	  	  サービスリリース	     ...
毎⽇日の買い物を楽しくバーコードをスキャン   コメントや☆を共有                         皆のコメントを⾒見見て、                         ⼈人気商品をチェック!
ランキング   クエスト        バッジ
構成         iPhoneアプリバックエンド  サーバ やり取りは  JSON   Androidアプリ
Mojoliciousでアプリを作る  ./  ├──  lib  │      ├──  Itemloupe  │      │      └──  Api  │      │      │  └──  Base.pm            ...
Mojoliciousでアプリを作る                    lib/Api/Base.pm  package  Itemloupe::Api::Base;  use  strict;  use  warnings;  use  ...
Mojoliciousでアプリを作る                      lib/Api/Activity.pm  package  Itemloupe::Api::Activity;  use  strict;  use  warnin...
3つ⽬目の”⼩小規模”アプリ制作事例例                      31
ランチガチャ コミュニケーション活性化の仕          Lunch  Gacha!組みづくり     http://lunch.7hongi.com        ヒカリエで働く⼈人のためのランチスポットのリコメンドサービス       ...
構成         HTML5+JSバックエンド   のWebアプリ  サーバ やり取りは  JSON
さいごに  –  今⽇日伝えたいこと                     34
何個か作っていれば、慣れる!                 35
130329 perl casual_ruik
Nächste SlideShare
Wird geladen in …5
×

130329 perl casual_ruik

2.354 Aufrufe

Veröffentlicht am

Perl Casual #5
Perlでの”小規模”アプリ 制作事例

  • Als Erste(r) kommentieren

130329 perl casual_ruik

  1. 1. Perlでの”⼩小規模”アプリ 制作事例例 2013.03.29(⾦金金) @ruik 1
  2. 2. 本Talkの⽬目的 Perl  Casualは「カジュアルにPerlを楽しみたい “初⼼心者”向けのイベント」 “初⼼心者”でも “⼩小規模”アプリをCasualに作っちゃえるんだという勇気を! 2
  3. 3. ⾃自⼰己紹介 3
  4. 4. ⽊木村  塁 今年年の6⽉月から 年年末まで育児休業 @ruik を取得予定年年齢: 30歳職業: 会社員@KDDI ヒカリエ33〜~34階で過ごしています 主にauユーザー向けのサービス企画 ≠エンジニア 「Googleの20%ルール」のような形で 20%のリソースで新規サービスの企画&開発 ⼤大学の頃Perlでコード書いたことある、って事で サーバサイドの実装を主に担当 4
  5. 5. Perlレベル 5
  6. 6. 6
  7. 7. いわゆる「ライブラリの 利利⽤用者」 7
  8. 8. “⼩小規模”アプリ制作事例例 8
  9. 9. みんなでつくる旅のしおり 2010/12          開発開始 2011/7              サービスリリース 2013/5/31    サービス終了了予定
  10. 10. 旅の経験をもっと⼤大切切に 経験の記録 旅のしおりプランニング 経験の共有
  11. 11. Mash  Up ⼀一緒に⾏行行く⼈人皆で -‐‑‒  予定の追加 -‐‑‒  写真などの思い出 -‐‑‒  ⾏行行った場所(Check-‐‑‒in) ができる。
  12. 12. Real-‐‑‒Time 旅のしおり画⾯面から、 写真投稿やCheck-‐‑‒in、予定 の追加などをすると・・・
  13. 13. Real-‐‑‒Time Facebookでも旅 の情報をシェア
  14. 14. 構成 iPhoneアプリバックエンド サーバ やり取りは JSON Androidアプリ
  15. 15. 構成(当初)アプリからのアクセス apache + mod_̲perl
  16. 16. 構成(⾒見見直し後) 外部からのアクセス apachedaemontoolsでプロセス監視 starman
  17. 17. なんでMojolicious? MojoliciousはCatalystの作者が新たに作った WebフレームワークらしいCatalystってのは俺でも知ってる じゃあ、 Mojolicious  >  Catalyst ってことで、使おう
  18. 18. Mojoliciousでアプリを作る $  mojo  generate  app  sojorsojor ./ ├──  lib │      ├──  Sojorsojor │      │      └──  Example.pm │      └──  Sojorsojor.pm ディスパッチャ ├──  log ├──  public │      └──  index.html ├──  script │      └──  sojorsojor ├──  t │      └──  basic.t └──  templates        ├──  example        │      └──  welcome.html.ep        └──  layouts                └──  default.html.ep
  19. 19. Mojoliciousでアプリを作る lib/Sojorsojor.pm package  Sojorsojor; use  Mojo::Base  Mojolicious;   #  This  method  will  run  once  at  server  start sub  startup  { lib/Sojorsojor/Api/        my  $self  =  shift; Friend.pm   の #  Router list        my  $r  =  $self-‐‑‒>routes; を実⾏行行する   #  Normal  route  to  controller        $r-‐‑‒>get(/api/friend)-‐‑‒>to(ʼ’api-‐‑‒friend#list); } 1;
  20. 20. Mojoliciousでアプリを作る ./ ├──  lib │      ├──  Sojorsojor Controller │      │      └──  Api │      │      │  └──  Friend.pm │      │      │  └──  Search.pm │      │      │          ・ │      │      │          ・ 〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~ │      │      └──  Model Model │      │      │  └──  Friend.pm │      │      │  └──  Search.pm │      │      │          ・ │      │      │          ・ 〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~ │      └──  Sojorsojor.pm ├──  log ├──  public │      └──  index.html
  21. 21. Mojoliciousでアプリを作る 最終的に40個超のAPIを アプリ向けに⽤用意 コピペコードが満載 次こそはこの反省省を 活かそう。。。
  22. 22. 2つ⽬目の”⼩小規模”アプリ制作事例例 23
  23. 23. 毎⽇日の買い物を楽しくソージャ!ソージャ!の経験とコードを活かし 2011/4            開発開始   て⼯工期短縮 2011/7              サービスリリース   2013/5/31  サービス終了予定
  24. 24. 毎⽇日の買い物を楽しくバーコードをスキャン コメントや☆を共有 皆のコメントを⾒見見て、 ⼈人気商品をチェック!
  25. 25. ランキング クエスト バッジ
  26. 26. 構成 iPhoneアプリバックエンド サーバ やり取りは JSON Androidアプリ
  27. 27. Mojoliciousでアプリを作る ./ ├──  lib │      ├──  Itemloupe │      │      └──  Api │      │      │  └──  Base.pm 反省省を活かして、 ソージャ!ソージャ!の │      │      │  └──  Friend.pm Base.pm 経験とコードを活かし │      │      │  └──  Search.pm をちゃんと作成して、 て⼯工期短縮 │      │      │          ・ │      │      │          ・ 処理理を共通化 〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~ │      │      └──  Model │      │      │  └──  Base.pm │      │      │  └──  Friend.pm │      │      │  └──  Search.pm │      │      │          ・ │      │      │          ・ 〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~〜~ │      └──  Itemloupe.pm ├──  log
  28. 28. Mojoliciousでアプリを作る lib/Api/Base.pm package  Itemloupe::Api::Base; use  strict; use  warnings; use  base  Mojolicious::Controller; use  Itemloupe::Session; #  APIのアウトプットとなるJSONのパターンを定義 sub  api_̲output  {        my  ($self,  $data,  $error,  $type)  =  @_̲; 〜~〜~処理理を書く〜~〜~        $self-‐‑‒>render(json  =>  $output); } 1;
  29. 29. Mojoliciousでアプリを作る lib/Api/Activity.pm package  Itemloupe::Api::Activity; use  strict; use  warnings; コピペが減って use  base  Itemloupe::Api::Base; use  Itemloupe::Model::Activity; すっきり sub  get  { 〜~〜~〜~〜~〜~中略略〜~〜~〜~〜~〜~ #  activity  get        my  $activity  =  new  Itemloupe::Model::Activity;        my  $result  =  $activity-‐‑‒>get($self-‐‑‒>uid,  $uid,  $p-‐‑‒ >{type}); #  output        $self-‐‑‒>api_̲output($result,  $activity-‐‑‒>get_̲error); }
  30. 30. 3つ⽬目の”⼩小規模”アプリ制作事例例 31
  31. 31. ランチガチャ コミュニケーション活性化の仕 Lunch  Gacha!組みづくり http://lunch.7hongi.com ヒカリエで働く⼈人のためのランチスポットのリコメンドサービス 社内のヒカリエ引越しPJと7hongiPJ(内製PJ)でコラボ 2012/8            開発開始   2012/10        サービスリリース   32
  32. 32. 構成 HTML5+JSバックエンド のWebアプリ サーバ やり取りは JSON
  33. 33. さいごに  –  今⽇日伝えたいこと 34
  34. 34. 何個か作っていれば、慣れる! 35

×