9osari.log

나만의 개발기록

안녕하세요. 잠실에서 일하는 주니어 백엔드 개발자입니다.

2022년 소프트웨어융합과를 졸업한 뒤 국비교육을 거쳐, 2024년 가산디지털단지에서 풀스택 개발자로 첫 커리어를 시작했습니다.

첫 직장에서는 회사에 적응하고 도메인 지식을 익히는 데 집중했습니다. 그 과정에서 개발의 재미를 느꼈지만, SI 회사의 레거시 코드와 보수적인 개발 문화에 아쉬움도 많이 느꼈습니다. 그래서 2025년부터는 더 나은 개발 환경을 목표로 꾸준히 공부하며 이직을 준비했습니다.

2026년에는 원하던 기술 스택과 개발 문화를 갖춘 회사로 이직했고, 지금은 잠실에서 백엔드 개발자로 다양한 기능을 설계하고 구현하며 경험을 쌓고 있습니다.

기초가 제일 중요하다고 생각해서, 처음 시작하는 마음으로 공부하고 그 기록을 이 블로그에 남깁니다. 요즘은 하네스 엔지니어링과 리팩터링을 공부하고 있습니다.

Latest writingAll posts

[리팩토링] 중복인 줄 알았던 코드가 사양이었다 — 차수 계산을 값 객체로 모으기

같은 보고서인데 화면엔 #17, 공식 출력물엔 #23. 버그인 줄 알고 달려들었다가, 절반은 사양이고 절반은 진짜 버그였던 이야기. TL;DR "비슷한데 미묘하게 다른" 중복 로직을 발견하면, 통일하기 전에 먼저 물어야 한다: 이 차이가 드리프트(방치된 발산)인가, 사양(다른 질문에 대

refactoring, java, value-object

[보안] 취약점 보고서와 인증/인가

회사에서 취약점 보고서를 받았다. 계열사 보안 담당자가 회의실에서 발표를 했다. 어떤 프록시 프로그램으로 API 응답값을 바꿔서 다시 보내면, 관리자 화면이 그냥 열린다. 요청에 들어가는 id를 남의 것으로 바꾸면, 남의 회원정보가 조회된다. 심지어 다른 사람의 비밀번호를 내가 바꿀 수

java, jpa, spring

[리팩토링] 도메인 책임 위치를 잘못 잡았을 때 보이는 신호

사람에 붙인 자격증명을, 연동 채널로 옮긴 이야기 외부 시스템 연동을 위한 OAuth 자격증명(clientId / clientSecret / clientEmail)을 처음엔 Operator라는 "사람" 엔티티에 박았다. 일주일 뒤, 동일한 자격증명을 ExternalChannel이라는 "

refactoring, java, spring

[리팩토링] 복잡한 승인 로직, SRP와 DRY 원칙으로 통합하기

공통 모듈 캡슐화로 승인 로직 리팩토링 들어가며 최근 신규 기능을 개발하던 중, 기존 모듈들에 흩어져 있는 승인/반려 로직을 전반적으로 훑어볼 기회가 있었습니다. 처음에는 별다른 위화감이 없었지만, 코드를 하나씩 따라가다 보니 소름 돋을 정도로 익숙한 패턴들이 눈에 들어오기 시작했습니다

refactoring, java, spring

[JVM] 메모리 구조와 객체 흐름

도입 남한테 설명할 줄 알아야 진짜 공부가 된거다. JVM에 대해 한번 공부했지만 기억에 남는건 별로 없었다. 이제부턴 모르는 사람에게 이 개념을 설명한다 상상하고 혼자 설명하며 공부해보려한다.. JVM의 역할과 RunTime Data Area 구조, 그리고 객체가 생성되고 GC로 정리

java, jvm

Collections

Elsewhere

gitHub9osari RSSfeed.xml