Java 동시성 이슈와 ThreadLocal
Java 동시성 이슈와 쓰레드 로컬 (ThreadLocal) Java의 동시성 이슈 동시성 이슈 (Concurrency issues)는 다중 쓰레드 환경에서 발생하는 문제로, 여러 쓰레드가 공유된 자원에 동시에 접근할 때 예기치 않은 결과가 발생할 수 있다. 동시성 이슈는 아래 상황에서 발생할 수 있다. 경쟁 조건 ...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
Java 동시성 이슈와 쓰레드 로컬 (ThreadLocal) Java의 동시성 이슈 동시성 이슈 (Concurrency issues)는 다중 쓰레드 환경에서 발생하는 문제로, 여러 쓰레드가 공유된 자원에 동시에 접근할 때 예기치 않은 결과가 발생할 수 있다. 동시성 이슈는 아래 상황에서 발생할 수 있다. 경쟁 조건 ...
Spring Boot and OAuth2 이 가이드는 OAuth 2.0과 Spring Boot을 사용하여 “소셜 로그인”으로 다양한 작업을 수행하는 샘플 앱을 구축하는 방법을 보여줍니다. 단순한 단일 공급자 싱글 사인-온 (single-provider single-sign on) 으로 시작하여 GitHub 또는 Google...
git push origin master 후 non-fast-forward 문제 원인 파일을 올리려고 하는 깃허브 내 레파지토리와 git init한 로컬 내 저장소와 관련이 없는(unrelated) 상태에서 두 저장소를 병합(merge) 시도함 해결책 git pull 명령 시 --allow-unrelated-h...
그리디 알고리즘 현재 상태에서 가장 좋은 선택만을 취하는 알고리즘 매 순간 최적이라고 생각하는 답을 선택하는 알고리즘 방식으로 해당 그리디 알고리즘이 잘 동작하는 문제로 앞 상황에서의 선택이 뒤에 나오는 선택 상황에 영향을 주지 않는다는 속성과 문제의 전체에 대한 최적의 선택이 부분적인 문...
일반적인 행렬의 곱 Naive matrix multiplication 일반적인 행렬을 구하는 방식 m * n 행렬과 n * k 행렬을 곱하면 O(mnk) 가 되어 결과적으로 O(n^3)의 시간복잡도를 가진다. for(int i = 0; i < size; i++) { for(int j = 0;...
최대공약수 응용 문제 원하는 개수의 정수들의 최대공약수 3개 이상 정수의 최대공약수 구하기 예를 들어 24, 15, 48 세 수의 최대공약수를 구한다고 가정한다면 먼저 최소값을 구해준다. (예제는 15) 최소값으로 각 정수를 나눈 나머지값을 비교해서 그 수가 모두 0일 경우 최소값이 최대공약수가 된다. 만약...