SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
YAPC::Asia 2009 Tokyo



         C
         ‎ orporate Perl in Recruit,
           OpenSocial and Emoji‎

                            2009.09.10
                    Yusuke Kawasaki (kawanet)
                   Recruit Media Technology Labs
                      http://mtl.recruit.co.jp/

YAPC::Asia 2009 Tokyo                              1
Yusuke Kawasaki(川﨑 有亮)




                      http://www.kawa.net/
                   http://twitter.com/kawanet
YAPC::Asia 2009 Tokyo                           2
CPAN Author

  •   XML::TreePP
  •   XML::FeedPP
  •   Class::Accessor::Children
  •   Lingua::JA::Romanize::Japanese
  •   Lingua::KO::Romanize::Hangul
  •   Lingua::ZH::Romanize::Pinyin
  •   Encode::JP::Emoji
  •   Unicode::Emoji::Base

               http://search.cpan.org/~kawasaki/
YAPC::Asia 2009 Tokyo                              3
XML::TreePP

 • XML string from/to Perl hash object
     Pure Perl, fast, easy and stable

 • use XML::TreePP;
   my $tpp = XML::TreePP->new();
   my $hash = {elem=>"value"};
   print $tpp->write($hash); # XML string

 • my $xml = "<elem>value</elem>";
   my $tree = $tpp->parse($xml);
   print Dumper($tree); # Perl hash object
YAPC::Asia 2009 Tokyo                        4
Emoji


             Picture characters commonly
            used on mobile phones in Japan



YAPC::Asia 2009 Tokyo                        5
Emoji in private code point

 • Mobile phone companys use their own code
   point in PUA (private use area). Ex. “heart”
 • DoCoMo            KDDI           SoftBank
   U+E6EC            U+E595         U+E022
   SJIS-F991         SJIS-F7B2      SJIS-F962




 • We need translation maps for each pair of
   Emoji sets.
YAPC::Asia 2009 Tokyo                             6
Google’s code points

 • Gmail supports “emoticon” characters.




 • They also uses PUA again and has their
   translation map from/to Japanese Emojis.
 • Then, Google’s “emoji4unicode” project has
   proposed unified code points of Japanese
   Emojis to Unicode standard. Thanks!
 • http://emoji4unicode.googlecode.com/
YAPC::Asia 2009 Tokyo                           7
Two Perl Modules Released

 • Unicode::Emoji::E4U
   – Emoji mappings based on Google’s
     emoji4unicode project
   – Pure Perl OO interface for their table
 • Encode::JP::Emoji
   – Emoji encodings and cross-mapping
     tables in pure Perl
   – Pure Perl encodings for Encode.pm
   – XS (UCM) version of this was canceled.

YAPC::Asia 2009 Tokyo                         8
Encode::JP::Emoji Detail
 1. 各キャリアの Shift_JIS 絵文字コードと
    UTF-8 絵文字コードを相互変換できます。
 2. emoji4unicode の提供するテーブルにより、
    各キャリアの絵文字を相互変換できます。
 3. 絵文字が存在しない場合は、fallback により
    テキストまたは IMG タグに変換できます。
 4. 日本の 3 キャリアに加えて、Google が内部で
    利用している絵文字コードにも変換できます。
 5. emoji4unicode が提案中の PUA を利用しない
    Unicode との相互変換に対応します。
 6. pure Perl 実装のため、レンタルサーバ等でも
    FTP アップロードのみで利用できます。
 7. pure Perl 実装にもかかわらず、実用的な変換処理速度を
    確保しています。(Encode::JP::Mobile 比)
YAPC::Asia 2009 Tokyo                   9
Encode::JP::Emoji Usage
 use Encode;
 use Encode::JP::Emoji;

 # from DoCoMo <U+E6E2> to Google <U+FE82E>
 my $keycap1 = "¥xEE¥x9B¥xA2";
 Encode::from_to($keycap1, 'x-utf8-e4u-docomo', 'utf8');

 # from KDDI <SJIS+F7F5> to SoftBank <SJIS+F747>
 my $scream = "¥xF7¥xF5";
 Encode::from_to($scream, 'x-sjis-e4u-kddiapp',
   'x-sjis-e4u-softbank3g');


    Encode::JP::Mobile is an alternative module to do above.


