코스 이미지

[스터디/14기] 단순 CRUD는 그만! 웹 백엔드 시스템 구현(Spring Boot)

  • 온라인 코스
  • 12 hour 49 minutes 19 seconds 동영상 강의
  • 유료
  • Nov 30, 2022 마지막 업데이트

단순 CRUD는 그만!
웹 백엔드 시스템 구현 (Spring Boot)

CRUD와 MVC밖에 몰랐던 주니어를 위해
자바 웹 백엔드 전문가 2인과 당신의 특별한 5주

스터디 일정

  1. 스터디 기간
    9월 22일(목) ~ 10월 20(목), 5주간
  2. 온라인 세션
    매주 목요일 저녁 20시 30분 (1~2시간)
  3. 준비물
    개인 노트북 (Windows,MacOS 상관없음)
  4. 사용 프로그램
    슬랙, 깃헙, 프로그래머스 스쿨, 줌
주어지는 페이스북 구현 프로젝트 소스코드를 기반으로 기능을 추가, 수정하는
미션을 수행해 보는 5주 스터디 실무에서 쓰는 분산 시스템을 배우며
시스템 전체를 보는 안목을 기를 수 있습니다.

스터디 미리 보기

각 주차별 학습 내용과 미션 소개 및 리더들의 코드 리뷰를 살펴 볼 수 있어요.
2주 차와 5주 차는 난이도가 있으니 예습은 필수라고 합니다.

사전 필요 지식
및 예습 가이드

  • Java, Spring에 대한 기본 이해는 무조건 필수
  • spring-boot / spring-web-mvc / spring-jdbcJdbc Template
  • 기본적인 SQL 작성능력, join 정도는 쓸 수 있어야 함
  • Spring Security에 대해 둘러보고 오기
  • Kafka에 대해 둘러보고 오기

예습 사항

Java, Spring은 알지만 다른 키워드는 잘 모르겠거나, 학원 등에서 미리 세팅해준 프로젝트 없이는 뭔가 시작하지 못하는 수준이라면 아래의 추천 도서를 예습해오는 것을 권장합니다.

  • Maven

    프로젝트 빌드 도구로 Maven을 사용합니다. Maven에 대해 깊이 알 필요는 없지만 어느정도 쓸 수는 있어야 스터디를 따라가는데 문제가 없습니다. Maven에 대한 기본적인 내용은 여기에서 확인 해보고 참여해주세요.

  • IDE

    IntelliJ를 사용하고, Community 버전을 사용해도 상관없습니다. 만약 본인이 Eclipse 유저라면 그대로 써도 상관이 없습니다. 본인이 익숙한 IDE를 쓰세요.

    IntelliJ, Eclipse 에서 Github 연동방법, Maven 프로젝트를 다루는 방법 등을 알아두시면 스터디를 진행하는데 도움이 됩니다. 아래 유투브 링크도 참고하시고, 부족하다면 IntelliJ와 Maven, Spring Boot 같은 키워드로 검색해보면 많은 자료를 쉽게 찾을 수 있습니다.

  • REST API 클라이언트 활용하기

    스터디에서는 REST API 클라이언트로 Postman를 사용합니다. 다른 REST API 클라이언트로 Insomnia도 많이 사용합니다. 본인이 익숙한 도구를 선택하세요.

참고 자료

그 외에 아래의 것들도 참고하면 많이 도움이 됩니다. 참고자료로 활용할 수 있도록 좋은 내용을 공유해주신 개발자분들께 감사드립니다.

실무 웹 개발 팀처럼
움직이는 스터디!

여러분이 어떤 회사를 가던, 특수 케이스를 제외하고는
이미 운영 중인 서비스나 개발하고 있는 기능을 토대로 뭔가를 담당하게 될 것입니다.

이미 만들어져있는 소스코드를 읽고 이해하고, 결함이 있으면 빠르게 잡아내고,
직접 기여할 수 있는 주니어 개발자가 현재 시장에는 너무나도 절실합니다.

