코스 이미지

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

🚀 아쉽지만 11기는 마감되었어요.

12기 오픈 알림 신청하고, 최저가에 수강하세요!

최저가 알림 받기

단순 CRUD, MVC 밖에 몰랐던 주니어를 위해!

자바 웹 백엔드 전문가 2인과 당신의 특별한 5주

주어지는 페이스북 구현 프로젝트 소스코드를 기반으로 기능을 추가, 수정하는 미션을 수행.

함수 하나 짜고, 기능 쪼그만거 하나 개발하는 수준이 아닌, 시스템 전체를 보는 안목을 길러요.

MVC 패턴만 알았던 초보 개발자들에게는, 실무에서 쓰는 분산 시스템을 알아갈 좋은 기회에요.

내 능력을 보여줄 수 있는 '괜찮은' 프로젝트 진행 경험이 없어 이력서가 휑하고,

코드리뷰 경험도 없어 막막한 Java+Spring 초보자를 환영합니다.

운영자의 FAQ 답변 영상입니다. 과정 등록을 고민하시는 분들은 확인해보세요.

영상 속도를 빠르게 감은 관계로 목소리가 좀 이상해도 양해해주세요!

🗓 SCHEDULE 11기 일정

  • 스터디 일정: 2021.9.9.(목) ~ 10.21.(목), 총 5주 (*추석연휴 9/23 휴강)
  • 세션 일정: 매주 목요일 오후 8시 30분
  • 문의사항: 우측 하단의 채팅 상담 이용
  • 준비물 및 사용 프로그램:
  • 개인 노트북

    Windows, MacOS 상관 없음
  • Slack

    실시간 채팅 및 Q&A
  • GitHub

    미션 제출 및 코드리뷰
  • School

    프로그래머스 스쿨

🤷 TARGET 참여 대상자

  • 단순한 웹 개발 업무만 담당하던 분

    짧게 학원만 다니고 어찌저찌 실무에 투입된 뒤 계속 헤매는 분,
    단순 CRUD, 소위 말하는 '업무중심 개발' 에 갇혀 실력 향상이 어려운 분께 추천.
  • 백엔드의 전체를 내려다보고 싶은 분

    단순 학습을 위해 서버 한 대만 두고 실습을 하는게 아니라,
    실무의 기본인 분산 시스템 기술도 함께 배우며 거시적 관점을 키워요.

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

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

예습 사항

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도 많이 사용합니다.
  • 본인이 익숙한 도구를 선택하세요.

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

Spring Security

HTTP Session

JWT

Swagger

Spring에서 Validation

AWS S3

예외처리 가이드

logback, log4j2.xml 로그파일 롤링 설정

선배 웹 개발자도 이 스터디를 추천해요!

리더가 아닌 다른 실무 개발자들도 이 스터디 내용과 진행 방식을 신뢰하고 있어요.

👍 주변에서 알아서 추천하는 스터디

  • 카카오 웹 개발자 안재하님

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

    안재하 ― 카카오 FE플랫폼팀 웹 개발자
  • 레진 백엔드 엔지니어 이상훈님

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

    이상훈 ― 레진엔터테인먼트 서비스개발팀 백엔드 엔지니어

😘 이전 스터디원들이 이 스터디를 추천해요!

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

  • 스터디원 최진영님

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

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

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

    최진영(10기) ― 취업 준비생
  • 스터디원 버무스

    참여 배경 : Spring Framework를 공부해서 웹 개발자로 근무하게 되었습니다. 경력이 쌓이고 일에 적응돼가던 어느 날, 개발자 친구들과 모임을 갖게 되었습니다. 반가워서 이런저런 개발 얘기를 하는데 제가 사용하지 않는 기술들 이야기가 많이 나왔습니다. 그 당시에는 단순히 개발 방식의 차이 정도라고만 생각했습니다. 얼마 후에 그 이유를 알게 되었고, 이유는 개발 트렌드에 뒤처진 개발 기술들에 있었습니다. 그 이후에 혼자서라도 공부를 시작했습니다. 하지만 진도는 잘 안 나가고, 모르는 것들에 대해서 시원하게 대답해 줄 시니어 분들이 필요했습니다. 이런 고민을 하던 와중에 이 스터디를 알게 되었고, 바로 신청했습니다.

    커뮤니티 : 스터디 라이브 세션에 참여하면서 이해가 안 되는 부분들이 있으면 채팅으로 질문했고 그때마다 실시간으로 대답해 주셔서 매주 공부하는 보람을 느꼈습니다. 또, 세션이 끝나도 Slack에 질문을 올리면 잘 알려주셔서 덕분에 많이 도움이 되었습니다.

    코드리뷰 :그동안 git branch 전략에 대해서 생각해 볼 기회가 없었습니다. 하지만 과제 제출 방식이 git branch를 이용한 pull request를 요청하는 방식을 사용하는데 이 경험을 통해 협업이라는 개념에 대해 다시 한번 생각해 보는 계기가 되었습니다.

    결론 : 5주라는 기간 동안 매주 수업 시간이 기다려졌고, 시간이 너무 빨리 지나가버렸습니다. 다른 분들도 저처럼 좋은 경험 얻어 가시길 바라겠습니다 ^^

    버무스(10기) ― 웹 개발자
