강의

멘토링

커뮤니티

Programming

/

Back-end

バックエンドフレームワークの作成(改訂版)

フレームワークは、開発者に必要な共通機能を備えた、それ自体で実行可能なソフトウェアです。

  • zero
Java
oop
AOP

学習した受講者のレビュー

受講後に得られること

  • 世界のすべてのフレームワークを理解できる知識と経験

  • バックエンド技術ロードマップを説明する能力

  • 作成者の視点でバックエンドフレームワークを見る能力

バックエンドフレームワーク、
私の手で自分で作ろう! 🧰

この講義は?

バックエンドフレームワークを自分で作成し、
作者の視線で世界の多くのフレームワークを簡単に理解して使ってみる講義です。

なぜフレームワークを自分で作るのですか?

世界のすべてのフレームワークは
すべて同じプロセスを経て作成されます。

世界にはおいしい食べ物がたくさんあります。
その食べ物のおかげで、世界を楽しく生きることができます。
そのおいしい食べ物をもっとおいしく食べる方法があります。
食べ物を自分で作るのです。

もちろん、最初からうまく作ることはできません。
材料の調整に失敗したり、鍋を燃やすこともできます。
作った食べ物の評価が最悪かもしれません。

しかし、失望せずに繰り返し挑戦した場合
自分だけのレシピが完成し、
誰もがおいしく食べられる食べ物を作ることができます。

ところで、食べ物を作りながら得た経験と知識はここで終わりません。
食べ物を眺める目が変わります。
その食べ物に詰め込まれた材料、道具、そして作った人の考えを読む能力になります。
そして私のレシピを見事に整える知恵に広がります。

フレームワークを作成することも同じです。
私がフレームワークを作った経験と知識は
他のフレームワークに含まれる技術と知識、
そして、それを作った人の考えを正しく理解することができます。
私の能力を深くしてくれる知恵になります。

そのため、フレームワークをうまく使用するのに止まってはいけません。
他の人が使用するフレームワークを自分で作成してください。

コードが混乱しても大丈夫です。
当然、エラーが発生する可能性もあります。
使用する人の苦情があるかもしれません。

しかし、世界の素晴らしいフレームワークは同じプロセスで作られました。
当たって問題を確認し、解決を繰り返します。
そのようなプロセスは知識と経験を得てくれ、体内の知恵になる
開発者の生活を豊かにしてくれます。


この講義は

SWの再利用性
のための抽象化

モジュール単位
オブジェクト指向パラダイム

並行性、直列性確保
取引

必ず必要
非機能品質属性

「バックエンドフレームワークの作成」
何もない状態で実際の仕事に使用されるレベル
バックエンドフレームワークが完成する過程が含まれています。

SW工学の基本目標であるSW再利用性のための抽象化、
実行時に必要な機能とデータを持つモジュール
利用可能なオブジェクト指向パラダイム、
並行性と直列性を同時に確保するためのトランザクション(Transaction)、
開発者に必ず提供する必要がある非機能品質属性
フレームワークに入れる過程と経験、そして知恵があります。

この講義を通して
私と他の人が動作するソフトウェアを簡単に作成できるようにする
フレームワークを作る勇気と努力をしたいと思います。
そしてそのような経験を通じて、開発者の生活がより豊かで楽しくなることを願っています。


改訂版追加内容

  • 掲示板プロジェクト
    • トイプロジェクトの基本テーマである掲示板とバックエンドフレームワークが一緒に完成する過程を説明
  • 方向性にとどまらず完成したフレームワークについて説明
    • 深化過程を追加実務に必要なフレームワークの原理と機能を説明
    • 他のフレームワークと比較して、フレームワークの方向は似ていることを理解してください
  • 受講者を考慮した講義
    • 組み込みトムキャット、実行環境の自動構成
    • Eclipse、インテリジェイユーザー向けのプロジェクト/モジュール構成

学習内容

  • 合計8つのセクションで構成されています。 (オリエンテーションを除く)
  • 各セクションには考える問題があります。正解がない問題ですが、悩んで文で表現してみてください。
  • フレームワークの機能が順次作成されるため、カリキュラム順に学習することをお勧めします。
  • (深化)プロセスは、特定の機能の詳細な説明です。基本講義を受講してから聞くとわかりやすいです。
  • 講義で使用されたソースコードはセクションごとにGitHubにアップロードされています。 (リンク)

学習プロセスと特徴

セクション 1. 動作するソフトウェアを簡単に作成できるように準備します。
•サーブレット、MVCアーキテクチャスタイルを理解し、フレームワークの観点から実装します。

セクション2.共通機能を抽象化し、使いやすくするために設定します。
•最初の共通機能であるHttpServletRequestオブジェクトを抽象化し、開発者が簡単に使用できるようにAOPの視点にリファクタリングします。

セクション3. SQL依存の開発を削除します。
•SQL依存の開発を理解し、それらを削除するためのフレームワーク機能を開発します。

セクション4.サービスロジックを再利用できるDIとIoCを実装します。
•フレームワークが持つべき機能であるDIとIoCをビジネスの観点から考えて実装します。

セクション5.認証とアクセス制御を実装します。
•私が誰であるかを証明し、私ができることを確認する認証とアクセス制御機能を実装します。

セクション 6. 開発者が知っておくと良い知識の暗号化
•ブロック秘密鍵暗号化技術をうまく利用できる知識を学び、機能として実装します。

