Akata Works

東京エンジニア。主にRuby,Go,たまにAWSとiOS。ゲーム音楽が好きです。連絡はTwitterかakata.onen@gmail.comまで

Perl

Rubyのスコープと変数定義で「What!?」ってなった話

最近になって急に、開発言語がPerlからRubyとObjective-Cに早変わりして大変です。 そして、Perlの感覚でRubyを書いていると「What!?」ってなったことがあったので、 久しぶりに記事にしてみました。 下記はPerlのコードです。 #!/usr/bin/env perl use stri…

DBIxでN+1問題に直面した・・其の壱

いにしえのコードを修正していたらDBIxでN+1問題に直面している部分を発見した!! なので解決策をサクッと書こうと思います(/・ω・)/ 初めにN+1問題とは PerlのDBIxのようなORMは最適化のために余分なカラムは読み込まないようになっていることが多いです。 …

スタブでオリジナルのメソッドを呼び出す

Test::Mock::Guardモジュール便利ですよね。シンプルで使いやすいので、よくこれでメソッドの動作を変えたりしてます。 しかしこの前、かなりシビアな条件でのみ起こり得るバグに遭遇してしまい、 Forkしたりスリープ埋め込んだりして、 なんとか再現しよう…

PerlとDBIxでトランザクションのテストをするときに注意したいこと

複数のテーブルを操作するときトランザクションを貼る必要がありますよね?? そこでよくTest::Mock::Guardなどのモジュールを使って 擬似的にエラーを吐かせたりするんですが、ちょっと詰まったとこがあったのでここにメモしておきます。 下の関数はとある…

タイピングゲームを自動化するスクリプトを組んだった

今更ながら、YAPC::ASIA 2011の竹迫さんの発表を見て興味を持ったので、 Win32::GuiTestモジュールを触ってみました。 まあ、.NET Framework使えよって話ですがね。 せっかくオープンソース化されたので、時間があれば読んでおきたいな。 開発環境はCygwinと…

Perlのプラグマについて調べてみた

ふと、プラグマってたまーに聞くけど一体全体何なんだって思ったので調べてみた 個人的にはPerlプログラミング救命病棟の以下の説明がしっくりきた Perlコンパイラの動作を変更するモジュールである φ(゚Д゚ )フムフム… 確かにstringもwarningもutf8プラグマもPerl…

Perlの文字列の扱い方・・其の壱

いい加減に理解しておこうと思って、Perlの文字列の扱い方についてまとめました。長いので2回に分けたいと思います。あと、ちょっと覚書みたいになってます(文章って難しい・・) 簡単に概要と背景ですが、 Perlのバージョン5.8以降は内部文字列をutf8とし…

AWS S3とBase64エンコードの話

最近、すごいエンジニアの人のブログを最初の記事から読んでいます。 勉強になるのはもちろんのこと、すごいエンジニアの人に比べて自分の成長スピードがいかほどか比較できておもしろいです(やっぱりすごい人はすごい!!) さて、本題に入ります。 前々回…

PerlでAWS S3にアクセスする

今やっている仕事でAWS S3上のファイルを取得する必要があり、AWSのSDKを探していたんですが、AmazonさんはPerl用のモジュールは用意してくれていなかった・・ でもCPAN上にはたくさんモジュールがあり、中でも比較的によく使われているのは Net::Amazon::S3…