엄지월드

[제로베이스 백엔드스쿨] 7월 수강후기 본문

기타

[제로베이스 백엔드스쿨] 7월 수강후기

킨글 2022. 7. 29. 20:44

제로베이스 백엔드스쿨이 어떻게 진행되는지, 어느 프로젝트를 통해서 성장하고 있는지 궁금한 이들을 위해서 글을 작성해 본다. 

혹시 보면서 궁금한 점이 생겼을 때 댓글로 물어봐 주면 빠르게 답변을 해주도록 하겠다.

 

프로젝트 개요 및 학습 내용

주어진 프로젝트는 2개였다. JSP 기반으로 WIFI Open API를 활용하여 WIFI 정보를 저장하고 보여주는 프로젝트와 

JPA와 Spring Boot를 활용해서 계좌를 생성하고 삭제하고 사용하는 기능을 만드는 프로젝트였다.

JSP는 학습 과정에서 비슷한 예제를 배웠어서 조금씩 변형하고 구글링하면서 차차 완성해 나갈 수 있었고,
Spring은 어려운 과제보다는 MVC 구조와 JPA를 익숙해지는 데에 집중할 수 있게 도와주는 느낌이 들어서 좋았다. 

아마 Spring 과제에서 많은 변형이 있었으면 기간 내에 해결이 어렵지 않았을까 생각이 든다. 

과제를 마무리하고 제출은 Github의 링크를 통해 전달해 주었다. 

프로젝트 중 마주했던 문제

프로젝트를 진행하면서 18,000건 정도의 DB 저장 시 Too Many Connection이 발생해서 몇 시간씩 삽질을 하다가 

해결이 안 될 것 같았는데, 마침 감사하게도 제로베이스에서 Slack에 미션과제 스터디방을 만들어주셔서 해당 방에 질문을 했다. 

그랬더니 다른 수강생분이 Insert Batch를 검색해 보면 좋을듯하다고 해서 알아보는 과정에서 내가 for문에서 Connection을 계속해서 만들고 있다는 것을 발견할 수 있었다. 그래서 소스 구조를 바꿔 Connection을 1번만 생성하고 다시 진행해 보니깐 성공적으로 18,000건의 데이터를 저장할 수 있었다. 

추가적으로 멘토님이 답변을 달아 주셨는데, DB Connection Pool은 면접에서 자주 물어볼 수 있는 단골 손님이라고 알려주시면서 우아한테크의 HikariCP Dead lock에서 벗어나기 (이론편) 기술 블로그를 같이 알려주셨다.

 

그래서 한 번 더 정리할 수 있었고, 실제 면접에서도 물어본다고 하니 내가 이런 문제를 겪었다는 게 뿌듯했다.

혼자 해결하려고 했으면 더 많은 시간이 걸리거나 해결을 못했을 수도 있었을 텐데 제로베이스에서 커뮤니티를 만들어주어서 자연스럽게 도움을 받을 수 있었다. 그리고 현업에서도 어려운 문제를 마주했을 때에 무조건 혼자서 해결하려고 하는 것보다는, 동료나 선배님에게 물어보면 해결할 수 있지 않을까 생각이 들었다. 개인적인 생각일 수 있지만 이런 과정을 겪으니 좀 더 개발자가 돼가고 있다는 느낌을 받을 수 있어서 기분이 좋았다.

스프링 프로젝트 학습 계획

앞으로 개인 프로젝트가 예정되어 있는데, 이 프로젝트에서 스프링을 활용해서 만들어 보면서 학습을 진행해 나갈 예정이다. 

이렇게 했을 때 강의에서 배웠던 SOLID 원칙을 적용해 나가면서 좀 더 깊이 이해할 수 있지 않을까 생각이 든다. 

개인 프로젝트는 앞으로 포트폴리오로 활용될 예정이기 때문에 내가 어떤 개발을 하고 싶은지 그리고 어느 회사에 지원할지에 대해 조사해서 준비를 할 예정이다. 

코딩테스트

코딩테스트에서 아주 좌절을 하고 있었는데, 이제는 기업의 코테를 보면 아직 합격할 정도는 아니지만, 이전과 다르게 조금만 더 하면 합격할 수 있을 것 같다는 생각이 드는 시점이 왔다. 무슨 말이냐면 예전에는 문제를 봤을 때에 어떻게 풀어야 할지에 대해서 감이 전혀 오지 않았었는데, 이제는 문제를 봤을 때에 어떤 알고리즘인 것 같다 혹은 어느 방식으로 문제를 풀면 될 것 같다는 느낌이 온다. 어떤 문제는 해설을 봐도 이해를 하지 못했었는데, 지금 다시 보니 해석이 돼서 기분이 좋기도 한다. 

그래서 지금의 희망을 갖고 문제를 좀 더 많이 풀어나가다 보면 목표한 바를 이룰 수 있을 것 같다는 생각이 들게 되었다. 

지금 BFS 문제를 풀어보고 있는데 조금 더 높은 수준의 문제들을 푼 후에 DFS로 넘어가서 다시 실력을 쌓을 예정이다. 

 

 

 

Comments