taiyoh's memorandum

@ttaiyoh が、技術ネタで気づいたことを書き溜めておきます。

結果だけじゃなくてプロセスも大切なんだよ、ってお話

「手段がどうかじゃなくて最終的に何をゴールにするかだよね」っていう言説をよく見る気がしていて、まあそれは真理だよねと思いつつ、どこかでずっと引っ掛かってたけど、やっとそこが言葉に出来た気がする。 一番気になっていたのは、上記の言葉がどういう…

node.jsのvmとsynchronizeはライフチェンジング

[追記 5/29] synchronizeというかfiberには以下の問題点があるのでそちらを参照の上、このエントリをご覧ください → node-fiberでライフチェンジングとか煽ったことを若干後悔してる - taiyoh's memorandum [追記 終わり] node.jsをお使いのみなみなさま、コ…

ミサワのページから画像をブッコ抜きつつmarkdownのテキストも出力するchrome拡張書いた

→ taiyoh/misawa-markdown · GitHub やっぱり使いたい画像で即座にミサワ画像使いたいよねー、というのと、 chromeの拡張書いたことなかったので、試しにやってみよう、ということで作ってみました。 ↑使用イメージストアとか載せるの面倒臭いし、多分もっと…

node.jsでtwitterのstatuses/update_with_mediaに対応