하지만 경험이 부족한 주니어가 그런 역량을 스스로 갖추긴 힘듭니다.
그 힘듦을 알기에, 여러분의 성장에 기여하고자 우리 스터디는 이렇게 진행합니다.

  1. 01.

    스터디 리더와 스터디원들 전체가
    나의 개발팀이라고 가정한다.

  2. 02.

    프론트엔드는 다 개발되었고, 백엔드 개발자(당신!)에게 기능 개발 업무가 넘어온 상황을 가정하며 시작한다.

  3. 03.

    실제 실무에서 개발할 때 고민하고
    사용하는 기술들을 미션으로 할당한다.

  4. 04.

    상호 정기적 코드 리뷰를 진행하며
    기능을 완성해 나간다.

스터디 리더
Harry & Jackson

강사님 프로필 이미지

Harry, 해리

현) 핀테크 서비스 백엔드 팀장
리더의 한마디

평소에 딱히 개인 개발 프로젝트가 없어서 이력서가 휑했던 분들은 이 스터디에서 특별한 경험과 괜찮은 결과물을 가져갈 수 있을거에요. 코드리뷰를 통해 많은걸 알려드릴게요.

표준프레임워크 오픈커뮤니티 리더
Java, Spring 실무 경험, 강의 경력 다수
전) 글로벌 스타트업 소프트웨어 엔지니어
전) 국내 Top 통신사 플랫폼 엔지니어
강사님 프로필 이미지

Jackson, 잭슨

현) 핀테크 서비스 백엔드 개발자
리더의 한마디

실무 상황에서 실제로 고민하는 것들을 스터디 미션에 담았습니다. 학원이나 부트캠프에서 열심히 배워두신 내용을 실무에 가깝게 연마하는 스터디라고 생각하면 좋겠네요. 함께 참여하세요.

Java 및 Kotlin Spring 실무 경험, 강의 경력 다수
전) 인터넷 은행 백엔드 개발자
전) 게임개발사 플랫폼 엔지니어

선배 개발자가
이 스터디를 강력히 추천합니다.

“더 크게 성장하기 위한
토대를 만들어주는 스터디”

선배 개발자 이미지

먼저 개발자로서의 길을 가보았고 실무의 흐름을 읽을 수 있는 선배 개발자가 옆에서 리드해준다면 훨씬 더 수월하게 성장할 수 있어요. 스터디 미션들이 군더더기가 없고 알맹이로만 탄탄히 구성되어 있어서 추천하고 싶고, 더 크게 성장해나가기 위한 중요한 토대를 단단히 쌓을 수 있게 될겁니다.

안재하 현) 카카오 FE플랫폼팀 웹 개발자

“실력 향상과 만족스러운 코드를
작성하고 싶은 분들을 위한 스터디”

선배 개발자 이미지

다들 나름대로 공부 열심히 하셨었지요? 그런데 말로는 배운걸 설명해도, 막상 적용하려면 늘 괴리가 있기 마련입니다. 이럴 때는 선배 개발자들이 하는걸 보고 흉내내는 것 만으로도 실력이 향상될 수 있습니다. 이 스터디를 통해 미션을 해결해나가고, 피드백을 받다보면 점차 만족스러운 코드를 작성하는 나를 발견하게 될 것이라 확신해요.

이상훈 현) 스타트업 백엔드 엔지니어