YAPC::Asia 2009 Tokyo                                          10
Encode::JP::Emoji Internal
 例:KDDI Shift_JIS から KDDI Unicode に変換する内部コード。(概念)
 内部的には、いったん CP932 で decode してから、tr// 等で置換する仕組み。

 sub decode {
     my ($self, $octets, $check) = @_;
     $self->before_decode($octets, $check);
     my $string = $self->byte_encoding->decode($octets, $check);
     $self->after_decode($string, $check);
     $string;
 }
 sub after_decode {
     $_[1] =~ tr
     [¥x{E234}-¥x{E342}¥x{E5B5}-¥x{E5DF}]
     [¥x{E5CD}-¥x{E5DF}¥x{EA80}-¥x{EAFA}¥x{EB0E}-¥x{EB8E}
      ¥x{EAFB}-¥x{EB0D}¥x{E5B5}-¥x{E5CC}];
 }
YAPC::Asia 2009 Tokyo                                          11
Ex. Emoji for Dung

 •   DoCoMo (don’t have emoji for dung)
 •   KDDI PUA <U+E4F5>
 •   SoftBank PUA <U+E05A>
 •   Google PUA <U+FE4F4>




 • Unicode Standard proposed <U+1F410>
 • 4バイトUTF-8 なので、MySQL 5 は非対応

YAPC::Asia 2009 Tokyo                     12
OpenSocial Container
                       By Perl


                    RECRUIT は OpenSocial
                     コンテナを実装中です



YAPC::Asia 2009 Tokyo                      13
OpenSocial コンテナを開発中




                        http://creyle.jp/

 • リクルートは、『CREYLE』サービスにて
   OpenSocial コンテナを実装しています。
 • OpenSocial アプリに対応します。
 • ディベロッパー向け β リリース:
     2009年 10月予定
YAPC::Asia 2009 Tokyo                       14
OpenSocial

 • OpenSocial is a set of APIs for SNS.
 • Many SNSs in the world, including Mixi in
   Japan, support OpenSocial apps.




 • Two way to access to social network ■
   – JavaScript library interface ■
   – RESTful XML / JSON-RPC protocols ■
YAPC::Asia 2009 Tokyo                          15
Apache Shindig

 • An OpenSocial container implemention
   by Apache incubation project.
 • Consists of four parts:
   – Gadget Container JavaScript
   – Gadget Rendering Server
   – OpenSocial Container JavaScript
   – OpenSocial Data Server

 • Java and PHP version of it released.
 • No Perl version yet.
YAPC::Asia 2009 Tokyo                     16
Importing Shindig to Perl

 • We’re importing Shindig’s RPC Data API
   handling servlets to Perl!
 • Apache + FastCGI + HTTP::Engine
                                       ApiServlet.pm
         Database Layer                AppDataHandler.pm
                                       AppDataService.pm
                                       CollectionOptions.pm
       SNS          Data     Gadget    DataRequestHandler.pm
      Website      RPC API   Render    DataServiceServlet.pm
       Core        Servlet   Servlet   JsonRpcServlet.pm
                                       PersonHandler.pm
                                       PersonService.pm
          FastCGI / Perl      PHP
                                       RequestItem.pm
                                       ResponseItem.pm
                    Apache             RestRequestItem.pm
                                       RpcRequestItem.pm
                                              :
YAPC::Asia 2009 Tokyo                                          17
osapi(通称:オサピー)supported
 • 従来の OpenSocial JavaScript インターフェースに加えて、
   osapi(通称:オサピー)に対応しています。
 • newIdSpec 不要で簡潔な記述となり、開発の敷居を下げます。
 • バッチリクエストにより、多数の API 呼び出しを束ねて高速化。

      XML:
      <Require feature="osapi" />

      JavaScript:
      var batch = new osapi.newBatch();
      batch.add('members', osapi.people.get({
          userId: '@self',
          fields: ['id','displayName','thumbnailUrl']
      }));
      batch.execute(callback);
