개인 정리w4 리프레시 토큰 조회 성능 테스트(k6, Postgres, Redis) 리프레시 토큰을 RDBMS (관계형 데이터베이스) 가 아니라 Redis (인메모리 데이터베이스) 에 보관하는 이유는 주로 성능, 확장성, 편의성 측면에서 Redis가 훨씬 더 이점이 많다는 내용을 쉽게 찾아볼 수 있습니다. 그러나 정말로 리프레시 토큰을 Redis에 보관하는 것이 RDBMS 안에 보관하는 것보다 모든 측면에서 우수한 지는 실제로 경험한 바가 없기 때문에 의문이었습니다. 이 의문을 해결하기 위해 Postgres와 Redis를 사용하여 리프레시 토큰을 생성하고 조회하는 테스트 시나리오를 구성하고 k6으로 성능 테스트를 수행합니다. 앞서 시작하기 전에 사용하게 될 도구와 코드를 소개하고 진행합니다.Redis 사용 이유성능 측면 (속도)Redis는 메모리 기반 저장소이기 때문에 디스크를 사용하는.. 개인 정리w 2025. 3. 29. String 클래스 총정리(feat. StringBuilder, StringBuffer, Arrays) String1. String의 기본 개념정의: String은 문자의 배열로, 문자열 클래스자바의 String 클래스: java.lang 패키지에 속하며, 기본적으로 import 없이 사용 가능불변성: String 객체는 생성된 후 값을 변경할 수 없음. 값을 변경하면 새로운 객체가 생성2. String 생성 방법리터럴 방식상수 풀(Constant Pool)에 저장동일한 값이 있다면, 새로운 객체를 생성하지 않고 재사용String str1 = "Hello";new 키워드 사용힙 영역에 새 객체를 생성값이 동일하더라도 새로운 객체 생성String str2 = new String("Hello");3. String의 주요 특징Immutable(불변): 문자열을 변경하는 작업은 새로운 객체를 생성3.1참조 비교와.. 개인 정리w 2025. 1. 11. JDK, JRE, JVM 총정리(feat. 자바 컴파일 과정) 1. JDKJDK(Java Development Kit)는 자바 프로그램을 개발하고 실행할 수 있는 환경을 제공하는 도구이다.JDK는 JRE(JVM, Java Class Library), Java Development Tools(javac, java, javap, apt, jar, ...)을 포함한다.예를 들어,소스 코드 컴파일러(javac): .java 파일을 바이트코드(.class)로 변환디버깅 도구(jdb): 디버깅 및 오류 분석JAR 생성 도구(jar): 클래스 파일들을 하나의 JAR 파일로 묶음C:\Program Files\Java 안에 JDK 폴더를 확인할 수 있고, JRE, Java Dev Tools가 있다.JDK 1.8(Java 8) 이전인 경우, JDK 폴더와 JRE 폴더로 따로 있다.현.. 개인 정리w 2024. 12. 26. 자바(Java): 자바 프로그램의 실행 과정(feat. 컴파일 타임 환경, 런타임 환경, JVM) 자바 개발자나 프로그래머가 컴파일 타임 환경과 런타임 환경에 대해 이해하는 것은 자바 프로그램의 효율적인 개발, 디버깅, 성능 최적화를 위해 매우 중요합니다. 각각의 환경이 프로그램의 동작에 어떻게 영향을 미치는지 이해하면, 더 나은 프로그램 설계와 디버깅을 할 수 있습니다.컴파일 타임 환경과 그 중요성컴파일 타임은 자바 소스 코드가 바이트코드로 변환되는 과정을 의미합니다. 이 환경에 대한 이해는 코드의 구조적 안정성 및 오류 방지에 중요한 역할을 합니다. 컴파일 타임 환경을 이해해야 하는 이유는 다음과 같습니다.문법 및 타입 오류 탐지: 컴파일 타임에 문법 오류, 타입 불일치 등의 문제가 발생하면 프로그램이 컴파일되지 않기 때문에, 코드를 작성할 때 미리 이러한 문제를 해결할 수 있습니다. 즉, 실행 .. 개인 정리w 2024. 9. 9. 이전 1 다음