2011-01-01から1年間の記事一覧
printで出力された内容をテストしたくて調べてたけどキーワードがよくわからんくて調べるのに時間かかった。IO::Captureでやりたいことができるっぽい。 use strict; use warnings; use IO::Capture::Stdout; my $capture = IO::Capture::Stdout->new; $capt…
GitHub - hokaccha/nodebrew: Node.js version managerテストなしでメンテするのがつらくなってきたのでテスト書こうと思って、内部構造もテストしやすいようにかなり書き直したので自分的にはかなり大きいアップデートだけど使ってるほうはそんな変わらない…
retina対応するとき縦横それぞれ2倍でつくってbackground-sizeで縮めるとかやるんだけど、Android2.1とかできかなくてどうしようかと思ってたらベンダプレフィックスついてないだけだった。 -webkit-background-size: 100px 50px; background-size: 100px 50…
2011-12-19 - ここはちょっと見せられない var obj = { "00" : "foo", "10" : "bar" }; console.log(Object.keys(obj)); // => [ '10', '00' ] (Node.js, Chrome, Opera) // => [ '00', '10' ] (Firefox, Safari) オブジェクトの順番が保証されないのは仕様…
今までtag打たないとtarball取れないと思ってたけどhttps://github.com/[usernmae]/[project]/tarball/[sha1]で取れることに気づいた。
http://ginpen.com/2011/12/16/apply-to-through/ function log() { // console.logが使えればそれで出力 if (window.console && console.log) { console.log.apply(console, arguments); } // consoleが使えなければalert()で出力 else { // alert()は引数…
When using scripts that rely on the value of CSS style properties, it's important to reference external stylesheets or embed style elements before referencing the scripts. http://api.jquery.com/ready/ CSSに依存するJSがあった場合、DOMConten…
スマホのクロスプラットフォーム動画対応とか自分でやろうと思ったら大変すぎるのでyoutubeにあげて埋め込むに限る。方法は2つ。どっちも簡単だけど一長一短。なお、検証したのはiOS4.3、Android2.3(Xperia arc) リンク まず一個目。リンク。 <a href='http://www.youtube.com/watch?v=***'>どうが</a> サム…
ここのコードを見て気づいたかと思いますが、LESSの場合にはパーセンテージにするために、100をかけたり、パーセント単位をつけるための記述が必要ですが、Sassにはpercentage()という関数が用意されているので、今回のようなケースでは非常に楽に使うことが…
ページ遷移するときにローディングがでるときとでないときがあってなんぞと思って調べた。$.mobile.loadPage.defaults.loadMsgDelayって値よりajaxの反応が早く返ってくればloadingはでない。初期値は50ms。
jQuery Mobileのページ遷移部分だけ使いたいけどなんかテーマ読み込むと余計なスタイルがついてうぜぇぇってなるんだけどcss読み込まないと遷移の部分動かないし困ったと思ったら、jquery.mobile.structure.cssってのがあった。これは遷移とかのコアのスタイ…
Less & Sass Advent calendar 2011の14日目です。LESSにextendを実装したので紹介。LESSはSassに比べて機能が少ないです。その中でもよくLESSにはextendがないのが困るというのを聞くので実装してみました。SassのextendについてはAdvent Calendarでも後ほど…
chrome拡張は一応file://でも動く。http://code.google.com/chrome/extensions/content_scripts.html http://code.google.com/chrome/extensions/match_patterns.htmlhttpもfileも全部動かしたいなら、matchesとかpermissionところに、こんな感じで書けばい…
$ echo 'print $ARGV[0]' | perl hoge Can't open perl script "hoge": No such file or directoryって感じでエラーになるので $ echo 'print $ARGV[0]' | perl - hoge hogeこうするといいらしい。ここに書いてあった。 標準入力から暗黙に渡される。 ファイ…
つくってしばらく放置してたnodebrewを色々変更してみた。https://github.com/hokaccha/nodebrew主に wgetに対応(以前はcurlのみ) ワンライナーでインストールできるようにした ~/.nodebrew以下にnodebrew自信も置くようにした 環境変数(NODEBREW_ROOT)…
curl -Iみたいのがやりくてちょっとはまった。 $ wget -Sq --spider <url>でできるんだけど、これだとどうやら標準出力じゃなくて標準エラーに出力されるらしい。ので $ wget -Sq --spider <url> | grep "200 OK"とかがうまくいかない。ので標準出力にリダイレクトしな</url></url>…
MLで見かけたのでメモ。まだアンドキュメントらしい。 chrome.app.getDetails() http://groups.google.com/group/chrome-api-developers-jp/browse_thread/thread/9df59a350bf48734?hl=ja
っていうのが新しく追加されてた。 // t1.js describe('mochaのテスト', function() { it('globalに定義', function() { foo = 'bar'; }); }); // t2.js var assert = require('assert'); describe('mochaのテスト', function() { it('fooがglobalに定義され…
JavaScript Advent Calendar 2011 (フレームワークコース)6日目です。この前のエントリーで予告したとおりmochaを使ったフロントエンドでのテストについて書きます。ちなみにこの前エントリー書いたときは0.2.0だったんですけどすでに0.3.2です。必要なファ…
JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)3日目のhokacchaです。Node.jsのテストフレームワーク、mochaについて書きます。mochaはTJが新しく作り始めているテストフレームワークです。ドキュメントを見ればできることは大体書いてありま…
function Foo() {} Foo.prototype.a = 'b'; var foo = new Foo; console.log(foo.constructor.name); // => Foo これでコンストラクタとれるんだけど、こうするとダメ。 function Foo() {} Foo.prototype = { a: 'b' }; var foo = new Foo; console.log(foo.…
function foo() { var e = { name: 'Error', message: 'hoge' }; throw e; } foo(); node.jsでこれ実行すると node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: hogeこうなるわけなんだけど、エラーの箇所がさっぱ…
原因がよくわからんのだけどnotificationsに設定したonclickがしばらくすると効かなくなることがある気がする。chrome15。 function notify() { var n = webkitNotifications.createNotification("foo", "bar"); n.onclick = function() { console.log("hoge…
今更こんなのにはまった。スムーズスクロール実装するときに、 $("html, body").animate({ scrollTop: 0 }, function() { console.log("animate end"); }); WebKitだとbody、それ以外だとhtmlにしないと動かないので $('html, body') って書くのが普通っぽい…
5000件くらい一気にスクレイピングしたいってのがあって、jsdomでスクレイピングしてたんだけど、メモリの使用量がふくれあがってすぐメモリリークしちゃってどうしようかと思ったんだけど、ググったら同じ人いっぱいいて、window.close()しろって書いてあっ…
perlでいうと if (-t STDOUT) { say 'tty'; } else { say 'not tty'; } こういうことがやりたくてnodeだとこうするといけるみたい。 var tty = require('tty'); if (tty.isatty(1)) { console.log('tty'); } else { console.log('not tty'); } 1はSTDOUTね。…
curl http://api.twitter.com/1/statuses/user_timeline/hokaccha.json | node -e 'd = ""; process.stdin.resume(); process.stdin.on("data", function(c) { d+=c; }); process.stdin.on("end", function() { console.log(JSON.parse(d, null, " ")); });'…
リリースされてた。npmにも。 https://github.com/cloudhead/less.js/commit/ab5af597effc0bea3c7466f0c6f8f3ae2bc7dcae#package.jsonリリーススパンはそんな短くないlessだから色々バグ直ってて嬉しい。細かいChangeLogは見てないけどとりあえず。
http://php.net/manual/ja/function.array-chunk.php こういうのほしかったので。 function arrayChunk(input, size) { var ret = [] , x = -1; input.forEach(function(val, i) { var y = i % size; y === 0 ? ret[++x] = [val] : ret[x][y] = val; }); ret…
なんか意外にもいけそうな気がしたのでgithubに移した https://github.com/hokaccha/nodebrew機能追加とか改善点があればどしどしお願いします。