인프런워밍업클럽BE-스터디0기 1주차 회고
인프런워밍업클럽 0기 링크인프런워밍업클럽백엔드 0기를 진행하면서 느낀점과 배운점을 위주로 회고를 작성한다.인프런워밍업클럽BE 공부 범위 이번 인프런0기백엔드 코스는 자바와 스프링 부트로 생애 최초 서버 만들기 강의를 들으면서 스프링부트 웹프레임워크와 MySql, JPA 같은 DBMS 관련 기술과 Amazone EC2 클라우드를 배포까지 공부하는 웹 백엔드 전반을 공부하는 스터디이다.매일 강의와 강의 내용과 관련한 내용으로 미션을 수행하며 매일 그 미션을 수행하고 인증을 해야지 스터디를 완주할 수 있다.미션 내용은 처음 스프링부트를 배우는 사람에게는 조금 어렵지만 미션을 하면서 백엔드와 스프링부트에 대한 이해도를 높일 수 있고, 이미 스프링부트를 다루고 있는 사람 입장에서도 스프링부트의 기본적인 내용을 공부할 수 있도록 구성되어 있다고 한다. (글쓴이는 스프링부트 초심자라서 미션이 조~금 어려웠다!) 자바와 스프링 부트로 생애 최초 서버 만들기-아래는 이번 주에 공부한 내용에 대한 링크와 간단한 정리이다.이번 주 공부한 내용 간단 정리 0일차: OT, 자바의 역사와 자바의 버전별 업데이트 사항 라이브 강의OT를 간단하게 진행하고 최태현 멘토님이 간단하게 자바의 역사에 대해 간단하게 정리하는 강의를 배웠었다.자바의 버전별 업데이트 내역에서 자바7에서 자바8로 업데이트 될 때 람다식,Stream, Optional, 등 이 추가되는 대격변이 일어나서 이 부분을 주목해서 봐야 된다.개인적으로도 람다식이나 Stream은 이번 스터디에서 처음 배우고 유용하게 쓰고 있다.람다식이 탄생한 배경이나 공부하고 싶은 사람이라면 코틀린에서 람다를 다루는 방법 강의를 들어보는 것이 좋을 것 같다.람다식을 왜 쓰는지 람다식이 도입되기 이전의 문법과 차이점, 람다식의 장점에 대해 쉽게 설명하고 있다.1일차: 자바 어노테이션, 어노테이션을 쓰는 이유자바 어노테이션자바와 HTTP 개념 공부주석이 개발자(사람)에게 이 프로그램이 무슨 뜻인지에 대한 메타정보를 준다면,자바의 어노테이션은 자바 컴파일러, 빌더, 런타임에 메타정보를 주는 역할을 수행한다. 스프링 코드를 보다 보면 어노테이션을 통해 각종 설정을 하거나 @setter를 통해 코드를 자동생성하는 등 유용한 용도로 쓰인다. 2일차: GET, POSTGET, POST API 만들기스프링부트로 직접 GET, POST API를 만드는 것을 실습했다. 3일차: 자바 람다식_ 스트림자바 람다식자바 람다식에 대해 배우고 왜 람다식이 탄생했는지 기술의 탄생 배경과 람다식을 어떻게 쓰는지에 대해 학습을 했다. 4일차: PUT, POST API 만들기PUT POST API 5일차: 클린코드클린코드아직은 클린코드가 뭔지 정확히 모르겠다. 도서관에서 클린코드 책을 빌려다가 읽으면서 공부중이다. 느낀 점 & 배운 점 솔직히 이번 스터디 참여하기 전에 개발공부에 대한 재미도 떨어지고 게을러진 상태였다.그러던 중에 이렇게 살다가는 안되겠다는 마음에 신청한 이번 인프런워밍업BE0기 스터디를 신청하고 매일 미션을 수행하니 하루 종일 컴퓨터랑 싸우면서 7~8씩 개발 공부를 하게 되었다.참 신기하다 그렇게 게으르다가 스터디를 신청하니까 이렇게나 사람이 달라지다니 어떻게 다음 주는 공부 할 것인가? 동기식 공부의 문제점현재 나의 공부 방식은일단 강의 듣기 (강의 코드 따라치기)미션 풀기미션 내용 정리하기관련 도서 읽기이런 식으로 진행이 된다.현재 공부 방식에 조금 문제가 있는데 공부가 동기식으로 진행이 된다는 점이다.강의를 공부하다가 막혀서 그 문제를 해결 하기 위해서 시간을 4,5 시간 정도를 쓴다거나그리 중요하지 않은 개념에 꽂혀서 거의 하루 종일(4시간 이상) 쓰는 일이 발생하면지나치게 딜레이가 걸려서 다른 일을 진행하지 못하는 일이 발생했다.1일차 어노테이션을 공부 할 때도 리플랙션 관련 부분이 제대로 이해가 안가서 블로그글을 10개 이상 보고 집에 있는 자바책들(이것이 자바다, 코어 자바9)등 책을 보고 해결이 안되서 다음날에 겨우 리플랙션을 적용해서 어노테이션을 만들어봤다.(근데 친구가 그래서 리플랙션이 뭔데? 라고 말하면 뭐라고 설명을 못하겠다. 아이고)그런데 멘토님(최태현 개발자님)은 신입분은 아직 리플렉션에 대해 몰라도 상관은 없다고 했다.그 외에도 vscode에 스프링 실행 환경 만든다고 몇시간을 쓴다거나, 옵시디언(메모 프로그램) 설정을 하는데만 집중하는 일이 벌어졌다. 조금 중요하지만 그리 중요하지 않은 일에 몰두하다가 진짜 중요한 일(스터디 미션 수행, 개인 프로젝트)를 하는 일에 시간을 거의 쓰지 못하는 일이 자주 벌어졌다. 이런 공부 방식을 고치기 위해서 이 방식을 수행하려고 한다. 1. 먼저 일단 오늘 할 일(공부 외의 일들도 적어야 됨)을 종이(메모앱X)에 적는다.2. 각 할 일 대해 중요도(개발 공부, 긴급한 일이 중요도가 높다) 우선 순위를 정한다.3. 가장 우선순위가 높은 일을 수행한다.4. 잠깐 멈춘다.5. 일 하나를 끝내면 다시 종이 할 일을 적거나 수정한다. 다시 2로 이동한다. 여기서 일이 지나치게 지연이 된다.(과제 마감이 2시간 남았을 떄)다른 우선순위가 높은 일을 수행하면 된다.(빨리 과제를 끝내는데 집중한다 앞으로는 아래처럼 일을 수행하면 된다. 과제 수행이 가장 우선순위가 높은 일이라서 이렇게 작성했다.1. 과제를 제일 먼저 확인하고 일단 강의 안보고 조금만!( 몇 줄 코드 작성하고 초고 작성 하는 정도) 과제를 진행한다.2. 강의를 듣고 다시 과제를 진행하는 식으로 하자.3. 내용 정리는 시간이 남으면 하자.