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.
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
Upcoming SlideShare
Loading in …5
×

130329 perl casual_ruik

2,041 views

Published on

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

  • Be the first to comment

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

×