전체 글

모든 코드에는 이유가 있어야 한다고 생각하는 코딩하는 대학생입니다.
· 왜?
Redis를 통한 RefreshToken 관리, Redis를 통해 RefreshToken 구현하기 구글에 RefreshToken Redis를 검색하는 나오는 결과다. 항상 사람들은 RefreshToken을 Redis에 저장해야 한다고 말했다. 그런데 왜? RefreshToken을 Redis에 저장하냐고 물어보면 "그게 대중적인 방법이니까"라고 말하는 사람이 대부분일 것이다. RefreshToken을 Redis에 저장하는 이유 1. TTL(Time-To-Live) 대부분의 사람들이 TTL 기능 때문에 Redis에 RefreshToken을 저장할 것이다. Redis는 TTL 기능을 제공해, 데이터의 만료 시간을 설정할 수 있습니다. redisTemplate.opsForValue().set(key, refre..
나와 static의 첫 만남은 PI(3.141592....)였다. static이란? "정적인"이란 뜻을 가지고 있으며 static을 붙이면 정적 메소드, 정적 변수가 된다. 메모리적인 측면에서 설명을 하자면 한번 저장이 된 뒤, 프로그램이 종료가 될 때까지 저장된다. 메모리는 글을 따로 작성 할 때 자세히 말씀드리겠습니다. 또한 Static을 붙이면 클래스 변수, 클래스 메소드가 되므로 객체를 생성하지 않아도 호출이 가능하게 됩니다. public class StaticExample { // 정적 변수 public static int count = 0; // 정적 메소드 public static void displayCount() { System.out.println("Count: " + count); }..
옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 갱신되는 방식으로 일대다(one to many) 의존성을 정의합니다. 옵저버 패턴이란? 이 글을 보시는 독자 여러분의 이해를 돕기 위해 신문과 구독자라는 예시를 들어 설명하겠습니다. 신문을 Subject로 생각하고 구독자를 Observer로 생각하시면 편합니다. 신문은 매일 정보가 바뀌며 구독자들은 바뀐 정보를 자동적으로 받습니다. 이처럼 옵저버 패턴은 Subject(신문)이라는 객체의 정보가 바뀌면 Observer(구독자)에게 연락이 가고 자동적으로 정보가 갱신되는 패턴입니다. 옵저버 패턴을 사용하는 경우 / 사용해야 하는 경우 책에서는 기상 모니터링 애플리케이션 도메인을 설명하면서 옵저버 패턴을 설명하였습니..
버퍼링과 스풀링은 프로레서가 효율적으로 작동할 수 있게 도와주는 방법입니다. 1. 버퍼링 1. 속도 차이 해결: 버퍼링은 프로세서와 입출력 장치 간의 속도 차이를 해결하는데 사용됩니다. 프로세서는 매우 빠르게 작동하지만, 입출력 장치는 상대적으로 느립니다. 이러한 속도 차이로 인해 프로세서가 유휴 상태에 빠지는 것을 방지하기 위해 버퍼링을 사용합니다. 2. 임시 저장 공간 제공: 입출력 장치는 데이터를 버퍼라고 하는 특별한 메모리 영역에 미리 저장할 수 있습니다. 이렇게 하면 프로세서가 다른 작업을 수행하는 동안 데이터를 안전하게 보관할 수 있습니다. 3. 프로세서의 효율성 증대: 프로세서는 필요할 때마다 버퍼에서 데이터를 가져다 사용합니다. 이렇게 함으로써, 프로세서는 입출력 장치의 느린 속도에 구애받..
인증과 인가란? 인증이란? 사용자가 시스템에 들어갈 수 있는지 확인하는 것이다. 인가란? 사용자가 받은 권한으로 시스템에 접근할 수 있는지 확인하는 것이다. Spring Security - SecurityFilterChain Spring Security에서 보안 필터 체인을 구성하는데 사용되는 인터페이스입니다. @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .cors() .and() .csrf().disable() .logout() .disable() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and..
public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public Duck() {} public abstract void display(); public void performFly() { flyBehavior.fly(); } public void performQuack() { quackBehavior.quack(); } public void swim() { System.out.println("모든 오리는 물에 떠요."); } } https://solution-is-here.tistory.com/191 디자인패턴 #1 전략 패턴 (Strategy Pattern) 전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각..
코딩하는_대학생
코딩하는 대학생에서 개발자까지