YAPC::Asia 2009 Tokyo                                   18
CREYLE × OpenSocial
 • ガジェットコンテナ(ガジェットレンダラ)は
   PHP 版 Shindig を採用しています。
 • RESTful、JSON-RPC の API(データサーバ)を
   Perl で独自実装しました。
   (Shindig の一部クラスを Perl に移植)
 • OpenSocial 0.8.1 準拠で Mixi アプリ互換!?
   一部、0.9 仕様を先取り採用しています。
   アルバム、メディア、メッセージに対応。
   osapi(通称:オサピー)で開発も快適です。
 • 2009年10月ディベロッパー向けβ公開予定。
 • ご興味・ご関心のある方、ぜひお知らせ下さい。
YAPC::Asia 2009 Tokyo                  19
MA5
              Web Application Contest


                      今年も開催します!
                   http://mashupaward.jp/


YAPC::Asia 2009 Tokyo                       20
登録は今スグ! http://mashupaward.jp/
                        21
Mashup Awards 5 (通称:MA5)
 ◇主催:Mashup Awards 実行委員会
 ◇参加登録期間 : 2009年9月10日(木)~11月4日(水)
 ◇作品応募期間 : 2009年9月25日(金)~11月4日(水)
 ◇表彰式 : 2009年11月29日(日)※予定
 ◇ウェブサイト : http://mashupaward.jp/
 ◇公式ハッシュタグ : #MA5
 ◇最優秀賞賞金 : 100万円
 ◇作品応募条件:
  参加協力企業・団体が提供する API から少なくとも1つ利用
  して、作品を制作すること。応募時点でのインターネット公
  開済・未公開は問わない。詳細・応募方法は、公式ウェブサ
  イト http://mashupaward.jp/ を参照。

YAPC::Asia 2009 Tokyo             22
MA5 協力企業
 • MA5 は、50社以上の
   協力企業が参加。

 • 各社が提供する API のうち
   1つ以上利用して、
   ウェブサイトを制作し、
   ご応募ください!

 • API 提供企業は追加募集中!
   API 提供企業以外の協力
   企業・団体(コミュニティ)
   も歓迎します。




YAPC::Asia 2009 Tokyo   23
MA5 Media Sponsors




YAPC::Asia 2009 Tokyo                 24
MA5 Leading Partners
   MA5 は、下記リーディングパートナーの協賛・協力によって、運営されます。




YAPC::Asia 2009 Tokyo                      25
ChaMap – MA4 Grand Prix

                            Geo location based
                            chat communication
                            platform service
                            using Google Maps,
                            Language API and
                            some other APIs.
                            Real time translation
                            and read out in English.




 http://www.chamap.net/
YAPC::Asia 2009 Tokyo                             26
Get 1,000,000 Yen on MA5!



 最優秀賞は
 賞金100万円!

 参加登録は今スグ!
 mashupaward.jp


YAPC::Asia 2009 Tokyo                 27
まとめ

 • リクルートは昔も今も、Perl を使っています。
   Perl の普及、YAPC・JPA を応援しています。
 • リクルート Web サービスは、mod_perl。
   http://webservice.recruit.co.jp/
 • CREYLE は、FastCGI + HTTP::Engine。
   OpenSocial コンテナを2009年10月公開予定!
   http://creyle.jp/
 • MA5 開発コンテストを開催中。賞金100万円!
   http://mashupaward.jp/


YAPC::Asia 2009 Tokyo                 28
Thank you!
                 (液晶拭きも使ってね)

            川﨑 http://twitter.com/kawanet

            石橋 http://twitter.com/iandeth



YAPC::Asia 2009 Tokyo                       29

Contenu connexe

Similaire à Corporate Perl in Recruit, OpenSocial and Emoji‎ - YAPC::Asia 2009 Tokyo

Ajax Tutorial
Ajax TutorialAjax Tutorial
Ajax Tutorialoscon2007
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPPStoyan Zhekov
 
Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoxeo Corp
 
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2iphone and Java Web Services Take 2
iphone and Java Web Services Take 2Matthew McCullough
 
iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2Matthew McCullough
 
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)taiwanweb20
 
