[회고] 2025년도 상반기 - 나는 어떤 색인가
·
회고/나의 이야기
들어가며첫 회고는 격식체로 썼는데, 낯간지러운 걸 잘 못하는 성격이어서 남한테 보여주기가 쉽지 않았다. 다른 사람들 회고를 보니 대부분 격식체를 쓰길래 나도 따라 해 봤는데, 앞으로는 그냥 내 색대로 편하게 써보려고 한다. 스마일게이트 Dev Camp를 수료하다올해의 시작을 함께한 우리 캠프원들! 두 달 동안 동고동락하면서 토론할 때 가장 반짝거리던 멋진 사람들과 함께 캠프 생활을 보냈다. BBeBig 팀을 비롯해 모든 캠프원들, 그리고 인재영입팀까지. 무엇보다도 정말 좋은 리더였던 과장님 덕분에 화목한 분위기로 프로젝트를 마무리할 수 있었던 것 같다. 이제는 진심으로 응원하고 싶은 동료들이 생겼다는 것만으로도, 스마일게이트 Dev Camp는 내게 아주 큰 의미로 남게 되었다.[회고] 2025 스마일..
[우아한테크코스] 레벨 2 기록
·
회고/우아한테크코스
💭 들어가며Spring은 사실 작년에 김영한 선생님의 강의를 통해 깊이 있게 학습한 경험이 있어, 대부분 알고 있다고 생각했다. 하지만 이번 레벨 2를 거치며 그 생각이 오만이었다는 것을 깨달았다. 여전히 모르는 부분이 많았다. 다만 백엔드 공부를 시작할 때 처음 접한 프레임워크가 Spring이었던 만큼, 예전에는 이해하지 못했던 개념들을 이번 복습을 통해 내 것으로 만들 수 있었고, 그 주변 지식을 넓히며 더욱 단단해졌다는 느낌을 받았다. 또한 레벨 2는 단순히 하드 스킬뿐 아니라 소프트 스킬 측면에서도 많은 성장이 있었던 시간이었다. 특히 말하기에 대한 다양한 시도를 했고, 나만의 공부 방법을 끊임없이 탐색하며 의미 있는 두 달을 보낼 수 있었다. ✅ 미션 1 - 방탈출 예약 관리▶ PRStep..
[Spring] Spring, Spring Boot
·
Programming/Spring
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며Spring이라는 방대한 프레임워크를 공부하면서 공부량이 엄청나게 많아졌다. 처음에는 각 개념을 지엽적으로 공부하다 보니 어떤 기술이 Spring Core에 속하고, 어떤 것이 Spring MVC에 해당하는지 혼란이 생기기 시작했다. Spring 공식 사이트의 Spring Projects를 살펴보며, Spring 생태계가 내가 생각했던 것보다 더 크다는 사실을 알게 되었다. 이 과정에서 Spring과 Spring Boot가 본질적으로 다르다는 것도 인식하게 되었다. 따라서 이번 기회에 관련 글을 작성하며 정리해보고자 한다. ✅ 원시 서블릿 방식▶ 코드🔽 디렉토리 구조src/└── main/ ├── java/ │ └─..
[JPA] 영속성 컨텍스트, 엔티티 생명주기, @Transactional
·
Programming/JPA
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며JPA를 처음 배웠을 때는 영속성 컨텍스트라는 개념이 잘 와닿지 않아, 완전히 이해하지 못한 채 사용했었다. 하지만 Spring Data JPA를 사용하면서 영속성 컨텍스트가 어떻게 작동하는지 감을 잡으면서 장점을 체감하게 되었고, 왜 굳이 애플리케이션도 아니고 DB도 아닌 중간 영역에 데이터를 한 번 더 저장하는지 이해하게 되었다. 이번 글에서는 이를 복습하고 정리해보고자 한다. ✅ 영속성 컨텍스트와 엔티티 매니저▶ 영속성(Persistence)사전적 의미는 "오래 계속되는 성질"이라고 한다.데이터를 DB에 지속적으로 저장할 수 있는 성질이다. ▶ 영속성 컨텍스트(Persistence Context)영속성 컨텍스트는 엔티티를 관리..
[JPA] N+1 문제와 해결 방법
·
Programming/JPA
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며JPA를 처음 배웠을 때도 N+1 문제라는 용어를 들어본 적은 있었지만, 정확한 의미는 알지 못했다. 이번에 JPA를 심화 학습하며 실제로 해당 문제를 직접 마주하게 되었고, 공부해야 할 필요성을 느꼈다. 이에 N+1 문제가 무엇인지 알아보고, 이를 해결하는 방법과 공부 중에 들었던 의문점들을 정리해 보고자 한다. ✅ N+1 문제란한 번의 쿼리로 가져온 엔티티가 지연 로딩(Lazy Loading) 설정 때문에 추가로 N개의 쿼리를 발생시키는 문제이다. ✅ 발생 원인▶ 지연 로딩(Lazy Loading)지연 로딩은 연관 관계가 설정된 엔티티가 즉시 로딩되지 않고, 실제 접근 시점에 쿼리가 날아간다.지연 로딩은 당장 필요하지 않은 ..
[CS] 인증과 인가, 세션과 토큰
·
Programming/CS
우아한테크코스 레벨 2 자료를 참고하여 학습한 내용을 정리한 글입니다. 💭 들어가며인증과 인가라는 용어는 자주 들어봤지만, 그 차이를 정확히 이해하고 있지는 않았다. 세션과 토큰 방식의 차이점 역시 명확하지 않았다. 이번 기회에 관련 개념들을 학습하면서 많은 의문이 생겼고, 그 과정을 통해 오히려 더 깊이 이해할 수 있었다. 특히 이론적으로만 알고 있었던 Stateless와 Stateful 개념을 실제로 적용해보며 학습할 수 있었던 점이 전체 구조를 파악하는 데 큰 도움이 되었다. 이번 학습을 통해 인증과 인가에 대한 전반적인 개념을 명확히 정리하고자 한다. ✅ 인증과 인가▶ 인증(Authentication)하나의 애플리케이션을 만들었을 때, 아무나 내부 정보에 접근할 수는 없다. 이때 사용자의 ..
[Spring] Spring MVC Config
·
Programming/Spring
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며Spring MVC Config라는 개념을 두 번째 미션에서 배우게 되었다. 사실 이 개념을 알지 못한 채 사용해 본 적이 있다. 바로 Passport 인증 도입기에서였다. 당시에는 커스텀 어노테이션을 사용해 컨트롤러에서 하나의 파라미터로 인증 정보를 간편하게 받아올 수 있도록 구현했는데, 그때는 뭔가 엄청난 걸 해낸 것 같아 스스로 굉장히 뿌듯했다. 그런데 이번에 제대로 공부해 보니 생각보다 별거 아니라는 느낌이 들었다...ㅎㅎ아무튼 그때는 그냥 넘어갔던 개념을 이번 기회에 제대로 학습하고 정리해보고자 한다. ✅ Spring MVC 요청 처리 흐름클라이언트 요청 수신사용자가 웹 브라우저를 통해 HTTP 요청을 보낸다.Dispatc..
[Test] 테스트 더블(Test Double)
·
Programming/Test
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며Spring 미션을 진행하면서 테스트에 대한 방향을 잡지 못해 초기에는 Layered Architecture의 각 계층에 대해 모두 테스트를 작성했다. 이후 테스트의 격리성에 대한 필요를 느끼며, Service 계층에서 Repository 의존성을 분리하기 위해 테스트 더블(Test Double)을 도입했고, 주로 Fake 객체를 활용했다. 이후 테스트 더블의 종류가 다양하다는 것을 알게 되어 이를 정리하였다. ✅ 테스트 더블이란테스트 더블(Test Double)은 실제 객체를 대체하여 테스트에 사용하는 가짜 객체이다. 실제 객체를 사용하기 어렵거나 부적절한 상황에서 해당 역할을 흉내 내어 테스트를 보조한다. 이 개념은 영화 촬영에..
soeun2537
'분류 전체보기' 카테고리의 글 목록