테스트 코드를 짜야하는 이유
2024. 1. 27. 19:22
개발 공부 일기장/Tips
지금은 행복한 주말인 토요일 오후다, 아침 9시부터 모니터에 앉아 미뤄둔 테스트 코드 작성을 시작하고 서비스, 리포지토리단의 테스트를 짜던 도중 어려움이 생겨 6시간째 의자에서 일어나지 못하고 있다. 어떤 어려움이라면 그냥 모르겠는것이다. 모델단의 테스트 코드는 굳이 스프링의 도움을 받지 않고 JUnit만으로 짤 수 있었기 때문에 매우 쉬웠다. 하지만 서비스나 리포지토리는 인메모리 테스트용 DB나 mock 객체들을 만들어야하는 등 내가 모르는것이 많았다. 우리 회사에서는 테스트 코드를 짜지 않기 때문에 어디서 경험할 일도 없었다. 그래서 열심히 찾아봤다, 많은 방법들이 있지만 나는 항상 실무에서 사용되는 Best Practice인 방법을 배우고 싶어하기 때문에 고민이 많았다. 결국엔 이것저것 시도해보다가..
[슬축생 프로젝트] 8. Vultr로 이사가기 & 도커로 배포 자동화 하기!
2024. 1. 21. 20:30
개발 공부 일기장/사이드 프로젝트
시작하며 우리 개발팀에서 큰 프로젝트를 시작하기 위해 슬축생 프로젝트는 이제 마무리 하고 쭉 유지보수 정도만 하는것으로 결정되었다. 그래서 마지막으로 프론트에서 UI/UX 개편을 조금 한 뒤에 클라우드를 이사를 가서 안정화 시키고 쭉 사용하려고 한다. 클라우드를 왜 이사하지? 일단 앞에 글에서도 다뤘겠지만 한번 aws로 이사하려다 월 100g 무료 트래픽에 멈칫해서 여전히 무료 오라클 클라우드 하나에 리얼서버와 테스트 서버 모두 넣어서 사용하고 있었다. 하지만 이제 프로젝트를 마무리하면서 모니터링 툴들을 사용하고 싶었는데 그럴려면 일단 지금 하나로 뭉쳐있는 서버를 찢어야 된다고 생각을 했다. 그리고 또한 지금 사용하는 서버가 4코어에 24기가 램인데 이 성능에서는 장애를 마주할 수 없을것 같아서 일부러 ..
[슬축생 프로젝트] 7. Spring Exception Handler로 우아하게 예외 처리하기
2023. 12. 28. 19:48
개발 공부 일기장/사이드 프로젝트
시작하며 예외처리 부분들을 개선하게 되었다, 기존의 컨트롤러 코드에 덕지덕지 있던 예외처리들을 모두 지우고 Exception Handler를 사용했다. 사실 이미 예전에 이 부분에 대해서 우리 껌딱지 개발팀 기술블로그에 작성하긴 하였지만 내 개인 프로젝트 기록에도 중요한 부분 같아서 같은 내용이지만 여기에도 기록을 남겨 본다. 기존의 예외처리 방법 try { Example e = exampleService.example(); return result("success", "성공!"); } catch (내가 만든 예외1 | 내가 만든 예외2 e) return result("fail", e.getMessage); } 기존에는 위 코드 처럼 컨트롤러단에서 예외 처리를 하고 있었다. 서비스단에서 커스텀 되어 있는..
2023년, 3년차 개발자의 총 결산 회고록
2023. 12. 26. 22:16
개발 공부 일기장/생각 정리
개요올해도 어김없이 회고록으로 연말 마지막 글을 장식하게 되었습니다~!23년 총 결산 회고록이기 때문에 전에 썻던 상반기 회고록이랑 내용이 겹칠 수도 있어요~!사람 박종하로써 나의 2023년은?개발자가 아닌 평범한 21의 사람으로써 2023년을 보내며 받았던 인상 깊었던 느낌들에 대해서 정리해보려고 한다.개발자로써 성장하게 된 부분은 글의 아래부분에 적도록 하겠다.정말 여러일들로 힘들었던 한해올해를 전체적으로 보자면 분명 감사하고 좋았던 일들도 많았지만 무언가 많이 힘들었던 한해였다. 여름에는 번아웃과 멘탈을 무너뜨릴만한 사건이 동시에 겹치면서 불면증, 불안증까지 잠시 생겼었고 심리 상담도 다녔었다. 그리고 겨울인 연말에는 십자인대과 연골 부상으로 인해 수술받고 입원을 해서 병원 신세를 지며 연말을 마무..
[슬축생 프로젝트] 6. AWS로 이사 시도.. 하지만 어림도 없지
2023. 12. 5. 17:58
개발 공부 일기장/사이드 프로젝트
개요 배포를 해서 약 100명 정도 되는 사람들이 사용을 한지 약 3개월 정도 되어 가고 있다, 시간이 참 빠른것 같다. 중간에 이런저런 이슈가 있었지만 크게 문제가 되는 부분은 없었고 무난하게 지속적인 기능 추가를 해 나가면서 운영을 했다. 그러다가 나는 이런 생각을 해보았다. 아 솔직히 지금 인프라 아키텍쳐가 너무 짜쳐놓은것 같다.. 이거 한번 제대로 설계 해볼까? 현재 많은 회사들이 AWS에 서비스를 올려놓고 사용하고 있다. 나도 AWS의 서비스들에 고등학생 시절부터 굉장히 관심 많았지만 고2때 EC2 프리티어를 사용하다가 3만원인가? 요금이 나온것이 그렇게 공포로 기억에 자리 잡아서 그 뒤로 AWS 공포증이 생겨 사용하지 않았다 그렇게 계속 공부를 하면서 AWS를 계속 외면할 수는 없으니까 이번에..
실제 나이와 정신연령 사이의 위화감
2023. 11. 2. 20:17
개발 공부 일기장/생각 정리
개요 정말 오랜만에 글을 쓴다, 사실 무릎 인대가 찢겨서 병가를 지내는중이라 여유가 생겨 쓰는거긴하다. 개발 블로그에 이런 철학적인 글,, 안 어울릴수도 있는데 원래부터 생각을 좀 많이 하던 주제라 한번 정리할겸 적어보려고 한다. 온전한 나만이 겪은 나의 경험과 개인적인 사견으로 이루어진 글이라는것을 인지하고 읽어주셨으면 한다. 나이와 정신연령은 다른가? 보통 나이라고 하면 출생년도 이후로 몇년을 살았냐 라고 말한다, 매우 명확하고 부정할 수 없는 수치다. 하지만 정신연령은 무엇인가? 벌써 정의부터 애매하다, 사람마다 다르게 받아드릴수도 있고 객곽적이지 않은 수치이다. 그럼에도 불구하고 나는 분명히 존재한다고 생각하고 나는 나이보다 정신연령을 기반으로 인간관계를 대하는 편이다. 정신연령은 뭘까? 내가 생..
[슬축생 프로젝트] 5. 배포와 인프라 아키텍처 변경
2023. 9. 13. 22:11
개발 공부 일기장/사이드 프로젝트
개요 드디어 개발을 끝내고 배포를 하게 되었다!! 와아.. 그리고 배포한 뒤 뒤늦게 무언가를 깨닳아서 급하게 인프라 아키텍쳐를 변경하게 되었다. 이번 글에서 배포뒤 유저들이 들어와서 사용하는 모습을 보고 느낀점과 왜 인프라 아키텍쳐를 변경하게 되었는지 설명하도록 하겠다. 배포 및 사용자 유입.. 배포가 이번이 처음이진 않다. 그동안 고등학교때부터 크고 작은 프로젝트들을 진행하면서 클라우드에 많이 배포를 해봤지만 실제로 사용자들이 많이 들어와서 사용하는적은 이번에 처음이여서 꽤나 긴장했었다. 사실 100명 정도만 사용해서 크게 걱정할 부분은 없었지만 그래도 무슨 버그라도 터질까.. 엄청 긴장하고 신경을 많이 썻던것 같다. 다행히 배포 후 큰 문제는 없었고 대부분 다 생각했던대로 진행되었던것 같다. 사실 오..
[슬축생 프로젝트] 4. 백엔드 개발자 맥북 세팅 - 어떻게 개발해요?
2023. 9. 8. 10:34
개발 공부 일기장/사이드 프로젝트
개요 사실 이번 게시글에 개발하는 과정에 대해서 적으려고 했지만 사실 개발 자체는 노멀한 스택들로 노멀하게 진행했기 때문에 무언가 개발 하는 과정을 쓰는것보단 배포 후 일어나는 문제점들을 해결하는 과정들을 적는것이 더 도움이 된다고 생각했다. 하지만 바로 배포에 관한 내용으로 넘어가기전에 중간에 하나 정도 글이 더 있었으면 좋겠다고 생각했는데 그래서 백엔드 개발자는 맥북을 어떻게 세팅해서 개발하는지에 대해서 내용을 다뤄보려고 한다. IDE가 제일 중요하지! 일단 개인적으로 개발을 할때 어떤 IDE를 쓰는지가 제일 중요하다고 생각한다. IDE 종류도 엄청 많고 지원하는 플러그인의 생태계나 단축키등이 정말 천차만별이기 때문이다. 나는 JetBrains 사의 Intellij Ultimate Edtion을 주로..