自作node.jsフレームワークと nginxを使ってラジオサイトを作ってみた
はじめまして! エンジニアのちゃん武です。
CyberXエンジニアブログ初の投稿ということで、
緊張のあまり手をガタガタさせながらこの記事を書かせていただきました。
さて、初投稿のブログですが、
「node.jsとnginxでラジオサイト作りました!」
という内容でブログを書かせていただきます。
node.jsやnginxと聞くと、中小企業やスタートアップを中心に、
尖りに尖ったエンジニアたちが使い始めたおかげで以前に比べだいぶ認知度も上がり、
socket.ioを中心としてリアルタイムウェブプログラミング環境の代名詞としてその名を世に知らしめていることと思います。
僕も、以前から興味を持っており、node.js周辺の勉強会などにちょこちょこ参加させていただいていたのですが、
仕事での開発とプライベートでやっているサービスの開発と運用で、node.jsさんに時間をかけることが出来ずにほったらかしにしておりました。
しかし、とあるチャンスが僕に到来します。
なんと、知り合いのデザイナーとダブルパーソナリティでラジオ番組を始めることになりました。
ラジオをやるということは、もちろんWEBサイトが必要ですよね?
というこで、node.jsを使ってwebサイトを作ることにしました!
ただ、一言でnode.jsを使ってサイトを作るとはいえ、
スクラッチで書いたり、FWを使ったり、サードパーティ性のモジュールやライブラリを使ったりと色々な開発スタイルがあります。
が、ここでフレームワークを使ってしまったら、node.jsでのプログラミングのイロハをなんとなく理解した気になって大人になってしまう 汗。。
と思い、時間はあまりかけられませんが、自分でプチフレームワークを作って勉強しがてらサイトをつくろうと決めました!
その開発までの経緯から、設計・開発、完成までを資料にまとめて社内勉強会で発表したので、
その記事を添付させていただきます。
■自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
*資料中のコードは若干端折って書いております。
2日で作ったので、各モジュールごとの結合が高かったり、
割と強引なことをしていますが、何よりも、javascriptでWEBサーバーや
MVCフレームワークを構築する作業はハマったところも含め、自分の知見が広がりとてもタメになるものでした。
ただ、結論として、普通のWEBサイトを作るだけなら、
phpやruby、pythonなどで本当に十分です!!!笑
理由としては、きちんとしたクラス設計が出来ない、イベントドリブンスタイルであり、
手続き型の言語になれたプログラマには少し理解に時間がかかるというjsの言語仕様的なポイントと、
慣れないシングルスレッドのイベントループモデルであることで、それによって起る問題を推測しにくいといったものです。
ただ、僕はnode.js大好きです♥
次回は、socket.ioを使ったリアルタイムウェブプログラミングやネットワークプログラミングなどnode.jsの得意な部分を使ったサービスを開発して、みなさんに発表したいと思います。
CyberXエンジニアブログをお読みいただきありがとうございました。
CyberXエンジニアブログ初の投稿ということで、
緊張のあまり手をガタガタさせながらこの記事を書かせていただきました。
さて、初投稿のブログですが、
「node.jsとnginxでラジオサイト作りました!」
という内容でブログを書かせていただきます。
node.jsやnginxと聞くと、中小企業やスタートアップを中心に、
尖りに尖ったエンジニアたちが使い始めたおかげで以前に比べだいぶ認知度も上がり、
socket.ioを中心としてリアルタイムウェブプログラミング環境の代名詞としてその名を世に知らしめていることと思います。
僕も、以前から興味を持っており、node.js周辺の勉強会などにちょこちょこ参加させていただいていたのですが、
仕事での開発とプライベートでやっているサービスの開発と運用で、node.jsさんに時間をかけることが出来ずにほったらかしにしておりました。
しかし、とあるチャンスが僕に到来します。
なんと、知り合いのデザイナーとダブルパーソナリティでラジオ番組を始めることになりました。
ラジオをやるということは、もちろんWEBサイトが必要ですよね?
というこで、node.jsを使ってwebサイトを作ることにしました!
ただ、一言でnode.jsを使ってサイトを作るとはいえ、
スクラッチで書いたり、FWを使ったり、サードパーティ性のモジュールやライブラリを使ったりと色々な開発スタイルがあります。
が、ここでフレームワークを使ってしまったら、node.jsでのプログラミングのイロハをなんとなく理解した気になって大人になってしまう 汗。。
と思い、時間はあまりかけられませんが、自分でプチフレームワークを作って勉強しがてらサイトをつくろうと決めました!
その開発までの経緯から、設計・開発、完成までを資料にまとめて社内勉強会で発表したので、
その記事を添付させていただきます。
■自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
*資料中のコードは若干端折って書いております。
2日で作ったので、各モジュールごとの結合が高かったり、
割と強引なことをしていますが、何よりも、javascriptでWEBサーバーや
MVCフレームワークを構築する作業はハマったところも含め、自分の知見が広がりとてもタメになるものでした。
ただ、結論として、普通のWEBサイトを作るだけなら、
phpやruby、pythonなどで本当に十分です!!!笑
理由としては、きちんとしたクラス設計が出来ない、イベントドリブンスタイルであり、
手続き型の言語になれたプログラマには少し理解に時間がかかるというjsの言語仕様的なポイントと、
慣れないシングルスレッドのイベントループモデルであることで、それによって起る問題を推測しにくいといったものです。
ただ、僕はnode.js大好きです♥
次回は、socket.ioを使ったリアルタイムウェブプログラミングやネットワークプログラミングなどnode.jsの得意な部分を使ったサービスを開発して、みなさんに発表したいと思います。
CyberXエンジニアブログをお読みいただきありがとうございました。