[인프런 워밍업 클럽 스터디] 1기 첫번째 발자국
발자국 남기기
벌써 일주일이나 지나고 있다니 시간이 진짜 빠르다. 아무래도 신입을 많이 뽑지 않는 지금 시점에서 할 수 있는 건 공부뿐이라고 생각해서 미루고 미루다 자바 공부를 시작하며 스프링 공부를 해야겠다고 맘 먹었다. 근데 또 혼자하면 늘어지는 스타일이라 차라리 같이 공부하고 돈도 내고 해야 열심히 할 것 같아 스터디를 듣게 되었다..!! 근데 생각보다 내 일정이 빡빡해지는 바람에 1주차인 지금은 시간에 쫓기듯 공부하고 있지만 담주부터는 여유롭게 들을 수 있을 것 같다. 그럼 이제 1주간의 회고를 시작해보겠다!!
Day0
강의를 듣기에 앞서 OT를 온라인으로 진행했다. 앞으로 어떻게 진행되는지의 전반적인 부분을 말씀해주셨다.
그리고 자바에 대한 짧은 특강을 해주셨다.
자바는 인터프리터? 컴파일 언어?
프로그래밍 언어는 컴퓨터가 이해할 수 있는 언어로 번역해야한다
번역의 종류
→ 통짜번역 ⇒ 컴파일러
→ 그때그때 번역 ⇒ 인터프리터
자바는 하이브리드 언어임(둘 다 가능)
.Java → (compile) → .class → JVM
컴파일도 하면서 한줄 한줄 읽음
시작부터 유용한 정보를 알려주셔서 넘 좋았다. tmi지만 최근에 정처기 실기를 공부해서 아는 내용이라 공부를 안 하고 있는 건 아니구나 라는 안심을 조금 했다😅
Section0
강의를 시작하기 전의 섹션 0 에서는 강의 시작 전 준비와 수업 자료에 대한 내용이었다.
대부분의 내용은 이미 알고 있던 거고 다 다운받아져 있던 거라 설명만 조금 들었다.
지금 내 노트북은 맥북 m2인데 사실 그냥 homebrew로 다운 받으면 버전이 안 맞거나 잘못 받아서 경로가 이상해지는 현상이 많이 발생한다.
이전에 MySQL을 설치하면서 많은 충돌이 있어서 나중에 잊지 않으려고 블로그와 노션에 열심히 정리해두었다.
https://velog.io/@dmsqls19/ERROR-mac에서-MySQL-완전-삭제-후-재설치-오류Homebrew-사용했을-경우
나중에 같은 오류가 있다면 이 글을 보고 있는 분도 잘 해결했으면 좋겠다!
Section1
섹션 1부터는 본격적인 강의 시작이다.
자바를 공부하기 전에 알아두면 좋은 강의 2개를 올려주셨는데 정말 유익한 내용이다.
첫번째 강의에서는 Java라는 언어를 컴퓨터가 알게 되기까지의 과정이 나오는데 컴파일을 통해 사람의 언어를 컴퓨터가 인식하게 된다고 한다. 자바는 다른 언어와 다르게 컴파일러 하나로 모든 운영체제에 사용할 수 있다.
JDK > JRE > JVM 라서 JDK를 설치하면 JRE와 JVM도 함께 설치된다.
JDK의 버전과 종류는 다양한데 LTS라는 안정화된 버전을 사용하는 것이 좋다.
두번째 강의에서는 빌드와 실행에 대해 배우는데 빌드란 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW 가공물로 변환시키는 과정이다. 테스트 코드도 빌드 과정의 일부인데 테스트 코드를 작성해서 개발 속도 및 안정성의 품질을 높여주는 것이 좋다. 그 다음 오픈 소스와 우리가 만든 코드를 합치는 과정을 패키징이라 하는데 패키징을 하면 빌드 과정의 끝이다. 실행(Run)을 해서 내가 작성한 코드를 작동시킬 수 있는데 Artifact가 나올 수도 있고 나오지 않을 수도 있다는 점에서 빌드와 차이점이 있다. 빌드는 수동으로 하게 되면 실수가 많이 나올 수 있으므로 빌드 툴을 이용하는 것이 좋은데 요즘 가장 많이 쓰이는 빌드 툴은 maven과 gradle이다.
이제 본격적으로 강의를 시작하는데 처음에는 스프링 프로젝트를 시작하는 방법에 대해 배운다. 그 다음 @SpringBootApplication
에 대해 배우면서 어노테이션이 무엇이고 서버란 무엇인지에 대해 배운다.
첫번째 과제가 바로 어노테이션에 관한 과제였다. 스스로 찾아보면서 공부를 하니 이해가 더 잘 되는 것 같기도 하면서 아리송하기도 하다.
그 후 네트워크와 HTTP, API에 대한 것을 배우는데 백엔드를 공부하는 사람에게 필요한 내용을 배워서 좋은 강의라고 느끼는 부분이았다.
api에 대해 배운 후 get과 post를 직접 해보는데 처음에는 더하기, 곱하기를 해보며 postman도 써보고 코드도 직접 작성해봤다. 그 다음에 유저 정보 조회를 하는 get api와 유저 정보를 저장하는 post api에 대해 배웠다. 미리 get과 post를 해보고 하니 더욱 쉽게 느껴졌다. 두번째 과제는 get api와 post api를 직접 연습하는 과제였는데 자바에 좀 덜 익숙해서 그런지 좀 어려운 과제였다. 그래도 두 번 보니 처음 과제를 마주했을 때보단 쉬웠다.
Section2
섹션2에서는 서버와 데이터베이스를 연결하는 과정이다. 데이터베이스는 MySQL을 사용했다. 데이터베이스가 서버에 필요한 이유는 메모리에서만 유지되는 유저 정보를 서버단에 올리기 위해서 필요하다. 강사님이 서버에 올리는 두 가지 방법을 알려주셨는데 하나는 인텔리제이 유료 버전으로 인텔리제이에서 하는 방법과 터미널에서 MySQL을 사용하는 방법이었다. 나는 인텔리제이에서 하는게 더 편한 것 같아 첫번째 방법을 사용했다.
데이터베이스에 대해 공부하고 sql 문법에 대해 배운다. 나는 최근에 정처기 시험 때문에 이미 너무 많이 봐서 어렵게 느껴지진 않았다. 그 후 스프링과 데이터베이스를 연결하는 과정을 배우는데 코드 따라치는 건 어렵지 않은데 자바가 익숙한 건 아니라서 이해를 하는데 조금 오래 걸렸다. 그래도 오래 보다보면 또 이해가 되기 때문에 조금 더 많은 시간을 들여 공부를 해야겠다고 생각했다.
연결 후에는 유저 업데이트와 삭제를 해보면서 정말 db에 유저 정보가 들어가는지 확인했다. 그 다음 유저 정보가 없을 경우에 업데이트, 삭제가 되는 예외처리를 해주었다.
그리고 과제로는 sql을 연결해보며 나온 람다식에 대해 조사하는 과제였다. 찾아보면서 이해 못한 부분을 조금 더 이해하게 되었다.
5일차에는 중간점검이 한 번 있었는데 질문하는 것을 답변해주는 시간이었다.
나도 신입 개발자로서 궁금했던 점들을 다른 분들이 많이 질문해주셔서 답변을 들으며 엄청 유익해서 뭔가 이런 시간이 조금 더 많으면 좋겠다는 생각이 들었다.
이번주는 시간이 조금 빠듯해서 진도표보다 조금 덜 공부했다. 다음주는 시간이 많아서 아마 더 할 수 있을 것 같다. 한 주 동안 공부해보면서 아직 자바 공부가 많이 부족하다는 걸 깨달았다. 그래서 다음주는 자바 공부를 하면서 강의를 들을 예정이다. 공부하면서 회고도 하고 과제도 하니 진짜 같이 공부하는 기분이 들어 더 열심히 해야겠다고 다짐했다!!
📚공부했던 내용 정리 노션
https://quartz-mastodon-ac1.notion.site/6ae20b419ca9400c94b4df9ab8f2f3da?pvs=4
댓글을 작성해보세요.