私は最近 Erlang を発見し、現在いくつかのチュートリアルに取り組んでいます。今では、趣味のプロジェクトとして実際に何かを実装することを楽しみにしています。私は別のチャット サーバーにはあまり興味がありません。もっと面白いものをコーディングしたいと思います (はい、これはかなりあいまいな用語であることは承知しています)。
助言がありますか?
編集: プロジェクトは、できれば Erlang の強み (同時実行性、分散) を強調する必要があります。
私は最近 Erlang を発見し、現在いくつかのチュートリアルに取り組んでいます。今では、趣味のプロジェクトとして実際に何かを実装することを楽しみにしています。私は別のチャット サーバーにはあまり興味がありません。もっと面白いものをコーディングしたいと思います (はい、これはかなりあいまいな用語であることは承知しています)。
助言がありますか?
編集: プロジェクトは、できれば Erlang の強み (同時実行性、分散) を強調する必要があります。
Twitter フィードをリアルタイムで検索し、誰でも Web フロント エンドから検索できる分散システムを構築します。
分散ファイル システムを構築します。このファイル システムのベースとして分散 B*Tree または B+Tree を実装します。アーランでやってください。
手順 2 で構築した分散ファイル システムの上に、分散キー バリュー ストアを構築します。
キー値ストアの上に分散 Web インデックス (分散 Web 検索エンジンで使用される) を構築します。
分散リンカーをビルドします。高度なビルド自動化により、分散ビルドや分散処理のリモート エージェント処理が提供されます。
ゲーム/プレーヤーの状態の分散ストレージとユーザー リクエストの分散処理に依存する MMORPG バックエンドを構築します。
自分用に、単純なサーバーを作成することを検討してください。たとえば、日付/時刻のリクエストを処理するものや、少し手の込んだものですが、静的コンテンツのみを処理する HTTP デーモンです。
Erlang の最も優れた点は、同時実行性を処理する方法です。それを行使します。
Project Eulerですね。
私の大量の ToDo リストから、良い学習練習になると同時に、erlang コミュニティ全体に役立ついくつかのことを以下に示します。
使用可能なすべてのキー/バリュー ストアをプロファイリングします。
名前付きパラメーターを使用する新しい io_lib:format ルーチンを作成します。
erl -make を拡張 (make.erl)
これはあなたの質問に正確に答えるものではありませんが、Erlang で書かれた興味深い無料のオープンソース プロジェクトを探しているなら、間違いなく CouchDB をチェックしてください。ウェブサイトから:
Apache CouchDB は、RESTful HTTP/JSON API を介してアクセスできる、フォールト トレラントでスキーマフリーの分散型ドキュメント指向データベースです。他の機能の中でも特に、双方向の競合検出と解決を備えた堅牢な増分レプリケーションを提供し、デフォルトのビュー定義言語として機能する JavaScript を備えたテーブル指向のビュー エンジンを使用してクエリとインデックスを作成できます。
CouchDB は Erlang で記述されていますが、HTTP 要求を行う手段を提供する任意の環境から簡単にアクセスできます。さまざまなプログラミング言語や環境でこれをさらに簡単にするサードパーティのクライアント ライブラリが多数あります。
詳細については、CouchDB の Web サイトを参照してください。ハッピーコーディング!
あなたが理解していて気に入っている、erlang にないものを見つけてください。私は etap でそれを行いましたhttps://github.com/ngerakines/etap/現在、ニックが管理を引き継ぎ、EA ゲームで内部的に使用されています。作るのは楽しかったし、以前のポスターのようにリアルなものだったので、それに取り組んで現実世界の問題に対処することを学びました.
ファイルのインデックス作成/検索システム。これはイントロプロジェクトで行われていましたが、私は別のものに切り替えました。
動作するようになったら、インデックスをmnesiaに移動し、他のノードに分散してネットワークインデックス全体を作成します。