주차별 미션
살펴보기

  1. Chapter 1.

    내 손으로 직접 Maven 기반 Spring Boot 프로젝트 셋업하기

    1주차 미션 핵심
    • Spring 주요 개념 (이미 알아도 다시)제대로 짚고 가기
    • Spring Boot 개론(Spring 3.* 버전만 사용해본 경우, 필수 내용)
    • Maven 프로젝트 직접 세팅

    IDE는 IntelliJ, Eclipse 둘 중 본인이 편한 것을 써도 된다. 또한, 프로젝트 셋업은 모두 준비된 것을 주어주지 않는다. 앞으로의 미션 수행을 위해 직접 세팅하는 것 이 중요하다. 매번 누가 던져준 환경에서만 개발해본 경우에는 꼭 초반에 셋업 부분을 제대로 이해하고 넘어가야 한다.


    온라인 세션 : 9월 22일(목) 20:30 ~ (약 2~2.5시간 소요)
  2. Chapter 2.

    인증과 인가(Authentication and Authorization)

    2주차 미션 핵심
    • Spring Security를 활용한 인증(Authentication)
    • 서비스 확장 시 Session 기반 사용자 인증의 문제점 알기
    • 장애 대응을 위한 분산서비스 구조
    • Stateless 아키텍처와 JWT(JSON Web Token)

    우리는 보통 웹 백엔드 공부를 시작할 때, 쿠키나 세션을 통한 인증 처리 위주로 배우곤 한다. 그런데 실무에선 서비스가 커지면서 이용자가 많아지면 세션이 무척 바빠지면서 서버가 뻗을 수 있다. 세션 없이, 클라이언트의 상태를 저장하며 서비스 안정성을 취할 방법이 없을까? 여기에 대한 답을 찾아보는 시간.


    온라인 세션 : 9월 29일(목) 20:30 ~
  3. Chapter 3.

    비즈니스 로직 처리 (1)

    3주차 미션 핵심
    • API 문서 자동화를 위한 Swagger
    • 비즈니스 로직 개발 시 주의할 점
    • 비즈니스 로직 개발(포스팅 관련 기능 구현)

    왜 API 문서를 굳이 만들어야 하는걸까? 안그래도 할 일 많은데…가 아니라, 실무에서 프론트엔드 개발자와 백엔드 개발자의 소통을 위해 반드시 신경써야 할 부분이다. API가 한 두개가 아니고, 계속 변하니까 더욱 문서화는 중요하다. 3주에는 포스트(post) 기능을 위해 필요한 API를 구현하며 문서화 부분까지 챙겨보자. 나 혼자 읽을 소장용 문서가 아니라, 다른 개발자가 읽을거라고 가정하고!


    온라인 세션 : 10월 6일(목) 20:30 ~
  4. Chapter 4.

    비즈니스 로직 처리 (2)

    4주차 미션 핵심
    • 예외처리 가이드
    • AWS S3 연동하기
    • CompletableFuture 비동기 처리
    • 비즈니스 로직 개발(포스팅 댓글 관련 기능 구현)

    코멘트 추가, 코멘트 목록 조회 REST API를 구현한다. 이 과정에서 AWS S3에 파일 업로드 기능과 AWS SecretKey 같은 민감 데이터 노출을 방지하기 위해 jasypt 라이브러리를 활용하는 방법을 알아본다.


    온라인 세션 : 10월 13일(목) 20:30 ~
  5. Chapter 5.

    마이크로서비스 (Microservice)

    5주차 미션 핵심
    • 도메인 이벤트
    • 이벤트 시스템
    • Apache Kafka
    • 댓글 알림 기능 구현
    보너스 라이브코딩 영상 콘텐츠

    도메인 이벤트를 정의해보고 이벤트 시스템을 이용해서 해당 도메인 이벤트를 처리해 봅니다. 그리고 마이크로 서비스 환경에서 이벤트 기반으로 서비스가 반응적으로 동작하게 구성해봅니다. 이때 분산 메시징 시스템인 Apache Kafka를 다룹니다. 마지막 주차 미션은 조금 무거우니, 끝까지 집중!


    온라인 세션 : 10월 20일(목) 20:30 ~

스터디는
온라인 세션으로
진행되요

더 많은 내용을 스터디원들에게 알려드리기 위해, 일주일에 1~2시간 정도 동시접속하여필요한 개념에 대해 리더의 설명을 듣고, 실습을 하면서 궁금했던 점을 질문하는 시간입니다.


경고 아이콘 불참시 녹화본을 제공합니다만, 직접 참여해야 과정을 따라가기 수월합니다 :)

수강생 후기

스터디 주제와 리더에 대한 솔직한 후기를 참고하세요

12기 수강생
곽동운 님의 후기

프로필 이미지

