Ogawa)のブログ。PHP(CakePHP)、JavaScript(BackboneJS、jQuery、Nodejs)、Python(wxPython)、Linux(Fedora)、Blender、Unity3D、GIMP、InkScapeなどなど。基本的に初心者~中級者向け。NEW?Loading...bloggerのテンプレート、いろいろいじってきたけどそろそろ限界かなー。いうわけで、やりたいことが全然出来ないbloggerから引っ越す予定。サーバかりたので、そっちに移行するよ。移行と言ってもデータはこのまま放置な。ドメインも、ちゃんとDNS立てるのでhalteria.comに戻すよ。おい、自分のブログの存在を忘れておった。何ヶ月経った?うぅむ、ずいぶんと放置してしまったようだプゥ。́・ω・`)どうでもいいけど写真は木村沙織だ。知ってるか?ならばよし。長くなってしまったJavaScriptの基本的な話しだけど、もう少しで終わる予定なので、Node.jsやりたくて死にそうに焦ってる君には悪いが、少しの間お付き合い願いたい。いうわけで、関数に関してもう少し基礎をおさらいしていこうと思う。おさらいだけで終わらないように祈っていてもらえると嬉しいかもね。JavaScriptの基礎を続けてやっていこうと思う。なんでNode.jsの記事なのにJavaScriptの基礎から説明するの?って思うかもしれない。多くの人が同じように疑問を持っていることだろう。!!そんなどうでもいい疑問は犬が食えばいい。俺はそんな面倒くさい質問に答えたくない。多くのブログが、『こうやったらこうなった』しか書かない、ただのノイズ記事ばっかりなことに対し、俺は『こうやったらこうなったのはこうだから』までは書きたいと思ってる。『そもそも何のためにそんなことするの?』ってのも、ある程度、そう、示唆する段階でいいので、念の為に書いておきたいとは思ってる。そこには基礎が含まれるわけだ。いうわけで、面倒くさいけど答えてみた。いいよ、行ってみよう。なんていうか、また自分のブログの存在を忘れてて、ついつい更新が滞ってしまったようだ。いった要素をみんなが期待してると思うので特に悪いとか思ってないのでさっさと続けよう。さぁ、NodeJSだ。ところで記述の話になるけど、Node.jsなのか、nodejsなのか、NodeJSなのか、よくわかってないんだけど、一体全体どういう書き方をすればいいのか?Node.jsだけじゃなくてAngular.JSとかもそうだよね。いうわけで公式サイト見てみた。node.jsNode.jsが正解らしい。ページタイトルは『Node.js』じゃなくて『node.js』になってるんだよなぁ。一応、記事のタイトル書きなおした。時代は10年前からJavaScriptだ。Googleのおっさんおばさん、原理主義のクソガキたちが、それをすでに証明してるじゃないか。PHPとかRubyとかどうでもいいわ(言い過ぎ)!!!というわけでNodejsなわけである。なんでNodejs?って思うかもしれないけど、それは各位おのおの方それぞれが勝手に無断で無許可に無節操に想像しておけば良い話で、特別俺が何か言い訳をするなんてナンセンスな事はしないよ。Yiiの記事を書いてからというもの、著しくアクセス数が落ちたことと、まるで読まれていないことと、業務でYii使ってたけど部署異動でやらなくなるし、それにモチベーション的にどうでも良くなったので、この連載は一時停止するよ。以前、MySQLで正しくランキングを作る記事と、i18nをちゃんとやる記事を途中まで書いてたんだけど、今のところ再開の見込みはゼロ。飽きちゃったというか、今それどころじゃないよね、という体。今回のYiiに関してはもしかしたら再開する可能性がある。『もしかしたら再開』するかもしれないレベル。二度とやらない気もする。本日もMockeryでもっこりしていこうと思う。Yiiのシェルyiicをつかって、ベースとなるアプリケーションをさっくさくに作ってしまおうか。yiicの使い方は簡単だけど、もしわからなかったり、忘れてしまったり、自信がなくなってしまったら、公式サイトを覗いてみればいいだろう。『初めに:はじめてのYiiアプリケーションの作成』で、具体的な使い方はこうなる。<Webアプリ名>さて、Mockeryだ。約束通りMockeryだ。実はPHPUnitのepubをゲットしたので、全部読んだ後にもう一度PHPUnitやろうかと思ってたんだよね。言うのも、実は俺自身、あんまりテストとかってしたことがなくて、その重要性とかわかっていつつも、面倒臭いの一言でやらずじまいでいたわけよ。Requestなんか一度も使ったことがなかった。今勤めてる会社は規模がデカイので、当然Githubなどのチーム開発向けのサービスも使ってるし、ちゃんとコードレビューもみんなでやってる。PHPUnitをつかってテストもしてるんだ。Seleniumというテストフレームワークもつかってるので、ブラウザで自動テストなんかもできてしまう。テストなんか学生時代で終わらせておきたかった。このまま死ぬまでテストするのかと思うとめまいがしてくるけど、テストが通った時(グリーンな状態)は思ってたより嬉しかったりするんだよね。いうわけで、テストは大事だ。本能的には『テストなんか犬が喰えクソがッ!!』って思ってるけど、建前上、『テストは大事』ってことにして話を進めるので、気分の悪いお客様はとっとと去れ。PHPUnitというのは、いわゆるxUnit系のテストフレームワークだ。なにを言ってるの?と思うかもしれないけど、この記事を読み終わるときには余裕で他人に語れる程度には説明しておくので安心されたし!!というわけで早速行ってみよう。君がプログラマだとするとよくあるパターンだろうけど、実行中のプログラムの変数の値を画面に表示させてみたりすることがあると思う。JavaScriptならalert()を使ってみたり、PHPならvar_dump()、もしくはprint_r()だ。頭のなかでは$fooは(int)100、$barが(string)"hogefuga"のはずなので、それを画面にプリントアウトして目で確認しようという感じだ。今でもやってたりする。キャメルケース(CamelCase)というのはラクダのこぶのように、アルファベットの単語の1文字目を大文字にすることだ。Lavigneとなる。これのスペースを省略し、一つの文字列にしたものがCamelCaseだ。AvrilRamonaLavigneとなる。昔はギタリストのウィヴリーと結婚していたのでアヴリル・ラモーナ・ラヴィーン・ウィブリーが本名だったけど、今はウィブリーではない。その分文字数が少なくなった。1文字目を大文字にしないで小文字のままにしておく場合もある。実を言うとこっちがキャメルケースだったりする。composer(コンポーザ)というのは指揮者のことだ。IT業界では、すでに存在する意味を持つ単語を節操もなくそのまま使うケースが多い。いって検索でどっちがヒットするのか不明な場合が多いし、迷惑だと思う。composerって名前とか、日常でも使う単語をそのまま使ってるプロダクトはあんまり好きじゃない。言え、好きじゃないのはネーミングだけで、機能は好きな場合が多い。composerはphp専用のパッケージ管理ツールだ。Symphonyという大げさで仰々しいPHPフレームワークについていたおまけ要素だったらしいが、便利なので独立したらしい。映画で言うスピンアウト的なプロダクトだね。