코스 이미지

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

소개

등록 시, '사전 준비사항 및 예습 가이드' 부분을 꼭 읽어보신 후 참여해주시길 바랍니다. 또한 현재 마지막 할인 기간 중이니 꼭 참고하셔서 결제를 진행해주세요.




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


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


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


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


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




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


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






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

영상 속도를 빠르게 감은 관계로 목소리가 좀 이상합니다.






🗓 SCHEDULE 3기 일정



  • 스터디 시작: 2019-08-28(수)

  • 스터디 종료: 2019-10-09(수) 총 6주(추석 주간 포함 기간)

  • 문의사항: 02-539-1885, learn@programmers.co.kr

  • 준비물 및 사용 프로그램:





  • 개인 노트북


    Windows, MacOS 상관 없음




  • Slack


    실시간 채팅 및 Q&A




  • GitHub


    미션 제출 및 코드리뷰




  • School


    프로그래머스 스쿨







🤷 TARGET 참여 대상자





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


    짧게 학원만 다니고 어찌저찌 실무에 투입된 뒤 계속 헤매는 분,

    단순 CRUD, 소위 말하는 '업무중심 개발' 에 갇혀 실력 향상이 어려운 분께 추천.




  • 백엔드의 전체를 내려다보고 싶은 분


    단순 학습을 위해 서버 한 대만 두고 실습을 하는게 아니라,

    실무의 기본인 분산 시스템 기술도 함께 배우며 거시적 관점을 키워요.








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




  • Java, Spring에 대한 기본 이해는 무조건 필수

  • spring-boot spring-web-mvc spring-data-jdbc

  • 기본적인 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플랫폼팀 웹 개발자









  • 레진 백엔드 엔지니어 이상훈님




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


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











😘 이전 기수 수강생들이 이 스터디 주제와, 리더를 추천해요!







이전 기수 수강생들의 솔직한 후기를 참고하세요.










  • 수강생 안영진님







    취업 준비생에게 적지 않은 금액이었지만 지방에서도 참여할 수 있는 온라인 스터디라는 것을 알고 망설임 없이 지원했습니다. 이미 Java 개발에 어느 정도 익숙하고 Spring을 약간 경험해본지라, 1주차 세션 이후 편안한 마음으로 Pull Request 를 보냈었는데.. 생각하지도 못했던 수많은 리뷰 코멘트가 달렸습니다.


    Java 기본 지식부터 더 효율적인 코드 작성 방법까지 이 정도 까지 봐주시나? 싶을 정도로 꼼꼼히 리뷰 해 주신 멘토 분들 덕분에 5주 동안 많은 동기부여가 되었고 스터디에 사용되는 샘플 프로젝트도 굉장히 잘 짜여있어 개인 공부나 프로젝트를 진행하는데 많은 도움이 되었습니다. 친절하고 적극적으로 진행해 주신 멘토 분들과 에밀리 덕분에 한층 더 성장하는 5주를 보낼 수 있었습니다.



    안영진(2기) ― 백엔드 개발자














🤵 LEADER 스터디 리더


Harry & Jackson(해리앤잭슨)



스터디 리더 해리


Harry, 해리 현 금융 IT분야 웹 개발자

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



  • 표준프레임워크 오픈커뮤니티 리더

  • Java, Spring 실무 경험, 강의 경력 다수

  • 전) 글로벌 스타트업 소프트웨어 엔지니어

  • 전) 국내 Top 통신사 플랫폼 엔지니어






스터디 리더 잭슨


Jackson, 잭슨 국내 Top 개발사 Java/Kotlin 백엔드 개발자

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



  • Java, Spring 실무 경험, 강의 경력 다수

  • 전) 국내 Top 게임사 플랫폼 엔지니어

  • 전) 스타트업 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주차 온라인 세션] 2019-08-28(수) 20:30 ~ (약 2~2.5시간 소요)




🗓 2주차


