강의

멘토링

커뮤니티

Programming

/

Back-end

Spring Boot を活用して チャットプラットフォーム を 作ってみる

Spring Bootを活用し、JWT、ws通信、大容量TPSの処理方法について学習できます。

  • Hong
tps
실습 중심
채팅프로그램
Spring Boot
JWT
websocket
MySQL
JPA

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

受講後に得られること

  • Spring Bootの基本構造

  • ws通信を活用したStatefulサーバー

  • JWTを活用したCookie管理および認証

Spring Bootを大容量チャットTPSで処理する😘

このレッスンでは、チャットサービスが入っているプラ​​ットフォームで代表的に使用されるwsプロトコルを活用して、サービスをどのように構成して管理できるかを学ぶことができます。

  • 歯肉アフリカテレビ、 Twitchなどを参考にしてください。


このレッスンでは、Spring Boot、Next.jsを使用して直接サービスを設定し、JWTを活用した認証方式をテーマにレッスンを構成し、このレッスンを受講すれば、あなたはSpring Bootとws protocolについて深く学習することができます。

HTTPとwsの違いは何ですか? 😘

皆さんはこれまでHTTP Protocolだけ主に取り上げて開発を進めたと思います。

もちろん実際の実務ではHTTPを主に使用します。しかし、他にもTCP、RPC、wsなど様々な通信方式が存在し、状況に応じて柔軟に適用してサービスを構築することができなければなりません。


では、代表的なHTTPとwsの違いは何ですか?簡単に言えば、ステートレスとステートフルの違いで見ることができます。

  • Clientとのつながりが持続的なのか一般的なのかという違いで理解すればよく、その文が理解できない場合は、講義を受講しながら学習すれば、十分に理解できます。


websocketをただHTTPで実装すればいいのではないでしょうか? 🤔

📌可能です。不可能な開発方法ではありません。

📌しかし、サーバー開発者は通常、サーバーのリソースをできるだけ節約する必要があります。

📌だから、チャットサーバーのような継続的なConnectionが維持されるべき通信のような場合にはWebSocketを使うのが非常に適しています。

こんなことを学びます😘

1⃣板橋開発者のSpring Bootを活用したサーバー構成

HTTPとwsの両方を活用するサーバーを作成しながら、実際のサーバーについて学ぶことができます。また、JWTを活用して、userに関する情報を活用する方法について学習できます。

2⃣ JPA、Beanを活用した注入モデリング

Spring Bootを活用したときに最も重要なことは何ですか?ほとんどのSpring Boot開発者はその内容を主に扱い、最もよく使用します。板橋の開発者はどのようにSpring Bootを活用するかを学ぶことができます。

3⃣ Next.js、Typescriptを活用した練習テンプレートを提供

このレッスンは、単にwsを活用するサーバーのみを構成してテストを行う講義ではありません。実際のFEコードを提供して、完成度の高いプラットフォームを構築するための基本的なSkeltonを提供します。

4⃣MySQLを活用したデータ管理

実務で最も代表的に使用するDBは何ですか?サービスを構築する上で、RDBは非常によく使われるデータベースです。

このような特徴を持っています。 😘

1⃣実際の開発者と一緒にコードを書いて構成するプロジェクト

2⃣ JWTの形態とそれに従った構成要素

3⃣ WebソケットとHTTPとの違いとリソース削減の理由

4⃣実装したプロジェクトについて一緒にデバッグ

受講前の注意

練習環境

  • 講義はMacOS(M1)ベースで説明されています。



  • レッスンでは、Spring BootとNext.jsを使用します。

    • 講義撮影者はサーバー開発者の学習のために撮影になりました。 Next.jsについては、テンプレートのみを提供することを学んでください。


  • この講義は、受講生に学習の方向性を提供することを目指しています。基本的な機能を実装しますが、今後TODOを残す講義として構成されていますので、該当TODOを参考に追加の学習をしてください。

    • TODOの部分はREADME.mdに残りました。


  • IDEはGolandとvscodeを使用します。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Spring Bootが初めての方

  • HTTP以外のプロトコルが気になる方

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

  • Spring Boot

  • ネットワーク基本知識

こんにちは
です。

4,518

受講生

318

受講レビュー

114

回答

4.7

講座評価

18

講座

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

カリキュラム

全体

