본문 바로가기

일상

제로베이스 스쿨 백엔드 부트캠프 3달 후기

제로베이스 스쿨 백엔드 부트캠프 과정을 다니기 시작한지 이제 3개월이 지나갔다.

 

이제 Part1이 끝이 났고, Part2에 들어가게 되었다.

Part1를 잠깐 종합적으로 요약을 하자면, 백엔드의 기초가 되는 Java나 자료구조, 코딩테스트를 중점적으로 봤었다.

1주일에 한번(목요일)에 프로그래머스 스쿨을 이용하여 문제를 풀어봤다.

 

 

코딩테스트는 정확성 즉, 정답이 맞아야 점수를 획득하지만 문제를 내주신 멘토님의 효율성과 비슷하게 수행이 완료되어야 효율성 점수가 얻어지는 방식으로 되어 있어, 방법이나 속도에서도 생각해야 할것이 되게 많았었다.

매주 코딩테스트 점수는 공지사항으로 알려줘 현재 내 점수가 어느 수준인지 알수 있게 할 수 있다.

 

 

생각보다 많은 분들이 탈락을 되고 진심으로 취업을 하고 싶은 분들만 데려 간다는 느낌이 들었다.

확실히 오프라인으로 배우는 것보다는 배우는 사람의 실력이 많이 필요한 건 사실이다.

그래서, Slack이라는 협업툴을 사용하여 여쭤볼 수 있는 기회를 잘 살리면 될 것같다고 생각했다.

현재 사람들은 MBTI 에서 I 가 많아 조용한 편이였다.

 

 

 

코딩 테스트가 마지막으로 치닫기 전에 프로젝트를 두개를 github을 이용하여 과제를 내라고 하셨다.

java 기반의 프로젝트와 Spring 을 이용한 프로젝트가 주어졌다.

 

Java 기반의 프로젝트는 자유도가 굉장히 높아 생각할 기회를 많이 줬던것같았다.

 

 

첫번째 방법은 Connection 및 PreparedStatement 를 사용하여 sql를 사용하는 방법이고, 두번째는 하이버네이트를 사용하여 자동으로 완성되는 것을 사용하는 것이다.

세번째는 sql mapper 방식으로 쿼리문을 xml 파일로 따로 저장하여 사용하는 것이다.

 

셋다 정답이 되는것이지만 내가 왜 이 프로젝트에 이 라이브러리를 사용하였는지 생각하게 되는 시간을 가져 생각보다 깊은 생각을 하게 되어 실력향상에 많은 도움이 되었다.

 

두번째 과제는 API를 만드는 연습을 하였는데, redis로 캐시나 Lock하는 방식을 연습하였다.

API를 만들면 트랜잭션도 중요할 테고, 물론 속도도 중요하다가 생각하지만 내가 원하는 결과를 만들기 위해 Junit을 이용하여 테스트를 진행을 하였다.

 

 

나중에 리팩토링이나 내가 요구사항에 맞게 잘 했는지 확인하는 것을 한번더 확인하는 역활을 하기 때문에 테스트 코드 작성하는 것은 중요한 것이라고 배울 수 있었다.

 

약간 아쉬운 점은 과제를 제출을 하면 몇주 동안 평가를 진행하므로 피드백을 받기에는 너무 늦지 않았나 싶었다.

내가 채점을 해도 50명이 넘는 수강생을 채점을 해야 하니 시간이 많이 걸리는 건 어쩔 수 없다고 생각이 들긴하다.

 

이제 Part2에 들어가기 시작 직전이라 계획을 짜서 공부할 예정이다.

Part2에 들어가기전에 네카라쿠배 출신의 멘토님들의 특강이 시작되었다.

 

코딩 테스트나 신입은 어떤 공부를 하면 좋을까 라는 특강을 진행하고 되게 알찬 시간이였으며, 어떻게 저런분들을 섭외(?)를 하였는지 제로베이스 스쿨 백엔드 부트캠프에 감탄을 하였다.

 

Spring이라고 하면, 굉장히 큰 영역이다.

 

 

 

일단, 처음으로 Spring MVC영역을 공부하는 것이 맞다고 생각하였다.

 

 

타임리프나 머스타치 등 템플릿 하나 생각하여 공부하를 할것이고, 여러개를 경험해 보는 것도 좋다고 생각하였다.

두번째는 API관련된 것을 공부하였으면 한다.

실무에서는 MVC로 많이들 만들지만 프론트엔드나 백엔드로 나뉘어 개발을 하는곳도 많아 API관련한 것도 공부를 해야할것같다.

 

 

API 문서화인 Spring Docs도 정답이고 Swagger도 정답이라고 할 수 있다.

또한 백엔드는 속도도 중요한 요소이기 떄문에 Cache관련된 Ehcahe나 redis 같은 캐시관련 및 세션 관련 등 공부를 해야 할 것같다.

 

세번째로 대용량 처리에 대해서 공부를 해야 할 것같다.

 

 

대용량 처리라고 하면 속도가 빠르게 처리가 되어야 하고, 트랜잭션 처리에 문제가 되지 않으며, Thread를 많이 사용하여 한꺼번에 사용하는 것이 대용량 처리라고 할 수 있다.

그렇기때문에 동기화도 생각을 해야하고, DB도 일반적인 RDB보다는 NOSQL이라고 불리는 것도 써 볼것이다.

다행이 위에 내용들이 제로베이스 스쿨 백엔드 부트캠프의 강의 계획서에 있어서 좀 더 깊게 파볼 생각이다.

 

라이브러리와 별개로 코드는 짜는 방법에 대해서도 공부를 할것이다.

흔히 말해 클린코드, 리팩토링등 유지보수에도 편하고 다른 사람들이 보기 편하도록 코드를 작성하는 연습을 할것이다.

 

 

마무리로 내 각오에 대해서 말을 하고 이 글을 마치도록 하겠습니다.

슬랙에도 매니저님께서 했듯이, 처음에 공부할 때는 성장속도가 그렇게 빠르지 않다.

지금부터 폭발적으로 커닝이 일어날 시기라고 생각한다. 나는 선불제라서 앞의 탈락을 생각안해도 되었지만 취업에는 탈락이나 프리 패스가 없다.

지금부터가 본격 공부의 시작이라고 생각한다고 생각한다.

 

 

 

이 글은 데이원컴퍼니로부터 소정의 원고료를 지급받아 작성되었습니다.