ぶれすとつーる

だいたいjavascript

CSS&FP WG

本記事、ただの用語メモ。 cssの仕様しらべてたら「CSS&FP WGによって定められた〜」みたいに書いてあって、そういえばよく見るけどFP is 何?ってなったので調べてた時のメモ FP = Formatting Properties. らしい。 CSS&FP WG = Cascading Style Sheets and…

exotic objectがhost objectの呼び名が変わったものという風潮

native object -> ordinary object host object -> exotic object って感じの解釈をよく聞くけど違うと思う。(誰も言ってなかったらごめんなさい) es6上での定義 4.3.6 ordinary object object that has the default behaviour for the essential internal m…

requireの仕組み

こんばんは この記事は Node.js Advent Calender 2014の23日目の記事です。 Node.js Advent Calendar 2014 - Qiita Node.js Advent Calendar 2014 - Qiita 普段node書くとき、何気なく使ってるrequireだけど、どんな風にモジュールが読み込まれてるのかコア…

Argumentsと関数内の変数環境の関係

おはようございます。 この記事はJavascript Advent Calender 2014の22日目の記事です。 JavaScript Advent Calendar 2014 - Qiita JavaScript Advent Calendar 2014 - Qiita domenicのツイートをストーキングしてたら、とある話を拾った。 I forgot about t…

サーバ側でd3を使って作ったsvgを画像に変換して返す

おはようございます、この記事はd3.js Advent Calendar 2014の21日目の記事です。 d3.js Advent Calendar 2014 - Qiita d3.js Advent Calendar 2014 - Qiita つい先日からd3を使い始めました。 d3のpackage.json読んでたらnode側から使う場合はjsdomを使って…

YUIの開発終了とYUICompressor

Important Announcement Regarding YUI この記事でYUIの積極的なメンテナンスがもうなされないよみたいな話を聞いてYUI Compressorもメンテされなくなるのかなーなんて思って聞いてみたんだけどYUI Compressorの管理は2012年の時点でownershipがかわってたみ…

socket.ioで特定ユーザーにemitしたい時

最近socket.ioがメジャーバージョンになって少しかわって 今まで io.sockets.socket(id).json.emit('msg', send_msg); みたいな感じでかけてたのですがsockets (namespace)がsocketメソッドを持たなくなってて、「 あれ特定ユーザ探す方法なくね」って思って…

ES6 Map/Setのキーの比較まわりの挙動の変化について

今日Firefox29がでてその変更内容の中で 更新された ECMAScript6 仕様草案に準拠するため、Map オブジェクトおよび Set オブジェクトがキーと値の同一性を確認するときは、-0 と +0 を同一として扱うようになりました。 ってかいてるのみて、ほとんど出た当…

connect-expiresかいた

response headersにexpires付与してくれるconnect middlewareさがしたらすごく大きなものばっかりでてきてそんなに機能必要じゃなかったのでちょろっとかいた。 connect-expires var expires = require('connect-expires') ; // ...adding some connect midd…

文字列リテラルとU+2028

元気にインターネットしてたらユーザの入力した値をこんな感じでDOMに埋め込んでるサイトをみつけた <a href='javascript:edit(2,{"a":"どらえもん","b":["×","×"],"c":"ふごふご"},1)'> ほげええ </a> 入力値いろいろかえて遊んでみたらだいたいの文字列はエスケープはされてたけど曰くのU+2028はsyntax errorだしてた Uncaught SyntaxError: Une…

正規表現リテラルのes3からes5の間での変化

何度目かの聖書(JavaScript: The Good Parts)の輪読会をしてたときに、RegExpの章を担当してくれた子が、「正規表現リテラルから生成される正規表現オブジェクトは内容が同じなら参照も同じになります!」って説明してくれて、「あれ、そうだっけ」って思っ…

jsコンソールよくわからないぽよ〜

不思議ぽよ〜 {} + "" これをコンソールで実行すると0が返るぽよ〜 でもconsole.logでみると普通ぽよ〜 むずかしいぽよ〜 数分後ぽよ〜 解決したぽよ!!!! ただ空文字を数値化してるだけの扱いになってたぽよ!!! +"" // 0 ありがとうございますぽよ〜>< …

inline-block一回指定しちゃうとhasLayoutを元に戻せないとかいう糞みたいなほんとの話

最近うしろめたいことにちょっと時代錯誤なことしてて、そのせいでhasLayoutの思わぬ挙動に気づいた <html lang="ja"> ... <span class="foo">ほげえええ</span> ... .foo { display: inline-block; } .ie7 .foo { display: inline; } こういう状態のとき、i…</html>

DOMContentLoadedとスタイルシートの読込み

DOMContentLoadedの発火とスタイルシートの読み込みは間接的に関係あるらしい MDNのDOMContentLoadedのページみてたら The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheets, im…

レスポンスヘッダのexpiresとリロードの関係

