| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 부트캠프
- 시스템설계
- 국비지원취업
- 내일배움카드
- OPENPATH
- 백준
- UXUI챌린지
- KDT
- 오픈챌린지
- UXUI기초정복
- Be
- 디자인챌린지
- mysql
- Spring
- 백엔드개발자
- JPA
- 국비지원교육
- UXUIPrimary
- 백엔드 부트캠프
- 오블완
- baekjoon
- 디자인교육
- API
- 오픈패스
- 티스토리챌린지
- 환급챌린지
- 국비지원
- Java
- 디자인강의
- 패스트캠퍼스
- Today
- Total
목록API (12)
군만두의 IT 개발 일지
목차 구글 클라우드 스터디잼에 참가하여 'API Developer Learning Path' 중 'Google Cloud 기초: Cloud Storage 및 Cloud SQL 시작하기' 실습을 위주로 학습한 내용을 정리했습니다.1. 클라우드 컴퓨팅의 기초1.1 클라우드 컴퓨팅의 5가지 특성사람의 개입 없이 웹 인터페이스로 컴퓨팅 자원을 직접 확보함.인터넷을 통해 어디서나 자원에 접근 가능함.클라우드 제공업체가 거대한 리소스 풀을 보유하며, 물리적 위치를 신경 쓸 필요 없음.필요할 때 빠르게 확장하고, 불필요하면 축소 가능함.사용한 만큼만 비용을 지불함.1.2 클라우드 서비스 모델모델관리 책임특징Google Cloud 예시IaaS고객이 OS 이상 관리가상 인프라 자원 제공Compute EnginePaaS고..
목차10장. gRPC 시작하기gRPC는 네트워크를 통한 범용 RPC(원격 프로시저 호출)용 오픈 소스 프레임워크다. 원격 상호 작용의 상세 사항을 직접 코딩할 필요 없이 로컬 프로시저를 호출하는 것처럼 다른 시스템의 원격 프로시저를 호출할 수 있다.10.1 gRPC 동작방식항목내용전송 프로토콜HTTP/2 기반, 완전 이중 스트리밍(full-duplex streaming) 지원직렬화 형식Protocol Buffers(기본), JSON, XML, Thrift 등 미디어 형식 지원주요 기능로드 밸런싱, 장애 조치, 캐스케이드 호출 취소 지원, 낮은 대기 시간통신 범위서비스 간 통신, 모바일 앱, 웹 브라우저 ↔ gRPC 서버 모두 지원10.2 REST 대 gRPC항목RESTgRPC아키텍처클라이언트-서버 아키텍..
목차9장. 웹서비스 배포하기9.1 컨테이너화란 무엇일까?서로 다른 시스템 간 종속성(Java 버전, 웹 서버, OS 등), 구성 또는 파일의 불일치로 인해 발생하는 문제를 해결하기 위해 애플리케이션을 컨테이너화한다. 컨테이너화를 하면 애플리케이션은 필요한 모든 의존성 및 파일과 함께 번들링되어 모든 환경에서 동일하게 동작한다. 컨테이너는 호스트 운영체제의 라이브러리, 바이너리뿐만 아니라 커널도 공유하므로 아주 가볍다. 관련 개념인 가상화(virtualization)는 하드웨어를 분할하여 가상 머신(virtual machine)을 만드는 프로세스로, 컨테이너와는 다르다.가상머신: 호스트 시스템 위에서 생성, 무겁고 수 GB에 달함, 이식성 낮음컨테이너: 하드웨어와 OS 위에서 격리된 프로세스로 실행, 몇 ..
목차7장. 사용자 인터페이스 설계하기리액트(React) 라이브러리를 사용해 샘플 전자 상거래 앱의 프런트엔드를 개발한다. 6장에서 구현한 Sign-in / Sign-out / Refresh Token API를 실제로 호출하는 싱글 페이지 애플리케이션(SPA)을 구축한다.7.1 React 기초리액트는 격리된 작은 컴포넌트를 포함하는 대화형, 동적 UI를 빌드하기 위한 선언적 라이브러리다. 템플릿 작성을 위해 JSX(JavaScript Syntax Extension)를 사용하며, 동적 변경과 상호 작용을 위해 가상 문서 객체 모델(VDOM)을 활용한다.VDOM은 실제 DOM을 메모리에 복사한 것으로, 변경이 필요한 부분만 실제 DOM에 적용하여 성능을 최적화한다.리액트 앱 만들기create-react-app..
목차6장. 권한 부여와 인증을 통해 REST 엔드포인트 보호하기6.1 스프링 시큐리티 및 JWT를 사용한 인증 구현스프링 시큐리티: 보일러플레이트 코드로 작성하지 않아도 엔터프라이즈 애플리케이션 레벨의 보안 기능을 쉽게 구현해주는 라이브러리로 구성된 프레임워크JWT 토큰을 사용하면 다양한 권한인증 플로우를 통해 보호된 HTTP 엔드포인트와 리소스들을 상태 없는(stateless) 방식으로 호출할 수 있다.스프링 시큐리티는 요청이 DispatcherServlet에 도달하기 전 필터 수준에서 인증 로직을 수행한다. 클라이언트 요청이 REST 컨트롤러에 도달하기 전 거치는 주요 보안 필터 순서는 다음과 같다.WebAsyncManagerIntegrationFilterSecurityContextPersistenc..
목차4장. API를 위한 비즈니스 로직 작성4.1 서비스 설계 개요이 책에서는 DDD(Domain-Driven Design) 아키텍처 스타일에 기반한 멀티레이어 아키텍처를 구현한다. 멀티레이어 아키텍처 구성프레젠테이션 레이어: 사용자 인터페이스(UI)를 담당한다.애플리케이션 레이어: 비즈니스 로직이 아닌 애플리케이션 로직(전체 흐름 유지 및 조정)을 포함한다. RESTful 웹 서비스, gRPC, GraphQL API 등이 이 레이어에 속한다.도메인 레이어: 비즈니스 로직과 도메인 정보(주문, 제품 등)를 포함한다. 서비스와 리포지토리로 구성된다.인프라 레이어: 데이터베이스, 메시지 브로커 등 외부 및 내부 시스템과의 통신 및 상호 작용을 지원한다.개발 방법론 중 상향식 접근 방식(bottom-to-to..
목차3장. API 명세 및 구현3.1 OAS로 API 설계프로그래밍 시에는 설계 우선(design-first) 접근 방식을 사용해야 한다.OAS는 REST API의 명세와 설명을 해결하기 위해 도입되었다.YAML(YAML Ain't Markup Language) 또는 JSON(JavaScript Object Notation) 형식으로 REST API를 작성할 수 있다.OAS는 Swagger 명세에 많이 쓰이게 되면서 널리 알려졌다.Swagger 도구Swagger Editor: REST API를 설계 및 설명 작성Swagger Codegen: Spring 기반 API 인터페이스 생성Swagger UI: REST API 문서 생성3.2 OAS 기본 구조 이해OAS의 메타데이터 절openapi: 시맨틱 버전 ..
목차 책의 설명이 불친절해서 일부 용어는 직접 찾아보면서 내용을 정리했습니다.2장. 스프링의 개념과 REST API2.1 스프링의 패턴과 패러다임 이해하기스프링은 기본적으로 제어 역전(IoC), 의존성 주입(DI), 관점 지향 프로그래밍(AOP)을 지원한다.IoC(Inversion of Control)란IoC(제어의 역전)는 객체의 생명주기와 의존성 관리의 제어권을 개발자가 아닌 프레임워크에 위임하는 디자인 패턴이다.전통적인 프로그래밍에서는 개발자가 직접 객체를 생성하고 관리했지만, IoC에서는 스프링 컨테이너가 이를 대신 처리한다.DI(Dependency Injection)란의존성 주입(DI)은 IoC를 구현하는 대표적인 디자인 패턴으로, 객체가 필요로 하는 의존 객체를 외부에서 주입받는 방식이다.스프..
