'2026/04 글 목록

공부하는 개발자

about 오늘도 뚝딱🔨 뚝딱 하는 주니어 개발자👩🏻‍💻

북마크

고정글

2026/04 7

최근 글

반응형
👩🏻‍💻 Springframwork Mig 기록 : 화면에는 없는데 서버에는 필요한 값들 (feat. 세션 기반 파라미터)

👩🏻‍💻 Springframwork Mig 기록 : 화면에는 없는데 서버에는 필요한 값들 (feat. 세션 기반 파라미터)

인트로레거시 시스템을 Spring Boot 3 기반으로 옮기면서Controller 응답 방식과 세션 접근 방식을 함께 정리했다.처음에는 요청 파라미터만 잘 넘기면 기능이 그대로 동작할 거라고 생각했다.그런데 일부 기능에서 NullPointerException이 발생했다.이상했던 점은 화면에서 넘기는 값은 빠진 게 없어 보였다는 점이다.화면에는 없지만 서버 로직에는 꼭 필요한 값이 있었다. 바로 세션에서 꺼내 쓰던 사용자 식별값이었다.이번 글은 레거시 코드에서 암묵적으로 사용하던 세션 기반 값을 어떻게 추적했고마이그레이션 후에는 어떻게 NPE를 방어했는지 정리한 기록이다. 개발환경AS-ISTO-BEJava 1.7Java 17Spring Framework 4 계열Spring Boot 3 계열JS..

⚡️개발자가 자주 사용하는 NANO명령어 (알쓸나잡) : Vim 유저도 당황하지 않는 Nano 편집기 완벽 가이드 (설정부터 커스텀까지)

⚡️개발자가 자주 사용하는 NANO명령어 (알쓸나잡) : Vim 유저도 당황하지 않는 Nano 편집기 완벽 가이드 (설정부터 커스텀까지)

시작에 앞서회사에서 리눅스 서버를 운영하다 보면 Vim이 손에 익어있음에도 불구하고,특정 배포판 환경이나 인프라 설정 때문에 Nano 편집기를 써야 하는 상황이 생기곤 합니다."Vim은 되는데 Nano는 왜 안 되지?"라고 답답해하셨던 분들을 위해Nano를 Vim처럼 강력하게 만드는 설정법과 필수 명령어들을 정리했습니다. 🙇‍♀️ 📊 한눈에 보는 에디터 비교: Nano vs Vim두 에디터의 가장 큰 차이는 '모드(Mode)'의 존재 여부입니다. 아래 표를 통해 나에게 맞는 도구를 확인해 보세요.구분Nano (직관적인 메모장)Vim (강력한 모달 편집기)핵심 컨셉Modeless: 보이는 대로 입력Modal: 모드 전환을 통한 조작진입 장벽매우 낮음 (메모장 수준)높음 (학습 곡선 존재)주..

⚡️개발자가 자주 사용하는 VIM 명령어 모음 : 알아두면 쓸데있는 Vim 잡학지식(알쓸빔잡)

⚡️개발자가 자주 사용하는 VIM 명령어 모음 : 알아두면 쓸데있는 Vim 잡학지식(알쓸빔잡)

1. 모드 전환 (Mode Switching)명령어설명i커서 앞 삽입 모드 진입I줄 맨 앞에서 삽입 모드 진입a커서 뒤 삽입 모드 진입A줄 맨 끝에서 삽입 모드 진입o아래 줄 새로 추가 후 삽입 모드 진입O위 줄 새로 추가 후 삽입 모드 진입v비주얼 모드 (문자 단위 선택)V비주얼 라인 모드 (줄 단위 선택)Ctrl+v비주얼 블록 모드 (블록 단위 선택)Esc노멀 모드로 복귀2. 커서 이동 - 기본 (Basic Movement)명령어설명h왼쪽으로 이동j아래로 이동k위로 이동l오른쪽으로 이동0줄 맨 앞으로 이동^줄 첫 번째 비공백 문자로 이동$줄 맨 끝으로 이동gg파일 맨 처음으로 이동G파일 맨 끝으로 이동{숫자}G특정 줄 번호로 이동 (예: 10G)3. 커서 이동 - 단어 (Word Movement)명령..

