タグ別アーカイブ: yapcasia2013

YAPC Asia 2013 へ参加してきた(メモ)


YAPC Asia 2013に参加してきました。初めて大型のカンファレンスへ参加しました。
単純にすごい刺激を受けました。

カンファレンス中に1つのモジュールをCPANにリリースする @tokuhirom さんとかすごすぎと思いました。
でも、とはいえやっぱりエンジニアとしてやっている以上、何か作って残していこうと思いました!!

それから数日後、初めてPull Requestが取り込まれたりして今後の1年間は積極的にオープンソースと関わったり、自分のプロダクトを出していこうと思います!!

ホント刺激になった。。。

ここからはあYAPCの時に気になったことのメモ

いまどきのカジュアルなデータベース開発

知らなかったMysql型 : utf8mb4

モダンPerlリファクタリング

  • CUIのプログラム
    モジュールをテストしやすい形に直す。
    テストから利用しやすいインターフェースにする。
    end2endのテスト(Test::Base)

  • Webアプリ
    Plack化する
    Plak::App::WrapCGIでPlack化する
    Plack化もできない場合はやはりEnd2Endのテストをする( Capybara )

  • 繰り返す
    より粒度の細かいテストを追加して、リファクタリングを進める

  • バグ
    バグを見つけたらバグを再現するテストを書く(回帰テスト)

  • 継続的に
    Travis-ci
    Guard + guard-tap
    テストは ほどほど にやる

  • リファクタリング
    リファクタリングの最初の一歩のEnd2Endのテストを書く。
    回帰テストで細かく進めていく

perl な web application のためのテスト情報

File::Temp
ファイルのアップロードなどのてすとで並列実行させたい時にアップロードするファイル名を変更する
tempfs

Programming AWS with Perl

AWS Command Line Interface とかの話

スライド:http://sssslide.com/http://www.slideshare.net/horiyasu/programming-aws-with-perl-at

AWS_CLIの使いかた
インストール方法
% pip install awscli

~/.aws/config にACCESS_KEY などを設定する

What’s new in Carton & cpanm

スライド:https://speakerdeck.com/miyagawa/whats-new-in-carton-and-cpanm-at-yapc-asia-2013

アンインストール
% cpanm uninstall Hoge

本当にあったレガシーな話

  • ログを取る
    • コメントアウトしているwarn()とか意味ない
    • スイッチ一発でログ出力したい
    • 基本はLog::Minimul
    • 本番環境にログを制御するコードを
    • 定数フラグでログ出力を制御する(if文で丁寧に細かくログ出力するコードを入れていく)
    • ログを丁寧に仕込むことで
  • mod_perlのApache::RequestをPlack::Requiestにする
  • Server::Starter
    –spawn-interval オプションでワーカープロセスの再起動を間隔空ける
    Server::Starter、Starman、Starletを使ったオレオレ運用方法
watchコマンドでプロセスの起動状況が見られる
% watch  -n 1 "ps -ef "
  • Rubyのkage

リンク集