var Twitter = require('twitter') , request = require('request') , fs = require('fs'); Twitter.prototype.updateStatusWithMedia = function(text, params, callback) { var self = this , oauth = this.oauth , form, orderedParameters, r , url = 'h…

express.jsにgettext系の_関数を仕込む

引き続きnode.js系tips。 node-localizeというモジュールでの言語の管理がちょっとお手軽だったので、これとexpressを組み合わせるようにしてみた。 // express-localize.js var Localize = require('localize'); module.exports = function(path, defaultLo…

node.jsでのクイックハック

jquery-deferredを使ったなんちゃってトランザクション。 まだnode-mysqlでの使用しか想定してないので。 var $ = require('jquery-deferred'); function transaction(conn, callback) { var d = $.Deferred(); d.done(function() { conn.query('COMMIT'); }…

有限オートマトンの習作として

PerlでFSM::Simpleというモジュールを書いてみた。 #!perl -w use strict; use warnings; use FSM::Simple; my $count = 0; my $fsm = FSM::Simple->new({ rules => { init => sub { my $state = shift; if ($count < 20) { $state->next('add'); } else { $…

Sub::Deferredなんてモジュール書いてみた

最近、全然ブログ書いてないな、と思ったのですが、よくよく考えると、今年に入ってコード全然書いてなかったわけで、こりゃちょっといかん、と思いまして。 リハビリついでに、jQuery1.7の$.Deferredの機能をなるべくほぼそのままPerlに移植してみました。…

Test_myqld.phpを更新しました

以前のエントリ→ "Test_mysqld", ported from cpan's Test::mysqld - taiyoh独言 →taiyoh/Test_mysqld-php · GitHub このモジュールを作ってまもなく、id:memememomoさんに色々直していただいたのですが、 例外でプログラムが終了しないように気をつけるよう…

はてな x DeNA合同企画 Mobage 運用技術勉強会に行ってきた

はてなの方からメールにて招待いただき(ありがとうございます!)、折角だからと体調悪い上に台風近づいてるにも関わらず昨日行って来ました。 口外するな、と書かれていたので、相当やばい情報も話してくれるのか、とか、「活発に」リクルーターが話しかけ…

nginxでステータスコード404,500,503時に特定の静的なファイルを表示する

というメモ。 server { listen 80; server_name example.com; root /path/to/docroot; access_log logs/example.access.log main; location ~ ^/(js/|img/|css/|swf/) { index index.html index.htm; } error_page 404 /404.html; error_page 500 /500.html;…

mac osxにmroongaをインストールしてみる

承前として、osxにはmysqlとgroongaはインストールされているものとする(どちらもbrew installできますね!) $ wget https://github.com/downloads/mroonga/mroonga/mroonga-1.11.tar.gz $ wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.…

「モチベーション3.0」読了

モチベーション3.0 持続する「やる気!」をいかに引き出すかダニエル・ピンク 大前 研一 講談社 2010-07-07売り上げランキング : 783Amazonで詳しく見る by G-Tools 昼間、bookoffに行ったら950円で売られていて、しかも三が日は半額になるらしく、500円弱…

SQL_SketchなるPHPのライブラリ書いてます

→ taiyoh/sql-sketch-php - GitHub これは何かというと、PHPでもSQL::Maker的なモジュールが欲しかったので、書いてみました、ということです。510行くらいしかなくて、あんまりコーナーケースに対応したSQLは書けないです。でも、よくあるSQL文の7割くらい…

WebService::GoogleDirectionAPIというモジュールを書いた

本当はもう誰かがやってる可能性高いけど。 → Google Directions API - Google Maps API Web サービス - Google Code 経路探索をするgoogleのAPIをPerlから操作するためのものです。 #!perl use strict; use warnings; use WebService::GoogleDirectionA…

Archerのオレオレプラグイン書いた

真っ当な設計のアプリケーションなら、各種設定ファイルに環境依存の情報を入れておくと思います。 このプラグインは、Archerで持ってるdest_dir等の情報を埋め込みつつ、所定のパスに設置します。

Archer::Plugin::Rsyncもなんかエラーがでる

Odd number of elements in hash assignment at /home/homepage/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/Archer.pm line 164. Archer::Plugin::Rsync [debug] sending incremental file list ですと。A::P::Rsync周りでlogメソッドを使って…

typeofを使わずに配列かどうかを判別(ただし失敗)

jsdo.itユーザのtsmallfieldさんから以下のお題が出た。 (本物の)配列かどうかを判断するのにvar isArray = function(arg){ return [].concat(arg)[0] !== arg; };ではどうだろう?とふと思ついたのでテスト。 http://jsdo.it/tsmallfield/isArray 10分ほ…

Archer::Plugin::Confirmをちょっといじってみた

某案件でちとArcherを使ってみようと思って触ってるのですが、Archer::Plugin::Confirmが動かない。こんなエラーがでる Can't call method "opened" without a package or object reference at /Users/taiyoh/perl5/perlbrew/perls/perl-5.14.2/lib/site_per…

最近PHP(5.3.8)で「えー」と思ったこと

function() {}) } これもシンタックスエラー。 array('baz' => 0)) public function __construct() { $b = $this->_foo['bar']; $b['buz'] = 1; } public function…

daemontoolsを使ってる際のnginxのgraceful restart

$ sudo svc -h /service/nginx that's all.

mysqlについて初めて知った挙動

hostの指定をlocalhostにすると、強制的にローカルマシン上の指定したUNIX domain socket(ディフォルトは/var/lib/mysql/mysql.sock)にアクセスする。 hostの指定を127.0.0.1にすると、該当IPの指定したポート(ディフォルトは3306)にTCPでアクセスする。

emacsのsimplenote-modeでmarkdownを有効にする

M-x customize-group simplenote でカスタマイズ画面に行き、Simplenote Notes Modeのテキストエリアを"markdown-mode"に変更。その下の行の”State”ボタンを押し、1を選択すれば、設定が保存される。 下手に何かhookしたりオレオレハックするよりいいと思う。

「Being Geek」読了

Being Geek ―ギークであり続けるためのキャリア戦略Michael Lopp 夏目 大 オライリージャパン 2011-06-25売り上げランキング : 37045Amazonで詳しく見る by G-Tools YAPC::Asia 2011の木村秀夫さんの講演を見て、速攻購入。珍しくなんとか読み終えた本。 ざ…

はてなでブログ

始めてみます。 ダイアリーの方は文字通り日記にできたらいいな。んで、技術的な話題とか微妙に会社に絡んでる(告知っぽい)話はこっちとか。最近、ダイアリーは気張って技術的な話題しか書いてないので、あっちはもう少しパーソナルというか、オフ気味な感…