[백엔드] 스프링 컴포넌트 스캔과 Bean 등록하기 및 DI
·
CS/백엔드
스프링은 스프링 컨테이너를 통해서 의존성 주입 기능을 지원한다. 컨테이너에 들어가는 객체들을 빈이라고 칭하고, 스프링은 빈으로 등록할 객체를 찾은 뒤에 컨테이너에 등록하고, 필요한 경우 컨테이너에서 빈을 빼오는 일을 수행한다. 이 과정은 그냥 애플리케이션을 시작하면 자동으로 이루어지지만, 어떤 매커니즘으로 이루어지는지 궁금했기 때문에, 조사해보고자한다. 코드 중에서 불필요한 부분은 생략했다. 주로 내가 공부하려는 기능과 무관한 코드거나, 클래스 사전설정 코드거나, 로그를 다루는 로직이다.Bean 등록과정먼저 ApplicationContext에 Bean을 등록하기 위해서는 두 가지 과정이 필요하다. Bean은 스프링 컨테이너에 등록될 때 Bean만 등록되는 것이 아니라 BeanDefinition이라고하는,..
CEOS 백엔드 1주차 활동 후기
·
고찰/CEOS 23기 회고록
내가 매달 월간회고를 적고있지만 CEOS는 한 번 특별히 따로 매주 회고를 적어보려한다. 그만큼 활동에서 최대한 뽑아가기 위해.. 정기 세션 0주차 (03.04)백엔드 스터디는 매주 월요일에 진행되었는데, 올해는 월요일이 삼일절 연휴라 쉬는 날이어서 수요일에 진행하는 정기 세션부터 진행하게 되었다. 첫날에는 OT와 자기소개 정도만 간단하게 진행하고 간단한 레크리에이션으로 서로 알아가는 시간을 가졌다. 공덕동에서 진행했다. 처음에는 자기소개라고해서 무얼 발표해야하나 고민했는데 그냥 진짜 자기소개였다. MBTI를 넣어도되고, 취미를 넣어도되고.. 90초 정도의 제한시간이 있었는데 제한시간을 넘기는 사람이 아무도 없이 진행되었다. 레크리에이션은 10분 간 CEOS 멤버들끼리 돌아다니며 서로 이름과 특징(파트,..
[객체] 오브젝트 독서 #1 - 객체지향 프로그래밍과 RDD, 캡슐화
·
CS/객체지향
객체지향 프로그래밍 (OOP)클래스의 메서드와 같은 행동을 프로세스, 클래스의 변수와 같은 상태나 정보를 데이터라고 칭한다. 절차적 프로그래밍에서는 프로세스와 데이터를 별도의 모듈에서 관리하는 것, 객체지향 프로그래밍은 데이터와 프로세스를 하나의 모듈에 위치하도록 프로그래밍하는 방식이다. 하지만 단순히 변수와 메서드만 클래스에 넣었다고해서 절차적 프로그래밍이 객체지향 프로그래밍이 되는 것이 아니다. 객체지향 프로그래밍에서는 모든 객체들이 자율적으로 협력에 참가해야한다.응집도와 결합도소프트웨어의 품질을 측정하는 기준은 응집도, 결합도가 있다. 응집도란 모듈에 포함된 요소들이 연관된 정도, 즉 변경이 발생할 때 모듈 내부에서 발생하는 변경의 정도이다. 만약 한 개의 모듈에서 변경사항이 생겨 코드를 수정할 경..
2026년 2월 월간회고록
·
고찰
작년 2학기에는 금요일 14시에 수업이 끝나서 수업 끝나고 분당으로 온 후에 16시부터 딱 2시간 집중하면 됐지만.. 이번학기에는 월공강을 챙긴대신 다른 날들이 최소 16시에는 수업이 끝나서 이번학기는 금요일이 아니라 월요일에 엔데이를 진행하게 되었다. 원래 집에서 분당까지 버스 타면 50분이면 오는데 오늘은 70분 걸림 왜지....?2월 1주차 (2/1 ~ 2/8)지난달에 했던 논리회로 공부와 컴퓨터구조 공부를 마저했다. 아마 별다른 프로젝트 아이디어가 없다면 CS공부를 계속 진행하는 것 같다.. 2월 3일 4일까지는 논리회로 공부를 했다. 이해는 되는데 생각보다 어려웠다. 진도도 잘 안나가고... 한 개 챕터를 2~3등분해서 읽는데, 베릴로그 부분을 일부러 안 읽었음에도 불구하고 하루에 서너 시간을 ..
신촌연합 창업동아리 CEOS 23기 백엔드 서류, 면접 합격 후기
·
고찰/CEOS 23기 회고록
CEOS는 신촌 연합 창업동아리로, IT동아리보다 "창업"에 우선을 둔 동아리이다.그래서 나한테는 아주 매력적이고, 들어가고 싶은 동아리였다. 디프만이 천상계라면, CEOS는 인간계 중에서 최상급 동아리. 그래서 처음 CEOS에 지원해보고자 했을 때 여러 자료들을 찾아보게되었고, 생각보다 CEOS의 자료가 많지는 않았다. 있어봤자 15기, 19기, 20기 이랬고. (내가 23기 신청했다) 따라서 내가 일주일동안 고군분투한 내용들과, 나중에 CEOS에 지원하려는 사람들이 이 글을 참고할 때 나처럼 도움을 받는다면 좋을 것 같아서 이 글을 쓰게 되었다. https://blog.everdu.com/293 신촌 연합 IT 창업 동아리, CEOS 19기 서류, 면접 합격 후기 (백엔드)CEOS 19기에 지원하면서..
[백엔드] 인증요청 시의 SecurityFilterChain의 동작과정
·
CS/백엔드
https://dev-dx2d2y-log.tistory.com/218 [백엔드] 로그인 시의 SecurityFilterChain의 동작과정https://dev-dx2d2y-log.tistory.com/217 [백엔드] Spring Security 첫 걸음 - DelegatingFilterProxy, FilterChainProxy로 Web Context Filter에 Spring Bean Filter 등DelegatingFilterProxy그 전에 그냥 HTTP 요청이 어떻게 처리되냐면..클라dev-dx2d2y-log.tistory.com이전에는 로그인과정에서 SecurityFilterChain의 동작과정에 대해서 알아보았다.UsernamePasswordAuthenticationFilter와 같은 Auth..
[골든리포트!] 8) JwtAuthorizationFilter 최종정리 및 SecurityConfig에 등록하기
·
개인 프로젝트/[2026] 골든리포트!
조립하기https://dev-dx2d2y-log.tistory.com/219 [골든리포트!] 7) JWT토큰 인증과정을 Spring Security 필터체인에 태워보기저번에 인증과정에서 SecurityFilterChain을 어느정도 알아보았다. 이번에는 저번에 만들어본 JWTAuthorizationFilter를 수정해보도록한다. https://dev-dx2d2y-log.tistory.com/216 [골든리포트!] 6) 필터체인에서 JWT필dev-dx2d2y-log.tistory.com이전에 JwtAuthorizationFilter까지 만들었고, SecurityConfig에 연결해주어야했는데, 오늘은 그걸 해보려한다. 필터체인 내부에서 생성해야하는 Authentication 객체와 같은 특별한 경우가 아니..
[골든리포트!] 7) JWT토큰 인증과정을 Spring Security 필터체인에 태워보기
·
개인 프로젝트/[2026] 골든리포트!
저번에 인증과정에서 SecurityFilterChain을 어느정도 알아보았다. 이번에는 저번에 만들어본 JWTAuthorizationFilter를 수정해보도록한다. https://dev-dx2d2y-log.tistory.com/216 [골든리포트!] 6) 필터체인에서 JWT필터 인증 처리하기몇 가지 수정사항이 생겼다.GDG 플젝트랙에서는 모든 경로를 permitAll() 해주고 인증이 필요한 요청에 대해 헤더에 있는 JWT 토큰을 검사하는 방식으로 구현했다. 물론 이 방식은 딱히 좋은 편이 아dev-dx2d2y-log.tistory.com내가 짠 JWTAuthorizationFilter는 OncePerRequestFilter를 상속하여 UsernamePasswordAuthenticationFilter의 ..