エロサイト管理者の憂鬱3 - hokkaiodo.pm#4 -

56
エロサイト管理者の憂鬱Ⅲ エロくない7つの開発することについて Hokkaido.pm#04 2011年2月19日 yusukebe

Upload: yusuke-wada

Post on 24-Jan-2017

6.614 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

エロサイト管理者の憂鬱Ⅲエロくない7つの開発することについて

Hokkaido.pm#042011年2月19日yusukebe

Page 2: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

Yusuke Wada和田裕介

Page 3: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Page 4: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Page 5: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

Hokkaido.pmだからこその問題発見

Page 6: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

地方からPerlスター★が現れていない??

Page 7: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Page 8: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

Q.東京はPerl企業が多いから当然じゃない?

Page 9: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

A. 大きな企業に所属しなくてもできることはある!

Page 10: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

ライブラリエンジニア

アプリケーションエンジニア

Page 11: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

大企業に所属しなくても個人としてPerlスター★になるための

7つのこと

Webアプリケーション版

Page 12: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

1. モチベーションは何か

Page 13: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

金?

Page 14: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

ネットの新しい価値

Page 15: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

ペイ・フォワード

Page 16: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

とにかく作って表現をしよう

Page 17: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

2. 企画をする

Page 18: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Page 19: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

アイデアとは既存の要素の新しい組み合わせ以外の何ものでもない

Page 20: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

アイデアの元を貯める

Page 21: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

アイデアに行き詰まったら...

Page 22: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

シャワーを浴びよう!

Page 23: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

アイデアは組み合わせ詰まったらシャワーを浴びよう

Page 24: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

3. sandboxディレクトリで遊ぶ

Page 25: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

./!"" repo#   !"" Changes#   !"" MANIFEST.SKIP#   !"" Makefile.PL#   !"" README#   !"" lib#   #   %"" SampleApp.pm#   !"" t#   #   %"" 00_compile.t#   %"" xt#   !"" 01_podspell.t#   !"" 02_perlcritic.t#   !"" 03_pod.t#   %"" perlcriticrc%"" sandbox

Page 26: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

何のために遊ぶか?

Page 27: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

リスク!リスク!

Page 28: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

政治リスク

技術リスク

スキルリスク

...

Page 29: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

「面白いかどうか」もリスクボツにする勇気を

Page 30: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

4. フレームワークをどうするか

Page 31: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

Web Application Framework+

O/R Mapper

Page 32: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

+ DBIx::Class

or ...

Page 33: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

自作WAF + Teng

Page 34: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

Catalystを使うのは恥ずかしいことではない状況によって使い分けよう!

Page 35: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

ちなみに...no KVS, use MySQL !!

Page 36: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

5. アプリを1週間で作る

Page 37: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

鉄は熱いうちに打て

Page 38: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

OSXで全てできてしまう(VMWareもいいね!)

Page 39: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

./lib!"" SampleApp#   !"" CLI#   #   %"" Crawler.pm#   !"" Role.pm#   %"" Web#   !"" API.pm#   %"" Controller#   %"" Root.pm%"" SampleApp.pm

典型的なアプリ構成

use Mouse::Role;

use Mouse;with “SampleApp::Role”;

$c->model(“API”)->get_entries();

Page 40: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

できない所は楽をしよう

Page 41: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

6. デプロイする

Page 42: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

どこで公開するか?

Page 43: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

自宅サーバ?

Page 44: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

速い - 契約からサーバ立ち上げまで安い - 512MB $19.95 / 1month融通が利く - リサイズ、DNSサーバ、

コンソール、iPhoneアプリ

VPS!

Page 45: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

7. 運用をしていく

Page 46: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

死活監視

Page 47: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

「監視とは継続的なテストである」by kazuho

http://developer.cybozu.co.jp/kazuho/2010/01/cronlog-52f2.html

Page 48: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

use LWP::UserAgent;use Email::Sender::Simple qw(sendmail);use Email::MIME;use Try::Tiny;use YAML qw(LoadFile);use Path::Class qw( file );

my $file = $ARGV[0] || "config.yaml";die "Can't open $file" unless ( -f file($file)->stringify );my $config = LoadFile( file($file) );my $ua = LWP::UserAgent->new( agent => 'Monita/0.01', timeout => 30 );

for my $url ( @{ $config->{url} } ) { my $res = $ua->get($url); send_report( $res ) unless $res->is_success;}

sub send_report { my $res = shift; my $email = Email::MIME->create( header => [ From => $config->{from}, To => $config->{to}, Subject => $res->request->uri . ' : ' . $res->code, ], attributes => { content_type => 'text/plain', }, body => $res->status_line, ); try { sendmail($email) } catch { my $error = $_; warn $error->message };}

Page 49: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

最低限、死活監視はそして最低限の死活監視でも...

Page 50: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

おさらい

1.とにかく作って表現しよう2.組み合わせがアイデア3.リスクを検証しよう4.フレームワークはご自由に5.素早くアプリケーションを作ろう6.デプロイはVPSを検討しよう7.死活監視は最低限やりましょう

Page 51: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

さて...

Page 52: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

なぜPerlか?

Page 53: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

ライブラリエンジニア

アプリケーションエンジニア

文化

Page 54: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

最後に

Page 55: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

アイデアを思いつく人はたくさんいるが、作れる人は少ない

Page 56: エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -

次のPerlスター★はあなたです!