Y! Open Strategy Overview [partial]
Y! Open Strategy Overview [partial]Y! Open Strategy Overview [partial]
Y! Open Strategy Overview [partial]Jinho Jung
 
Aleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeAleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeMobile Monday Srbija
 
2007 0822 Antelope Php
2007 0822 Antelope Php2007 0822 Antelope Php
2007 0822 Antelope Phpgmaxsonic
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & ExpressionsRich Price
 
Pylons + Tokyo Cabinet
Pylons + Tokyo CabinetPylons + Tokyo Cabinet
Pylons + Tokyo CabinetBen Cheng
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会Ippei Ogiwara
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...devsumi2009
 

Similaire à Corporate Perl in Recruit, OpenSocial and Emoji‎ - YAPC::Asia 2009 Tokyo (20)

Ajax Tutorial
Ajax TutorialAjax Tutorial
Ajax Tutorial
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPP
 
Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.com
 
Happy Coding with Ruby on Rails
Happy Coding with Ruby on RailsHappy Coding with Ruby on Rails
Happy Coding with Ruby on Rails
 
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
 
iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2
 
SearchMonkey
SearchMonkeySearchMonkey
SearchMonkey
 
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)
Web 2.0 架站工具—AJAX By Examples-馮彥文(Tempo)
 
Y! Open Strategy Overview [partial]
Y! Open Strategy Overview [partial]Y! Open Strategy Overview [partial]
Y! Open Strategy Overview [partial]
 
Aleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeAleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz Srbije
 
2007 0822 Antelope Php
2007 0822 Antelope Php2007 0822 Antelope Php
2007 0822 Antelope Php
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languages
 
PHP for Grown-ups
PHP for Grown-upsPHP for Grown-ups
PHP for Grown-ups
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & Expressions
 
Pylons + Tokyo Cabinet
Pylons + Tokyo CabinetPylons + Tokyo Cabinet
Pylons + Tokyo Cabinet
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
 

Plus de Yusuke Kawasaki

IR Light vs HEV Light - OSDC.TW 2013 #osdctw
IR Light vs HEV Light - OSDC.TW 2013 #osdctwIR Light vs HEV Light - OSDC.TW 2013 #osdctw
IR Light vs HEV Light - OSDC.TW 2013 #osdctwYusuke Kawasaki
 
Blue Light Filter 〜 おばかアプリ選手権
Blue Light Filter 〜 おばかアプリ選手権Blue Light Filter 〜 おばかアプリ選手権
Blue Light Filter 〜 おばかアプリ選手権Yusuke Kawasaki
 
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet Yusuke Kawasaki
 
HTML5 Conference [LT] Blue Light Filter 50% Off
HTML5 Conference [LT] Blue Light Filter 50% OffHTML5 Conference [LT] Blue Light Filter 50% Off
HTML5 Conference [LT] Blue Light Filter 50% OffYusuke Kawasaki
 
Mashup Awards 6 - YAPC::Asia 2010 Tokyo
Mashup Awards 6 - YAPC::Asia 2010 TokyoMashup Awards 6 - YAPC::Asia 2010 Tokyo
Mashup Awards 6 - YAPC::Asia 2010 TokyoYusuke Kawasaki
 
MR Weathercaster - The Obaka Appli Championship 3
MR Weathercaster - The Obaka Appli Championship 3MR Weathercaster - The Obaka Appli Championship 3
MR Weathercaster - The Obaka Appli Championship 3Yusuke Kawasaki
 
Recent Web Tech Updates from Japan - YAPC::Europe 2009 Lisbon
Recent Web Tech Updates from Japan - YAPC::Europe 2009 LisbonRecent Web Tech Updates from Japan - YAPC::Europe 2009 Lisbon
Recent Web Tech Updates from Japan - YAPC::Europe 2009 LisbonYusuke Kawasaki
 
JSARToolKit / LiveChromaKey / LivePointers - Next gen of AR
JSARToolKit / LiveChromaKey / LivePointers - Next gen of ARJSARToolKit / LiveChromaKey / LivePointers - Next gen of AR
JSARToolKit / LiveChromaKey / LivePointers - Next gen of ARYusuke Kawasaki
 