솔직한 후기 더 보기

🤵 LEADER 스터디 리더

Harry & Jackson(해리앤잭슨)
스터디 리더 해리
Harry, 해리 현 금융 IT분야 웹 개발자

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

  • 표준프레임워크 오픈커뮤니티 리더
  • Java, Spring 실무 경험, 강의 경력 다수
  • 전) 글로벌 스타트업 소프트웨어 엔지니어
  • 전) 국내 Top 통신사 플랫폼 엔지니어
스터디 리더 잭슨
Jackson, 잭슨 국내 탑티어 IT서비스 기업 백엔드 개발자

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

  • Java, Spring 실무 경험, 강의 경력 다수
  • 전) 국내 탑티어 게임개발사 플랫폼 엔지니어
  • 전) 스타트업 CTO

👩‍💻 실무 웹 개발 팀 처럼 움직이는 스터디

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

이미 만들어져있는 소스코드를 읽고 이해하고, 결함이 있으면 빠르게 잡아내고, 직접 기여할 수 있는 주니어 개발자가 현재 시장에는 너무나도 절실합니다. 하지만 경험이 부족한 주니어가 그런 역량을 스스로 갖추긴 힘듭니다. 그 힘듦을 알기에, 여러분의 성장에 기여하고자 우리 스터디는 이렇게 진행합니다.

  1. 스터디 리더와 스터디원들 전체가 하나의 개발팀이라고 가정
  2. 프론트엔드는 다 개발되었고, 백엔드 개발자(당신!)에게 기능 개발 업무가 넘어온 상황을 가정하며 시작
  3. 실제로 실무에서 개발할 때 고민하고 사용하는 기술들을 미션으로 할당
  4. 상호 정기적 코드리뷰를 진행하며 기능을 완성해나감

⚙️ 온라인 + 실무형 미션 + 코드리뷰를 5주간 끊임없이!

시니어 실무자가 현 실무 웹 개발 상황에 맞는 미션을 주어주고, 내 소스코드를 리뷰합니다.

기본 기능이 갖춰져있는 웹 개발 프로젝트(Facebook) 소스코드를 스터디원들에게 배포하고 시작합니다. 단순히 '리더를 따라서 이런걸 만들어봐요' 과정으로 진행하지 않습니다.

스터디원은 5주간, 해당 프로젝트에 추가할 기능 & 기술적으로 보완해야 할 부분을 주간 미션으로 받고 스스로 개발합니다. 그리고 그 과정에서 계속 코드리뷰를 받습니다. 리더가 둘이니, 조금 더 다양한 의견을 들을 수 있어 더욱 좋겠죠.

  • 1) 매 주 진행되는 실시간 세션에 참여해 미션 설명, 기술 소개, 리더의 라이브 코딩 보기
  • 2) GitHub을 활용해, 실무 개발팀들이 쓰는 방식과 동일하게 코드리뷰 받기
  • 3) Slack을 통해 리더, 스터디원들과 질의응답하고 유용한 자료 공유하기
  • 4) 스터디 리더, 스터디원들과 힘내서 1~3을 5주 내내 반복 훈련하기

🗓 1주차

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

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

[1주차 온라인 세션] 9/9(목) 20:30 ~ (약 2~2.5시간 소요)

🗓 2주차

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

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

[2주차 온라인 세션] 9/16(목) 20:30 ~

🗓 3주차

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

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

[3주차 온라인 세션] 9/30(목) 20:30 ~

🗓 4주차

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

코멘트 추가, 코멘트 목록 조회 기능을 구현하며 REST API를 구현한다. 2주차 미션과 이어지는 부분으로, 모든 REST API와 관련 모델에 대해서는 Swagger를 통해 문서화를 반드시 해야 함.

[4주차 온라인 세션] 10/7(목) 20:30 ~

🗓 5주차

마이크로서비스(Microservice)
5주차 미션 핵심
  • ✅ 도메인 이벤트
  • ✅ 이벤트 시스템
  • ✅ Apahce Kafka
  • ✅ 댓글 알림 기능 구현

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

[5주차 온라인 세션] 10/14(목) 20:30 ~

*온라인 세션이 뭐에요?: 스터디가 100% 온라인에서 진행하기 때문에, 모두가 동시접속해서 커뮤니케이션 하는 시간을 주기적으로 가집니다. 리더가 주차별 미션에 대한 소개를 진행하고, 새로 소개해야 하는 지식에 대한 설명도 진행하며, 스터디원들은 모르는 것에 대한 질문 또는 취업/이직에 대한 질문도 해볼 수 있는 시간입니다. 녹화본이 제공되지만, 실시간성이 중요한 세션이기에 가급적 모두 참여하는걸 권장합니다. 모바일로도 접속 가능합니다.

💳 스터디 참여비

2021.9.9.(목) ~ 10.21.(목) 5주

스터디 리더 Harry & Jackson(해리앤잭슨)


실무 간접체험형 미션과 코드리뷰를 함께해요!

온라인 카드결제(할부), 무통장 입금 모두 가능합니다.


💵

5% 할인 427,500원

공석 발생 시, 8/20(금)부터 5% 할인가 적용

정가 450,000원

우리, 카카오톡 친구해요!

  • 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식까지 가장 먼저 알려드립니다.

질문 & 답변