どうする

どうする? 「これは単なる引用本ではありません。 そのようなサイトに固有の面白いコンポーネントに加えて、それはまた、人々が彼らの問題を解決するのを助けるという高い目標を運びます。



サービスのメカニズムは非常にシンプルです-訪問者は質問をします。通常、複雑な生活状況の解決に関連しています。 他の訪問者は、与えられた問題を議論する価値があると考えるか、この状況では問題がないと思うかによって、質問に投票するかもしれません。 選択された質問は、メインフィードとテーマセクションに分類されます。



質問ごとに、訪問者は回答を残すことができます。 匿名で質問できる質問自体とは異なり、承認されたユーザーのみが回答を残すことができます。 認可自体は、一般的なソーシャルネットワークのOAuthを介して実行されたため、問題は発生しません。



「何をすべきか?」答えを清潔で有用なものにしようとする。 これは、「壁に対して自分を殺す」スタイルの回答と、ペイロードを運んでいない、または質問の作者をin辱していない他の回答は、容赦なく削除され、そのような回答の作者はブロックされます。



そして、内部には何がありますか?



V8! はい、「何をすべきか」はNode.JSで動作し、MongoDBはDBMSとして使用されます。 このような異常な選択は、サイトが元々自己開発のために作成されたという事実によるものです。 Node.JSに出会い、すぐに「戦闘」環境でテストしたかったのです。 なぜなら さまざまな「ハローワールド」は客観的に技術の能力を反映せず、すべての落とし穴を示していないため、小さなプロジェクトを作成することにしました。 今後、テクノロジーの選択を後悔しなかったと言います。



このサイトは長い間作成されました。 とても長い時間。 それは魂と共に、魂のために創造されました。 最初の行は1年前に書かれ、サイト自体は昨年8月に公開されました。 急いではなく、仕事や他の問題から余暇に開発されましたが、それはそれほどではありません。



Node.JSに精通したとき、このプラットフォームで人気のあるWebフレームワークを学び始めました。 当時、すでにいくつかの興味深いソリューション、たとえばexpressがありましたが、それらはすべて私には不向きでした。 そして、私は自分の自転車をブラックジャックのフレームワークと他のすべてのものにすることにしました。



フレームワークから、私は次のものが欲しかった:



要するに、このフレームワークのライフサイクルは、開発、デバッグ、実装、削除のようなものでした。 しかし、それは時間の無駄ではありませんでした。 Node.JSのモジュール構造がいかに便利かを教えてくれました。 選択された一連のモジュールの助けを借りて、タスクを解決することははるかに簡単であることが判明しましたが、「裸の」言語の感覚はありません。 実際、フレームワーク自体は、一連のモジュール、その構成、および独自のいくつかの改善です。 フレームワークへのバインディングを取り除くと、モジュールを個別に更新し(非常に迅速に開発しています)、特定のプロジェクトに便利な方法でシステムを「曲げる」ことが可能になります。 バージョンNode.JS 0.6では、ネットワーク接続用の組み込みマルチスレッドが登場し、「クランチ」の必要性は完全になくなりました。



サイトの開発中に、Node.JSはメジャーアップデートを2回リリースしました。 これらの更新とともに、あいまいなメモリリークと予期しないクラッシュが発生したため、全体的な結果が見えなくなりました。 現在、サイトは安定して機能しており、人々にそれを示す時間であると判断しました。 それで、まあ。



うれしい驚きは、 www.ferra.ruの今日のWebサイト 」セクションで「何をすべきか?」 当時、このサイトは開発およびテスト中で、エラーが含まれていて、どこにも宣伝されていませんでした。 レビューをしてくれたセクションエディターに感謝します。



結論として、Node.JSでのWebプロジェクトの開発が気に入ったと言いたいです。 Node.JSは今年著しく成長しました。 この間に得られたすべての経験を1つの記事で説明することは非常に難しいため、主な長所と短所を強調します。



長所:

+サーバーおよびクライアント上の1つの言語。

+開発への参入の低しきい値(JavaScriptは、ほとんどのWeb開発者に多少なりとも馴染みがある)。

+非同期IO。

+多数のモジュール

+構成の初期化、アプリケーションモジュールのロードなどのオーバーヘッドがない 起動時に一度初期化されます。



短所:

-致命的なエラーが発生すると、1つのリクエストだけでなく、アプリケーション全体がクラッシュします。

-メモリリークを厳密に監視する必要があります。 アプリケーションは単一のリクエストのフレームワーク内ではなく「長時間」動作します。

-最初にコードの構造化を正しく行わないと、膨大な数の関数が互いに埋め込まれる可能性があります。



短所はNode.JS自体の開発と開発の経験なので、その将来を信じています。

私は意図的に速度に言及しませんでした 多くの要因に依存し、客観的に評価し、同じデータと同じハードウェアでロードされた同じ機能を持つ2つのアプリケーションでのみ他の言語と比較できます。 私にはそのような機会がないので、簡単に言います-Node.JSの速度に満足しています。



PSこのサイトは最新のモバイルブラウザ向けに最適化されています。



All Articles