ラベル JavaScript の投稿を表示しています。 すべての投稿を表示
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示

NodeSchool大阪に行ってみた

NodeSchool 大阪 28
https://nodejs.connpass.com/event/44062/

node.js を入れたPCを持ち寄って、一つの部屋でみんなで勉強しましょうという集まり。

  • いわゆる、もくもく会だった。

  • node.js 入れてない人でも、インストールから教えてくれる。(できれば入れておいた方がいいが)

  • SublimeTextやらのエディタとか、Macのターミナルとかは普通に使えるレベルの方がいいかも。

  • NodeSchool のサイトに、テーマごとの教材(ワークショップ)があるので、それを見て、個々人で進める。(一つのテーマを皆で進めるのではなく、それぞれ好きなものを、自分のペースでやる)

  • メンター(教師、いわゆる詳しい人)がいるので、詰まったら気軽に聞ける。聞かなくても、メンターが参加者を一人ずつ見て回り、「わからないことはないですか?」と見に来てくれる。

  • 参加者が順番ずつ発表とかはない。

  • 参加者の自己紹介とかもない。

  • 気楽に参加できて、一人だと煮詰まりそうなところもメンターに助言してもらえて、思ったより集中できる3時間だった。無料だし!(今回はYahoo! JAPAN 大阪にお邪魔できた)

  • 普段一人で作業してることが多いので、刺激にはなった。本には書いてないような作業上の細かなTipsなどが聞けることも。

  • 何度か参加してると、顔見知りも増えてきて、仲良くなれそう?(毎月1回開催とのこと)

JavaScriptのデバッグコード(console.log等)を数行で無効化する

ここのところ、JavaScriptを使って結構な量のコードを書くことが増えて、デバッグ用に使っている console.log や console.time などをリリース前に簡単に消去できないかと思っていました。
(最初から消すことを念頭において書いていけばいいのだが)

リリース前に .js は Optimize(最適化)を行いますが、requirejsなどの最適化ツール(r.js)を通せばやってくれるものだと思っていました。が、どうもツールによっては、やってくれないことがあって困った。

そこでまぁ、ちょっと考えたのですが、JavaScriptってネイティブなメソッドの上書き(あまり好ましくないが)が出来てしまうんですよね。

console.log そのものを、何も返さない関数のオブジェクトで上書きしてやればいいじゃないかと。

window.console = {};
window.console.log = function(i){return;};
window.console.time = function(i){return;};
window.console.timeEnd = function(i){return;};

このコードが実行されると、console.log や console.time は何も出力しない関数になります。

リリース時は、スクリプトの先頭に上記のコードを記述しておいてやれば、
コードからわざわざ console.log 等を消す作業は必要なくなります。

そんなわけで。

PAGE TOP