C# 개발을 2년 정도 하다가 백엔드 직무로 이직을 해보고 싶어서 들을 수 있는 강의를 이것저것 찾아보다가 알게 되었습니다. 수강 후기도 다 좋아서 참여해 보고 싶었는데, 시간 핑계로 미루다가 이제야 듣게 되네요.

일단 프로젝트를 단계별로 만드는 흐름을 알 수 있었고, 세션마다 실무적인 관점에서 이야기를 많이 해주셔서 그런 부분들은 특히 기억에 많이 남았습니다. 라이브 세션 녹화 영상을 올려 주셔서 다시 볼 수 있어서 정말 좋았습니다. 처음 들을 때는 '이런 게 있구나…' 하고 넘어갔던 부분들도 강의 자료를 참고해서 이것저것 알아보면서 공부하고 나서 다시 보니 확실히 다르더라고요. 그래서 같은 세션도 여러 번 들었습니다.

마지막으로 코딩하는 실력을 늘리기 위해서는 무조건 코드 리뷰가 필요하다는 것을 알게 되었는데요. 정말 코드 리뷰를 받고 나서 제가 우물 안 개구리였다는 것을 깨달을 수 있었고, 코드가 이렇게 깔끔해질 수 있다는 것도 알게 되었습니다. 그리고 궁금했던 점들도 바로 피드백을 해주셔서 궁금증도 풀면서, 많은 것들을 배울 수 있었습니다. 시간이 너무 빨리 지나가서 아쉬울 정도로 정말 값진 시간들이었습니다.

10기 수강생
최진영 님의 후기

프로필 이미지

스터디를 시작하기 전 혼자서 취업 준비를 하면서 가장 고민되고 힘들었던 부분은 내가 짜는 코드가 맞나? 이렇게 짜는 게 맞나? 였었어요. 실무에서는 다양한 동료 개발자들과 서로의 코드를 리뷰하면서 계속해서 피드백 받아 가는 과정에서 성장하는 부분이 있다고 생각하지만 혼자서 고독하게(?) 취업 준비하는 취준생 입장에서는 그런 것들이 정말 부러웠어요. 그러던 와중 스터디에 참여했던 분이 추천해 주셔서 과정을 살펴보게 되었고 당시의 저에게 가장 필요하다고 생각하여 듣게 되었습니다. :)

첫 미션을 진행했을 땐 많이 사용하던 crud였기 때문에 '이 정도면 되겠지, 요구 사항이 그렇게 어렵지 않은데?'라고 생각했었는데 코드 리뷰를 진행하면서 놓쳤던 부분들 (예외 케이스에 대한 테스트 케이스, 입력값에 대한 확실한 검증) 등을 배우면서 혼자 공부했다면 지나쳤을 법한 부분을 꼼꼼하게 피드백 받으면서 많은 걸 배웠다고 생각해요. 이후 stream에 대한 fluent 한 사용법, security에 대한 이해, s3 사용법, msa, kafka 등 혼자서 했다면 제대로 짚고 넘어가기 어려운 내용을 세션에서 배우고 미션을 통해 코드를 직접 작성하고, 리뷰를 하면서 또 한 번 배우는 좋은 계기가 되었다고 생각합니다.

일반적인 강의와는 다른 이 스터디의 가장 큰 장점은 피드백이 가능한 미션형 기반의 학습에 있다고 생각합니다. 저와 같은 취준생을 비롯한 많은 개발자들이 눈앞에 있는 새로운 것들을 배워나가기 위해서 놓치고 모자랐던 부분들을 실제 현업 개발자들이 문제점들을 집어내어 피드백을 해주는 과정에서 다른 어떤 강의보다 더 배울 점이 많다고 생각해요. 스프링을 자주 사용했지만 내가 짠 코드가 잘 짰는지 항상 고민해왔던 사람들은 스터디를 진행한다면 한 단계 더 성장할 수 있는 기회가 된다고 생각합니다 :)

스터디 참여비

단순 CRUD는 그만!
웹 백엔드 시스템 구현(Spring Boot)

실무 간접체험형 미션과 코드리뷰를 함께해요! - 교육 매니저 소피아


  • 정가
    450,000

질문 & 답변