서버리스(serverless) \* 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행 할 수 있도록 하는 클라우드 네이티브 개발 모델서버리스 애플리케이션은 배포되고 나면 필요에 따라 자동으로 스케일 업되거나 스케일 다운됨.클라우드 제공업체가 클라우드 인프
IaaS(Infrastructure as a Service)클라우드 컴퓨팅은 스토리지, 플랫폼, 애플리케이션, 네트워크 등의 IT 자원들을 사용자가 소유하지 않고 통신망/인터넷을 통해 제공하여 소비자가 필요한 만큼 빌려 쓰고, 사용한 만큼 비용을 지불하는 서비스 방식(
Representational State Transfer자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미HTTP 프로토콜을 이용하여 구성HTTP프로토콜 자원의 CRUD그래서 왜 쓰는데?그전의 SOAP 방식의 무거움과 복잡성의 상호호환을 좀더
MicroService Architecture기존은 하나의 단일시스템(ex. 화면, api, 회원, 결제, 정산 등)단위단위 서비스의 모듈화 형식장점각 서비스를 독립적으로 배포가 가능유연한 확장코드 관리가 편리책임이 명확하게 분리장애 범위가 축소광고 서비스나 장애가 나
record란?"데이터 클래스"이며 순수하게 데이터를 보유하기 위한 특수한 종류의 클래스이다 \- 해당 record 클래스는 final 클래스이라 상속할 수 없다. \- 각 필드는 private final 필드로 정의된다. \- 모든 필드를 초기화하는
배치(Batch)사용자와 상호작용 없이 여러 개의 작업을 미리 정해진 순서에 따라 중단 없이 처리하는 것 \- 대용량데이터 : 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리가 가능해야한다. \- 자동화 : 사용자 개입없이 실행되어야 한다.
T -> 함수에 대한 입력 유형(the type of the input to the function)R -> 함수 결과의 유형(the type of the result of the function)R apply(T t); , 단 하나의 추상메서드Applies this
일시적인 특징이 있는 데이터 집합을 고속 데이터 스토리지 저장, 이후에 해당 데이터에 대한 요청이 있을 경우, 데이터의 원본 스토리지 위치로 액세스할 때보다 더 빠르게 요청을 처리, 동일한 리소스에 대해 빈번한 SELECT로 발생되는 DBMS 과부하를 줄임.스프링의 캐
@ControllerAdvice, @RestControllerAdvice과 @ExceptionHandler 어노테이션을 기반으로 Controller 내에서 발생하는 에러에 대해서 해당 핸들러에서 캐치하여 오류를 발생시키지 않고 응답 메시지로 클라이언트에게 전달해주는 기
기존 Access Token의 한계Payload 의 값을 탈취해가기 쉽다.한번 탈취당한 토큰은 만료기간 전까지 끝도 없이 정보가 유출Refresh Token 이란?Access Token을 발급하기 위해 가지는 토큰Refresh Token도 탈취당할수 있음
JWT(Json Web Token)는 말그대로 웹에서 사용되는 JSON 형식의 토큰에 대한 표준 규격인데요. 주로 사용자의 인증(authentication) 또는 인가(authorization) 정보를 서버와 클라이언트 간에 안전하게 주고 받기 위해서 사용됩니다.하나의
순환 참조(Circular reference)란, 참조하는 대상이 서로 물려 있어 참조할 수 없게 되는 현상을 말한다.JPA에서 양방향으로 연결된 Entity를 그대로 조회하는 경우 서로의 정보를 순환하면서 조회하다가 stackoverflow가 발생하게 됨.Spring
CookieSet-Cookie의 형태로 반환을 받은 쿠키를 토대로 로그인이 필요한 요청을 할 때 마다 받은 쿠키를 던져 요청을 하는 동작 구조단점쿠키는 노출이 되었을 때 id, pw에 대한 민감 정보까지 다 노출되어 보안이 좋지 않음.조작당해서 들어올 가능성이 있음.웹
Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리시스템 \- 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소메모리 기반의 데이터베이스이기 때문에, Disk를 기반으로 하는
TRACEDEBUGINFOWARNERROR로깅에 대한 추상 레이러를 제공하는 인터페이스 모음.로깅 레벨은 (많은 로깅) trace > warn > info > debug > error (적은 로깅) 순이다.
너무나도 알기 쉽게 잘 설명하여 참고 블로그 링크https://hungseong.tistory.com/70
상용 그리드 컴포넌트(DevExtreme)Vue, Angular, React, JQuery에서 사용 가능Grid 관련 컴포넌트가 필요할 때 강력한 도구가 될 수 있음.이벤트, 메서드 등 아주 많은 함수들이 잘 정리되어 있음 문서를 확인하며 사용할 수 있음.커스텀이 자유
멀티스레드 환경에서 여러 스레드가 하나의 공유자원에 동시에 접근하지 못하도록 막는것비동기를 동기로 할 수 있음.
JPA에서 연관 관계가 있는 엔티티를 조회할 때, 조회된 데이터의 개수만큼 연관 관계에 대한 추가적인 조회 쿼리가 발생하는 이슈로딩전략을 즉시로딩과 지연로딩으로 설정한다고 해결되는 문제가 아님한번의 쿼리로 Join 대상 테이블 데이터까지 한 번에 가져오고 영속성 컨텍스
프록시는 "대리"의 의미로, 인터넷과 관련해서 쓰이는 경우, 특히 내부 네트워크에서 인터넷 접속을 할 때에, 빠른 엑세스나 안전한 통신등을 확보하기 위한 중계서버를 "프록시 서버"라고 일컫는다. 클라이언트와 Web서버의 중간에 위치하고 있어, 대신 통신을 받아 주는 것
QueryDsl로 인라인뷰 쿼리를 구현 할 수 없음.(hibernate가 지원 안함)JPAQueryFactory와 SQLQueryFactory를 둘다 사용하여 구현 가능대용량 데이터 조회가 아닌 이상 리소스 낭비@Subselect 를 이용하여 DB view테이블 같이
다양한 데이터 소스(컬렉션, 배열 등)를 표준화된 방법으로 다루기 위한것순서스트림중간연산최종연산너무 설명이 잘된 블로그 참조https://velog.io/@sa833591/Java-Stream-1
모든 언어의 조합과 소스 콛 ㅡ레포지토리에 대한 지속적인 통합(CI)과 지속적 배포(CD) 환경을 구축하기 위한 도구빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발 생산성을 높일 수 있음앞으로의 숙제는 젠킨스를 이용한 도커 빌드
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.컨테이너는 격리된 공간에서 프로세스가 동작하는 기술이다. 가상화 기술의 하나지만 기존 방식과는 차이가 있다.기존의 가상화 방식은 주로 OS를 가상화한다.VMware 또는 VirtualBox같은 가상머신은 호스트 OS위에
Access Token의 문제점사용자의 잦은 로그아웃짧은 유효기간으로 인한 사용자의 잦은 로그인보안문제Refresh Token의 사용 목적클라이언트가 가지고 있는 Access Token이 만료되었을때 Access Token을 새로 발급하기 위함Refresh Token의
static \- "고정된"이라는 의미객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 활용final \- "최종적인"이라는 의미해당 변수는 값이 저장되면 최종적인 값이 되므로, 수정이 불가변수선언시 초기화 또는 생성자를 통한 초기화가 무조건 필요생
조회대상하나 \- 조회대상이 하나라면 return Type은 해당 조회 대상의 Type으로 한다. 조회대상여러개(Tuple) \- 여러 필드를 선택하게 되면 Tuple이라는 "Map과 비슷한" Type을 return 한다. 프로퍼티 접근 \- 프로퍼티 접근은
Cross-Origin Resource Sharing 이라는 단어로 이루어져 있음."교차 출처 리소스 공유 정책" 엇갈린 다른 출처를 의미출처(Origin)란? \- Url의 구성 \- Protocol \- Host \- Port \-
fetch는 '가져오다'라는 뜻으로 Request나 Response와 같은 객체를 이용해서 HTTP 파이프라인을 구성하는 요소를 조작하고 원격지에서 정보를 가져오기 위해 사용함.기존에는 AJAX를 Vanilla script에서 사용하기 위해서는 XMLHttpReques
RestTemplate란 \- Spring에서 지원하는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스Rest API 서비스를 요청 후 응답 받을 수 있도록 설계되어있으며 HTTP 프로토콜의 메소드들에 적합하 여러 메소드 제공Sprin
입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? \- 효율적인 알고리즘을 구현한다는 것은 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 알고리즘을 구성했다는 이야기 \- 시간 복잡도는 주로 빅-오 표기법을 사용빅-오(최