セクション7. SW特性を理解するためのログ機能を実装します。
•並列/並行環境で動作するシステムでSW特性を理解するためのログ機能を実装します。

セクション8.私たちが作成した1つのソフトウェアを配布します。
• 半分のバックエンドフレームワークを実行し、残りの半分の掲示板機能を配布します。

セクション9.付録: 私たちが作成したフレームワークにタイムリーフ(Thymeleaf)を使用できるようにします。
•うまく構築されたフロントエンドテクノロジをインポートして実行できるように設定します。


今挑戦!

最初のスタートはシンプルですが、
最後は実務でも使える
素晴らしいバックエンドフレームワークを完成させることができます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • バックエンドフレームワークの原理を知りたい人

  • 開発者に必要な理論を理解したい方

  • 開発者が使用するSWを作成したい方

前提知識、
必要でしょうか?

  • javaの経験

  • dbms、インターネットプログラミング体験

こんにちは
です。

239

受講生

7

受講レビュー

26

回答

4.6

講座評価

1

講座

  • 20년 경력의 자바 개발자
  • 백엔드 프레임워크를 만들고 사용중인 지식과 경험이 있는 개발자
  • 세상의 비즈니스 요구사항을 잘 이해하고 작동하는 코드로 단순하게 표현할 수 있는 개발자
  • 세상의 모든 기술을 사용하는 사람 입장에서 쉽게 설명할 수 있는 정보처리기술사

カリキュラム

全体

97件 ∙ (14時間 41分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

7件

4.6

7件の受講レビュー

  • lilyloper님의 프로필 이미지
    lilyloper

    受講レビュー 5

    平均評価 5.0

    5

    61% 受講後に作成

    • jetlifan4096님의 프로필 이미지
      jetlifan4096

      受講レビュー 1

      平均評価 5.0

      5

      91% 受講後に作成

      開発で重要なポイントを全体的に知ることができる講義です。 フレームワークを自分で作る過程を見せながら、何らかの理由で実装がどうなるべきかを説明してくれます。ここで開発者として悩むべきポイントがわかります。

      • zero
        知識共有者

        こんにちは。ゼロです。久しぶりに受講評が走りましたね。 ^^ 以前お話した内容ですが、 映像で伝えてきた知識と経験を頭の中にしか入れないでください。 コードで書くことを願っています。 知識は表現しながら完成します 経験は、表現した知識が他人に伝わりながら完成するからです。 もう一度受講していただきありがとうございます。

    • hankyulkim님의 프로필 이미지
      hankyulkim

      受講レビュー 35

      平均評価 4.7

      4

      9% 受講後に作成

      頑強はしませんでしたが良い講義のようです。頑張った後も受講評をもう月できれば後期を書きましょう:)

      • 一度登録されたものがあれば二度はできませんね。頑張った後返信で後期付けさせていただきます!

      • zero
        知識共有者

        頑張った後受講評楽しみにしています^^ 一つ話したいこと 講義内容が多いので、途中で聞いて止まる方が多いです。 講義作成者の立場では本当に残念です。 各セクタごと 知識を整理する文章や質問を投稿すると 疲れずに最後まで興味を持ちながら聞くことができるようです。 なぜこれをするのですか? 私のような場合はこれを行います... この知識は間違っているようですが? その知識はこのように応用すればどうなるだろうか? などの考えを質問に上げて答えを得て 気に入らないと、また質問する形で 講義を利用すればいいようです。 講義費には講義フィードバックも含まれています。 積極的に活用してください。 ありがとうございます。

    • tahooni73님의 프로필 이미지
      tahooni73

      受講レビュー 1

      平均評価 3.0

      3

      100% 受講後に作成

      もう一度見なければならない まだよく整理ができません。

      • zero
        知識共有者

        こんにちは。ゼロです。 改訂版初受講評ありがとうございます。 技術書は難しいです。 最初の理由は 知らない知識が不慣れだから その知識を理解するのに時間がかかり、 第二の理由は 前の章で読んだ知識 次の章を理解する経験として使用するまでに時間がかかるからです。 最後に 技術書は短時間で読むことができません。 人の記憶力は忘却曲線があります 短期記憶はすぐになくなるから 古くから読んだ知識が不慣れに感じられるからです。 ビデオ講義も同じです。 しかし、講義を最初から最後まであきらめずに見ると状況が変わります。 目次を通して、私が実際に必要なスキルを探す機会ができます。 開発中に使用される IoCの知識が必要な場合 目次の"サービスロジックを再利用できるDIとIoCを実装します。"選択してもう一度見てください。 マルチスレッド環境で スレッドセーフなコーディング方法が必要な場合 "マルチスレッド環境でログ機能を使用します。"選択して応用できます。 それでも理解できなければ、講義を作った人に聞いてみることも大丈夫です。 (質問は大歓迎です。) つまり 技術書を繰り返し見る必要も 全体を頭の中にまとめる必要がないということです。 全体を一度見ました。 その後、必要なものだけを選択して知識と経験を得てください。 私の講義を最後までご覧いただきありがとうございます。 3点が残念ですが 講義を最後まで聞いて、最初の受講評を書いてください 小さな贈り物(ギフトコーン)を差し上げたいです。 講義紹介文にあるメールで返信いただくとお送りさせていただきます。

    • abcd123123님의 프로필 이미지
      abcd123123

      受講レビュー 326

      平均評価 5.0

      5

      9% 受講後に作成

      ¥6,848

      似ている講座

      同じ分野の他の講座を見てみましょう!