[슬축생 프로젝트] 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 테스트 메서드 실행 순서 지정하는법 간단하다, 비밀은 테스트 메서드 이름에 숨겨져 있었다, 그렇다 테스트 메서드명의 사전순대로 실행되는것이였다.. (이게..
[슬축생 프로젝트] 9. 프로메테우스 & 그라파나 모니터링 도입기
2024. 2. 9. 17:27
개발 공부 일기장/사이드 프로젝트
시작하며 이번에 vultr로 이사를 가게 되면서 서버 성능을 최소로 줄였다. 그리고 그에 따라서 발생하는 문제들을 모니터링 하기 위해서 모니터링 툴을 찾던 중 프로메테우스와 그라파나를 많이 사용하는것을 보고 한번 도입해봤다. 서버 구성 이렇게 서버 구성이 바뀌게 되었다. 전체 구성도의 일부를 가져온것이라 설명이 안 보이는데 빨간줄은 공인망, 초록망은 내부망(VPC), 파란선은 로컬 통신을 뜻한다. seulchuksaengmonitor.store라는 도메인을 추가로 구입하여 그라파나 서버에 적용하였다. 지금은 백엔드와 디비서버 이렇게 두가지 서버를 모니터링하고 있다. 프론트는 제니퍼프론트라는 툴로 모니러팅하고 있는데 이는 따로 다루겠다. 구성은 간단하게 3가지로 나눌 수 있는데 데이터를 프로메테우스로 보내..