전체 글42 티켓팅 좌석 중복 예약을 막기 위한 동시성 제어 진행중인 티켓팅 시뮬레이션 프로젝트에 동시성 제어를 적용하려고 한다. 동일한 좌석을 여러 명이 동시에 예매할 수 있다면 대참사가 일어나기 때문 ! 현재 서비스 코드public Long hold(Long userId, Long seatId) { User user = userRepository.findById(userId) .orElseThrow(() -> new BaseException(ErrorCode.USER_NOT_FOUND)); Seat seat = seatRepository.findById(seatId) .orElseThrow(() -> new BaseException(ErrorCode.SEAT_NOT_FOUND)); seat.reserve.. 2026. 3. 23. [GPTs] OAuth 로그인 DB 연동하기 목차1. MySQL 설정 & 테이블 정의2. `/authorize`, `/login` - 로그인 폼 및 code 발급3. `/token` - code → access token 교환 로직 추가4. 테스트 1. MySQL 설정 & 테이블 정의OAuth 인증에서 `code`와 `access_token`을 이렇게 임시로 구현해놓은 상태다user_token_db = { "ABCDEF": "u_genuine"} 유저 정보와 토큰을 DB에서 관리하도록 수정해야 한다MySQL + SQLAlchemy를 사용했다 📌 SQLAlchemy란?Python의 ORM 라이브러리로 Spring Boot의 JPA 역할을 한다SQL을 직접 작성하지 않고 Python 클래스로 테이블을 정의하고 DB를 조작할 수 있다 데이터베이.. 2026. 3. 8. [GPTs] GPTs Action에 OAuth 인증 구현하기 목차1. GPTs Action 인증 방식 - API 키 인증2. GPTs Action 인증 방식 - OAuth 인증3. OAuth 인증 플로우4. /authorize, /token 엔드포인트 구현4. 테스트 1. GPTs Action 인증 방식 - API 키 인증GPTs Action에는 API 키 인증과 OAuth 인증 방식이 있고, 두 용도가 다르다 API 키 인증은 '이 요청은 OpenAI가 보내는 것이다' 라는 걸 확인하는 용도로 쓰인다.예를 들어 서버의 특정 엔드포인트를 GPTs의 요청만 접근 가능하게 구현하는 경우에 사용할 수 있다.GPTs는 설정해둔 API 키를 헤더에 담아 서버로 요청을 보내기 때문에 서버에서 판별이 가능하다 def get_recipe(request: Request, .. 2026. 3. 7. [GPTs] FastAPI로 GPTs Action 서버 만들기 목차1. Spring Boot / FastAPI 비교2. Action API 구현3. Cloudflare Tunnel로 localhost를 HTTPS로 노출하기4. GPTs Action 등록5. 테스트 GPTs가 수행할 Action을 위한 서버를 FastAPI로 구축했다지금까지는 Java / Spring Boot로만 REST API 서버를 구현해왔어서 FastAPI는 어떻게 다른지 정리해보았다 1. Spring Boot와 비교공통점둘 다 REST API 구현을 지원하는 서버 프레임워크이다어노테이션(Spring) / 데코레이터(FastAPI)로 요청을 처리할 함수를 URL에 연결한다자동 문서화를 지원한다Spring에서는 SwaggerConfig에서 따로 설정해야 했지만FastAPI에서는 별도 설정 없이 .. 2026. 3. 5. [트러블슈팅] Streamlit 배포 시 OpenAI API 키 에러 해결 Streamlit 앱 배포 과정에서 아래와 같은 에러가 발생했다ValidationError: 1 validation error for OpenAIEmbeddings__root__ Did not find openai_api_key, please add an environment variable `OPENAI_API_KEY` which contains it, or pass `openai_api_key` as a named parameter. (type=value_error) 사용자가 OpenAI API 키를 입력할 수 있도록 구현했고, 로컬 환경에서는 정상적으로 작동했다하지만 배포 환경에서만 이런 에러가 발생한 상황 기존 코드def embed_file(file): ... embeddings =.. 2026. 2. 5. JSCODE 비전공자도 이해할 수 있는 쿠버네티스 입문/실전 강의 후기 비전공자도 이해할 수 있는 쿠버네티스 입문/실전 (JSCODE) 비전공자도 이해할 수 있는 쿠버네티스 입문/실전| JSCODE 박재성 - 인프런 강의현재 평점 5.0점 수강생 1,297명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 '쿠버네티스 입문/실전' 강의를 만들어봤습니다! 쿠버네티스의 핵심www.inflearn.com 강의를 통해 배우는 것 1. 쿠버네티스 개요 및 아키텍처마스터 노드, 워커 노드 등 전체 구조를 그림으로 이해할 수 있었다. 2. 클러스터 설치 및 환경 설정로컬 환경에서 직접 클러스터를 구성하며 감을 잡았다. 3. kubectl 명령어 사용법실무에서 가장 많이 쓰는 명령어 위주로 배웠다. 불필요하게 깊이 들어가지 않아서 좋았다. 4... 2025. 12. 27. 이전 1 2 3 4 ··· 7 다음