将来のシニア ソフトウェア エンジニア の皆さん、こんにちは。ここ数か月間、私は開発の重要な部分を説明する簡単な記事を書いてきました。今日は私のアイデアについてお話します!初めての就職をお手伝いしたいと思っています。そのためには何が必要なのでしょうか?これを行うには経験を積む必要があります。まさにこれらのプロジェクトがどのようなもので構成されているのか、エンジニアが取り組んで情報技術の世界を前進させているのかを理解します。
どうやってするの?何か書かなければなりません。したがって、この一連の資料の一部として、独自の電報ボットを段階的に作成していきます (詳細は以下を参照)。同時に、初心者の Java 開発者でも必要なテクノロジー スタックを理解します。
目標
データベースの操作、必要なビジネス ロジックの作成、プロジェクトのデプロイとテストのための作業のセットアップを組み合わせたプロジェクトを作成します。何を書こうか?文章を書くのであれば、その作品に興味を持ってもらい、その結果を誰かが利用できるように、本当に役立つ内容を書く必要があります。このデータに基づいて、JavaRush Web サイトで動作する電報ボットが作成されます。これは役に立つでしょうか?疑いなく!電報ボットの作成はそれほど難しくないため、役立つ可能性のある実用的なプロジェクトをすぐに取得できます。開発時間
記事は週に 1 回公開されるため、マスター/繰り返し/不明な点がある場合は質問を書くのに十分な時間があります。最初の記事は、プロジェクトで使用する理論的基礎になります。あとは練習あるのみです。MVP (実行可能な最小限の製品)
MVPとは何ですか?いつものように、この用語は私たちのものではありませんが、合理的な説明はwikiで見つけることができます。引用: MVP は最小限の機能を備えた製品ですが、最初のニーズを満たすには十分です。主なタスクは、フィードバックを受け取り、製品をさらに開発するための仮説を立てることです。 私たちにとって、この説明は完璧に当てはまります。すべての機能の簡単な説明: Telegram ユーザーとして、グループ内の新しい記事を購読し、新しい記事が公開されたときに通知を受信できるようにしたいと考えています。私はSuccess Storyグループ を読むのが大好きで、学習を続けて何か新しいことを学ぶ動機になります。私は怠け者なので、毎回ページを更新したくありません。したがって、プログラマーとしての私は、作業を楽にして、新しい記事が公開されたというメッセージを Telegram で送信するプログラムを作成したいと考えています。さらに言えば、私が追跡しているグループはこれだけではありません。私はハリコフ出身なので、そこに掲載されている記事を読むことに興味があります。この製品の開発者としては、誰かが自分の作品を使用しているかどうかに非常に関心があるため、管理者が電報ボットの統計を表示できる機能を追加します。これは可能でしょうか?確かに!どうやって?これは一連の記事で紹介する予定です。コード名
すべての素晴らしいプロジェクトにはコード名が必要です。私たちも例外ではないので、今のところは次のようになります: JRTB (JavaRush Telegram Bot)。 以下、そう呼ぶことにする。どのようなトピックを取り上げますか?
データベース
アプリケーションに状態 (データと情報) を保存できないことをすぐに理解する必要があります。データはデータベースに保存する必要があります。トレーニングにはそれに関する情報がないので (私が覚えている限り:D)、必要な知識のギャップを埋めるように努めます。混乱を避けるために、データベース スキーマをできるだけ単純にするように努めます。この部分には以下が含まれます:- MySQL に基づいた SQL の操作理論。
- MySQL を操作するためのツールは MySQL Workbench です。
- データベースのバージョン管理。フライウェイとリキッドベース。
- データベーススキーマの作成。
- データベース スキーマ図面を作成します。
ギット
このトピックに関する記事はすでにあります。もちろん、バージョン管理システムがなければ何も機能しません。JRTB の作業を開始するには、git について理解する必要があります。自分で行うこともできますし、このトピックに関する私の記事を読むこともできます。 必要に応じて、分岐戦略についても読むことができますが、これはここでは重要ではないため、スキップできます。メイビン
ここでは集会制度について、何のためにあるのか、どのように利用するのか、注意点やマナーなどについてお話しします。ここではバージョン管理と、それを具体的にどのように行うかについても説明します。ドッカー
私たちの作業をよりシンプルかつ簡単にし、デプロイメントプロセスをできるだけシンプルにするために、Docker を使用します。これを行うために、Docker とは何なのか、またどのような便利なコマンドがあるのかについて説明します。私はユーザーレベルで Docker を使用しているため、何かを知らないか、何かを実行できるかも知れないことをすぐに言いたいです)) したがって、誰かが Docker の操作をより良く/より簡単にする方法を提案してくれたら、私はそれをただ嬉しく思います。この部分には以下が含まれます:- Docker の理論と実践。
- Docker経由でデータをバックアップ/復元します。
- Docker で実行できるようにプロジェクトをセットアップします。
Bash スクリプト
作業を自動化するには、1 つまたは 2 つのスクリプトを作成すると便利な場合があります。Bash スクリプトは、基本的に Linux のコマンドライン作業であり、単に別のファイルに保存されるだけであるため、すべての開発者がある程度理解しているスクリプトです。アプリケーションの作成
すべてのドライブがここにあります。これまでの知識に基づいて、テレグラム ボット オブジェクトを含む Spring Boot アプリケーションを構築します。ここで何をしましょうか?- 必要な機能の完全な説明を作成します。
- Telegram ボットとは何かについての簡単な説明。
- Spring Boot アプリケーションを作成します。
- Lombok での作業の説明。
- UniRest の操作についての説明。
- コマンド パターンの実装 + 管理者コマンド用に独自のアノテーションを作成します。
- UniRest を使用して JavaRush クエリ (グループのリスト、グループ内の記事のリストなど) を操作するためのクライアントを作成します。
- テスト中。機能をカバーするために考えられるすべてのテストを作成してみましょう。
- コードの品質をチェックし、GitHub 上で自動的にビルドするシステムをセットアップします。
- データベースのバージョン管理とともにデータベースを接続します。
GO TO FULL VERSION