본문 바로가기

분류 전체보기32

DND 12기 백엔드 후기 (2024.12.30 ~ 2025.02.22) DND 12기 활동기간 : 2024.12.30 ~ 2025.02.22 (총 8주)포지션 : 백엔드팀 인원 : 4명(디자이너2,안드로이드1,백엔드1)   처음 우리 팀은 디자이너 2명, 안드로이드 2명, 백엔드 2명으로 총 6명이었는데, 불가피하게 2명이 제명되면서 최종적으로 4명이 프로젝트를 이어가게 됐다. 나는 백엔드 파트를 맡았고, 디자이너 2명과 안드로이드 1명과 함께 협업했다.4주차까지는 격주 회고를 꾸준히 작성했지만, 5주차부터 예기치 못한 문제들이 매주 터지는 바람에 내 러닝 루틴과 회고 패턴이 크게 흔들렸다. 팀을 둘러싼 여러 이슈들을 해결하느라 정신없이 지냈지만, 다행히도 이전에 진행했던 우테코 프리코스와 12시간에 걸친 미션 구현 & 코드리뷰 연습(코딩 5시간, 코드리뷰 7시간)에서 길러.. 2025. 2. 24.
git | 파일명 대소문자 불일치 문제 해결 개요 EC2에 서버 빌드에 문제가 생겼다. (./gradlew clean build)정리하면, 파일명 대소문자 문제가 있고, 롬복이 적용 안되어 있는 다양한 에러 로그들이 찍혔다. AI에게 물어봐서 파일명 대소문자 문제가 있는 걸 알게 됐다. 그래서 내 로컬 인텔리제이 코드랑, 푸쉬된 깃허브 코드를 비교해보니 대소문자 차이가 나는 문제가 발생해 있었다.당장 오늘 배포해야되는데, 이 문제 때문에 배포가 안되서 너무 스트레스였다. 결국 똑같은 프로젝트를 새로 생성해서 EC2에 긴급하게 배포로 응급처치를 하게 됐다. 이제 대소문자 문제를 해결해보자.해결 찾아보니 git은 원래 대소문자를 구별하지 않는다고 한다.git config core.ignorecase false을 입력하면 그뒤로 대소문자를 인식하게 된다.. 2025. 2. 11.
AWS | 복붙해서 EC2 스왑 메모리 적용하기 개요AWS에서 프리 티어로 EC2를 띄우고, 스프링 부트를 클론 하고, jar 파일을 빌드했다.그런데 45분째 화면이 멈춰버렸다. 그래서 스왑 메모리(메모리를 늘려주는 방식)를 사용해서 이 문제를 해결했다. 설정 명령어- 명령어들을 그대로 차례대로 복사해서  붙여넣으시면 됩니다. -   스왑 메모리를 설정하기 전에, 스왑 파티션 또는 스왑 파일을 생성해야 합니다. sudo fallocate -l 2G /swapfile swapfile의 권한을 변경합니다. sudo chmod 600 /swapfile 스왑 파일을 생성합니다. sudo mkswap /swapfile 스왑 메모리를 활성화합니다. sudo swapon /swapfile    레퍼런스 https://engineerinsight.tistory.co.. 2025. 2. 11.
[코드 조각] Spring Data JPA Audit 객체 생성 개요'실전! 스프링 데이터 JPA' 김영한 강사님 챕터6 내용 일부 발췌 실무에서 개발하시는 분들은 다 아실텐데 기본적으로 테이블을 만들 때 꼭 이걸 남기거든요.(등록일,수정일)이걸 남겨 놓으면 나중에 운영할 때 되게 편하고, 이걸 안 남겨놓으면 나중에 이제 운영할 때 진짜 지옥을 맛보거든요.이렇게 추적이 안되니까 도대체 이 데이터를 언제 바꿨어? 왜 지금 문제가 생긴 거지? 이런걸 다 알아야 되거든요.생성일,수정일 이거 두가지는 저는 사실 모든 테이블에 다 깔아요. 추가로 등록자, 수정자에 대해서도 넣습니다.그러니까 이 데이터를 도대체 누가 등록을 했고, 예를 들어서 관리자가 있는데 누가 승인을 했고 취소를 했는데 이거를 시스템적으로 다 로그인한 아이디를 기반으로 보통 많이 남기죠. 이 사람이 현재 로.. 2025. 1. 29.
[코드 조각] 스프링 API 표준 응답 모델 구현 : ApiResponse<T> 와 Record 타입 개요DND 활동 중, 다른 백엔드팀들의 깃허브의 커밋기록을 보고 있었다.다른 팀들의 코드는 내게 가이드역할을 해준다.  특히 팀 협업 경험이 없는 내게 나침반 같은 존재다. "아! 팀에서 프로젝트를 생성하면, 공통 기능부터 최우선으로 세팅하고 개발하는구나"를 배우게 됐다.누군가에게는 당연하겠지만, 당연하지 않는 사람이 나였다.😅  "기본으로 사용가능한 'ResponseEntity'를 사용하면 되지 않나?" 싶었는데,  예외가 발생했을 때, 성공했을 때 응답의 모양이 달라지는 문제가 있다고한다. 이렇게 경우에 따라 응답 데이터의 형식이 달라진다면 해당 응답을 전달받는 주체에게 사용하기 어려운 데이터가 될 수 있을것이다. 따라서 성공했을 때 형식과 실패했을 때 응답형식을 항상 json으로 통일시킬 필요가 .. 2025. 1. 29.
[2025. 러닝] 4주차 러닝 후기 4주차 기록 목표: 3km 5번뛰기할말:이제는 3km 잘 뛴다. 3km를 다 뛰고 나서 확 오는 탈진감이 완화됐다.러닝 루틴이 생긴 것 같다.뭔가 오늘 할일을 하나 마치고  나면 -> 바람 쐴 겸 러닝 뛰었다.이번 주 내내 그랬다. 어느새 1달 러닝을 뛰었는데, 1~2주차때 너무 힘들었던 걸 생각하면, 현재 많이 성장한게 느껴진다. 2025. 1. 25.