The JUI Digest Taipei (JSAR) - OSDC.TW 2009
The JUI Digest Taipei (JSAR) - OSDC.TW 2009The JUI Digest Taipei (JSAR) - OSDC.TW 2009
The JUI Digest Taipei (JSAR) - OSDC.TW 2009Yusuke Kawasaki
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Yusuke Kawasaki
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Yusuke Kawasaki
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Yusuke Kawasaki
 
Recruit's OpenID RP Services (渋谷テクニカルナイト)
Recruit's OpenID RP Services (渋谷テクニカルナイト)Recruit's OpenID RP Services (渋谷テクニカルナイト)
Recruit's OpenID RP Services (渋谷テクニカルナイト)Yusuke Kawasaki
 
OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)Yusuke Kawasaki
 
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009Yusuke Kawasaki
 
ATND - Recruit Media Technology Labs (Internet Week 2008)
ATND - Recruit Media Technology Labs (Internet Week 2008)ATND - Recruit Media Technology Labs (Internet Week 2008)
ATND - Recruit Media Technology Labs (Internet Week 2008)Yusuke Kawasaki
 
マッシュアップ×エンタープライズ開発 (XDev 2008)
マッシュアップ×エンタープライズ開発 (XDev 2008)マッシュアップ×エンタープライズ開発 (XDev 2008)
マッシュアップ×エンタープライズ開発 (XDev 2008)Yusuke Kawasaki
 
英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5Yusuke Kawasaki
 
Facebook.JS (JavaScript)
Facebook.JS (JavaScript)Facebook.JS (JavaScript)
Facebook.JS (JavaScript)Yusuke Kawasaki
 

Plus de Yusuke Kawasaki (19)

IR Light vs HEV Light - OSDC.TW 2013 #osdctw
IR Light vs HEV Light - OSDC.TW 2013 #osdctwIR Light vs HEV Light - OSDC.TW 2013 #osdctw
IR Light vs HEV Light - OSDC.TW 2013 #osdctw
 
Blue Light Filter 〜 おばかアプリ選手権
Blue Light Filter 〜 おばかアプリ選手権Blue Light Filter 〜 おばかアプリ選手権
Blue Light Filter 〜 おばかアプリ選手権
 
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet
シリコンバレーと世界のPerlエンジニア #yapcasia @kawanet
 
HTML5 Conference [LT] Blue Light Filter 50% Off
HTML5 Conference [LT] Blue Light Filter 50% OffHTML5 Conference [LT] Blue Light Filter 50% Off
HTML5 Conference [LT] Blue Light Filter 50% Off
 
Mashup Awards 6 - YAPC::Asia 2010 Tokyo
Mashup Awards 6 - YAPC::Asia 2010 TokyoMashup Awards 6 - YAPC::Asia 2010 Tokyo
Mashup Awards 6 - YAPC::Asia 2010 Tokyo
 
MR Weathercaster - The Obaka Appli Championship 3
MR Weathercaster - The Obaka Appli Championship 3MR Weathercaster - The Obaka Appli Championship 3
MR Weathercaster - The Obaka Appli Championship 3
 
Recent Web Tech Updates from Japan - YAPC::Europe 2009 Lisbon
Recent Web Tech Updates from Japan - YAPC::Europe 2009 LisbonRecent Web Tech Updates from Japan - YAPC::Europe 2009 Lisbon
Recent Web Tech Updates from Japan - YAPC::Europe 2009 Lisbon
 
JSARToolKit / LiveChromaKey / LivePointers - Next gen of AR
JSARToolKit / LiveChromaKey / LivePointers - Next gen of ARJSARToolKit / LiveChromaKey / LivePointers - Next gen of AR
JSARToolKit / LiveChromaKey / LivePointers - Next gen of AR
 
The JUI Digest Taipei (JSAR) - OSDC.TW 2009
The JUI Digest Taipei (JSAR) - OSDC.TW 2009The JUI Digest Taipei (JSAR) - OSDC.TW 2009
The JUI Digest Taipei (JSAR) - OSDC.TW 2009
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
 
