2026/06 16

[클라우드 응용 SW 개발] 13, 14주차

등장하는 서비스들부터 정리하자Azure에서 컨테이너를 다루는 서비스는 크게 세 가지다.서비스 한 줄 요약ACR (Azure Container Registry)내 Docker 이미지를 저장하는 프라이빗 저장소AKS (Azure Kubernetes Service)쿠버네티스를 Azure가 대신 관리해주는 서비스Web App for Containers컨테이너 기반 웹앱을 쉽게 배포하는 PaaS세 개가 독립적으로 쓰이기도 하지만 보통 같이 쓴다.흐름으로 보면 이렇다.코드 작성 → Docker로 이미지 빌드 → ACR에 이미지 push → AKS 또는 ..

[클라우드 응용 SW 개발] 11, 12주차

1. Docker란 무엇인가Docker는 애플리케이션과 그 실행에 필요한 모든 종속성을 컨테이너라는 표준화된 단위로 패키징하여, 어디서든 동일한 환경으로 실행할 수 있게 해주는 오픈소스 플랫폼이다. Docker의 핵심 워크플로우는 단순하다.Dockerfile → (docker build) → Image → (docker run) → Container ↓ (docker push) ↓ Registry (Docker Hub / ECR 등)Dockerfile ..

[클라우드 응용 SW 개발] 9, 10주차

서버리스란?서버리스를 한 마디로 표현하면 "서버는 있는데, 개발자가 신경 안 써도 되는 구조" 다."서버가 없다"는 게 아니라, 클라우드 제공업체가 서버 인프라를 대신 관리해주는 모델이다.개발자는 그냥 코드(함수)만 작성하면 된다.동작 방식을 간단하게 보면 이렇다.1. 개발자가 함수(Function) 형태로 코드를 작성해서 클라우드에 올린다.2. 특정 이벤트(HTTP 요청, DB 변경, 파일 업로드 등)가 발생하면 함수가 자동으로 트리거된다.3. 클라우드가 필요한 컴퓨팅 리소스를 동적으로 할당해서 함수를 실행한다.4. 실행이 끝나면 리소스를 해제하고, 사용한 만큼만 비용이 청구된다.EC2 같은 VM 방식과 비교하면 차이가 명확하다.구분 기존..

Weekly Paper #15

1. Race Condition (경쟁 상태)Race Condition이란?두 개 이상의 스레드가 공유 자원에 동시에 접근할 때, 실행 순서에 따라 결과가 달라지는 문제입니다.재고: 1개스레드 A: 재고 조회 → 1개 확인 → (아직 차감 전)스레드 B: 재고 조회 → 1개 확인 → (아직 차감 전)스레드 A: 재고 차감 → 0개스레드 B: 재고 차감 → -1개 ← 문제 발생!해결 전략 1 - synchronized (Java 내장)JVM 레벨에서 하나의 스레드만 해당 블록에 진입하도록 잠금을 겁니다.public class StockService { private int stock = 1; public synchronized void decreaseStock() { if (sto..

Weekly Paper 2026.06.09

Weekly Paper #14

1. 4가지 주요 보안 공격과 대응 전략① CSRF (Cross-Site Request Forgery)공격 원리피해자가 로그인된 상태에서 악성 사이트가 피해자 브라우저를 이용해 의도하지 않은 요청을 자동으로 전송하는 공격입니다.1. 피해자 → 은행 사이트 로그인 (세션 쿠키 발급)2. 피해자 → 악성 사이트 방문3. 악성 사이트 → 피해자 브라우저로 은행 이체 요청 자동 전송 (브라우저가 세션 쿠키를 자동으로 포함시킴)4. 은행 서버 → 정상 요청으로 인식 → 이체 실행대응 전략CSRF Token 방식: 서버가 예측 불가능한 토큰을 발급하고, 요청 시 이 토큰이 포함되어 있는지 검증합니다.// Spring Security 기본 CSRF 보호 활성화@Configurationpublic class Sec..

Weekly Paper 2026.06.09

Weekly Paper #13

1. 세션 기반 인증 vs 토큰 기반 인증세션 기반 인증 (Session-based Authentication)로그인 시 서버가 세션을 생성하고, 클라이언트는 세션 ID만 쿠키로 보관하는 방식입니다.1. 클라이언트 → 로그인 요청2. 서버 → 세션 생성 (서버 메모리/DB에 저장)3. 서버 → 세션 ID를 쿠키로 응답4. 클라이언트 → 이후 요청마다 쿠키(세션 ID) 포함5. 서버 → 세션 ID로 서버에 저장된 세션 조회 → 인증 확인장점서버에서 세션을 직접 관리하므로 즉시 무효화(로그아웃) 가능클라이언트에 민감한 정보가 남지 않음단점서버가 여러 대면 세션 공유 문제 발생 (Redis 같은 세션 스토리지 필요)서버 메모리 사용량 증가모바일 앱, 타 도메인 API 호출에 쿠키 사용이 불편보안 고려사항HTT..

Weekly Paper 2026.06.09