givepro
close
프로필 사진

givepro

github: @givepro91

  • 분류 전체보기 (43)
    • Backend (28)
    • Frontend (2)
    • DevOps (12)
    • Database (1)
    • Etc (0)
  • 홈
  • 방명록

동시성 문제 해결 (Kotlin, Spring Boot)

안녕하세요!오늘은 정말 중요한 동시성 문제 해결 방식을 이야기해보려고 합니다.최근 이 부분에 대해서 관심이 생기면서 한번 정리하면 좋을까 했습니다.예를들면 네이버 쇼핑, 인터파크 같은 수많은 사용자가 동시에 몰려드는 서비스에서는 단순히 락만 걸어서는 한계가 있어요.그래서 어떤 구조를 쓰면 좋을지, 그리고 실제로 Kotlin + Spring Boot 예제 코드로 어떻게 구현할 수 있는지도 같이 알아볼게요.✅ 왜 동시성 문제가 발생할까?주문/예약 시스템에서는 재고(상품/좌석/티켓)가 제한적이죠.예를 들어 100개의 좌석을 동시에 1,000명이 예약하려고 하면, 재고는 순식간에 소진될 거예요.만약 여러 요청이 동시에 재고를 확인하고 감소시키면, 아래처럼 꼬일 수 있어요.1️⃣ 스레드 A: 재고 읽음 → 12️..

  • format_list_bulleted Backend
  • · 2025. 8. 7.

Preflight란? (CORS)

1. 정의Preflight(프리플라이트) 요청은브라우저가 “실제 요청 전에” 서버에 OPTIONS 메서드로 사전 질의하는 과정입니다.목적은:“내가 앞으로 이 API에 특수 헤더/메서드/쿠키 등을 붙여서 요청해도서버가 허락해주는지 먼저 확인하겠다”는 것.2. 언제 Preflight가 발생하는가?브라우저가 CORS 규칙 위반 요청을 하려 할 때(예: 커스텀 헤더, 인증 필요, JSON POST 등)예시:Authorization, X-CUSTOM-TOKEN 같은 커스텀 헤더 포함Content-Type이 application/json 등 표준이 아닐 때메서드가 GET/POST/HEAD가 아닌 경우 (PUT, PATCH, DELETE 등)3. Preflight의 실제 동작 순서브라우저가 서버로 OPTIONS 요청..

  • format_list_bulleted Backend
  • · 2025. 4. 28.
구글 유튜브 API (YouTube Data API) 활용

구글 유튜브 API (YouTube Data API) 활용

구글에서 제공하는 유튜브 API를 활용해서 홈페이지에서 사용 가능한 데이터를 만들어봤습니다.예를 들면 매일 하루마다 업데이트되는 데이터로 홈페이지 메인에 썸네일 및 링크를 보여주도록 합니다. 그러면 아래와 같이 진행을 해볼까요? 1. API 키 발급 및 채널 ID공식 레퍼런스 YouTube Data API 개요  |  Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. YouTube Data API 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소개 이 문서는 YouTube와 상호작용하developers.google.com API 키 발급받는 내용에 대해 좋은 포스팅이 있어서 공유합니다. YouTube Da..

  • format_list_bulleted Backend
  • · 2025. 3. 18.
JetBrains IDE에서 GitHub Copilot 사용하기

JetBrains IDE에서 GitHub Copilot 사용하기

1단계: JetBrains IDE 설치하기- IntelliJ IDEA, RubyMine, WebStorm ..2단계: GitHub Copilot 무료 활성화- github 로그인 후 settings > copilot 진입- 무료버전은 한 달에 최대 2,000개의 코드 완성과 50개의 채팅 메시지로 제한됩니다. 3단계: IDE 플러그인 설치 (Github Copilot) 4단계: GitHub 계정 연동  에디터내의 우측에 코파일럿 챗 메뉴를 클릭하니 로그인하라는 내용이 나옵니다 나의 경우 2번의 인증을 진행하니 아래와 같이 챗이 활성화되었다.

  • format_list_bulleted Backend
  • · 2025. 3. 17.
Kotlin 백엔드 개발자를 위한 Java 개념 정리

Kotlin 백엔드 개발자를 위한 Java 개념 정리

코틀린으로 개발을 하면서 자바에 대한 개념을 어느정도 알아야할까 궁금하게되면서 정리를 해봤습니다. 1. Java 문법 기본✅ 객체 지향 개념📌 클래스(Class)와 객체(Object)클래스(Class): 객체를 생성하기 위한 설계도 또는 틀. 객체가 가져야 할 속성(변수)과 동작(메서드)을 정의함.객체(Object): 클래스에 정의된 내용을 바탕으로 메모리에 할당된 실체.class Car { String brand; int speed; void drive() { System.out.println("Driving " + brand + " at " + speed + " km/h"); }}public class Main { public static void m..

  • format_list_bulleted Backend
  • · 2025. 3. 17.
M1 MacOS Ruby & Rails 셋팅 (ruby build failed error, rbenv)

M1 MacOS Ruby & Rails 셋팅 (ruby build failed error, rbenv)

저도 셋팅하면서 고생했었는데 다른분들에게 도움이되면 좋겠습니다.아래에 해당되는 분들은 도움이 될거에요.1. 과거 M1 맥북이 출시되면서 로제타를 활용해서 루비 프로젝트를 시작했던 사람2. brew를 x86 버전으로 설치해서 사용했던 사람3. 루비 2.X 버전에서 3.X 버전으로 마이그레이션을 진행하는 사람4. RubyMine을 사용하는 SDK를 조회 못한다면? (Run Configuration Error: No SDK specified)최근 레거시한 프로젝트의 ruby version 마이그레이션 작업을 진행했습니다.2.5.1 버전을 사용했는데... 전에 작업하신분의 도움으로 어떻게 셋팅은 했었습니다.하지만 결국 버전을 올리는 작업은 필요하다 느끼고 몇몇 라이브러리 안되는 부분들을 맞추면서 프로젝트의 마이..

  • format_list_bulleted Backend
  • · 2024. 8. 16.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
  • 공지사항
전체 카테고리
  • 분류 전체보기 (43)
    • Backend (28)
    • Frontend (2)
    • DevOps (12)
    • Database (1)
    • Etc (0)
인기 글
전체 방문자
오늘
어제
Copyright © givepro 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바