pig's diary

何でも忘れるので万年初心者ね

npm q べんり

qはPromises/A提案ベースの非同期管理ユーティリティです。 https://github.com/kriskowal/q/wiki/API-Reference と思ってたら、今はPromises/A+ というものがあるようです。 http://promises-aplus.github.io/promises-spec/qがあれば、非同期処理が増えて…

sass のmixin の省略記法、= と +

sass 3.2.0 でmixinの省略記法が導入されたようです。 =box-shadow($properties) -webkit-box-shadow: $properties -moz-box-shadow: $properties box-shadow: $properties .my-box +box-shadow(2px 2px 2px #000) 上のsassをコンパイル↓ .my-box { -webkit-…

Soy(Closure Template)で Object をイテレートする

keys() が去年の夏にサポートされたようです。 https://groups.google.com/d/msg/closure-templates-discuss/plF5xSdYCqs/Va1Eh_oVGv4J /** * @param obj */ {template .printKeyValue} {foreach $key in keys($obj)} key...{$key} value...{$obj.key} or {$…

Sencha Touch 2.1 のコードの雰囲気

この記事は、Sencha Advent Calendar 2012の12月08日の記事です。残念ながら僕はSencha Touch のことを良く知らないので、初期化の流れとコードの雰囲気をぐだぐだと探索していきたいとおもいます。ファイルを書き出します。 $ pwd /Users/nomorerolling/git…

goog.ui.ThousandRows - 大量の一覧を軽快に表示するGoogle Closure Library モジュール

Closure Library で、大量に列のあるリストを軽快に表示できるコンポーネントを作りました。 デモ:http://stakam.net/closure/120722/ GitHub:https://github.com/piglovesyou/closure-thousandrows 特徴 初期表示、スクロール時の動きが速いです。 使える…

goog.ui.Scroller - Google Closure Library モジュール

Closure Library でうごくスクローラーをつくりました。よく、スクロールバーのデザインをカスタムしたいときとかに使うやつです。 縦、横、両方でスクロールを実装できます。デモ:http://stakam.net/closure/120618/ GitHub: https://github.com/piglovesy…

ビットマスクによるフラグ

参考:goog.ui.Control複数の状態(STATE)を、1つの変数で保持する。例えば、DISABLED状態であり、同時にHOVER状態でもある状態を1つの変数で表現する。以下、そのときのフラグの上げ下げのしかた。まずビットマスクに使う定数を用意する。1,2,4,8,16,32..…

gentoo + kde + ibus で、ブラウザに日本語入力できない

gentoo + kde + ibus + ibus-mozc で日本語が使えるようになった! でも、ブラウザにだけ日本語入力できませんでした。http://code.google.com/p/ibus/issues/detail?id=1349gtk USEフラグを上げ、emerge --update --newuse ibus したら、日本語が使えるよう…

CentOS6、nginx -> node 最小構成

僕はセキュリティとかに詳しくない人間です。実運用は十分ご注意ください。 環境 さくらVPS 1G $ cat /etc/redhat-release CentOS release 6.2 (Final) nginx インストール $ sudo vim /etc/yum.repos.d/nginx.repo# /etc/yum.repos.d/nginx.repo [nginx] na…

yesod-test-0.2.0.2 でビルドエラー

今直し中だそうです(僕はHaskell1ミリも読めない)Mac OS 10.7.3 yesod-core version:1.0.0.2 $ cabal-dev install && yesod --dev develでlocalhost:3000 が立ち上がるはずが、だめ。 最後のほうのログ: cabal: Error: some packages failed to install: …

expressでOAuth。Twitterに投稿。

なんだかよく分からなかった。やっとできた。基本的なことが分かってないんだね。追)githubにサンプルを作りました https://github.com/piglovesyou/express-twitter-oauth-sample やること: 下準備。ライブラリの準備。 app.get('/', routes.index);。ロ…

express でファイルアップロード

参考: http://tjholowaychuk.com/post/12943975936/connect-1-8-0-multipart-support https://github.com/felixge/node-formidable/issues/108 http://www.hacksparrow.com/handle-file-uploads-in-express-node-js.html nodeでファイルアップロードする方…

node のexpress で Closure Library

node で Closure Library をやる一例です。 やること express プロジェクトを作る 使うnodeモジュールのインストール Closure Library を落とす Closure Compiler を落とす 実験用のapp.jsコードを置く production モードとそうでないモードを分ける Cakefil…

CSS3時代にstylus

