일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백엔드
- baekjoon
- 티스토리챌린지
- 디자인교육
- 부트캠프
- 패스트캠퍼스
- 내일배움캠프
- 디자인챌린지
- 백엔드 부트캠프
- Java
- UXUI챌린지
- 오블완
- 국비지원
- mysql
- OPENPATH
- 백엔드개발자
- 내일배움카드
- 국비지원취업
- UXUIPrimary
- 오픈챌린지
- 디자인강의
- 오픈패스
- 객체지향
- 백준
- 환급챌린지
- 국비지원교육
- UXUI기초정복
- KDT
- Be
- Spring
- Today
- Total
목록전체 글 (165)
군만두의 IT 공부 일지
목차부록 A A.1 아키텍처 방식A.1.1 모놀리식 방식모놀리식(monolithic) 또는 모놀리스(monolith): 배포하고 실행하는 하나의 구성 요소로만 구성되어 있다는 것. 이 구성 요소에 모든 기능도 구현된다.예) 서점 관리 앱 - 사용자는 서점에서 판매하는 제품, 송장, 배송, 고객을 관리한다. 모든 기능이 동일한 프로세스 일부로 동작한다.비즈니스 흐름(flow): 사용자가 애플리케이션에서 수행하려는 것.예) 서점 주인이 책을 판매할 때 흐름은 다음과 같다. 제품(products) 기능은 재고에서 책을 예약하고, 청구(billing) 기능은 해당 책의 송장을 생성하며, 배송(deliveries)은 언제 책을 배달할지 계획하고 고객(customers) 기능에 알린다.수평 확장(horizontal..

목차1장. 사용자 수에 따른 규모 확장성단일 서버웹/앱 데이터베이스 캐시 등이 전부 서버 한 대 내에서 실행된다.사용자 요청 처리 흐름사용자는 도메인 이름(api.mysite.com)을 이용하여 웹사이트에 접속한다. 이 접속을 위해서는 도메인 이름을 도메인 이름 서비스(Domain Name Service, DNS)에 질의하여 IP 주소로 변환하는 과정이 필요하다. DNS는 제3 사업자(third party)가 제공하는 유료 서비스를 이용하게 되므로, 우리 시스템의 일부는 아니다.DNS 조회 결과로 IP 주소가 반환된다. 예제에서는 그 주소(웹 서버의 주소)가 15.125.23.214로 한다.해당 IP 주소로 HTTP(HyperText Transfer Protocol) 요청이 전달된다.요청을 받은 웹 서버..
목차14장. 스프링 데이터로 데이터 영속성 구현이 장에서 다룰 내용- 스프링 데이터의 작동 방식 이해하기- 스프링 데이터의 리포지터리 정의하기- 스프링 데이터 JDBC를 이용한 스프링 앱의 영속성 계층 구현하기14.1 스프링 데이터란스프링 데이터(Spring Data): 영속성 기술에 맞는 구현을 제공하는 스프링 생태계의 한 프로젝트데이터 영속성을 구현하는 방법드라이버 관리자를 이용하여 관계형 DBMS에 직접 연결하는 JDBC를 사용한다.JdbcTemplate을 사용하거나JDK 인터페이스(Statement, PreparedStatement, ResultSet 등)로 직접 작업할 수 있다.하이버네이트(Hibernate) 같은 ORM 프레임워크를 사용한다.다양한 NoSQL 기술 중 하나를 사용한다.스프링 데..

목차6장. 열거 타입과 애너테이션자바에는 참조 타입이 두 가지가 있다.열거 타입(enum; 열거형): 클래스의 일종애너테이션(annotation): 인터페이스의 일종아이템 34. int 상수 대신 열거 타입을 사용하라열거 타입: 일정 개수의 상수 값을 정의한 다음, 그 외의 값은 허용하지 않는 타입자바에서 열거 타입을 지원하기 전에는 정수 상수를 묶음 선언해서 사용했다.정수 열거 패턴(int enum pattern) 기법은 타입 안전을 보장할 방법이 없으며 표현력이 좋지 않다.상수의 값이 바뀌면 클라이언트도 반드시 다시 컴파일해야 한다.정수 상수는 문자열로 출력하기가 까다롭다.이러한 열거 패턴의 단점을 해결하는 대안으로 열거 타입(enum type)이 도입되었다.// 정수 열거 패턴 - 사용Xpublic..
목차11장. REST 엔드포인트 사용이 장에서 다룰 내용- 스프링 클라우드 OpenFeign으로 REST 엔드포인트 호출하기- RestTemplate으로 REST 엔드포인트 호출하기- WebClient로 REST 엔드포인트 호출하기 OpenFeign: 스프링 클라우드(Spring Cloud) 프로젝트에서 제공하는 도구.RestTemplate: 스프링 3부터 개발자들이 REST 엔드포인트를 호출하는 데 사용하여 널리 알려진 도구. 저자는 새로운 앱에서 작업한다면 RestTemplate 대신 OpenFeign을 추천함.WebClient: RestTemplate의 대안으로 제시된 스프링 기능. 리액티브 프로그래밍(reactive programming)이라는 다른 프로그래밍 방식을 사용함.11.1 스프링 클라우..

목차10장. REST 서비스 구현이 장에서 다룰 내용- REST 서비스 이해하기- REST 엔드포인트 구현하기- HTTP 응답으로 서버가 클라이언트로 전송하는 데이터 관리하기- HTTP 요청 본문(body)에서 클라이언트가 보낸 데이터 가져오기- 엔드포인트 수준에서 예외 관리하기10.1 REST 서비스를 이용한 앱 간 데이터 교환REST 엔드포인트:스프링에서 HTTP 메서드와 경로에 매핑된 컨트롤러 액션이다.스프링 MVC 디스패처 서블릿이 뷰를 찾지 않는다는 것이 다르다.서버는 컨트롤러의 액션이 반환하는 것을 클라이언트에 대한 HTTP 응답으로 직접 전송한다.REST 엔드포인트의 통신 문제:컨트롤러 작업이 완료되는 데 오랜 시간이 소요된다면 엔드포인트에 대한 HTTP 호출이 타임아웃(timeout)되어 ..

목차 1. 정규화정규화(Normalization): 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 입력/수정/삭제 이상 현상을 제거하는 것정규화의 필요성:데이터베이스에서 데이터의 중복을 줄이고, 데이터를 구조화함으로써 데이터의 일관성과 무결성을 보장한다.테이블을 더 작고 관리하기 쉬운 여러 테이블로 분리한다. 이를 통해 이상 현상(Anomalies)을 방지한다.정규화 형태(Normal Forms):제1정규형(1NF): 모든 속성은 하나의 값만을 가져야 하며, 테이블에 중복된 데이터가 없어야 한다.제2정규형(2NF): 제1정규형을 만족하며, 기본 키의 부분적 종속성이 제거되어 기본 키 전체에 종속되어야 한다.제3정규형(3NF): 제2정규형을 만족하며, 모든 비주요 속성이 ..
목차9장. 스프링 웹 스코프이 장에서 다룰 내용- 스프링 웹 스코프 사용하기- 웹 앱에서 간단한 로그인 기능 구현하기- 웹 앱에서 한 페이지에서 다른 페이지로 리디렉션하기9.2 스프링 웹 앱에서 세션 스코프 사용세션 스코프 빈: 스프링에서 관리되는 객체. 스프링이 인스턴스를 생성하고 이를 HTTP 세션에 연결하는 역할을 한다.클라이언트가 서버에 요청을 보내면 서버는 세션의 전체 기간 동안 이 요청을 위한 메모리 공간을 예약한다.스프링은 특정 클라이언트에 대해 HTTP 세션이 활성화되어 있는 동안 동일한 클라이언트에서 재사용될 수 있다.세션 스코프 빈 속성에 저장된 데이터는 HTTP 세션 동안 클라이언트의 모든 요청에 사용할 수 있다.이 방식을 통해 사용자가 앱의 웹 페이지를 서핑하는 동안 수행하는 작업 ..