2010-01-01から1年間の記事一覧
遅まきながら、perlの必修項目としてCatalystとPSGIに入門することにした。 まずはcpanで以下をインストール。 Plack DBIx::Class Template Catalyst Catalyst::Devel Catalyst::Engine::PSGI したらworkspaceで $ catalyst.pl MyAppこれで原型ができる。 次…
bashのTabによるパス補完。 もうこれなしでは生きていけないんだけど、たまーに不便に思うときがある。 それはsvnのworking copyをcdで潜っていくときのこと。 /home/shellcat/repos/workspaceにリポジトリをチェックアウトしたとして、 workspace/perl/FooB…
#!/bin/bash set timeout 20 spawn ssh hogehoge.com expect "password :" send "fizzbuzz" interactこうやって書いたら「spawn not found」とか言われた。確かにspawnってコマンドはインストールされてないな・・・ とか思ってたwwwwwwwwwwwwwwwwwww spawn…
Xperiaとの同期を取るのに、メールとかケーブル繋いでとかがめんどかった。 今日とてもいいものを見つけたのでメモ。 ServersManというアプリで、要はhttp(というかWebDAV)経由でファイル操作をしちゃおうという。 端末にアプリをインストールしたら、あと…
うわ、こんなことできたんだ。 my $res = 0; { if (scalar(@ARGV) == 0) { $res = 1; last; } if ($ARGV[0] == 1) { $res = 2; next; } $res = 3; } print $res . "\n"; これをtest.plとする。 $ perl test.pl 1 $ perl test.pl 1 2 $ perl test.pl foo 3 驚…
なんか17時くらいから盛り上がってたような盛り上がってないような。 unbound版のSkypeアプリが2.1から使えるっぽかったので、 兄貴を人柱にしつつXperiaをアップデート。 (こういうとき"BraveHeart"が脳内で流れる) ・Sony Ericson Update Serviceをサイ…
いや、なんか、すごいなぁって思うんだけど。 コンビニでお釣りをキレーに渡してくれる店員。 レジから小銭をチャリンチャリン片手に放り込んでたと思ったのに、 それを渡されるときには親指と人差し指でキッチリ挟んでる。小銭の額が順番に並んでるし、重な…
なんか気がついたらマーケットからのダウンロードが毎回失敗するようになってた。 「ダウンロードを開始中」でしばらく止まったあと、「ダウンロードできませんでした」となる。 いろいろぐぐって解決したのでメモ。 設定>アプリケーション>アプリケーショ…
#!/usr/bin/perl -d:DProf と、インタプリタの指定にオプションを付けて、 cgiファイルの存在するディレクトリをApacheから書き込み可能にする。 そうすると、アクセス時にプロファイル結果のファイル(tmon.out)ができているので、 同じディレクトリでdpro…
うおー、超久しぶりにPerlネタ。 perlプロファイリングのお供、Devel::DProf。 これをCGIで使うTips。
最近symfony絡みのバッドノウハウばっかりだな・・・ 海外サイトでもソリューションが見つからなかったけど良く考えたらできたのでメモ。 keyword: doctrine left join without relation symfony/doctrineでleftJoinを使うには、テーブル間にrelationが必要になる…
inner joinとouter joinの違いが分かってなかった。joinしないに越したことはないんだろうけど、 クエリ2本よりはマシ・・・かなぁ。 SQL自体もちゃんと勉強しないと。
symfonyはモジュールのネストができないため、 機能ごとに分類したくなったときはアプリケーション単位で分けることになる。 そのときに困るのが、「URLがダサい」こと。 メインのアプリケーションを除いて、「front.php」とかフロントコントローラ名がURLに…
忘れないようにメモ。samba, smbfsを入れた状態で。 共有サーバーのホスト:server 共有サービス名:service ユーザー名:hoge パスワード:fuga ローカルのマウントポイント:/mnt/smb として、 $ sudo mount -t cifs -o username=hoge,password=fuga,iocha…
フォームの描画フォーマットをカスタムしようとしてほげほげやったら 原因の掴みづらいエラーが出まくって疲れた。 やったことといえば sfWidgetFormSchemaFormatterを継承したフォーマッターを作る(フォーマット文字列をspanにしただけ) sfFormを継承した…
var foo = new foo(); 先にfooが宣言されるから 「foo is not a constructor.」で怒られる。 そもそもクラス定義壊しちゃダメだろww var foo = new Foo(); クラス名と(文脈的にはレキシカルな)変数名の命名規則を守りましょうって話。
論よりコード。 (function() { if (!window.XMLHttpRequest) { alert('no xhr'); XMLHttpRequest = function() { try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) {} try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) …
yield diferred ちゃんと勉強しなきゃ。
@TODO = qw/Catalyst Sledge Lightning/; var todo = ['use', 'canvas', 'comet'];
こういうことをJavaScriptでしたい。 use lib '../lib'; use Foo; use Bar; my $foo = Foo->new(); Bar::static_method($foo); 要するに、jsファイル中で依存するjsファイルをロードして、 ファイル中の処理は読み込み後に実行したい。 uselib('../js'); use…
canvasで文字列描画が(まだ)できないのでどうしようか考え中。 現在のアプローチとしては、・座標が負のdivにtextを付けてcaptureする ・フォント画像をdata uri化してなんとかするの2つを考えてる。 今日バイブル(IT戦記)を読んでたらlocalStorageって…
JavaScriptでリッチGUIアプリケーションを構築するにあたって、 どうやってレンダリングするかという問題がある。 今のところアプローチとして、 ・タグを使用する ・styleや属性を操作するエンジンを組む(gameQueryのような) の2つがあるようだ。 とりあ…
Java系(Servlet, JSP, JavaScript)だけでネトゲが作れるか。唐突に思い付いたけどいつかやってみたい気がする。
ノートパソコン対応外付けバッテリー「XP8000」 http://www.jtt.ne.jp/products/original/xp8000/index.html 愛機VAIO type P最大のネック。 それは電池がもたないこと。 基本的にPocket WiFi(D25HW)と無線LANで接続していることもあり、 バッテリー駆動で2…
Webアプリケーションを作るにあたって冗長だなーと思う部分をメモ。 あとはLightningが現状苦手としている部分とか。 その辺を解決すれば開発効率も上がるんじゃないかなっと。 認証 BasicとかDigestはどうしてもHTTPサーバーに依存してしまうので、 まずは…
VAIO type P with Ubuntu 9.04 in USB-microSDHC これが私のメイン環境で、SSD内のWindows 7と比較してパフォーマンスが良くないと感じていた。 主にブラウジングでload averageが跳ね上がり、GIGAZINEなどのサイトを開くと 操作可能になるまでに1, 2分かか…
自分じゃなくてもたまにハマったりしそうだなぁという。 正規表現のキャプチャパターンで my $a = 'hogehoge' =~ m|^(hoge)|; # $a = 1 my ($b) = 'hogehoge' =~ m|^(hoge)|; # $b = 'hoge' マッチ演算子はスカラーコンテキストでマッチした数、 リストコン…
なんか脳内がごっちゃになってきたので整理。 例のアレ これはやりたいことっていうかやること。 もうやると決めたのであとはやり尽くすのみ。 当然これが最優先。 GMOほげほげ http://app-yarouze.com/なんかこんなの。 でも法人格が半必須みたいなとこある…
ChromeはFireFoxとかのサイドバーがどうもないらしい。 かといって縦解像度の低いtype Pで上部のバーはできれば消したい。 というわけでExtension作ることにした。 JavaScript自体の勉強と、あと何かひとつjsも武器が欲しいなと思って、JQuery。 DOM操作とエ…
$ sudo apt-get install terminator VAIO type Pは画面が横にでかくて表示領域がもったいない。 terminatorは横分割もできるので、ちょうど正方形のディスプレイが2つある感じに使える。 分割したタブの行き来がCtrl + Tabなのも嬉しいところ。