SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
インターネット広告と
            Perl、ここ数年の歩み


                 2012.10.19 Yokohama.pm #9
                           nekoya



2012年10月19日金曜日
今時のネット広告に
                   よくある図


2012年10月19日金曜日
純広告




                 広告枠      SSP, ad server   adnetwork




                                             DSP




                       1つの広告を表示するために
                       多数システムが連携している



2012年10月19日金曜日
複数の広告システム連携

          • こうした事情は多分あまり知られていない

          • この中でPerlが使われてきたことは、さらに知
             られていない(はず)




2012年10月19日金曜日
Perlによる広告配信

          • Perlで書かれた広告配信システムについて、
             自分が見てきたものの話をします

          • あくまで自分が見てきた範囲のお話です




2012年10月19日金曜日
で、お前何なの?




2012年10月19日金曜日
純広告




                 広告枠   SSP, ad server   adnetwork




                                          DSP




2012年10月19日金曜日
純広告




                 広告枠   SSP, ad server   adnetwork




                                          DSP




                 SSP + AD Nerwork

2012年10月19日金曜日
http://kau.li/


         • 2009年 設立、adnetworkリリース

         • 2010年 SSPリリース

         • 2011年 RTB対応(Kauli - FreakOutが日本初)

         • 2012年 スマートフォン対応、Google AdSenseリセラー




2012年10月19日金曜日
SSP      Supply Side Platform

          • 媒体向けプラットフォーム

          • サイト、広告枠の収益を最適化するツール

          • RTB(RealTime Bidding)対応が普通




2012年10月19日金曜日
50ms or die?




2012年10月19日金曜日
100ms or kill
                 遅いのを切り捨てる側のお仕事です




2012年10月19日金曜日
SSPとかDSPとかアドネットワー
             クとかアドサーバとかいろいろ
                 あって分かりにくい?




2012年10月19日金曜日
2012年10月19日金曜日
Display Advertising Technology Landscape [JP/2012]
                                Media Buying                                             Ad Networks                  Sharing Data
                 Agencies        Platforms /          DSPs            Exchanges
                                                                                          Horizontal                 / Social Tools
                                Agency Desk




                                                                                                                            SSPs
                                 Media Rep
                                                                                                                                      P
      M                                                                               Video / Rich Media
                                                                                                                                      U   C
      A                                                                                                                               B   O
      R                                                                               Vertical / Targeted                             L   N
      K                          Creative
                                Optimization
                                                 Media Planning       DMPs and
                                                                   Data Aggregators
                                                                                                                                      I   S
                                                 and Attribution
      E                                                                                                                               S   U
                                                                                         Performance                   Publisher
      T                                                                                                                 Tools         H   M
      E                                            Tag Mgmt                                                                           E   E
      R                                                                                                                Ad Servers
                                                                                                                                      R   R
                                 Retargeting       Data Feed                                Mobile                                    S
                 Ad Servers
                                Verification /    Measurement       Data Suppliers
                                   Privacy        and Analytics




                                                                                        Media Mgmt Systems and Operations


             本資料は作者がLUMApartners作成の「DISPLAY LUMAscape」を参考に個人的に作成したもので所属会社の利害関係や取引関係を現したり、特定の商品を販売・推奨するための資料ではありません。
                      ロゴ、サービス名の表記に関しても個別に許諾を得たものではありません。万が一、問題がある場合は直接ご連絡頂ければ使用を中止いたします。 Twitter: @hirohirokon (近藤洋司)




2012年10月19日金曜日
Display Advertising Technology Landscape [JP/2012]
                                Media Buying                                             Ad Networks                  Sharing Data
                 Agencies        Platforms /          DSPs            Exchanges
                                                                                          Horizontal                 / Social Tools
                                Agency Desk




                                                                                                                            SSPs
                                 Media Rep
                                                                                                                                      P
      M                                                                               Video / Rich Media
                                                                                                                                      U   C
      A                                                                                                                               B   O
      R                                                                               Vertical / Targeted                             L   N
      K                          Creative
                                Optimization
                                                 Media Planning       DMPs and
                                                                   Data Aggregators
                                                                                                                                      I   S
                                                 and Attribution
      E                                                                                                                               S   U
                                                                                         Performance                   Publisher
      T                                                                                                                 Tools         H   M
      E                                            Tag Mgmt                                                                           E   E
      R                                                                                                                Ad Servers
                                                                                                                                      R   R
                                 Retargeting       Data Feed                                Mobile                                    S
                 Ad Servers
                                Verification /    Measurement       Data Suppliers
                                   Privacy        and Analytics




                                                                                        Media Mgmt Systems and Operations


             本資料は作者がLUMApartners作成の「DISPLAY LUMAscape」を参考に個人的に作成したもので所属会社の利害関係や取引関係を現したり、特定の商品を販売・推奨するための資料ではありません。
                      ロゴ、サービス名の表記に関しても個別に許諾を得たものではありません。万が一、問題がある場合は直接ご連絡頂ければ使用を中止いたします。 Twitter: @hirohirokon (近藤洋司)




