본문 바로가기

전체 글125

세마포어 세마포어(Semaphore)는 다중 프로그래밍 환경에서 프로세스나 스레드 간의 동기화 문제를 해결하기 위해 사용하는 중요한 개념입니다. 세마포어는 주로 임계 구역(critical section) 문제를 해결하거나, 공유 자원에 대한 접근을 조절하는 데 사용됩니다.1. 세마포어의 개념세마포어는 간단히 말해, 공유 자원에 접근할 수 있는 "티켓"이나 "신호" 역할을 하는 변수입니다. 이 변수는 항상 0 이상의 정수 값을 가지며, 두 가지 기본적인 연산(P, V 연산)을 통해 값을 조작할 수 있습니다.P 연산(Wait 또는 Down): 세마포어의 값을 감소시키는 연산입니다. 이 연산은 세마포어의 값이 0보다 클 때만 수행되며, 세마포어의 값이 0인 경우에는 값이 증가할 때까지 대기합니다.V 연산(Signal .. 2024. 8. 19.
HTTP X- 헤더 HTTP 헤더의 개념HTTP 헤더는 메시지의 시작 부분에 위치한 키-값 쌍으로 이루어진 메타데이터이다.이 헤더들은 클라이언트가 서버에 요청을 보낼 때, 혹은 서버가 클라이언트에게 응답을 보낼 때 함께 전송된다.HTTP 헤더는 통신의 주요 요소를 정의하고, 요청이나 응답의 특성을 설명한다. 예를 들어, User-Agent 헤더는 클라이언트의 브라우저나 애플리케이션의 정보를 서버에 전달한다.Content-Type 헤더는 클라이언트가 서버로부터 받아들일 데이터의 형식을 지정하며, Authorization 헤더는 인증에 필요한 정보를 전달한다. 커스텀 HTTP x-헤더커스텀 헤더(Custom Header)는 표준 HTTP 헤더가 아닌, 특정한 웹 애플리케이션이나 서비스에서만 사용되는 헤더이다.이 헤더들은 주로 .. 2024. 8. 19.
[프로그래머스/SQL] 특정 세대의 대장균 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/301650 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 예시 원하는 결과 📌 풀이 )* 틀린 풀이가 있으면 댓글 남겨주세요!  F는 3세대 대장균S는 2세대 대장균이며, F의 부모T는 1세대 대장균이며, S의 부모T.PARENT_ID IS NULL은 T가 첫 번째 세대 대장균임을 확인 SELECT F.IDFROM ECOLI_DATA AS FJOIN ECOLI_DATA AS S ON F.PARENT_ID = S.IDJOIN ECOLI_DATA A.. 2024. 8. 19.
AWS S3에 파일 올리기 (Presigned URL) 1. AWS SDK 의존성 추가 software.amazon.awssdk s3 2.20.125 2. application.yml 추가aws: s3: bucket-name: {bucketName} endpoint: {endPoint} 3. 컨트롤러 @GetMapping("/generate-presigned-url") public String generatePresignedUrl(@RequestParam String fileName) { URL url = s3Service.generatePresignedUrl(fileName); return url.toString(); } 4. 서비스 코드@Servicepublic class S3Service.. 2024. 8. 14.
Spring Cloud(Gateway) Spring WebFlux 또는 Spring WebMVC 위에 API Gateway를 구축하기 위한 라이브러리를 제공 Spring Cloud Gateway는 API로 라우팅하고 security, monitoring/metrics, resiliency 등과 같은 공통 관심사 처리 📌 동작 순서Client → Spring Cloud Gateway 서버 요청Gateway Handler Mapping에서 요청이 매핑된다고 판단하면 Gateway Web Handler로 요청보냄Gateway Web Handler는 매핑되는 요청을 위한 필터 체인을 거쳐 요청을 실행📌 특징Spring Framework 및 Spring boot 기반으로 구축됨모든 요청 속성에 대한 경로를 일치시킬 수 있음Predicate와 Fil.. 2024. 8. 14.