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.

mod_perlプログラマーがYAPCで語るレガシー開発論

5,672 views

Published on

2015/9/11に行われた YAPC::Asia Tokyo 2015 リジェクトコン! で発表したLTのスライドです。

Published in: Technology
  • Be the first to comment

mod_perlプログラマーがYAPCで語るレガシー開発論

  1. 1. mod_perlプログラマーが YAPCで語るレガシー開発論 OGATA Tetsuji (@xtetsuji) 2015/09/11 YAPC::Asia リジェクトコン!
  2. 2. mod_perlプログラマーが YAPCで語るレガシー開発論 OGATA Tetsuji (@xtetsuji) 2015/09/11 YAPC::Asia リジェクトコン! リジェクトコン!
  3. 3. 自己紹介 • 尾形 鉄次 (OGATA Tetsuji) a.k.a. @xtetsuji • Blog: http://post.tetsuji.jp/ • mod_perl 芸人、無職
  4. 4. 2015年は楽しいです😘
  5. 5. mod_perlを突き詰めたきっかけ • 10年いた1社目の会社ではミドルウェアの導入に厳しい 制限があった(memcachedも却下されるほど) • でもmod_perlで書くと何故かOK!!mod_perl最高!! • mod_perl で KVS も書いたし、SMTPサーバも書いた • 2012年と2013年には YAPC::Asia Tokyo でトーク http://30d.jp/yapcasia/5/photo/476
  6. 6. 先日、1社目にまだいる後輩と 飲み会をしました
  7. 7. http://post.tetsuji.jp/2015/05/modperl-legacy-development-opinion/
  8. 8. この時の詳しいお話はブログを 参照していただくとして
  9. 9. 後輩とお話をしていて • 今も1社目にいる後輩は、モダンな開発手法をなかなか 導入できずに苦悶していた • レガシーな(?) mod_perl 企業であることへの負い目 • 私の退職直前に mod_perl の上に Mojolicious を載せた ので最近は若干恵まれているようではあるものの、他の 部分の新しいチャレンジができない
  10. 10. とはいえ、私はこう思う • 「我が社の採用技術欄」に古今東西のあらゆるプログラ ミング言語が載っていると、ヤバいという感想しかない • 中長期的視点を忘れて場当たりで技術を投入していると 数年後に「技術的負債が…」というのはお約束では? • 少ない技術要素を尖らせることは、技術戦略として特に 間違っているとは感じない(採用戦略とかは別として) https://flic.kr/p/rDT6pt
  11. 11. なにより 私は mod_perl が楽しいです😘 https://flic.kr/p/4Yk386
  12. 12. 後輩のいるそこは、私が作った mod_perlのユートピア🍩 https://flic.kr/p/4Yk386
  13. 13. そういえば、あの大企業向けに 書いたithreadsプログラム 今も動いているのかな… https://flic.kr/p/2tMLZN
  14. 14. • 私「Apacheしか使えないのに、サーバ1台で毎分xxアク セスをさばくのは絶対に無理です。サーバ増やして(ry」 • 上司「尾形くんの得意なmod_perlがあるじゃないか」 • 私「でもKVSも使えないし…」 • 上司「Apache を worker MPMで動かして、mod_perl で ithreads のコードを書けばいけるんじゃない?」 • 私「え!?絶対に嫌です!!!書きたくない!!!」 https://flic.kr/p/aVVs98
  15. 15. 結局、業務命令で書きました😞
  16. 16. でも、今も問題なく動いている らしいから、結果楽しかった🎉
  17. 17. 毎日がこんな感じの アットホームな職場でした😆
  18. 18. mod_perl today • mod_perl 2.0.9 で Perl 5.20 & Apache 2.4 対応 • 現在ベータの mod_perl 2.0.10 で Perl 5.22 対応予定 • Apache 3 計画は数年間音沙汰が無い • Apache 2.4 での細かな MPM 改良などが楽しみ
  19. 19. まとめ
  20. 20. モダンの根底はレガシー • PSGI は CGI をよく参考にしている • Plack のリクエストやレスポンスの抽象化も、もともと は mod_perl が源流の一つ(だと思っている) • レガシーと言われている mod_perl を使って、モダンな サーバの再実装は結構できる(是非はおいといて) https://flic.kr/p/aoXzVx
  21. 21. 縛りプレイも楽しめる • 多くの技術要素を投入できても、数年後に負債になるの であれば、一つの技術へのパラメータ全振りも悪くない • 「何を使うか」にこだわりすぎて「何を成し遂げるか」 を往々にして忘れがち(使うものも大切だけど) • 特に納品型受託開発の場合は、技術的要素が少ない方が 導入のしやすさやリスクポイントの少なさで喜ばれる事 もある https://flic.kr/p/bVQEeK
  22. 22. 採用や教育に関わる部分 • 変に尖ったことをやると、当然ながらノウハウが少ない • 世間の潮流に合わせたほうが、採用も教育も楽 • 技術的要素が多いことも尖ったことも、引き継ぎコスト が高いけれど、文書化などでコスト低減はできる • 結局はバランス https://flic.kr/p/dhKBmw
  23. 23. 今も昔も問題は一緒 • 残念なコードは、環境がモダンだろうとレガシーだろう と残念な人から生み出されるもの • レガシーのせいにして、本質的な問題から目をそらして いませんか? • 一番良くないのは「隣の芝は青い」とひがむこと https://flic.kr/p/4NnMw1
  24. 24. みんな自信を持とう! • レガシー環境にいる人、若い人、受託開発、中小企業、 初心者……いろんな人と話していてもみんな自信がない • mod_perl だって CGI だって悪くない場面が多いんだよ • スターエンジニアではない生き方だって楽しい! • こんな私がこれだけのびのびとしているんですから https://flic.kr/p/5pSnNR
  25. 25. 人生、楽しまないと損だし https://flic.kr/p/dQf8Wk
  26. 26. 高度に発達したレガシー技術は モダン技術と区別がつかない https://flic.kr/p/51yLAe
  27. 27. 🍺おしまい🍕

×