2012年10月19日金曜日
カオスマップ
                 マジカオス


2012年10月19日金曜日
裏を返せばやれることは
                 いくらでもある


2012年10月19日金曜日
エンジニアにとって
                  面白い業界


2012年10月19日金曜日
広告配信の特徴
          • 大量のリクエストを受ける

          • 高速なレスポンスが求められる

          • サーバの気持ちになってコードを書く

          • 自社サイトでないので落とすと大変

          • 「問題が起きても落ちない」体制作り

2012年10月19日金曜日
ふつうのことを
                 ふつうにやる


2012年10月19日金曜日
広告配信システムの基本

                 request   application   response




                             INDEX          DB




2012年10月19日金曜日
何かに似ている




2012年10月19日金曜日
検索エンジンの基本

                 検索クエリ   検索エンジン    検索結果




                         転置INDEX   ドキュメント




2012年10月19日金曜日
• 広告配信の教科書にもなる

                 • 「○○を支える技術」は鉄板




2012年10月19日金曜日
俺とネット広告


          • 2007年から関わり始めた

          • 大きく分けて、5世代のシステムに携わった




2012年10月19日金曜日
広告配信システムの特徴
          • 小さなリクエストを高速かつ大量に捌く
                        ・・・
          • JavaやCに向いた分野だった

          • 配信ロジックは年々複雑化する一方

          • Cで書くのはしんどいのでは

          • PHPでリクエスト毎にnewしまくるのも非効率

                              ※個人の感想です
2012年10月19日金曜日
Perlによる広告配信システム


          • ここ数年のPerlの進化は非常に大きい

          • 広告配信にとってリターンが大きかった

          • 今こそ「Perlで広告配信」は有効な選択




2012年10月19日金曜日
第一期
                 2007年




2012年10月19日金曜日
背景
          • Perl関連の情報が得にくかった時期

          • 検索してもKENT CGI的な情報が多かった

          • 当時はPHPをメインで使用していた

          • Perlは書かずにインフラとPHPを担当



2012年10月19日金曜日
OS∼ミドルウェア層
          • RAID1のミラーを使ってOSコピー

          • sudo cpanしまくるシェルスクリプト

          • mod_proxy_balancer

          • SpeedyCGI(mod_perlだったかも)




2012年10月19日金曜日
Perl関連
          • Perl部分は書いてないのであまり憶えていない

          • DBI + DBD::mysql

          • Cache::Memcached::Fast

          • Storable




2012年10月19日金曜日
第二期
                 2007 ∼ 2008年




2012年10月19日金曜日
背景

          • はてなが京都に戻った頃

          • 第一期的な配信をスケールさせるお仕事

          • 開発と関係ないところでいろいろ面倒だった




2012年10月19日金曜日
OS∼ミドルウェア層
          • PXE boot + kickstart + Puppet

          • モジュールは/usr/local/CPAN/に入れてrsync

          • LVS

          • mod_perl2, mod_log_rotate




2012年10月19日金曜日
Perl関連
          • Perl書き始めた(Jcode.pm時代以来)

          • use utf8するだけで色々と大変なことに

          • DBIx::Class(要Perl本体のRPM rebuild)

          • Template Toolkit

          • BerkleyDB



2012年10月19日金曜日
こぼれ話
          • abのベンチマークで6000req/secが必達

          • ディスクI/Oが完全にボトルネックに

          • ext3→ext2に変更して解決

          • この後フリーランスになって広告を離れた

          • perl-users.jp設立、Lighty+Catalyst期へ



2012年10月19日金曜日
第三期
                 2009 ∼ 2010年




2012年10月19日金曜日
背景
          • モダンPerl時代の幕開け

          • 空前のMooooooseブーム

          • YAPCでPlackが発表された

          • 広告配信に再び携わることに



2012年10月19日金曜日
OS∼ミドルウェア層

          • cobbler + Puppet + capistrano

          • LVS + nginx + starman + cronolog

          • daemontools

          • 相変わらず/usr/local/CPAN/




