[Spring] 스프링 빈(Spring Bean), Spring Core 어노테이션
·
Programming/Spring
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다.이 글은 IoC 컨테이너와 의존성 주입(DI)에 대한 기본 이해를 바탕으로 작성되었습니다. 관련 내용은 여기에 정리해 두었으니, 참고해 주시면 감사하겠습니다. 💭 들어가며이전 글에서 IoC 컨테이너와 의존성 주입(DI)에 대해 정리했다. 이번에는 그 내용을 바탕으로 스프링 빈(Spring Bean)에 대해 정리하고, 스프링 빈을 보다 편리하게 관리할 수 있도록 도와주는 Spring Core 어노테이션들도 함께 살펴보고자 한다. ✅ 스프링 빈(Spring Bean)이란스프링 빈(Spring Bean)은 스프링 IoC 컨테이너가 생성하고 관리하는 객체를 의미한다. 이 객체들은 컨테이너에 의해 생명 주기가 관리되며, 의존성 주입(DI)을 통해 서로..
[Spring] IoC 컨테이너, 의존성 주입(DI)
·
Programming/Spring
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며이번 미션을 하며 @Autowired 어노테이션을 언제, 왜 사용하는지 명확하게 설명하지 못하는 나 자신을 보며 의존성 주입에 대한 이해가 부족하다는 걸 느꼈다. 이에 관련 개념들을 다시 정리해보기로 했다. 의존성 주입을 제대로 이해하기 위해서는 IoC 컨테이너에 대한 이해가 선행되어야 하고, 이는 스프링 빈 개념과도 밀접하게 연결되어 있다. 그래서 이번 글에서는 먼저 IoC 컨테이너와 의존성 주입에 대해 정리하고, 다음 글에서 스프링 빈에 대해 다뤄보고자 한다. ✅ IoC 컨테이너란IoC 컨테이너는 객체의 생성, 조립(의존성 주입), 생명주기 관리 등을 개발자 대신 수행해 준다. ▶ IoC란IoC(Inversion of Contr..
[Spring] Spring MVC 어노테이션
·
Programming/Spring
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며레벨 2에 들어가면서 Spring에 대해 깊이 있게 학습할 수 있는 시간이 주어졌다. 이전에도 서버를 직접 배포하고 운영해 본 경험은 있었지만, 정작 어노테이션의 역할을 묻는 질문에는 쉽게 대답하지 못했다. 주어진 코드를 이해하지 않고 그대로 사용하기만 했다는 사실을 깨달았다. 그래서 이번 기회에 Spring MVC의 핵심 어노테이션들과 요청 흐름에 대해 정리해보고자 한다. ✅ Annotated ControllersSpring MVC는 어노테이션 기반의 프로그래밍 모델을 제공하여, 개발자가 요청 매핑, 요청 데이터 처리, 예외 처리 등을 어노테이션을 통해 간결하게 구현할 수 있도록 지원한다.이러한 방식에서는 @Controller 또..
[CS] 동기/비동기, 블로킹/논블로킹
·
Programming/CS
우아한테크코스 레벨 2에서 학습한 내용을 정리한 글입니다. 💭 들어가며이번 미션을 진행하면서 처음으로 AtomicLong을 접했다. 왜 AtomicLong을 사용하는지 찾아보니 논블로킹 방식으로 동시성 제어가 가능하기 때문이라고 한다."논블로킹이 뭐지..?" 찾아보니 블로킹(Blocking)과 논블로킹(Non-Blocking)이라는 개념이 있었고, 또 그와 자주 함께 언급되는 개념으로 동기(Synchronous)와 비동기(Asynchronous)도 있었다. 전에도 종종 들어본 키워드들이지만, 제대로 정리해 본 적은 없었던 것 같다. 이번 기회에 헷갈리기 쉬운 이 네 가지 개념들을 정리하고, 각 조합이 실제로 어떻게 동작하는지 이해해보고자 한다. 사실 각각의 개념은 서로 직접적인 비교 대상은 아니다. 그..
[TroubleShooting] 왜 우리는 WebFlux를 선택할 수밖에 없었나
·
TroubleShooting
👀 현재 상황 및 배경 설명우리는 MSA 환경에서 각 서버에서 활용할 수 있는 공통 모듈을 도입하려 했다.각 서버는 공통 모듈(common-module)을 통해 공통 로직을 공유하고 있으며,클라이언트의 요청은 Spring Cloud Gateway를 통해 내부 서비스로 라우팅된다. 🚨 문제 상황초기 개발 당시, 우리는 익숙한 Spring MVC 기반으로 서비스를 구성하고 있었다. 그러나 Spring Cloud Gateway에 인증 필터를 적용하는 과정에서 문제가 발생했다. 가장 핵심적인 인증 필터가 제대로 동작하지 않았던 것이다.특정 토큰을 통해 사용자 정보를 추출해 다른 서버로 전파하려 했지만, 사용자 정보가 null인 상태로도 필터가 그대로 통과되는 현상이 나타났다. 이를 통해 필터 로직 자체가 ..
[Development] MSA 기반 Passport 인증 시스템 도입기
·
Development
Smilegate Dev Camp에서 개발한 내용을 정리한 글입니다. [깃허브] [회고]틀린 내용이나 질문, 더 나은 구조 제안 등이 있을 경우 댓글 달아주시면 감사하겠습니다. 💭 들어가며Passport를 도입하면서 가장 큰 어려움은 레퍼런스가 거의 없었다는 점이었다. 정보가 부족한 만큼, 앞으로 이 기술을 도입하려는 분들께 조금이나마 도움이 되었으면 하는 바람으로 MSA 기반 Passport 인증 시스템 도입기를 정리하고자 한다. 본격적인 내용에 앞서, 꼭 인지하고 읽어주셨으면 하는 부분이 있다. Toss 기술 블로그와 Netflix 기술 블로그에서도 언급했듯이, JWT 발급과 Passport 생성은 원래 하나의 인증 서버에서 모두 처리하는 것이 이상적인 구조다. 그러나 우리 프로젝트에서는 인증 서버..
[회고] 2025 스마일게이트 Dev Camp 기록
·
회고/스마일게이트 Dev Camp
💭 들어가며2024년 12월 말부터 2025년 2월까지 약 두 달간 진행된 스마일게이트 Dev Camp!회고가 꽤 늦어졌네요. 바쁘다는 핑계로 미뤄 두기만 했는데, 이제야 짬을 내어 작성하게 되었습니다. 다행히 틈틈이 기록해 둔 것들이 있어, 그 내용을 바탕으로 회고를 작성하고자 해요. 😄 🏃🏻‍♂️ 함께 했던 사람들올해의 첫 스타트를 함께한 Dev Camp 캠프원들! 처음엔 이렇게까지 돈독해질 줄 몰랐는데, 어느새 정말 가족 같은 분위기가 되었어요. 막내였는데, 참 예쁨을 많이 받았던 것 같습니다. 토론할 때 보면 모두가 정말 열정적이고, 배우려는 의지도 강해서 하나 같이 모두 멋진 사람들만 모였다는 생각이 들었습니다. 그리고 이 캠프를 누구보다도 잘 이끌어 주신 인재영입팀 과장님! 정말....
[우아한테크코스] 레벨 1 기록
·
회고/우아한테크코스
💭 들어가며회고가 꽤 늦었다. 방학 기간 동안 부족했던 체력을 보충하고, 오랜만에 부모님도 뵙고... 사실 놀면서 점점 미뤄온 게 가장 큰 이유다. 😅방학 마지막 날에서야 다시 마음을 가다듬고, 레벨 1에서 배운 것들과 고민했던 부분을 복기하며 회고를 남겨보고자 한다. ✅ 미션 1 - 로또▶ PRStep 1: 로또 Step1 PR 링크Step 2: 로또 Step2 PR 링크 ▶ 학습🔽 키워드MVC테스트 코드Object🔽 블로그 정리[Java] 테스트 코드, JUnit & AssertJ ▶ 고민했던 부분1️⃣ 요구사항도 의심하자프리코스를 진행할 때도 그랬듯, 단순히 요구사항을 완벽히 지키는 것에만 집중했던 것 같다. 로또 미션에서도 Getter 사용을 지양하라는 요구사항이 있었는데, 왜 그런 요..
soeun2537
'분류 전체보기' 카테고리의 글 목록 (2 Page)