tokuhirom's blog
Python の VM を Perl で実装した話
[ 数年前にかいたやつ。関数ぐらいはうごく。クラスとかも定義できたような気がする。 Python は AST とりだしたりとか assembler とりだせるとか、そういうのがちょいちょいできて
2012-01-30(Mon)
初心者向けの本についてとか
[ 寿司ブロガーじゃないのでこちらで言及しようとおもいますが。 初心者向けの本は、一度理解してしまうと不要となるのでブックオフにうっぱらったり、誰かにあげたりしてしまうので、手元にはのこさないし
2012-01-16(Mon)
最速な JavaScript のリファレンスマニュアルサイトをつくった
2012-01-14(Sat)
2011年6月24日あたりに鎌倉いってきたときの日記
> 朝七時すぎに家をでて、品川経由で戸塚から北鎌倉へ。 あじさい寺に八時半につく。あじさい寺は六月は八時半に開くので、オープンの時間を狙うのが定石。しかしまあ、あじさいはこの寺以外でもたいがい咲いて
2012-01-10(Tue)
汎用の WebViewController をくみこむための THWebViewController っていうのをでっちあげた
2012-01-07(Sat)
電子書籍における内外格差について
最近は電子書籍について語る前に、とりあえず Kindle を買うべし(Fire 以外)ということを最近つよくおもう。 iPad や、その他のタブレットと Kindle ではだいぶえられる体験がちがう
2012-01-05(Thu)
2011年のまとめ
1月 * Teng をリリースするのにかかわってたっぽい * libkyototycoon であそんでた * Text::Darts をなおしたりしてた 2月 * L10N やってた [ * W
2012-01-01(Sun)
JSON.stringify でプリティーにしたい
JSON.stringify したデータを、ファイルに保存してそれをクライアント側でよむみたいなのやってたけど、大変よみづらかったのでどうにかしようとおもったのだが、結局は ``` JSON.str
2011-12-28(Wed)
node.js で md5 を計算する
md5 の計算については、node.js で添付されているライブラリである crypto でサポートされている。 Perl5 でいうところの md5\_hex については、以下のようにすると計算でき
2011-12-28(Wed)
10分でかける! node.js で対話的なプログラムを書く方法。
[ UTF-8 から UTF-7 への変換をおこなう対話的なシェルをつくりたい、などのように単機能の対話的なシェルをつくりたいというケースはままあるかとおもいます。 そんな場合には readli
2011-12-27(Tue)
jsdom と libxmlext のベンチマークとったよ!
node.js において jquery-ish な css selector をもちいた検索をしたい、という場合、jsdom がオススメされることがおおいのだが、jsdom は pure-js で実装
2011-12-25(Sun)
node-gdbm つくってみた
GDBM で保存されているデータを node.js からあつかいたいときがなくはないとおもうので、node-gdbm をつくってみた。 作っている途中で気になたたところなどをまとめておく。 ###
2011-12-25(Sun)
npm で "cpanm --installdeps ."
↑相当のことをやる方法。 package.json が perl でいうところの META.yml にあたるものなので、ここに dependencies をかいておいて、 ``` npm inst
2011-12-25(Sun)
node.js で libxml を使うにはどのライブラリをつかうべきか
#### 目的 node.js で libxml をつかおうとすると、どれをつかっていいのかわからないので、どれがいいかを評価する。 XML をパーズするという用途はもちろんのこと、HTML のパ
2011-12-23(Fri)
node.js で人気のあるライブラリ10選
node.js というか npm で依存されているライブラリの上位10個ぐらいがどういうものがはいっているのかをまとめます! 具体的には serach.npmjs.org の Most depend
2011-12-18(Sun)
Node.js で重い処理をしてしまったときにタイムアウトするの法
(この記事は Node.js アドベントカレンダー不参加記事です) チャットサーバー的な使い方とか意外とみんな興味なくて、普通のウェブアプリケーションなどをかく、という用途にちょっと node.js
2011-12-13(Tue)
node.js 用のガラケーライブラリできたよー
[ ``` var MobileAgent = require('../mobileagent.js'), http = require('http'); http.createServe
2011-12-10(Sat)
visualwidth.js とかかいた
[ だいぶ適当だけど。VisualWidth.width() とか VisualWidth.truncate() とかできるかんじ VisualWidth.width() というのは、見た目上の
2011-12-09(Fri)
Data::FormValidator::Filters の filter_integer の罠
filter\_integer っていったら、整数化してくれるとおもうじゃないですか。 ``` % perl -E 'use Data::FormValidator::Filters qw(filt
2011-12-09(Fri)
ビルドシステムについておもうことなど
Makefile のような専用の DSL よりも汎用言語による DSL の方が汎用性がたかいということでたっとばれる今日この頃ですね。 Rake とか、waf とか scons とかまあいろいろあ
2011-12-08(Thu)
JavaScript Lint 0.3.0 が死ぬコード
``` function foo(bar) { var prototype = bar.__proto__; } ``` で ``` JavaScript Lint 0.3.0 (Java
2011-12-06(Tue)
underscore.js の _.isRegExp について
underscore.js においては正規表現オブジェクトかどうかの判断を以下のようにしてやっている。 ``` var toString = Object.prototype.toString; f
2011-12-05(Mon)
テストの前とかあとにフックするとかの件
[ について。 ちょっと遅レスですが、以下のようなコードを Module::Install::TestTarget で処理するという話なんですが ``` replace_default_mak
2011-12-02(Fri)
Time::Piece とstrptimeの甘い罠
``` my $time = Time::Piece->strptime('2011-11-30T18:19', '%Y-%m-%dT%H:%M:%SZ')->epoch; ``` みたいなコードを
2011-12-01(Thu)
HTTP::BrowserDetect について
[HTTP::BrowserDetect](HTTP::BrowserDetect) の正規表現ってほんとうに単純で、/Android/i とか /iPhone/i 以上のことはやってくれてないので、
2011-11-29(Tue)
Perl Advent Calendar 2011 やりましょう
* [English Track]( * [Hacker Track]( * [Casual Track]( * [Test::\* Track]( * [DBIx::\* Track]( 今年もや
2011-11-28(Mon)
Test::Nantoka かいてみた
Test::More みたいだけど、シンプルなやつかこうとおもったけど、結局ただの Test::More のコピペみたいなかんじになるね! 意味ないので窓からすてた。
2011-11-26(Sat)
Amon2とJSONとセキュリティ
* \[1\][ * \[2\][ * \[3\] [ * \[4\] [ あたりをよんで、JSON とセキュリティについてかんがえてみた。 ここで、有効とされている対策のうち * while(
2011-11-25(Fri)
唐突ですがここでプラグインをかいてみよう 〜 軽量フレームワーク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)
Prev
Next