Recruit's OpenID RP Services (渋谷テクニカルナイト)
Recruit's OpenID RP Services (渋谷テクニカルナイト)Recruit's OpenID RP Services (渋谷テクニカルナイト)
Recruit's OpenID RP Services (渋谷テクニカルナイト)
 
OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)
 
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
JUI Conference "Flashはもういらない!?" Adobe MAX Japan 2009
 
ATND - Recruit Media Technology Labs (Internet Week 2008)
ATND - Recruit Media Technology Labs (Internet Week 2008)ATND - Recruit Media Technology Labs (Internet Week 2008)
ATND - Recruit Media Technology Labs (Internet Week 2008)
 
マッシュアップ×エンタープライズ開発 (XDev 2008)
マッシュアップ×エンタープライズ開発 (XDev 2008)マッシュアップ×エンタープライズ開発 (XDev 2008)
マッシュアップ×エンタープライズ開発 (XDev 2008)
 
英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5英語ブログのスヽメ - 1000スピーカープロジェクト#5
英語ブログのスヽメ - 1000スピーカープロジェクト#5
 
Facebook.JS (JavaScript)
Facebook.JS (JavaScript)Facebook.JS (JavaScript)
Facebook.JS (JavaScript)
 

Dernier

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Dernier (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Corporate Perl in Recruit, OpenSocial and Emoji‎ - YAPC::Asia 2009 Tokyo

  • 1. YAPC::Asia 2009 Tokyo C ‎ orporate Perl in Recruit, OpenSocial and Emoji‎ 2009.09.10 Yusuke Kawasaki (kawanet) Recruit Media Technology Labs http://mtl.recruit.co.jp/ YAPC::Asia 2009 Tokyo 1
  • 2. Yusuke Kawasaki(川﨑 有亮) http://www.kawa.net/ http://twitter.com/kawanet YAPC::Asia 2009 Tokyo 2
  • 3. CPAN Author • XML::TreePP • XML::FeedPP • Class::Accessor::Children • Lingua::JA::Romanize::Japanese • Lingua::KO::Romanize::Hangul • Lingua::ZH::Romanize::Pinyin • Encode::JP::Emoji • Unicode::Emoji::Base http://search.cpan.org/~kawasaki/ YAPC::Asia 2009 Tokyo 3
  • 4. XML::TreePP • XML string from/to Perl hash object Pure Perl, fast, easy and stable • use XML::TreePP; my $tpp = XML::TreePP->new(); my $hash = {elem=>"value"}; print $tpp->write($hash); # XML string • my $xml = "<elem>value</elem>"; my $tree = $tpp->parse($xml); print Dumper($tree); # Perl hash object YAPC::Asia 2009 Tokyo 4
  • 5. Emoji Picture characters commonly used on mobile phones in Japan YAPC::Asia 2009 Tokyo 5
  • 6. Emoji in private code point • Mobile phone companys use their own code point in PUA (private use area). Ex. “heart” • DoCoMo KDDI SoftBank U+E6EC U+E595 U+E022 SJIS-F991 SJIS-F7B2 SJIS-F962 • We need translation maps for each pair of Emoji sets. YAPC::Asia 2009 Tokyo 6
  • 7. Google’s code points • Gmail supports “emoticon” characters. • They also uses PUA again and has their translation map from/to Japanese Emojis. • Then, Google’s “emoji4unicode” project has proposed unified code points of Japanese Emojis to Unicode standard. Thanks! • http://emoji4unicode.googlecode.com/ YAPC::Asia 2009 Tokyo 7
  • 8. Two Perl Modules Released • Unicode::Emoji::E4U – Emoji mappings based on Google’s emoji4unicode project – Pure Perl OO interface for their table • Encode::JP::Emoji – Emoji encodings and cross-mapping tables in pure Perl – Pure Perl encodings for Encode.pm – XS (UCM) version of this was canceled. YAPC::Asia 2009 Tokyo 8
  • 9. Encode::JP::Emoji Detail 1. 各キャリアの Shift_JIS 絵文字コードと UTF-8 絵文字コードを相互変換できます。 2. emoji4unicode の提供するテーブルにより、 各キャリアの絵文字を相互変換できます。 3. 絵文字が存在しない場合は、fallback により テキストまたは IMG タグに変換できます。 4. 日本の 3 キャリアに加えて、Google が内部で 利用している絵文字コードにも変換できます。 5. emoji4unicode が提案中の PUA を利用しない Unicode との相互変換に対応します。 6. pure Perl 実装のため、レンタルサーバ等でも FTP アップロードのみで利用できます。 7. pure Perl 実装にもかかわらず、実用的な変換処理速度を 確保しています。(Encode::JP::Mobile 比) YAPC::Asia 2009 Tokyo 9
  • 10. Encode::JP::Emoji Usage use Encode; use Encode::JP::Emoji; # from DoCoMo <U+E6E2> to Google <U+FE82E> my $keycap1 = "¥xEE¥x9B¥xA2"; Encode::from_to($keycap1, 'x-utf8-e4u-docomo', 'utf8'); # from KDDI <SJIS+F7F5> to SoftBank <SJIS+F747> my $scream = "¥xF7¥xF5"; Encode::from_to($scream, 'x-sjis-e4u-kddiapp', 'x-sjis-e4u-softbank3g'); Encode::JP::Mobile is an alternative module to do above. YAPC::Asia 2009 Tokyo 10
  • 11. Encode::JP::Emoji Internal 例:KDDI Shift_JIS から KDDI Unicode に変換する内部コード。(概念) 内部的には、いったん CP932 で decode してから、tr// 等で置換する仕組み。 sub decode { my ($self, $octets, $check) = @_; $self->before_decode($octets, $check); my $string = $self->byte_encoding->decode($octets, $check); $self->after_decode($string, $check); $string; } sub after_decode { $_[1] =~ tr [¥x{E234}-¥x{E342}¥x{E5B5}-¥x{E5DF}] [¥x{E5CD}-¥x{E5DF}¥x{EA80}-¥x{EAFA}¥x{EB0E}-¥x{EB8E} ¥x{EAFB}-¥x{EB0D}¥x{E5B5}-¥x{E5CC}]; } YAPC::Asia 2009 Tokyo 11
  • 12. Ex. Emoji for Dung • DoCoMo (don’t have emoji for dung) • KDDI PUA <U+E4F5> • SoftBank PUA <U+E05A> • Google PUA <U+FE4F4> • Unicode Standard proposed <U+1F410> • 4バイトUTF-8 なので、MySQL 5 は非対応 YAPC::Asia 2009 Tokyo 12
  • 13. OpenSocial Container By Perl RECRUIT は OpenSocial コンテナを実装中です YAPC::Asia 2009 Tokyo 13
  • 14. OpenSocial コンテナを開発中 http://creyle.jp/ • リクルートは、『CREYLE』サービスにて OpenSocial コンテナを実装しています。 • OpenSocial アプリに対応します。 • ディベロッパー向け β リリース: 2009年 10月予定 YAPC::Asia 2009 Tokyo 14
  • 15. OpenSocial • OpenSocial is a set of APIs for SNS. • Many SNSs in the world, including Mixi in Japan, support OpenSocial apps. • Two way to access to social network ■ – JavaScript library interface ■ – RESTful XML / JSON-RPC protocols ■ YAPC::Asia 2009 Tokyo 15
  • 16. Apache Shindig • An OpenSocial container implemention by Apache incubation project. • Consists of four parts: – Gadget Container JavaScript – Gadget Rendering Server – OpenSocial Container JavaScript – OpenSocial Data Server • Java and PHP version of it released. • No Perl version yet. YAPC::Asia 2009 Tokyo 16
  • 17. Importing Shindig to Perl • We’re importing Shindig’s RPC Data API handling servlets to Perl! • Apache + FastCGI + HTTP::Engine ApiServlet.pm Database Layer AppDataHandler.pm AppDataService.pm CollectionOptions.pm SNS Data Gadget DataRequestHandler.pm Website RPC API Render DataServiceServlet.pm Core Servlet Servlet JsonRpcServlet.pm PersonHandler.pm PersonService.pm FastCGI / Perl PHP RequestItem.pm ResponseItem.pm Apache RestRequestItem.pm RpcRequestItem.pm : YAPC::Asia 2009 Tokyo 17
  • 18. osapi(通称:オサピー)supported • 従来の OpenSocial JavaScript インターフェースに加えて、 osapi(通称:オサピー)に対応しています。 • newIdSpec 不要で簡潔な記述となり、開発の敷居を下げます。 • バッチリクエストにより、多数の API 呼び出しを束ねて高速化。 XML: <Require feature="osapi" /> JavaScript: var batch = new osapi.newBatch(); batch.add('members', osapi.people.get({ userId: '@self', fields: ['id','displayName','thumbnailUrl'] })); batch.execute(callback); YAPC::Asia 2009 Tokyo 18
  • 19. CREYLE × OpenSocial • ガジェットコンテナ(ガジェットレンダラ)は PHP 版 Shindig を採用しています。 • RESTful、JSON-RPC の API(データサーバ)を Perl で独自実装しました。 (Shindig の一部クラスを Perl に移植) • OpenSocial 0.8.1 準拠で Mixi アプリ互換!? 一部、0.9 仕様を先取り採用しています。 アルバム、メディア、メッセージに対応。 osapi(通称:オサピー)で開発も快適です。 • 2009年10月ディベロッパー向けβ公開予定。 • ご興味・ご関心のある方、ぜひお知らせ下さい。 YAPC::Asia 2009 Tokyo 19
  • 20. MA5 Web Application Contest 今年も開催します! http://mashupaward.jp/ YAPC::Asia 2009 Tokyo 20
  • 22. Mashup Awards 5 (通称:MA5) ◇主催:Mashup Awards 実行委員会 ◇参加登録期間 : 2009年9月10日(木)~11月4日(水) ◇作品応募期間 : 2009年9月25日(金)~11月4日(水) ◇表彰式 : 2009年11月29日(日)※予定 ◇ウェブサイト : http://mashupaward.jp/ ◇公式ハッシュタグ : #MA5 ◇最優秀賞賞金 : 100万円 ◇作品応募条件: 参加協力企業・団体が提供する API から少なくとも1つ利用 して、作品を制作すること。応募時点でのインターネット公 開済・未公開は問わない。詳細・応募方法は、公式ウェブサ イト http://mashupaward.jp/ を参照。 YAPC::Asia 2009 Tokyo 22
  • 23. MA5 協力企業 • MA5 は、50社以上の 協力企業が参加。 • 各社が提供する API のうち 1つ以上利用して、 ウェブサイトを制作し、 ご応募ください! • API 提供企業は追加募集中! API 提供企業以外の協力 企業・団体(コミュニティ) も歓迎します。 YAPC::Asia 2009 Tokyo 23
  • 25. MA5 Leading Partners MA5 は、下記リーディングパートナーの協賛・協力によって、運営されます。 YAPC::Asia 2009 Tokyo 25
  • 26. ChaMap – MA4 Grand Prix Geo location based chat communication platform service using Google Maps, Language API and some other APIs. Real time translation and read out in English. http://www.chamap.net/ YAPC::Asia 2009 Tokyo 26
  • 27. Get 1,000,000 Yen on MA5! 最優秀賞は 賞金100万円! 参加登録は今スグ! mashupaward.jp YAPC::Asia 2009 Tokyo 27
  • 28. まとめ • リクルートは昔も今も、Perl を使っています。 Perl の普及、YAPC・JPA を応援しています。 • リクルート Web サービスは、mod_perl。 http://webservice.recruit.co.jp/ • CREYLE は、FastCGI + HTTP::Engine。 OpenSocial コンテナを2009年10月公開予定! http://creyle.jp/ • MA5 開発コンテストを開催中。賞金100万円! http://mashupaward.jp/ YAPC::Asia 2009 Tokyo 28
  • 29. Thank you! (液晶拭きも使ってね) 川﨑 http://twitter.com/kawanet 石橋 http://twitter.com/iandeth YAPC::Asia 2009 Tokyo 29