2012年10月19日金曜日
Perl関連
          • Plack

          • Any::Moose

          • TokyoCabinet + JSON::XS

          • DBIx::Skinny

          • URI::Escape::XS



2012年10月19日金曜日
Any::Moose

          • 配信はMouse、バッチ等はMooseを使用

          • Mouseが出始めで安定性に不安があった

          • それでも使いたかったんや




2012年10月19日金曜日
URI::Escape::XS
          • query_stringのパースが地味に重かった

          • 不振な挙動についてIRCで相談してみた

          • kazuhoさんが即時特定してpatch作成

          • danさんが即日リリース

          • Perlコミュニティマジパねぇ

          • https://gist.github.com/3915751



2012年10月19日金曜日
第四期
                 2010 ∼ 2011年




2012年10月19日金曜日
背景


          • 2012/01/12 Kauli - FreakOut間でRTB取引開始




2012年10月19日金曜日
OS∼ミドルウェア層

          • perlbrew + cpanm

          • PERLBREW_ROOT=/kauli/perlbrew

          • Perl 5.12.2

          • TokyoTyrant




2012年10月19日金曜日
Perl関連

          • Mouse

          • Object::Container

          • Text::Xslate




2012年10月19日金曜日
Mouse
          • MouseX::Foreignでno Any::Mooseに

          • アクセサはClass::Accessor::Fastより速い

          • lazy, defaultでテスタビリティを高く保つ

          • roleとかは不要

          • コードの枠を提供するWAF的な位置付け



2012年10月19日金曜日
第五期
                 2012年




2012年10月19日金曜日
_人人人人人人_
                 > 突然のPython <
                  ̄Y^Y^Y^Y^Y^ ̄




2012年10月19日金曜日
背景
          • 会社の言語をPythonに切り替えました

          • それまで各自が好きな言語を使っていた

          • 社長がJava, Python使い

          • 代表者が使える言語にするのがいいと判断

          • 共通語として採用するには筋がいいだろう



2012年10月19日金曜日
OS∼ミドルウェア層

          • LVS + nginx + uWSGI

          • Redis

          • werkzeug




2012年10月19日金曜日
まとめ




2012年10月19日金曜日
Perlによる広告配信

          • 数年前に比べて段違いに作りやすくなった

          • 特にPlack移行の躍進が劇的

          • Perlコミュニティ++




2012年10月19日金曜日
最後に




2012年10月19日金曜日
Kauliではエンジニアを
                 募集しています


2012年10月19日金曜日
• 開発は全てgithub

                 • 渋谷駅 徒歩7分

                 • フリーアドレス

                 • ディスプレイ完備

                 • フリーおやつはありません

                 • エンジニアほぼ全員Mac

                 • 圧倒的にvim優勢



2012年10月19日金曜日
Pythonにも興味のある方の
           ご応募お待ちしております



2012年10月19日金曜日
2012年10月19日金曜日

Más contenido relacionado

Similar a インターネット広告とPerl、ここ数年の歩み

DI.コンサルティング&プランニング
DI.コンサルティング&プランニングDI.コンサルティング&プランニング
DI.コンサルティング&プランニングDigital Intelligence Inc.
 
モバイル&ソーシャルウイーク
モバイル&ソーシャルウイークモバイル&ソーシャルウイーク
モバイル&ソーシャルウイークShinya Nakazawa
 
ログ解析の次にあるもの(リレーションシップリターゲティング)
ログ解析の次にあるもの(リレーションシップリターゲティング)ログ解析の次にあるもの(リレーションシップリターゲティング)
ログ解析の次にあるもの(リレーションシップリターゲティング)Shinya Nakazawa
 
マーケティングダッシュボード構築支援
マーケティングダッシュボード構築支援マーケティングダッシュボード構築支援
マーケティングダッシュボード構築支援Digital Intelligence Inc.
 
広告ビジネス 次の1年
広告ビジネス 次の1年広告ビジネス 次の1年
広告ビジネス 次の1年晃輔 藪本
 
【.FOX講演資料】0823セミナー
【.FOX講演資料】0823セミナー【.FOX講演資料】0823セミナー
【.FOX講演資料】0823セミナーAUN CONSULTING, Inc
 
スマートフォン効果解析ツール「Ad store tracking」の活用事例
スマートフォン効果解析ツール「Ad store tracking」の活用事例スマートフォン効果解析ツール「Ad store tracking」の活用事例
スマートフォン効果解析ツール「Ad store tracking」の活用事例Hiromitsu Ishimori
 