レスポンスヘッダのexpiresとリロードの関係あんまり把握してなくてはまったのでメモ 下ごしらえ expireとcache-controlのmax-ageを適切に設定してレスポンス返すようなコードをかく。 (一応検証に使ったコードは下に記述してあるので面倒な人はそっちをみて…

Nodeでホストごとに起動するアプリケーションを分ける

だいたいnodejs-jpのレスに書いたことと同じだけどメモ代わりに。 ピュアな感じで書く とりあえずNodeのピュアなAPIだけでやる まずはサーバをたてる server.js var http = require('http'); http.createServer(function(req, res) { }).listen(3000); ホス…

コミットメッセージとかマークダウンに絵文字

githubでいろんなリポジトリ見て回ってたらコミットメッセージに絵文字がはいってるのあってあーつかえるんだーってなったんでメモ 使える絵文字一覧 ここにまとまってた 実際にやってみたらこんな感じ commit message commit 9bbf010f9833edf74a2f60066b1f0…

2013年の思い出

仕事とか (あまり詳しいことかけない) 1月頃〜 フロントエンドエンジニア(だいたいJS)に転向(それまではサーバサイドがメインだった) スマホ系のJS書く仕事がメインになった すべてのAndroidを生まれる前に壊したい— なぞみかん (@nazomikan) 2013, 6月 21 …

withとProxyを使ってフロントJSで外部からローカルスコープにアクセスする切り口

Proxyとwith使えばアクティベーションオブジェクト抜ける・・・?とりあえずwithの動的スコープ内のアクティベーションオブジェクトはさし抜けた。Function#toStringとwithとeval組み合わせればローカルメソッドにアクセスできるのでは・・・? (function ()…

Nodeのテストを簡単にするCuckooモジュール

untestableなコードを簡単にテスト可能にするモジュール Cuckoo を作りました。以前書いたNodeでプライベートな(exportsされてない)メソッドのテストをパス周りとかmodule周りとかきちんと細かいところまで作ったものです。npmにインストールされてるのでこ…

timer#unrefで効率よくプロセスkillする

作ったアプリケーションが突然のエラーに見舞われることなんてざらにありますね。で、エラーが起きたときはすみやかに、おだやかにそのワーカーをヌッコロしたいわけですがその終了作業中になんらかの処理がビジーな感じになって強制killしなきゃいけないこ…

X-Powered-By:Express

Expressで作ったサイトを動かすとレスポンスヘッダに X-Powered-By:Express こんなのつきます。俺のサイトはNodeだぜ フフンみたいな人はいいんですがいつか脆弱性がみつかったときにしめしめって思われるのもなんだか怖いので消すようにしました。Express3系な…

Nodeのファイルスコープ

NodeのファイルスコープについてJSでスコープを有するものは静的なものでfunction, block、動的スコープではcatch, withとそこそこありますが通常の処理系ではファイルスコープなんてものはないです。でもNodeではファイル内でvarと宣言した変数はrequireし…

大きなPubSub、小さなPubSub。

JavaScriptにおいてもそのほかの言語においても疎結合というのは結構大きなテーマの一つだと思います。そんな疎結合を促す実装としてPubSubがにわかに脚光をあびてますね。 にわかというより定期的に盛り上がってる気がしますが。僕はあまりデザインパターン…

Nodeでプライベートな(exportsされてない)メソッドのテスト

だいたいこの記事のまんまですが大雑把な訳記事だと思ってください。こんなファイル(app.js)があったとする。 //app.js exports.testableMethod = function () { complicatedMethod(untestableMethod); }; var untestableMethod = function (a, b) { return …

cssのcounter()って便利だよなーって話

css

TL見てて@watilde氏がこんなこといってるの見て でもcounter()の存在知れてよかった。何か使い道ありそう。— わっちさん (@watilde) 2013年3月16日 昔制作さんにもらったテンプレでcounter()使われてたときはjsで制御しなきゃいけないだろーなって思ってとこ…

Node学園祭2012でおっぱいの話をしてきました。

11月下旬ごろ?にNode学園祭がありましたが、そこでLTしてきました。前の記事でかいたNode Knock Outの話です。NKO中にお世話になってた@mesoさんがよかったらLTしない?みたいなチャンスをくださったのでこれは是非といった感じで参加させていただきました…

Node Knock Outに参加してきました。

※年末にかこうかこうと思ってかけてなかったやつを精算しようと必死になってかいてます。時はさかのぼること11月の中頃にNode Knock OutというNodeのハッカソンがあったので参加してきました。 (http://nodeknockout.com/)数年前からやってるやつで去年はnod…

ieの関数オブジェクトのスコープのきもちわるいやつ、もっときもちわるかった。

javascript gardenとかで紹介されてるこういうスコープhttp://bonsaiden.github.com/JavaScript-Garden/ja/#function.general [名前付き関数式]のところ var foo = function bar() { console.log(bar); // 動作する console.log(foo); // 動作する } console…

メリークリスマス

世界にメリークリスマス。 http://nazomikan.com/archive/20121225/001/ npm xmasをフロントに移植してアニメーションしただけのごみですが一応クリスマスということで。 よく見てる人は気づいてるかもしれないけどサイトの方、ドメイン放置しすぎてrgpにな…