読者です 読者をやめる 読者になる 読者になる

北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

textlint の導入

textlintで日本語の自動校正サービスを作ってみた! | それいけ!フロントエンド 以前面倒だと思ってやってなかった textlint だけど、こちらのエントリの通りやったらさくっと動いた。 ざっくり手順。 npm の作法を知らないのが怖いところだけど、まあ、オ…

Connectのソースを読む(2)

前回の続きで、Connect 1.8.4のソースを読む。今日はミドルウェアから適当に抜粋。残ってるのはミドルウェアだけなので、今日で終わりのつもり(気が向いたら残りも書くかも?)。 middleware/logger.js アクセスログを書き込むだけだが、connectのミドルウェ…

Connectのソースを読む(1)

node.js 使ったことがなかったので読んでみる。今日はコアの部分。 下準備 githubからcloneしてきて、checkout 1.8.4した。masterじゃないので注意*1。npm install を実行すると依存モジュールがnode_modules/ 以下に入る。そうするとmake test でテストを走…

今日は JavaScript ゲーム製作勉強会 Vol.2 の日です

Akiba.jsという集まりは初めて聞いたのですが、今日はJavaScript ゲーム製作勉強会 Vol.2に出席しています。会場はリクルートさんです。詳細はid:nakamura001 さんの撮影した動画を参照しましょう。

Re: 配列参照について

JS

最近書くネタがなかったのでTwitterから転載。Array型に対して添字を文字列にするなんて言語道断かと思いましたが、どっちも対して変わらないんですね。 ["a","b"][0] // "a" ["a","b"]["0"] // "a" 二つの方法で参照することが出来ます。何故こういうことが…

Shibuya.js beyond HTML5 に参加してきます

hiratara : とりあえず確保。上司から許可が取れたら行きますShibuya.js beyond HTML5 上司の許可がとれたので行ってきます! → 出席してます!

jQueryは本当にモナドだった

タイトルはかなり釣りです:-) まあ、間違えているかもしれないので内容の判断は自己責任で。さて、元ネタはこちらなのですが、独自のモナド節を唱えていて非常に怪しい。と言うことで、怪しくならないように真面目に解説してみます。ちなみに、このエントリ…

JSDeferred.next×IE×https = 警告

「セキュリティで保護された Web ページ コンテンツのみを表示しますか」で困っている方は、Deferred.next_default を使うようにすると最新版を使うと幸せになれると思います。参考→IEでSSL通信時に警告が出ることがある

JSDeferredのソースを読むんでみて(おまけ)

JS

以下の2つの書き方が超COOLでした。 コンストラクタの誤爆を防ぐ function Deferred () { return (this instanceof Deferred) ? this.init() : new Deferred() } (配列を)安全にforeachさせる for (var i in dl) if (dl.hasOwnProperty(i)) (function (d, i)…

JSDeferredの動きを追ってみた

JS

JSDeferredを使ってみたメモです。動きがわかれば、使うときに気をつけなきゃならないツボがわかるようになります。なお、詳しい解説は本家をどうぞ。

当たり前だけど case文 で || は使えない

JS

Test jQuery Form Deserialization Plugin version 0.35を使ってるんですが、以下のようなコードが。 switch(this.type || this.tagName.toLowerCase()) { case "radio": case "checkbox": // ... 略 ... break; case "select-multiple" || "select": // ...…

for...in の使い方

かなり有名な話っぽいですけど、JS初心者なのでメモっておきます。以下のような for...in のループを書いてはいけません。 var arr = ["One", "Two", "Three"]; var i; for(i in arr){ console.log( [i, arr[i]].join(",") ); } 例えば、 prototype.js を読…

QUnitでJSのテストを書いてみた

JS

JSでテストファーストしたかったので、QUnitを試してみました。QUnitを使えば、とても簡単にJavaScriptのテストスイートを作ることができ、オススメです。 てっとり早く試す インタネットにつながる環境であれば、てっとり早くQUnitを試せます。QUnitのペー…

js2-mode(2)

JS

以前設定したjs2-modeが未だに暴れん坊だったので、再設定しました。 (when (load "js2" t) (setq js2-cleanup-whitespace nil js2-mirror-mode nil js2-auto-indent-flag nil js2-enter-indents-newline nil)) js2-mode-hook をやめたのは、こちらで言及さ…

onsubmitにはreturnが必要

JS

formのonSubmitで指定した関数の戻り値をfalseにしてもactionで指定したページに 移ってしまいます。どこがいけないのでしょうか?<form action="testp.php" method="get" onSubmit = "doSearch(this)">...ベストアンサーに選ばれた回答<form action="testp.php" method="get" onSubmit = "return doSearch(this)">formのonSubmitで指定した関数の戻り値をfalseにしてもactionで指定したページに ... ついつ</form></form>…

JavaScriptは怖くない

JS

デブサミ版Google Hackathon行ってきました*1。OpenSocialに触れるのがもちろんメインテーマなんですが、今回それとは別に「JavaScriptを使いこなせるようになる」と言うサブテーマを自分に課してました。今日一日でJavaScriptを好きになれたので、そのノウ…

js2-mode

JS

js2-mode は確かにいいんですが、こちらやこちらで言及されてるようにデフォルトだと暴れん坊で使いこなせません。特にTAB幅が8でインデント幅が2だったりする辺りについていけなかったので、オレはこう設定しました。 (autoload 'js2-mode "js2" nil t) (ad…

と、ついでにprototype.js

JS

上記エントリの内容ですが、prototype.jsにもちょっと関連します。実は、prototype.jsの1.4ではwindowオブジェクトにunloadイベントのリスナを登録しています。これが、prototype.jsの1.6*1では登録しない作りになってます。そのため、prototype.jsをバージ…

戻るボタンとonloadイベント

JS

ブラウザの戻るボタン(history.back)で戻った時にonloadイベントが走るかどうかは、ブラウザによって違うようです。

なんでJSONPか

JS

チラシの裏程度ですけども。 なんでJSONPってものが生まれたのか考えてみました。(※1)と(※2)と(※3)が肝の部分です。

実践Ajaxのdojoのサンプルが動かない

JS

HTMLEffectsより。 OBSOLETE?These methods are marked deprecated as of Dojo 0.3! Use lfx? instead! どうりで dojo.graphics.htmlEffects 使ったサンプルが動かないわけですね。後、dojo.require("dojo.lfx.*"); も忘れないでおいてあげてください。

undefinedの作り方

JS

"賢い初期かだなー。" に同感。こちらのエントリより。 // Global undefined variable window.undefined = window.undefined; 思わず唸ってしまいました。JavaScriptの仕様をよく考えた上での、洗練されたいいコードですね。

HTMLとDOMの微妙な差異

JS

実践Ajaxを読んでいたら、HTMLの記述とDOMには微妙に違いがあると書いてあったので実験してみました。 <html> <body> <div id="main" style="background: #CCC;"></div> <table> <tr><td>COLUMN</td></tr> </table> <script type="text/javascript"> </body></html>