Ca様 diplay suitedmp_spire_111218
Ca様 diplay suitedmp_spire_111218Ca様 diplay suitedmp_spire_111218
Ca様 diplay suitedmp_spire_111218Kenta Arai
 

Similar a インターネット広告とPerl、ここ数年の歩み (9)

DI.コンサルティング&プランニング
DI.コンサルティング&プランニングDI.コンサルティング&プランニング
DI.コンサルティング&プランニング
 
モバイル&ソーシャルウイーク
モバイル&ソーシャルウイークモバイル&ソーシャルウイーク
モバイル&ソーシャルウイーク
 
ログ解析の次にあるもの(リレーションシップリターゲティング)
ログ解析の次にあるもの(リレーションシップリターゲティング)ログ解析の次にあるもの(リレーションシップリターゲティング)
ログ解析の次にあるもの(リレーションシップリターゲティング)
 
AD-MAC (Marketing Consolidation Service)
AD-MAC (Marketing Consolidation Service)AD-MAC (Marketing Consolidation Service)
AD-MAC (Marketing Consolidation Service)
 
マーケティングダッシュボード構築支援
マーケティングダッシュボード構築支援マーケティングダッシュボード構築支援
マーケティングダッシュボード構築支援
 
広告ビジネス 次の1年
広告ビジネス 次の1年広告ビジネス 次の1年
広告ビジネス 次の1年
 
【.FOX講演資料】0823セミナー
【.FOX講演資料】0823セミナー【.FOX講演資料】0823セミナー
【.FOX講演資料】0823セミナー
 
スマートフォン効果解析ツール「Ad store tracking」の活用事例
スマートフォン効果解析ツール「Ad store tracking」の活用事例スマートフォン効果解析ツール「Ad store tracking」の活用事例
スマートフォン効果解析ツール「Ad store tracking」の活用事例
 
Ca様 diplay suitedmp_spire_111218
Ca様 diplay suitedmp_spire_111218Ca様 diplay suitedmp_spire_111218
Ca様 diplay suitedmp_spire_111218
 

Más de Ryo Miyake

オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門Ryo Miyake
 
DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちRyo Miyake
 
俺とプログラマーズカフェ
俺とプログラマーズカフェ俺とプログラマーズカフェ
俺とプログラマーズカフェRyo Miyake
 

Más de Ryo Miyake (6)

オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
 
About test
About testAbout test
About test
 
Python setup
Python setupPython setup
Python setup
 
DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たち
 
俺とプログラマーズカフェ
俺とプログラマーズカフェ俺とプログラマーズカフェ
俺とプログラマーズカフェ
 
SmartCSS
SmartCSSSmartCSS
SmartCSS
 

Último

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Último (8)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

