時間が経ち、現在の地位のみの枠組みの中でさらに仕事をすれば、私の視野が狭まるだけでなく、労働市場での競争の機会が奪われるという理解が得られました。 プログラマーとしてのサードパーティのサイドジョブは、必要な体系的なアプローチを提供しませんでした。
この点で、小さな家のプロジェクトに基づいて、開発分野の新しい技術を研究することが決定されました(知識は、本やインターネットから読みましたが、使用経験がなくても、非常に早く消えました)。 私は必要な知識を持っていたので、自分の開発のための時間をいつでも確保できました。
プロジェクトとして、データを収集、処理、保存、表示するためのニュースアグリゲーター(Android上のクライアント)とそのサーバー側を実装するというアイデアが選ばれました。
それ以降の話は、2日間でどのようにクライアントを作成したかではなく、小さなスタートアップの創設者、建築家、開発者、およびデザイナーとして、どのように製品を作成しようとしたかについてです最新のツール:
- バージョン管理システム ;
- 組立システム ;
- 逐次統合システム ;
- JavaおよびAndroidの統合開発環境。
- 完成品の保管システム。
- Java Webクロールライブラリ
- 構成制御システム ;
- 監視システム ;
- コンテナ仮想化システム。
- 監視システムからのデータを視覚化するシステム 。
- 非リレーショナルデータストレージシステム。
- 分散検索エンジン。
- 分散メッセージ処理システム 。
- 自然言語分析システム;
- 分散システムで動作する確率的主題モデル。
- Androidモバイルクライアント
- Androidアプリケーションを開発するためのライブラリ。
上記のツール/技術から、主な目標は最終製品ではなく、技術の開発とサポートのプロセスであり、必要な人数の人々がプロジェクトで作業して子供の状態を監視できるようにする開発/サポート/監視ツールであることが明らかになります。
概略的に、プロジェクトのコンポーネントは次のように表すことができます。
誰かが、これは単純なニュースアグリゲーターにとって非常に複雑なアーキテクチャであり、そのような単純な機能はサーバー側がまったくなくても実装できると言うかもしれません。 おそらくそうかもしれませんが、私にとってはまだ技術を研究するプロジェクトです-この場合、結果は二次的です(少なくとも最初のユーザーが起動するまで)。
以降の投稿は、示されたトピックから各トピック(または複数のトピックを一度に)に専念し、興味深いリンクが含まれ、私のプロジェクトでのアプリケーションの機能について説明します。
おそらく、彼らは真剣に見えず、仕事で長い間使用されてきた決定を繰り返しますが、一部の人にとっては彼らの仕事/プロジェクトでのアプリケーションのアイデアのソースになります。