반응형

전체 글 210

[REST API] HATEOAS

REST 아키텍처 중 Uniform Interface의 HATEOAS를 정리한 내용입니다. HATEOAS Hypermedia as Engine of Application State의 약자로 REST 아키텍처의 Uniform Interface 중 하나의 제약조건이다. "하이퍼미디어를 통해 애플리케이션 상태 변화가 가능해야 한다"라는 목표를 가지고 있고 여기서 말하는 하이퍼 미디어는 텍스트뿐만 아니라 다른 형태의 미디어에 대한 링크를 포함하는 모든 콘텐츠를 의미한다. HTTP를 기반으로 하는 REST는 응답 메세지에 하이퍼미디어 링크를 포함하는 것으로 HATEOAS를 달성할 수 있고, 이를 통해 클라이언트는 하이퍼미디어 링크를 사용하여 애플리케이션의 State(상태)를 변경할 수 있다. 이해하기 쉽게 간단히..

IT 지식/REST API 2021.07.20

[REST API] Self-descriptive messages

REST 아키텍처 중 Uniform Interface의 self-descriptive messages를 정리한 내용입니다. self-descriptive messages 유니폼 인터페이스 아키텍처 스타일 중 메세지 스스로 메세지에 대한 설명이 가능해야한다라는 뜻을 가진 제약 조건이다. 서버가 변해서 메세지가 변해도 클라이언트는 그 메세지를 보고 해석이 가능해야하며, 이를 통해 확장 가능한 커뮤니케이션을 달성하는 것이 self-descriptive messages의 목표이다. Uniform Interface : URI로 지정한 Resource에 대한 조작을 통일되고 한정적인 인터페이스로 수행한다는 REST 아키텍처 요소 중 하나 self-descriptive messages는 수신자가 메세지를 이해하는 데..

IT 지식/REST API 2021.07.18

[REST API] REST란

REST(REpresentational State Transfer) 소프트웨어 아키텍처 형식 분산 하이퍼미디어 시스템을 위한 아키텍처 스타일인 동시에 아키텍처 스타일의 모음 로이필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개 네트워크 아키텍처 원리의 모음 인터넷 상 시스템 간의 상호 운용성(interoperability)을 제공 REST API : REST 아키텍처 스타일을 따르는 API 아키텍처 스타일 - 제약조건들의 집합 네트워크 아키텍처 - 자원을 정의하고 자원에 대한 주소를 지정하는 전반적인 방법 네트워크 아키텍처에서 말하는 자원은 DB, 이미지/동영상/문서와 같은 파일, 서비스(이메일, 푸쉬 메시지 등)을 포함한다 REST 아키텍처 Client-Server Stateless C..

IT 지식/REST API 2021.06.27

[프로그래머스 level_2] 행렬의 곱셈 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr [문제 설명] 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 ar..

[2017 카카오코드] 카카오프렌즈 컬러링북 for JAVA

https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr [문제풀이] 카카오 프렌즈 컬러링북 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.) 그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자. 위의 그림은 총 12개 영역으로 이루어져 있으며, 가장 넓은 영역은 어..

[2019 카카오 개발자 겨울 인턴쉽] 튜플 for JAVA (2)

https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr [문제 설명] 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 중복된 원소..

[2020 카카오 인턴십 / 프로그래머스] 키패드 누르기 for JAVA

[문제 설명] 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다...

[JPA/Java Persistence API] 값 타입

[우아한형제들 김영환님의 인프런 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 수강하고 정리한 내용입니다] 학습목표 기본값 타입 임베디드 타입(복합 값 타입) 값 타입과 불변 객체 값 타입의 비교 값 타입 컬렉션 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자(PK, Id)로 지속해서 추적 가능 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경 시 추적 불가능 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 값 타입 분류 기본값 타입 자바 기본 타입(int, double) 래퍼 클래스(Integer, L..

Backend/JPA 2021.06.06
반응형