🖥️ 실무 : StrictHttpFirewall이 동작하는 원리 (feat. PROPFIND, WebDAV) | PROPFIND가 뭐예요 ?

🖥️ 실무 : StrictHttpFirewall이 동작하는 원리 (feat. PROPFIND, WebDAV) | PROPFIND가 뭐예요 ?

작년 10월 말부터 진행했던 고도화 프로젝트가 개발 서버에서 통합 QA를 진행하고 있다.그리고 우리 프로젝트는 네이티브 개발자 분들이 WebView 사용과 API호출 등 연결을 해주고 있다.그래서 개발서버의 QA중인 고도화 서비스는 네이티브 개발자 분들 , 그리고 관계사 관리자 분들이 요즘 사용해 주고 있어서매일 개발서버 로그를 검수하며 문제는 없는 지 체크를 해보고 있다.오늘도 로그를 보면서 Exception 걸린 부분이 있는지 검토하고 있었다.그러다 PROPFIND 라는 Exception 문구가 있는 게 아닌가?이건 또 뭐다냐😟 하면서 구글에 검색해 보았다.내용을 알게 되고 서비스 운영 하는 개발자 분들이 알고 있으면 좋은 내용인 것 같아 오늘도 포스팅을 써본다🙋🏻‍♀️ 주제 정의S..

👩🏻‍💻 Springframwork Mig 기록 : OKTA SAML 로그인 무한 루프 디버깅기 (feat. 백엔드·프론트 환장의 콜라보)

👩🏻‍💻 Springframwork Mig 기록 : OKTA SAML 로그인 무한 루프 디버깅기 (feat. 백엔드·프론트 환장의 콜라보)

INTROSpring Framework 4에서 Spring Boot 3으로 마이그레이션하는 고도화 프로젝트 중OKTA SAML 인증 연동을 붙이고 테스트 서버에 배포했다.설레는 마음으로 로그인을 시도했는데, 화면이 계속 새로고침되며 멈추지 않았다.처음에는 "배포를 잘못했나?" 싶어서 서버를 재시작해봤고, 로그를 다시 확인해봤다. 그런데 아무리 봐도 배포 자체는 정상이었다.Fiddler 네트워크 로그를 열어서 트랜잭션 흐름을 직접 추적해보고 나서야 원인이 보였다.백엔드에서 터진 HTTP 500 에러와, 그 에러 상황을 전혀 고려하지 않은 프론트엔드 리다이렉트 로직이 서로 맞물려 만들어낸그야말로 환장의 콜라보였다.처음에는 백엔드 문제라고 확신했는데, 백엔드를 고쳐도 루프는 계속됐다.두 레이어를 동시에 수정하..

🖥️ 실무 : GCP to OCI 이전 구축기 및 504 Gateway Time-out 해결기 (feat. Swap Memory)

🖥️ 실무 : GCP to OCI 이전 구축기 및 504 Gateway Time-out 해결기 (feat. Swap Memory)

INTRO여느 때와 다름없는 평화로운 금요일결혼식을 한다고 2년 가까이 길었던 머리를단발로 싹-둑 자르고 파마를 하러 미용실에 방문했다.꾸벅꾸벅 졸고 있던 찰나, 휴대폰이 '징- 징-' 울렸다.무심코 화면을 켰는데 순간 내 눈을 의심했다.구글 클라우드 ~~~ 52,150원 결제 완료 카드사 결제 알림이 떠 있었다. "대체 내가 뭘 돌렸길래 5만 원이나 결제가 된 거지?"머리에 약을 바른 채 구글 클라우드 콘솔 앱을 켜고 한참을 뒤적거리며 찾아봤다.네트워크 트래픽 과금인가? 무료 티어 기준을 초과한 사용량이 무엇 때문인지 분명치 않았다.안 그래도 기존에 사용하던 GCP 무료 티어 서버는 너무 버벅거리고접근할 때마다 느려서 개발하고 테스트하기가 여간 불편한 게 아니었다.이 요금 과금 문자를 시작으로 평소 자..

반응형