
Spring의 Response Entity 꼭 사용해야 하는가?
2024. 9. 10. 20:26
개발 공부 일기장/Java Develop
개요새로운 사이드 프로젝트를 시작하면서 여러 고민을 하게 되었다, 바로 전의 사이드 프로젝트인 슬축생은 공부가 목적이 아닌 필요로 의해서 개발된 프로젝트기 때문에 최대한 비즈니스 요구사항에 맞추며 배포까지 시간이 많이 없었기에 개발쪽 리소스를 줄여서 개발을 하였다. 하지만 이번에 하는 사이드 프로젝트는 비즈니스적인 부분도 꽤 크고 복잡할뿐더러 공부의 목적도 함께 있는 프로젝트이기 때문에 정말 작은 부분에서도 신경을 많이 쓰게 되었다. 정말 많은 고민중에 가장 첫번째로 결정한 주제가 바로 Response Entity의 필요성이다. Response Entity의 존재에 대해서는 예전부터 알고 있었다. 본격적으로 공부하기전에 알던 사전 지식으로는 http 상태 코드 및 헤더 등 여러 상세한 부분을 설정할 수 ..

[슬축생 프로젝트] 12. 서비스 1년째, 도메인과 ssl 인증서 연장
2024. 9. 2. 13:45
개발 공부 일기장/사이드 프로젝트
개요오늘은 기술적인 얘기가 아닌 실제 서비스에서 나오는 얘기를 들고 왔다, 분명 새로운 프로젝트인 오아시스의 글을 준비하고 있었는데 정말 마지막이란 생각으로 슬축생 프로젝트를 한번 더 연재한다. 어느덧 슬축생 프로젝트를 배포한지 1년이 지났고 약 500명의 유저가 1년동안 다녀갔다, 물론 일반 사용자를 타겟으로 한 서비스가 아닌 동아리 부원들을 위한 내부 서비스이기 때문에 운영중의 이슈는 크게 없었다. 하지만 얼마전부터 내 메일함이 바빠지기 시작했다, 바로 도메인과 ssl 인증서를 연장해야한다는 알림들이 오기 시작한것이다.보통 다른 서비스들은 1년전에 접어서 정말로 1년 후 필요에 의해 연장을 하는 케이스가 처음이여서 기분이 굉장히 신기했다. 나는 도메인과 ssl을 클라우드 업체에서 제공해주거나 자동으로..

[슬축생 프로젝트] 11. JPA N+1 문제 해결, 모르고 있었다니 충격적..
2024. 8. 6. 20:32
개발 공부 일기장/사이드 프로젝트
개요슬축생 프로젝트 시리즈는 이제 끝날줄 알았다, 개발 후 문제 없이 운영한지 1년이 되어 가는 서비스였고 더 이상 개선점이 없다고 생각했다.그렇게 1년이 지나가는 사이에 나는 많이 성장하였다, 영한님의 강의를 들으면서 여러 성능 최적화와 프레임워크의 내부 동작 방식에서 오는 문제점을 해결하는 법등을 배워나갔다. 그러다가 문득 생각이 들었다, 내가 슬축생을 개발할 당시에는 N+1에 대한 지식이 없이 개발을 하였는데 과연 N+1이 발생되고 있지 않을까라는 의문이 들었다. 그런데 발생 안 할 가능성이 거의 없다고 생각했다, 왜냐면 엔티티끼리 긴밀하게 연결되어 있고 서로 LazyLoading 전략으로 데이터를 끌어온다는 것을 개발한지 1년이 지난 지금도 명확하게 기억하고 있기 때문이다. 그래서 다급하게 오랜만..
작은 성공의 가치, 최종 목표만 보고 달리면 지쳐요
2024. 7. 22. 00:23
개발 공부 일기장/생각 정리
개요정말 오랜만에 글을 쓴다, 라는 말로 매번 글을 시작하는 느낌은 기분탓인가?오랜만에 생각정리 카테고리의 글을 써본다, 작년 11월이 마지막이니까 거의 반년만이다. 퇴사한지 벌써 3달이 되어간다, 퇴사후의 생활을 만족하냐고 묻는다면 운동적인 면에선 yes 공부적인 면에선 no다.십자인대 수술 후 재활로 접한 헬스가 너무 재밌어서 매일 매일 헬스장에 열심히 다니고 장비도 사고 실제로 몸이 꽤 좋아졌다.게다가 집에 샌드백도 사면서 헬스 끝나고 오후에는 한시간 넘게 복싱 훈련도 꾸준히 하고 수요일이나 일요일 아침에 자유수영도 다닌다.그 외에도 주말에 풋살 동아리 정규 경기 뛰고 지인들과 사설 용병 경기도 뛰고 저녁에 공원 런닝도 뛰고.. 그래서 공부가 좀 많이 소훌했던것 같다, 내가 퇴사 전에 원했던 이상향..
22살 개발자 퇴사를 결정하다, 회사의 인수합병을 곁들인..
2024. 4. 14. 00:40
개발 공부 일기장/생각 정리
개요 두달만에 퇴사 소식과 함께 블로그에 복귀하게 되었다, 제목 그대로 퇴사를 결정했다. 어떤 생각에서 퇴사를 결정하게 되었는지, 이 회사를 다니면서 어떤것들을 이뤘는지, 앞으로는 어떻게 성장해 나갈것인지에 대해 정리해보려고 한다. 쉽지 않았던 결정이였던것만큼 이 선택을 절대 후회하지 않기 위해 퇴사 이후로도 더 열심히 살아야겠다고 생각이 드는 밤이다. Back to 고등학교 3학년 고등학교 3학년 당시에 마포의 SI 회사에서 분당의 보안 회사로 이직하게 되었다. 어린나이에 포트폴리오에 프로젝트들이 다양하고 무엇을 시켜도 다 잘할것 같다고 생각해서 나를 채용하기로 마음 먹었다고 하셨다. 그렇게 사실 아무것도 모르는 고등학생은 앞으로 3년 넘게 근무할 회사에서의 직장생활을 시작하게 된다. 지금 생각해보면 ..