29件 ∙ (3時間 46分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

27件

3.9

27件の受講レビュー

  • maintainker님의 프로필 이미지
    maintainker

    受講レビュー 3

    平均評価 4.3

    4

    100% 受講後に作成

    とても良い講義でした。 WSとapiについて良い例やテストしてみる方法など良い内容が多いです。 ただし残念な点は先行すべき点がデビセット、vscode使用なら ideセッティングのようないくつかありますが出ていません。もう1つはコードの例ですが、その説明がありません。修正時になぜ修正されたのかについての説明が不足しています。 しかし、最後の文章に開発者は解決する人という言葉のように検索して解決していく方法が可能な人には十分に良い講義でした。 ありがとうございます。

    • jhong
      知識共有者

      こんにちは。授業を気に入っていただきありがとうございます。もっと満足していただきたいのですが、少し残念な点があり申し訳ありません。 やはり、そのような観点は、私が一人で開発を勉強して実際に取得するよりも、実際に開発をして一人で検索して解決していく過程で多くの助けになったと感じたので、この部分が授業にも自然に溶け込んだようです。 開発者は、単に他の人が書いたコードをコピーしたり貼り付けたりする人ではないと思います。概念を知り、その概念を適用しながら発生する可能性のあるトレードオフを考慮する開発者が良い開発者だと思います。 正直、そのため、すべての部分を教えたいわけではありませんでした。自分でやってみる習慣を教えたいと思いました。 今後、より良い授業でお会いできるよう努めます。寒さが厳しいので、風邪をひかないようにしてください。ありがとうございます :)

  • 100yen님의 프로필 이미지
    100yen

    受講レビュー 23

    平均評価 4.8

    4

    100% 受講後に作成

    まず、講義ありがとうございます。楽しくよく聞きました! ただし、いくつかの残念な部分を慎重に共有したいと思います。 最も残念なことは、構成がやや気を散らしたということです。 中間ごとに点検するのではなく、機能を全て実装した後、最後にテストをするので、機能別に終わりがないと言わなければならないのだ。 ツールも残念です。特定の理由でvscodeを書くこともできますが、頻繁なimportエラーなどでフローが途切れることが多かったです。あえてvscodeに進むべき理由があったかという個人的な考えが聞きました。 最後に、選択と集中をしたらもっと良くなかったかと思います。講義のタイトルは、"スプリングブートを活用してチャットプラットフォームを作成します"です。基本的に 'チャットプラットフォーム'という点で当然講義の方点がWebソケットにあると思っていましたが、省略された部分が多く残念でした。 しかし、チャットプラットフォームを作る上で考えていなかった部分、例えば若干は複雑なsql構文が必要だという点とdb設計に見逃せる部分を一つ一つつけることができてとても良かったです。 あまりにも実力の良い開発者であるガン講の全般にわたって一気に知ることができましたが、より良いインストラクターになってほしいという風に話題以上に書いた。講義の構成が少しだけトリミングされたら、本当にいいと思います!

    • jhong
      知識共有者

      こんにちは。良い評を残してくれてありがとう。 一つ一つテストを進める方法も考慮しましたが、どうやらテストを実際のFrontと連動してお見せしたい欲にこの講義が準備されましたㅠㅠ 次から該当部分をもう少し参考にしてみましょう。 VsCodeをIDEとして活用した理由は、あまり慣れていない方もいると考えて、できるだけ多く使うIDEを使っていました。ジェットブレインファミリーは良いですが、どうしてももっと多くの部分はVsCodeを使うと思いました。 チャットのウェブソケット機能について講義を準備する上で、該当のテーマだけを扱うには、皆さんが手に入れることができる部分が少なすぎると思いました。そういえば川の話題が少し気を散らす傾向がありますねㅠㅠ この部分は申し訳ありません。 もう一度良い評を残していただきありがとうございます。ありがとうございます!

  • dkstmdwn176216님의 프로필 이미지
    dkstmdwn176216

    受講レビュー 37

    平均評価 4.8

    5

    100% 受講後に作成

    講義自体は、広く時間を投資しても3~4日であればみんな見ることができる程度で良かったです。素早く見ると一日くらいで全部見ることができるようです。 講義内容は認証用の簡単なProviderを作成して処理しますが、主な内容ではなくても簡単にjwt認証方式について知ることができました。 チャットに関してパブサブモデルを説明してくれて、Aという方法を教えてくれ、Bについて少し教えてください。自分で見つけてする方法について開かれた結末?のように教えてください。 私も仕事を続けてみながら感じた点は、実務では本当に愚かなことで時間をたくさん過ごすことが多いです。特にエラーハンドリングに関して。 講義は急速に流れながら、講師が間違って打つことがよくあります。たとえば、usercredential エンティティを作成するとき、Table 名を "user" と宣言するか、mapping method の名前を別のものにして front で 404 error が出る部分。 create_at -> created_at で宣言すべき部分 問題が発生したとき、エラー解決する講義を見る前に自分で見つけて解決する部分が私は良かったのですが、少し実務感も出てきてㅎㅎ 初心者の方はなぜダメなのか。悩んでいる方もいると思います。 そしてこの講義の一つ見てチャットアプリケーションをサービスする。という講義ではありません。 完成度のあるチャットサービスを完成してみたいと思います。 !

    • jhong
      知識共有者

      こんにちは良い評を残してくれてありがとう。 あなたと私の時間はすべて大切です。できるだけ機能を実装することに目標を置きました。 このように機能を実装されると、付随的な部分はある程度従ってくるようになっています。それで、コアコア機能を実装することに集中しました。 完全に完成されている講義ではなく、一緒にデバッグしながら、より人間的な姿をお見せしたいと思います。世の中に完璧な人はいないから間違ってバグがあっても大丈夫なので。 完璧なアプリケーションを私も少し悩んでみましたが、私が教えてくれる部分だけしたがって作るのは良い勉強方法ではないという結論が出てきて、皆さんに今後悩む可能性のある部分とTODO Listを提供させていただきました。この過程で出てくる質問は楽にいただくこともできます。 良い講義でずっと探してみましょう。ありがとうございます。 :)

  • wsde43665님의 프로필 이미지
    wsde43665

    受講レビュー 24

    平均評価 5.0

    5

    100% 受講後に作成

    現在、サイド プロジェクトに適用しようとずっと試してきました。 バックエンドだけをやってきた私としては、Websocket と STOMP を使用して ws を接続してチャットを送受信する部分まで、コード的にも ws 通信的にも理解できますが、実際のフロントと連携する部分で、ファイルをセットアップせずに 3000 ポートを起動して連携する様子に、非常に混乱しました。 WebStorm で package.json をロードしても機能せず、新しいプロジェクトを作成して client パッケージのすべてのファイルをコピーして試してみましたが、依存関係の問題から react バージョン問題、createContext 問題など、バックエンドだけをやってきた私としては、3000 ポート サーバーを起動する方法がまったくわかりません。 バックエンド開発者として得たものは、きれいな Swagger アノテーションの使用、WebSocket - STOMP によるチャットの部分です。チャットは試していませんが。

    • jhong
      知識共有者

      こんにちは。コメントを残していただきありがとうございます。 テンプレート部分はフロント作業に関する部分なので、バックエンド開発者の私が扱うと間違った知識が伝わりやすくなるのではないかと感じました。 ある程度しかできないので、テスト用のUIとして利用しました。 しかし、バージョン衝突や実行に多くの困難があるようです 😭😭 次の講義を準備する際には、Dockerを使用して画像として扱うことでバージョン衝突を防ぎ、より簡単に使用できるように構成してみようと思います。 ありがとうございます。

  • yuhojin8037329님의 프로필 이미지
    yuhojin8037329

    受講レビュー 6

    平均評価 5.0

    5

    90% 受講後に作成

    実務でもSpringを使っているジュニアです。 講義が気になって受講をしてみましたが、HTTPとSocket通信の両方を学習できてよかったです。 HTTPのような場合にはみんな使ってJPAもどれくらいは?知っているので、私は復習するという考えで受講しました。 Socketは扱っていませんでしたが、これをなぜ使用しなければならず、どのような状況で効率的で効率的な理由について簡単に知ることができました。それに応じた単純な実装も実装可能でした。 講義がすべて教えてくれるという感じよりも、ちょうど道をつかんでくれるという感じがありました。開発をする上でどんな開発方法や何を勉強すべきか?を教えてくれる感じが強かったです。 良い講義ありがとうございます。

    • jhong
      知識共有者

      こんにちはよく見てくれてありがとう。プラットフォームを構成する上で基本的な部分も一緒に取り上げながら講義を準備してみました。 おおよその勉強方向性と絵を自分で描いてみたようで気持ちがいいですね。 これから良い講義でお会いしましょう。ありがとう:)

¥7,057

Hongの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

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