tokuhirom's blog
唐突ですがここでプラグインをかいてみよう 〜 軽量フレームワークAmon2入門 (10) 〜
Amon2 のプラグインの書き方がよくわからないという話をたまに聞くので、そのへんについて説明したいとおもいます。 基本的にはプラグインはただの Perl モジュールで、ただ一つの規約にしたがえば問
2011-11-25(Fri)
Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 その3『Tengの行オブジェクトを拡張して投稿日付を表示しよう』 〜 軽量フレームワークAmon2入門 (9) 〜
さて、ページングもついて、一応うごいているといえる状況になっている掲示板ですが、とにもかくにも投稿日付がわからないのは不便といっていいでしょう。 通常ならばもちろん投稿日付を保存するようには設計段階
2011-11-21(Mon)
Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 その2『ページャーをつけよう』 〜 軽量フレームワークAmon2入門 (8) 〜
さて、掲示板をつくったとはいえ、これだけではおもしろくありませんね。 まずこの掲示板には重大な欠陥があります。具体的にいうと、ページングがされていません。 ウェブアプリケーションにおいてはページ
2011-11-21(Mon)
「なぜそのモジュールをつくったのか、他のものでは駄目なのか」ということをドキュメントに書くといいよ、という話
なにしろ、「これこれこういう実装なんですよ!!」「こういうインターフェースなんですよ!!」っていうところだけあっても肝心の「なぜこのモジュールが必要なのか」っていうところが記述されていないモジュールが
2011-11-20(Sun)
Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 〜 軽量フレームワークAmon2入門 (7) 〜
前回から大分時間が経ってしまいましたが、唐突に Amon2+Teng で大きめのアプリをつくるチュートリアルでもはじめましょう。Teng というのは、O/R Mapper とよばれる種類のライブラリで
2011-11-20(Sun)
Web::Query が HTML5 をサポートとな!
Web::Scraper が HTML5 をサポートする変更をいれていたので、Web::Query も追従。 [ やはり個人的には Web::Query の方がつかいやすい。自分でつくったから当た
2011-11-20(Sun)
Amon2::Lite の最近の変更とか
[ なんかこういうのかいてみたんだけど、どうも、ださい書き方を強要されているところがあって、いけてないかんじがしたのでちょっと調整した。 具体的にいうと ``` $res->h
2011-11-19(Sat)
Vim Script の敷居がたかいはなし
ujihisa.vim#2 の懇親会ではなしてておもったんだけども elisp だと、環境間の差異を吸収するために if をかかなきゃいけない、とか、そういうのが多い気がする。あと、なにかにつけ c
2011-11-19(Sat)
Mouseをわかりやすくするラッパーかいたよー
[ 「MouseはいいけどDSLはちょっと」というbonnuさんやxaicronさんのためのラッパーかいたよ〜。 ``` package MouseX::Simple; use strict;
2011-11-19(Sat)
HTML::ValidationRules のアレ
~~[ これ ``` <input type="text" name="text" pattern="[A-Za-z0-9]+" maxlength="255" /> ``` ってかいてあるけど
2011-11-19(Sat)
Amon2::Lite をつかった TinyURL
Amon2::Lite を使いやすくしたいなあ、とおもって小物をちょっとかいてみる。まあ、こんなもんかなあ。もうちょいうまく書けそう、という部分もなくはない。 オシャレポイントとしては * DBD
2011-11-19(Sat)
Object::Generic::False
なんか、どこまでいっても undef の人。 たぶんなんかこう $entry->user->foo() とかよんでるときとかにしななくなる、みたいなかんじなのかな。
2011-11-18(Fri)
覚えることが多いフレームワークの話
人は忘れるので、再学習が必要んなってめんどくさいよなーってなる。knockout.js みててそうおもった。 data-nantoka にいっぱいなんか独自のプロパティを書く、みたいなの、あとになっ
2011-11-18(Fri)
Text::VisualWidth::PP について
あれは、[id:cho45]( が mobirc に Text::VisualWidth をつかったコードをコミットしてて、それによって xs 依存が発生したので、\[それPPでできるよ\]っていいた
2011-11-17(Thu)
no indirect;
indirect 記法というのは ``` method_name ClassName @args; ``` みたいなやつのことですが。 indirect 記法は将来的に deprecate にな
2011-11-17(Thu)
かっこいいコードとコストのはなし
かっこよくすればするほど、どういう動きをするのかおもいだすのに時間がかかる面がある。たとえば先日あったはなしで ``` summon; ``` と ``` __PACKAGE__->to_app
2011-11-16(Wed)
ブログについてとか
ツイッタがはやりはじめてからずっといってるけど、エンジニーアの人はブログをかいた方がいいとおもっていて、ツイッタにたれながしているだけだと知見がなんかこう、がしっとはまらないというか、そういうかんじが
2011-11-16(Wed)
Amon2::Lite->template_options
I added template\_options method for convinience. ``` use Amon2::Lite; __PACKAGE__->template_optio
2011-11-16(Wed)
DBI->clone のときのパスワードをかくしもってる話
なんかセキュリティを意識してるのかどうかよくわからないけど closure の奥そこに password と user name をうめこんでる。 からとりだすのが大変だ。というはなし。
2011-11-15(Tue)
なんか JS の MVC っぽいやつ
* [ * [ * [ このへんがメジャーなのかな。batman.js は coffee なのでつかわないかなあ。
2011-11-15(Tue)
DBIx::*
* \_verify\_pid(kamipo) * named place holder * O/R Mapper * Query Logger とかいろいろあって微妙。
2011-11-14(Mon)
'or BAIL_OUT' idiom
ok(), is(), and other functions exported by Test::More returns 1 if succeeded, 0 otherwise. So you
2011-11-14(Mon)
Amon2 の最近の変更(3.22〜3.25)
* Amon2::Lite が別 dist に分離されました(Amon2::Lite をつかっているアプリでは Amon2::Lite への依存を明示的に記述するようにしてください) * 各種依存がす
2011-11-14(Mon)
less vs scss
個人的には、client side でも実行できる less の方がいいなーとおもっているんだけど、現状なんか node が非互換な変更をしたおかげで less がうごかなくなっている。悲しい。 こ
2011-11-11(Fri)
Code
``` use strict; use warnings; die; ```
2011-11-10(Thu)
Cache-Control ヘッダ
Amon2 ではデフォルトの Cache-Control ヘッダを no-cache にしていたのだが、なにかにつけてうざいかんじになっていたので private をデフォルトにした。これでおーけーで
2011-11-10(Thu)
Amon2 の最近の変更点まとめ(3.06〜3.21)
英語で Changes かいてますが、たまには日本語でまとめておきます。 * 徳丸本をよんでて「そういえば」とおもったので、Cookie に HttpOnly 属性をデフォルトで付与するようにした
2011-11-09(Wed)
Amon2::Plugin::Web::NoCache
とりあえずデフォルトでつかうのやめた。X-Frame-Options とか X-Content-Type-Options とかをデフォルトでつけるのを最近はじめているので、あまり NoCache だけ
2011-11-09(Wed)
はてぶろ
勝手にはてなスターが設置されたりするのかー。ちょっとびっくりする。
2011-11-08(Tue)
Xslate に関する要望
意外と Xslate に組み込みの関数とかがふえているので、lc, uc, truncate, replace, substr あたりの組み込み関数または VMethod があると、TT2Like つ
2011-11-08(Tue)
テストにつけるコメントについてのメモ
最近は、一個しかテストなくても subtest つかってる。subtest だとコメントをかかざるをえないのがいい。subtest にコメントをつけて、それからかんがえる。 各 ok やら is や
2011-11-07(Mon)
why *.po
速度などをかんがえれば perl コードでべろべろハッシュでかけばいいんじゃないの、などといわれがちな \*.po ですが、POEdit のような GUI ツールがあるのでだれでも変更可能というところ
2011-11-07(Mon)
dot perl の話
[ leonbrocard の dot ブランチをつかうと、use feature qw(dot); のもとで ``` my $response = HTTP::Tiny.new.request(
2011-11-07(Mon)
Locale::Maketext::Lexicon を Xslate でつかう
あたくしは普段 Locale::Maketext::Lexicon を利用しているので、Locale::Maketext::Lexicon をつかったサンプルをかいてみた。 ``` #!perl u
2011-11-03(Thu)
Perl5 においてファイルからの読取る場合における Malformed UTF-8 問題
Perl::Critic が最近 PerlIO layer に :utf8 つかうと怒ってくるけど、べらんめえしったことか! とおもっていたら、サイトが表示できなくなった(このような問題を haseg
2011-11-02(Wed)
Inserting row without parameters
``` % mbp mysql -uroot foo [~] Tue 1 6:47 Welcome to the
2011-10-31(Mon)
簡易的に Test::Class っぽくかくライフハック
Test::Class みたいなかんじの雰囲気をかもしたいときにはこうするとよいのでは。 ``` use strict; use warnings; use Test::More 0.98; fo
2011-10-31(Mon)
Exporter::Auto ってのつくってみたよ
[ なんか @EXPORT にいれるのだるくね! このプロジェクトでしかつかわないから全部 export しちゃってくれていいですよ! みたいなやつ。ありませんか? ありませんか。そうですか。
2011-10-29(Sat)
pmsetup --upgrade
なんか不意に Module::Build だ! これからは Module::Build だ! っていう気分になったので、今日から Module::Build をつかうことにした。 Module::
2011-10-20(Thu)
Module::Install の功罪
M::I が最近微妙だよねという話を懇親会をしていたら、なんか中途半端につたわった感じがあったのでちゃんとまとめておきますね。箇条書きだけど。 #### 利点 * DSL でかけるのでみためがかっ
2011-10-18(Tue)
Filter subtests by environment variables
Sometime I skip some subtests for fast testing. This is just a \*hack\* to skip only blocks matched
2011-10-17(Mon)
Amon2::Auth によるロケタッチAPIをつかったサイトの構築 〜 軽量フレームワークAmon2入門 (6) 〜
[ 久々に Amon2 入門だ! 最近リリースされたばかりの Amon2::Auth モジュールをつかってみよう! Amon2::Plugin::Web::Auth への依存を Makefile.
2011-10-16(Sun)
DO NOT USE Module::Install::TestBase
Module::Install::TestBase is currently broken. please use ``` test_requires 'Test::Base'; ``` ins
2011-10-16(Sun)
Plack::Middleware::* と Amon2::Plugin::* のつかいわけ
勝手に後夜祭で質問いただいたのでブログにもかいておく。 Plack::Middleware::\* は、apache の設定にかくようなものをいれる。 * テンプレートエンジンをつかうもの * 設
2011-10-16(Sun)
YAPC::Asia 雑感
* LT は「5分間ならだれでもはなせるよね」っていう本来敷居のひくい場所です * プレゼンは「なにをつたえたいのか」を明確にすることが一番大事です。 * たごもさんや kazeburo さんもかいて
2011-10-16(Sun)
特定のメソッドが何回よばれたかをしらべる
[ こういうかんじで、Class::Method::Modifiers で外部から before method modifier を inject すれば、回数をかぞえたりできます。
2011-10-15(Sat)
Amon2 近況
#### テンプレートカスケーディングやめました テンプレートカスケーディングをつかってゴリゴリがんばる、みたいなのをやってみたんですが、どうも複雑になりすぎるのでやめました。 #### Larg
2011-10-08(Sat)
Amon2 近況(2)
Amon2 のポリシー的なものとして * 既存のアプリがうごかなくなる変更をするときはネームスペースをかえる * 小さなサイトから大きなサイトまでつくれるようにする * PP でもうごく といった
2011-10-07(Fri)
SQLite 力
ALTER TABLE xxx DROP xxx; したい → できないから [ でがんばる。 末尾に改行がつく行だけをとりだしたい。 ``` select * from foo where
2011-10-06(Thu)
Amon2 の今後のバージョンアップ予定
Flavor まわりを大幅にぜんぶかきかえてます。互換性は保証されませんが、アプリケーションには影響しないのでいいのかなとおもっているところです。 Data::Section::Simple をつ
2011-10-02(Sun)
Testing Web Application 2011秋
最近の僕のテスティングな日々についてまとめておきますよ。 【前提】 * Perl でかかれたウェブアプリケーション * 自社開発のウェブアプリケーション * 一日に何度も deploy されるレベ
2011-09-28(Wed)
Shipped File::Zglob 0.01
[ File::Find::Rule とかまあ結構なんですけども、 ``` File::Find::Rule->file->in('lib')->name('*.pm') ``` っていうフォー
2011-09-28(Wed)
Sphinx で GoogleCodePrettify をつかう
Python 製の documentation tool であるところの sphinx は非常に便利なのであって、オススメなのだけれど、これをカスタマイズする方法の情報はすくないので、普通に公式ドキュ
2011-09-25(Sun)
Amon2 のドキュメントにガラケーむけの記載を追加
[ ガラケーでの開発時にめんどくさいところは Amon2 ではプラグイン等により吸収しています。 HTTP::MobileAgent との連係、文字コードの追加、全角カタカナから半角カタカナへの
2011-09-25(Sun)
Amon2 のデフォルトの CSS framework を twitter の bootstrap にかえた
2011-09-23(Fri)
eval から return でもどれる
perldoc -f return によると ``` サブルーチン, eval, do FILE から EXPR で与えられた値をもって、 リターンします。 EXPR の評価は、返り値がどのように使
2011-09-22(Thu)
本日のCPAN業
FCGI::Clientのdefaultタイムアウトvalueが10secsとドキュメントにかいてあるのに実は1secsだった問題を修正 [ HTML::TreeBuilder::LibXML
2011-09-20(Tue)
make test のときに実行するコマンドかえる
Module::Install つかって Makefile.PL かいてるときに、make test の実行コマンドをかえたいってことがあるとおもう。テストの実行前になんかコマンドはしらせるとかね。
2011-09-14(Wed)
Ukigumo の demo サーバーを用意しました
[ Ukigumo 結局どういう風にうごいているのか社外の人にはようわからんじゃろうとおもったので、デモサーバーをおいてみた。dotcloud においただけだけど。 Ukigumo の場合、Am
2011-09-12(Mon)
コミットの粒度を最適化する方法
[ 最近よく issue driven development みたいなことをいわれるけれども、ITS(Issue Tracking System) を積極的に利用するようにして、ITS にチケット
2011-09-12(Mon)
Prev
Next