[슬축생 프로젝트] 10. 회원가입 아이디 중복 확인시 동시성 문제 해결
2024. 2. 19. 22:22
개발 공부 일기장/사이드 프로젝트
개요 월요일 아침에 회사에 일찍 출근하여 마무리를 하고 글에 정리한다, 주말 내내 이 문제 하나 붙잡고 있느라 하루종일 공부만 했다. 이번 문제를 해결하면서 트랜젝션과 영속성 컨텍스트에 대해서 부족한 부분을 공부하게 되었고 아직 공부하지 못했던 트랜젝션 격리 수준, 낙관적락과 비관적락, 데드락 발생시 디버깅 방법등을 알게 되었다. 이 부분들은 다른 글에서 자세히 정리하도록 하겠다. 근본적인 원인 일단 한줄로 간단하게 원인을 말하자면 중복 값이 저장되면 안되는 컬럼에 유니크 제약조건을 걸어놓지 않았던 것이 문제였다. 어어 나가지말고 끝까지 들어보십쇼, '근본적인' 문제는 핵심은 정확히 같은 시간, 데이터로 요청할때 생기는 동시성 문제였다. 사실 특별하게 멀티 쓰레딩을 사용한적이 없다, 하물며 paralle..

Mysql 테이블 인덱스 설정 - 야호 나도 드디어 인덱싱 해봤다!!!!
2024. 2. 16. 14:47
개발 공부 일기장/DBMS Develop
개요 코드 잘 짜야하는 이유에 대한 글을 먼저 작성하고 있었는데 지금 너무 신나고 빨리 블로그에 공유하고 싶어서 점심시간에 글을 작성한다. 오늘은 금요일, 주간회의가 있는 날이여서 회의를 하던 중 로그인이나 vpn 접속 및 기타 조회등에서 너무 느려진다라는 이슈가 있었다. 듣자마자 내 머리속에서는 본능적으로 이건 회사에서 디비 튜닝을 할 수 있는 절호의 기회다 라고 생각하여 무조건 제가 보겠습니다 라고 말했다. 그리고 멋지게 10분도 안되어 해결하였다! 처음 해보는 디비 튜닝이여서 너무 신났고 내가 봐도 너무 쉽고 간단하지만 공유해본다. 슬로우 쿼리 로그 설정 아직까지는 느려지는 원인이 디비에 있다고 확신하기엔 근거들이 부족한 상태지만 합리적인 의심을 했다. 데이터가 백만건 넘게 쌓였을때 로그인, 조회 ..

ngrinder 테스트 실행 순서 지정하는법
2024. 2. 15. 22:05
개발 공부 일기장/Tips
개요 퇴근하고 어김없이 사이드프로젝트를 하던 나.. ngrinder로 백엔드 성능 측정을 하던 날이였다. 유저권한 api의 통합 성능 테스트를 진행하기 위해 열심히 테스트 시나리오를 작성중 중간 점검으로 validation을 한번 했다. 하지만 테스트가 작성 순서에 상관없이 지 맘대로 실행되는것 아니겠는가? 나도 내가 원하는 시나리오가 있는데 이대로 측정할 순 없었다, 그래서 2시간을 삽질했고 생각보다 방법은 간단했다. 하지만 도큐먼트나 구글에서는 찾아볼 수 없었다, 내가 못 찾은건지.. 공식문서에 있다면 댓글에 꼭 말씀 부탁드립다 ㅠㅠ ngrinder 테스트 메서드 실행 순서 지정하는법 간단하다, 비밀은 테스트 메서드 이름에 숨겨져 있었다, 그렇다 테스트 메서드명의 사전순대로 실행되는것이였다.. (이게..