perl
クライアントサイド(Unity)の時間依存の処理(2013-07-10〜2013-07-20までにログインしたら報酬プレゼントとか)のテストを書きたかったので、サーバの時間を固定する処理が欲しくて書いた時に悩む事が多かったのでメモ BEGINEブロックでCORE::GLOBAL::timeな…
perl Data::Validatorの、hashで引数渡さなくても良いStrictSequenceというのもある http://search.cpan.org/~gfuji/Data-Validator-1.03/lib/Data/Validator.pm#___top リファレンスの例文 sub hoge { state $rule = Data::Validator->new( foo => 'Str', )…
最近一つの機能をガーッと実装して、気付いたら分かりにくいコードを量産してたので、下記に今後から気をつけたい事をメモる そもそも関数にする理由 関数名の先頭にアンダースコアを付けて外部クラスから呼ばれたくないアピールできる 複雑な処理をする場合…
Tool ILSPAY http://sourceforge.net/projects/sharpdevelop/files/ILSpy/ DLLをデコンパイルするツール duコマンド サーバ内で使うと一時的に負荷がかかるのであまり良くない http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230748/ ディレクトリ内…
ORM使ってて、便利で余裕キメてたらn+1問題を起こしてた。 n+1問題とは 1回目 のselectで、あるテーブルのレコードの集合を取ってきて、更にまた別のテーブルから先ほど取得したレコードデータ使用して n回 selectクエリを発行してしまう現象だ。 うまく説明…
MVCパターンを利用したフレームワークのArkとか使ってると、基本的にModelで出たエラーをControllerの、例えばhoge/errorというアクションに渡してクライアントにエラー文を送ったりする。 Modelでエラーを丸め込んで投げちゃうのは良くない 以下の様な感じ …
Tool pandoc Textile、MarkDownからHTMLまで相互変換できるらしいし、便利そう http://johnmacfarlane.net/pandoc/try/ Perl 変数名の頭文字の*マーク 正規表現と同じで、全ての型に対応するものらしい。 http://d.hatena.ne.jp/chaichanPaPa/20090617/12452…
perlには例外処理が無いからTry::Tinyとかの例外処理用のモジュールがあるって認識だったけど、違った。 evalの例外処理について Try::Tinyは以下のevalを使った例外処理の記述をtry{}catch{}にして例外を返してくれるモジュールだった。 eval { die 'fugu' …
Const.pmとconfig.pl 環境によって変更する値はconfig.plで そうじゃないのはConst.pmで管理した方がいい config.plが膨らんじゃうのも見づらい トランザクションについて メソッドの中で多くのDB操作をするならば、メソッドの中でトランザクション宣言した…
POSTメソッドの引数に無名配列の中にハッシュの様な物が入ってて意味分かんなかった #色々省略してるけどこんなん POST($url, [ fugu => 'kawaii', oppai => 85, ]); あれ?配列の中にhash(の様な書き方)を入れると展開されるんじゃなかったっけ? もちろん…
なんか、今更感あるけど認識が甘かったので先輩に教えてもらった。 確認の為に、以下にまとめてみた。 #!/usr/bin/env perl use 5.016; use warnings; use utf8; use autodie; package Oppai { # コンストラクタ newじゃなくても良いけど慣例的にnew # コン…
便利そうな仕組みがあって先輩に教えてもらったのでメモ PHPのincludeみたいの使えたり、他にも色々あった 詳しくはドキュメント参照して分からなかったら見てください コードみてみる kawaii.tx : cascaed common::oppai {title => "タイトルに値を渡して…
入社して配属先について、初日にやったことを忘れてたのでリマインドがてらメモ 詳しくはplenvの作者tokuhirom氏の記事を見て、分からなかったら以下も見てみると良い インストールしてみよう plenv install 5.16.3 --as=5.16 --as={name}でバージョンに自由…
Tengのsearch_with_pager関数を使えばレンダリングの結果にページャ機能をよしなに付けてくれるらしい ドキュメントはTeng::Plugin::PagerとData::Page::NoTotalEntries見れば雰囲気つかめると思う Controllerのコード見る sub list :Local { my($self, $c) …
Ark初心者だけど、先輩に聞いたりAdventCallender見たりして、テンプレートからレンダリングできたので、メモ 一番シンプルなコード見てから説明した方が速そう 今回は「Oppai」というプロジェクトを例にする package Oppai::Controller::Content; use stric…