Today I...11 [TIL]JWT 만료 처리 방안 팁 오늘 유광열 튜터님과 개인 면담이 있었고, 면담 중 나온 주제 중 하나에 관해 흥미로운 팁을 하나 공유해주셨다.JWT 토큰 만료 처리에 관한 것이었는데 그 팁에 대한 기록을 남겨보고자 한다.jwt 토큰 탈취되었을 때, 만료 처리를 어떻게 할 수 있을까우선 토큰에 대한 정책부터 정의를 해보면 좋을 것이다. 크게 2가지 정책이 있을 수 있다.토큰을 단일로 유지하는 경우여러명의 동시 접속을 막아야 하는 경우여러 기기에서 토큰을 여러개 쓰는 경우카카오톡 처럼 피씨, 폰 둘 다 로그인이 가능해야 하는 경우이런 경우엔 블랙리스트/화이트리스트로 캐싱해야 할 데이터가 너무 많아지는 단점이 있다.혹은 디비에 저장한다면? 이건 더 별로다. 디비 리소스 낭비에 가깝다. 그리고 jwt 사용하는 이유가 없어진다.그럼 이 두가지.. 2025. 3. 4. [TIL] 도메인 주도 설계(DDD) 개론 도메인 주도 설계(DDD)의 필요성도메인(해결하고자 하는 문제의 영역)을 중심으로 소프트웨어를 설계하는 것도메인을 명확히 구분하고 객체 간 관계를 올바르게 설계하기 위함바운디드 컨텍스트 이해하기큰 시스템을 여러 개의 작은 컨텍스트로 나누어 각 컨텍스트 내에서 특정한 비즈니스 규칙과 데이터 모델이 적용되는 것을 의미한다.각 컨텍스트는 독립적으로 설계되고 구현되며, 서로 다른 컨텍스트 간에는 인터페이스를 통해 상호작용한다.여러개의 애그리거트를 포함할 수 있다.애그리거트(루트) 이해하기Aggregate 는 도메인 모델에서 논리적으로 하나의 단위로 묶여야 하는 객체들의 집합Aggregate Root 는 애그리거트를 대표하는 객체애그리거트의 유일한 진입점(entry point) 역할을 하는 객체why?데이터의 일.. 2025. 2. 27. [TIL]오늘의 노트 @NotNull, @NotEmpty, @NotBlank 의 차이점@NotNull@NotNull은 이름 그대로 Null 만 허용하지 않는다."" 이나 " " 은 허용한다.@NotEmptynull 과 "" 둘 다 허용하지 않는다.@NotNull에서 "" validation 이 추가된다.@NotBlanknull 과 "" 과 " " 를 허용하지 않는다.@NotEmpty에서 " " validation 이 추가된다.JPA에서 JOIN 과 FETCH JOIN 차이둘 다 관계된 엔티티를 조인하는 방법이지만, 데이터 로딩 방식과 영속성 컨텍스트 내 관리 여부가 다르다.Join (일반 조인)단순 SQL 조인을 수행하지만, 연관된 엔티티는 로딩하지 않고 프록시 상태가 된다.연관 엔티티의 프로퍼티를 호출하면 Lazy Load.. 2025. 2. 20. [TIL]오늘의 노트 CI/CDCI(Continuous Integration)CI 는 소프트웨어 개발에서 다음과 같은 과정을 자동화하는 것을 의미한다.코드 변경 사항을 저장소에 통합하는 과정코드를 빌드하는 과정코드를 테스트하는 과정코드를 배포 가능한 상태로 만드는 과정CD(Continuous Deployment/Delivery)CD 는 지속적인 배포 자동화를 의미한다.NGINX의 LOAD BALANCING로드 밸런싱은 여러 서버에 트래픽을 분산시켜 부하를 줄이고 성능을 최적화 하는 기술을 의미한다.niginx 가 제공하는 로드 밸런싱은 4가지 방식이 존재한다.1. 라운드 로빈(Round Robin) 방식 - default서버들에게 순차적으로 요청을 배분하는 방식이다.2. Least Connections 방식연결 개수가 가장 .. 2025. 2. 19. 이전 1 2 3 다음