개발 · 프로그래밍

/

백엔드

Spring Boot를 활용하여 채팅 플랫폼 만들어보기

Spring Boot를 활용하여 JWT, ws 통신에 대해서 학습하며, 대용량 TPS를 처리하는 방법에 대해서 학습하실 수 있습니다.

(4.0) 수강평 4

수강생 115

Thumbnail

초급자를 위해 준비한
[백엔드, Spring Boot] 강의입니다.

이런 걸
배워요!

  • Spring Boot의 기본 구조

  • ws 통신을 활용한 Stateful 서버

  • JWT를 활용한 Cookie 관리 및 인증

Spring Boot를 대용량 채팅 TPS 처리하기 😘

이 강의에서는 채팅 서비스가 들어가는 플랫폼에 대표적으로 사용하는 ws protocol을 활용하여 서비스를 어떻게 구성하고 관리를 할 수 있는지 학습하실 수 있습니다.

  • 치지직, 아프리카TV, Twitch 등등을 참고하시면 좋습니다.


본 강의는 Spring Boot, Next.js를 사용하여 직접 서비스를 구성하고, JWT를 활용한 인증 방식을 주제로 강의를 구성하였고, 이 강의를 수강하시면, 여러분들은 Spring Boot와 ws protocol에 대해서 심화적으로 학습하실 수 있습니다.

HTTP와 ws의 차이는 무엇일까요? 😘

여러분들은 이떄까지 HTTP Protocol만 주로 다루어 개발을 진행하셨다고 생각합니다.

물론 실제 실무에서는 HTTP를 주로 사용을 합니다. 하지만 이외에도 TCP, RPC, ws 등 다양한 통신 방식이 존재하며, 상황에 따라서 유연하게 적용하여 서비스를 구축 하실 수 있어야 합니다.


그럼 대표적인 HTTP와 ws의 차이는 무엇일까요?? 쉽게 말하면, Stateles와 Stateful의 차이로 보시면 됩니다.

  • 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⃣ 웹소켓과 HTTP와 차이와 리소스 절감의 이유

4⃣ 구현한 프로젝트에 대해 함께하는 디버깅

수강 전 참고 사항

실습 환경

  • 강의는 MacOS(M1) 기준으로 설명합니다.



  • 강의에서는 Spring Boot와 Next.js 를 사용합니다.

    • 강의 촬영자는 서버 개발자 학습을 위해 촬영이 되었습니다. Next.js에 대해서는 템플릿만을 제공하는것을 알아주세요.


  • 이 강의는 수강생들에 대한 학습 방향성을 제공하는것을 목표로 하고 있습니다. 기본적인 기능을 구현하지만, 추후 TODO를 남겨놓는 강의로써 구성이 되어 있으니, 해당 TODO를 참고하여 추가적인 학습을 하시면 좋습니다.

    • TODO에 대한 부분은 README.md 에 남겨두었습니다.


  • IDE는 Goland 및 vscode를 사용합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • Spring Boot가 처음이신 분

  • HTTP가 아닌 다른 프로토콜이 궁금하신 분

선수 지식,
필요할까요?

  • Spring Boot

  • 네트워크 기본지식

안녕하세요
Hong입니다.

자기 소개

비전공자 출신으로 대학교 4학년에 갑자기 개발에 흥미가 생겨 혼자서 삽질을 진행하며 개발을 진행했던 서버 개발자...

Mongo Korea, Oracle등등 다양한 기업에서 세션을 진행한 경험이 있으며 이를 토대로

대용량 데이터와 트래픽을 직접 튜닝한 이력과 경험을 기반으로 강의를 촬영하고 이를 통해 수강생 분들이 좀 더 개발에 재미를 느끼게 하고싶은 지식공유자.

해당 공유자 계정은 Spring Boot을 주로 다루고 있습니다.

 

경력

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

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

[前] 판교 대기업 플랫폼 서버 개발자

[] 판교 중견기업 모회사 서버 개발자

- 개인적인 사정 및 회사 사정으로 경력 사항의 상세한 부분은 변경 및 수정되었습니다.

커리큘럼

전체

29 ∙ 3시간 46분

수업 자료

가 제공되는 강의입니다.

강의 게시일: 2024년 09월 20일
마지막 업데이트일: 2024년 09월 20일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!