インターネット広告とPerl、ここ数年の歩み

  • 1. インターネット広告と Perl、ここ数年の歩み 2012.10.19 Yokohama.pm #9 nekoya 2012年10月19日金曜日
  • 2. 今時のネット広告に よくある図 2012年10月19日金曜日
  • 3. 純広告 広告枠 SSP, ad server adnetwork DSP 1つの広告を表示するために 多数システムが連携している 2012年10月19日金曜日
  • 4. 複数の広告システム連携 • こうした事情は多分あまり知られていない • この中でPerlが使われてきたことは、さらに知 られていない(はず) 2012年10月19日金曜日
  • 5. Perlによる広告配信 • Perlで書かれた広告配信システムについて、 自分が見てきたものの話をします • あくまで自分が見てきた範囲のお話です 2012年10月19日金曜日
  • 7. 純広告 広告枠 SSP, ad server adnetwork DSP 2012年10月19日金曜日
  • 8. 純広告 広告枠 SSP, ad server adnetwork DSP SSP + AD Nerwork 2012年10月19日金曜日
  • 9. http://kau.li/ • 2009年 設立、adnetworkリリース • 2010年 SSPリリース • 2011年 RTB対応(Kauli - FreakOutが日本初) • 2012年 スマートフォン対応、Google AdSenseリセラー 2012年10月19日金曜日
  • 10. SSP Supply Side Platform • 媒体向けプラットフォーム • サイト、広告枠の収益を最適化するツール • RTB(RealTime Bidding)対応が普通 2012年10月19日金曜日
  • 12. 100ms or kill 遅いのを切り捨てる側のお仕事です 2012年10月19日金曜日
  • 13. SSPとかDSPとかアドネットワー クとかアドサーバとかいろいろ あって分かりにくい? 2012年10月19日金曜日
  • 15. Display Advertising Technology Landscape [JP/2012] Media Buying Ad Networks Sharing Data Agencies Platforms / DSPs Exchanges Horizontal / Social Tools Agency Desk SSPs Media Rep P M Video / Rich Media U C A B O R Vertical / Targeted L N K Creative Optimization Media Planning DMPs and Data Aggregators I S and Attribution E S U Performance Publisher T Tools H M E Tag Mgmt E E R Ad Servers R R Retargeting Data Feed Mobile S Ad Servers Verification / Measurement Data Suppliers Privacy and Analytics Media Mgmt Systems and Operations 本資料は作者がLUMApartners作成の「DISPLAY LUMAscape」を参考に個人的に作成したもので所属会社の利害関係や取引関係を現したり、特定の商品を販売・推奨するための資料ではありません。 ロゴ、サービス名の表記に関しても個別に許諾を得たものではありません。万が一、問題がある場合は直接ご連絡頂ければ使用を中止いたします。 Twitter: @hirohirokon (近藤洋司) 2012年10月19日金曜日
  • 16. Display Advertising Technology Landscape [JP/2012] Media Buying Ad Networks Sharing Data Agencies Platforms / DSPs Exchanges Horizontal / Social Tools Agency Desk SSPs Media Rep P M Video / Rich Media U C A B O R Vertical / Targeted L N K Creative Optimization Media Planning DMPs and Data Aggregators I S and Attribution E S U Performance Publisher T Tools H M E Tag Mgmt E E R Ad Servers R R Retargeting Data Feed Mobile S Ad Servers Verification / Measurement Data Suppliers Privacy and Analytics Media Mgmt Systems and Operations 本資料は作者がLUMApartners作成の「DISPLAY LUMAscape」を参考に個人的に作成したもので所属会社の利害関係や取引関係を現したり、特定の商品を販売・推奨するための資料ではありません。 ロゴ、サービス名の表記に関しても個別に許諾を得たものではありません。万が一、問題がある場合は直接ご連絡頂ければ使用を中止いたします。 Twitter: @hirohirokon (近藤洋司) 2012年10月19日金曜日
  • 17. カオスマップ マジカオス 2012年10月19日金曜日
  • 18. 裏を返せばやれることは いくらでもある 2012年10月19日金曜日
  • 19. エンジニアにとって 面白い業界 2012年10月19日金曜日
  • 20. 広告配信の特徴 • 大量のリクエストを受ける • 高速なレスポンスが求められる • サーバの気持ちになってコードを書く • 自社サイトでないので落とすと大変 • 「問題が起きても落ちない」体制作り 2012年10月19日金曜日
  • 21. ふつうのことを ふつうにやる 2012年10月19日金曜日
  • 22. 広告配信システムの基本 request application response INDEX DB 2012年10月19日金曜日
  • 24. 検索エンジンの基本 検索クエリ 検索エンジン 検索結果 転置INDEX ドキュメント 2012年10月19日金曜日
  • 25. • 広告配信の教科書にもなる • 「○○を支える技術」は鉄板 2012年10月19日金曜日
  • 26. 俺とネット広告 • 2007年から関わり始めた • 大きく分けて、5世代のシステムに携わった 2012年10月19日金曜日
  • 27. 広告配信システムの特徴 • 小さなリクエストを高速かつ大量に捌く ・・・ • JavaやCに向いた分野だった • 配信ロジックは年々複雑化する一方 • Cで書くのはしんどいのでは • PHPでリクエスト毎にnewしまくるのも非効率 ※個人の感想です 2012年10月19日金曜日
  • 28. Perlによる広告配信システム • ここ数年のPerlの進化は非常に大きい • 広告配信にとってリターンが大きかった • 今こそ「Perlで広告配信」は有効な選択 2012年10月19日金曜日
  • 29. 第一期 2007年 2012年10月19日金曜日
  • 30. 背景 • Perl関連の情報が得にくかった時期 • 検索してもKENT CGI的な情報が多かった • 当時はPHPをメインで使用していた • Perlは書かずにインフラとPHPを担当 2012年10月19日金曜日
  • 31. OS∼ミドルウェア層 • RAID1のミラーを使ってOSコピー • sudo cpanしまくるシェルスクリプト • mod_proxy_balancer • SpeedyCGI(mod_perlだったかも) 2012年10月19日金曜日
  • 32. Perl関連 • Perl部分は書いてないのであまり憶えていない • DBI + DBD::mysql • Cache::Memcached::Fast • Storable 2012年10月19日金曜日
  • 33. 第二期 2007 ∼ 2008年 2012年10月19日金曜日
  • 34. 背景 • はてなが京都に戻った頃 • 第一期的な配信をスケールさせるお仕事 • 開発と関係ないところでいろいろ面倒だった 2012年10月19日金曜日
  • 35. OS∼ミドルウェア層 • PXE boot + kickstart + Puppet • モジュールは/usr/local/CPAN/に入れてrsync • LVS • mod_perl2, mod_log_rotate 2012年10月19日金曜日
  • 36. Perl関連 • Perl書き始めた(Jcode.pm時代以来) • use utf8するだけで色々と大変なことに • DBIx::Class(要Perl本体のRPM rebuild) • Template Toolkit • BerkleyDB 2012年10月19日金曜日
  • 37. こぼれ話 • abのベンチマークで6000req/secが必達 • ディスクI/Oが完全にボトルネックに • ext3→ext2に変更して解決 • この後フリーランスになって広告を離れた • perl-users.jp設立、Lighty+Catalyst期へ 2012年10月19日金曜日
  • 38. 第三期 2009 ∼ 2010年 2012年10月19日金曜日
  • 39. 背景 • モダンPerl時代の幕開け • 空前のMooooooseブーム • YAPCでPlackが発表された • 広告配信に再び携わることに 2012年10月19日金曜日
  • 40. OS∼ミドルウェア層 • cobbler + Puppet + capistrano • LVS + nginx + starman + cronolog • daemontools • 相変わらず/usr/local/CPAN/ 2012年10月19日金曜日
  • 41. Perl関連 • Plack • Any::Moose • TokyoCabinet + JSON::XS • DBIx::Skinny • URI::Escape::XS 2012年10月19日金曜日
  • 42. Any::Moose • 配信はMouse、バッチ等はMooseを使用 • Mouseが出始めで安定性に不安があった • それでも使いたかったんや 2012年10月19日金曜日
  • 43. URI::Escape::XS • query_stringのパースが地味に重かった • 不振な挙動についてIRCで相談してみた • kazuhoさんが即時特定してpatch作成 • danさんが即日リリース • Perlコミュニティマジパねぇ • https://gist.github.com/3915751 2012年10月19日金曜日
  • 44. 第四期 2010 ∼ 2011年 2012年10月19日金曜日
  • 45. 背景 • 2012/01/12 Kauli - FreakOut間でRTB取引開始 2012年10月19日金曜日
  • 46. OS∼ミドルウェア層 • perlbrew + cpanm • PERLBREW_ROOT=/kauli/perlbrew • Perl 5.12.2 • TokyoTyrant 2012年10月19日金曜日
  • 47. Perl関連 • Mouse • Object::Container • Text::Xslate 2012年10月19日金曜日
  • 48. Mouse • MouseX::Foreignでno Any::Mooseに • アクセサはClass::Accessor::Fastより速い • lazy, defaultでテスタビリティを高く保つ • roleとかは不要 • コードの枠を提供するWAF的な位置付け 2012年10月19日金曜日
  • 49. 第五期 2012年 2012年10月19日金曜日
  • 50. _人人人人人人_ > 突然のPython <  ̄Y^Y^Y^Y^Y^ ̄ 2012年10月19日金曜日
  • 51. 背景 • 会社の言語をPythonに切り替えました • それまで各自が好きな言語を使っていた • 社長がJava, Python使い • 代表者が使える言語にするのがいいと判断 • 共通語として採用するには筋がいいだろう 2012年10月19日金曜日
  • 52. OS∼ミドルウェア層 • LVS + nginx + uWSGI • Redis • werkzeug 2012年10月19日金曜日
  • 54. Perlによる広告配信 • 数年前に比べて段違いに作りやすくなった • 特にPlack移行の躍進が劇的 • Perlコミュニティ++ 2012年10月19日金曜日
  • 56. Kauliではエンジニアを 募集しています 2012年10月19日金曜日
  • 57. • 開発は全てgithub • 渋谷駅 徒歩7分 • フリーアドレス • ディスプレイ完備 • フリーおやつはありません • エンジニアほぼ全員Mac • 圧倒的にvim優勢 2012年10月19日金曜日
  • 58. Pythonにも興味のある方の ご応募お待ちしております 2012年10月19日金曜日