인증과 인가(Authentication and Authorization)

2주차 미션 핵심


  • ✅ Spring Security를 활용한 인증(Authentication)

  • ✅ 서비스 확장 시 Session 기반 사용자 인증의 문제점 알기

  • ✅ 장애 대응을 위한 분산서비스 구조

  • ✅ Stateless 아키텍처와 JWT(JSON Web Token)


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


[2주차 온라인 세션] 2019-09-04(수) 20:30 ~




🗓 3주차


비즈니스 로직 처리(1)

3주차 미션 핵심


  • ✅ API 문서 자동화를 위한 Swagger

  • ✅ 비즈니스 로직 개발 시 주의할 점

  • ✅ 비즈니스 로직 개발(포스팅 관련 기능 구현)


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


[3주차 온라인 세션] 2019-09-18(수) 20:30 ~




🗓 4주차


비즈니스 로직 처리(2)

4주차 미션 핵심


  • ✅ AWS S3 연동하기

  • ✅ 예외처리 가이드

  • ✅ 비즈니스 로직 개발(포스팅 댓글 관련 기능 구현)


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


[4주차 온라인 세션] 2019-09-25(수) 20:30 ~





🗓 5주차


마이크로서비스(Microservice)

5주차 미션 핵심


  • ✅ 도메인 이벤트

  • ✅ 이벤트 시스템

  • ✅ Web Notification

  • ✅ 댓글 알림 기능 구현


도메인 이벤트를 정의해보고 이벤트 시스템을 이용해서 해당 도메인 이벤트를 처리해 봅니다. 브라우저에 노티피케이션을 전달하는 방법인 웹 노티피케이션에 대하여 알아보고 댓글 알림을 주는 기능을 구현해봅니다. 마지막 주차 미션은 조금 무거우니, 끝까지 집중!


[5주차 온라인 세션] 2019-10-02(수) 20:00 ~



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







😘 이전 기수 수강생들이 이 스터디 주제와, 리더를 추천해요!







이전 기수 수강생들의 솔직한 후기를 참고하세요.










  • 수강생 김동욱님







    매 주 주어지는 미션이 실제 업무라 생각하니 은근한 긴장감을 가지게 되었고, 좀 더 좋은 피드백을 받고자 미션을 수행하며 많은 고민을 할 수 있었습니다. 온라인 세션과 코드리뷰를 통해 어떻게 더 나은 코드를 작성하고, 좋은 습관은 무엇인지 배울 수 있어서 좋았습니다. 또 시스템 구조적으로도 더 나은 구조는 무엇인지 생각해볼 수 있었고, 함께 하는 분들의 코드를 보면서 나와는 다르게 문제를 해결하는 것을 보면서 큰 도움이 되었던 것 같습니다.



    김동욱(2기) ― 서버 개발자
















  • 수강생 정은준님







    훌륭한 개발자로 성장하려면 저보다 뛰어난 개발자분들의 코드를 보고 배워야 겠다고 생각해왔고, 마침 스프링을 공부하고 있던 찰나에 이 스터디가 열리게 되어서 참여했습니다. 코드리뷰를 통해 이전에 제가 짜왔던 코드와는 다른 훨씬 뛰어난 코드 퀄리티를 체험할 수 있었고, 미션 수행 중에 다른 스터디원들의 코드와 리뷰들도 꼼꼼히 읽어보면서 제가 보완해야 할 부분을 파악할 수 있었습니다. 또한 중간에 개발, 취업 등에 관한 Q&A를 진행하면서 그 동안 궁금했던 점들을 알 수 있는 좋은 시간이었습니다.



    정은준(2기) ― 취업 준비생















💳 스터디 참여비


2019-08-28(수) ~ 2019-10-09(수)

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




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


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







💵


380,000원(할인 중!)


위 가격은 8/27(화)까지 결제할 때 유효합니다.



정가 450,000원



질문 & 답변