stylus を使ってコードが短くなった例。iPhone HOME みたいな配置がしたかった(アイテムが出てからリサイズしてみてください) のですが、CSS が長ったらしくなりわけが分からなくなりました。 HUNDRED = 100% itemHeight = 240px /* TODO: Use stylus iter…

flickGal v1.2

iPhone で横向きフリックを実装するflickGal プラグインを1.2 にしました。 Android で起きてた問題を直せたからです。(横向きにすると変になってた) tunntunnさんがコメントくれて直しました。 確認は、職場でK さんがAndroid 見てくれました。ありがとう…

muffin.js を入れてみた(Coffeescript の Cakefile用ライブラリ。)

https://github.com/hornairs/muffinmuffin.js をちょっと使ってみました。(v0.2.6)muffin.js は、 (Node.js で動く。) Coffeescript を書いていて、 Cakefile も書いていて、 Cakefile で child_process をいくつも作らなきゃいけない人 が幸せになれるラ…

mongoDB を v2.0.2 にupgrade しておいたほうが良さそう。CentOS 5.7 でのupgrade。

しりとりアプリが、しょっちゅう固まってていやだなぁと思っていました。ま、誰も困らないんですけど。 で、mongoDB のupgrade で直ったので、経緯を書きます。 症状 mongoDB v1.6.5。Node.js v0.4.10(0.6 にしなきゃ・・)。さくらVPS、CentOS 5.7。mongoo…

Node.js でしりとりを作りました

このアプリは、Ariel Advent Calendar 2011の21日目にまにあうように作ったものです。 アプリ(あれ、落ちそうだな?と思ったらページを離れてください。) → http://lastfirst.stakam.net/ コード → https://github.com/piglovesyou/lastfirst - 追記 like …

自分のサイトをNodejs化、さくらVPSで

自分のサイトのコンテンツは皆無に等しいです。あるとしたらjQueryプラグインのflickGalをホストしているくらいです。 このサイトを、Nodejs 化しました。理由は、特にないです。 環境 さくらVPS Cent OS(1,000円/month) node v0.4.10。 nvm を使用。楽。 …

_.niceDate・・・日付データを与えて「〜分前」を簡単に実装するunderscore.js 拡張

underscore.js は、誰かが「ビルトイン拡張しないPrototype.jsだ」って言っていました。実際、そうだと思います。 window._ に、いろいろユーティリティが詰まってるんです。(「 _ 」じゃなくも、できる) // 配列が空かどうかしらべたい _.isEmpty([]) // …

Nodejsで非同期の処理をチェーンでつなぐユーティリティ

追記:npm パッケージ「q」を使うべきでしょう。 - 自分用に書いてみた 果たしてこれはfs モジュールとかでも動くのか。動いてください。 (jQueryのまね。) # coffee # sample method that takes callback from the last argument yeah = (str, callback) …

Node.js + express + jade での静的ルーティング

(追 ルーティングって言ったら普通動的ルーティングです( /user/:id 的な)静的なほうを話そうとするのは僕くらいなもんです Node.js + express + jade での静的ページのルーティング ためしに連想配列でページを追加できるよう書いてみたんです。 app.cof…

15パズル in coffee script

coffee script で15パズルを書いてみました。 まえに作ったものを、書き直しました。 http://stakam.net/playground/111013/ http://stakam.net/playground/111013/15pzl.coffeecoffee script はすごく楽でいいです。 Class を作るのとかも class Fifteen co…

flickGal 1.1。iPhoneでフリックできるjQueryギャラリープラグイン

軽量化&pcでもうごきます。うそです。webkitブラウザならpcでもうごきます。 あんまり代わり映えしませんが。http://stakam.net/jquery/flickgal/demo.html https://github.com/piglovesyou/flickGal/commit/60cdd1109e7a36807e581ca4c96a1bc4329cd0dcなん…

さくらVPSのCentOSでnode.jsのsocket.ioをインストールしようしてエラー

$ npm install socket.io npm ERR! tar "-mvxpf" "-" "-o" "-C" "/tmp/npm-1315624604792/1315624604792-0.731322419596836/contents/___package.npm" tar: Ignoring unknown extended header keyword `LIBARCHIVE.creationtime' npm ERR! tar "-mvxpf" "-" …

クロージャ関数のthisは誰?

var f = fHandler(); f(); // yeah! function fHandler () { var handlerSelf = this; return function () { if (handlerSelf === this) { console.log('yeah!'); } else { console.log('ooh...'); } } } うん console.log("we're in " + this); var f = fHa…

【質問終了】ruby on rails3で、rjsを全然使わずにxhrリクエストをさばくapiを作りたいのですが、・・・

質問: Google Closure × Rails がやりたかったんです。 ruby on rails3で、rjsを全然使わずにxhrリクエストをさばくapiを作りたいのですが、書き方がわかりません。例えば、postの xhrで、createメソッドをよんでコメントを書き込んだあと、書き込んだコメ…

Mac+CodaにSVNを導入。Backlogを使って。

SVNについてまなんでいます。で、BacklogにSVNリポジトリを置かせてもらって、今までMac+Coda+MAMPで作っていた趣味サイトに、バージョン管理を導入してみたいと思います。 Backlogについて書く Backlogはヌーラボさんが作っている、プロジェクト管理用ASPグ…

WPLiteでログインできなくなるエラー

WordPress案件が佳境に突入しているのですが、4時間泣かされたエラーが起こりました。 ログイン時example.com/wordpress/wp-admin/separator1にリダイレクトされる 以下のような症状でした。 ログイン画面は「~/wp-admin/」でちゃんと表示される。 正しいID…

Twitter検索系APIを触ったときの気づき

単にsearchAPIを触ってみましたという話なのですが。 jsonpで検索するしくみを作ってみました 数年遅れでSearchAPIの仕組みを知り、やられました 恥ずかしいかぎりです。いくつかはsearchAPIに限らないかもしれません。 OAuthを使わないAPIは、IP単位でアク…