일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 탐욕 알고리즘
- Spring MVC
- root passwd
- RestControllerAdvice
- N:N
- ubuntu
- REST HTTP API
- 자료구조
- 리눅스 사용권한
- git 설정
- set-version
- mapstruct
- Java
- AOP
- ubuntu passwd
- ubuntu 패스워드
- custom exception
- file i/o
- 스키마 설계
- Spring 예외처리
- 스키마 디자인
- 배열 탐색
- char to int
- git workflow
- O(log n)
- 코드스테이츠
- JAVA 재귀함수
- Spring
- http 응답코드
- 함수형 인터페이스
- Today
- Total
목록CS (34)
개발소설
REST(Representational State Transfer) API 로이 필딩의 박사 학위 논문에서 처음 소개 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의 하는 방식 표준화된 HTTP API를 만드는(디자인하는)것이라고 생각하면 된다. 좋은 REST API를 디자인하는 방법 레오나르드 리차드슨은 REST APIU를 잘 적용하기 위한 4단계 모델을 만들었다. 0단계부터 3단계 로이필딩은 모든 단계를 충족해야 REST API라고 했지만, 3단계 까지도 지키기 어렵기 때문에 2단계 까지만 적용해도 좋은 API 디자인 이라고 볼수있다. 이 경우에 HTTP API라고도 부른다. 0단계 HTTP 사용 1단계 개별 리소스와의 통신 ..
HTTP 요청시 발생하는 상태코드 정리 https://developer.mozilla.org/ko/docs/Web/HTTP/Status 에 자세히 있다. 전부다 외우기 보다는 주요한것만 알아둔뒤 오류 발생시 문서를 찾아 보자 대역별 응답코드 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없음 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패 주요 응답코드 200 OK : 요청이 성공적으로 되었다 201 Created : 새로운 리소스가 생성 되었다. 204 No Content : 요..
API (Application Programming Interface) 클라이언트에게 리소스를 활용 할 수 있도록 제공하는 인터페이스 서버가 클라이언트에게 제공하는 메뉴얼 또는 메뉴판이라고 볼 수 있다. 클라이언트는 API문서를 확인하여 리소스를 요청, 업데이트, 삭제등을 할 수 있다. HTTP API 디자인 요청 메서드 조회 GET 추가 POST 갱신 PUT 삭제 DELETE 요청 URL 디자인 모든 사용자 /users 1번 사용자 /users/1 2번 사용자 /users/2 모든 사용자 조회 : GET /users 1번 사용자 조회 : GET /users/1 1번 사용자 정보 갱신 : PUT /users/1 2번 사용자 삭제 : DELETE /users/2 사용자 추가 : POST /users

HTTP Messages 클라이언트와 서버간 데이터가 교환되는 방식 요청(Request), 응답(Response) 두 유형이 존재 몇줄의 텍스트 정보로 구성되고, 구성파일, API, 기타 인터페이스에서 HTTP Messages를 자동으로 완성 한다. 메시지 구조 요청 (Request) 클라이언트가 서버에 보내는 메시지 start line http의 메서드 (수행해야하는 작업) - ex) POST 요청 대상 - ex) / url, 프로토콜, 포트, 도메인의 절대경로등 HTTP의 버전 - ex) HTTP/1.1 Headres 기본 구조를 따른다. 헤더 이름(대소문자 구분없는 문자열), 콜론(:), 값 - 값은 헤더에 따라 다르다. General headers : 메시지 전체에 적용되는 헤더, Body 데이터..
웹 애플리케이션의 요청 흐름 naver.com에 접속하는 과정 브라우저에 http://naver.com 를 입력 브라우저는 URL을 입력 받으면 서버의 주소를 찾기 위해 DNS 서버에 요청 IP 주소를 찾으면 해당 주소에 HTTPS 요청을 보낸다. 이미 방문 기록이 캐시 메모리에 있으면 주소를 캐시 메모리에서 가져온다. 웹서버에 요청이 도착 웹서버는 저장소(데이터베이스)에 요청을 보내 페이지 관련 데이터들을 가져온다. 정보들은 가져오는 중에 비지니스 로직이 작용 - 비지니스 로직들은 각 데이터들을 어떻게 다룰지가 정해져 있다. 로직들을 통해 요청 받은 데이터들이 처리되고 브라우저에 응답 요청들이 브라우저에 응답으로 돌아왔을 때, web page 출력 SSR (Server Side Rendering) 서버..

Domain name 숫자인 IP주소를 기억하기 쉽게 문자열인 이름을 붙여 사용하는것 IP주소는 숫자이기 때문에 기억하기 어려울수 있어 이름을 붙여 기억하기 쉽게 사용할 수 있다. 네이버를 접속하려할때 네이버 서버의 ip주소를 입력해서 접속하는것 보다는 naver.com이라는 이름을 입력하고 들어가는 것이 훨씬 기억하기 쉽고 편리하다. 터미널에서 nslookup을 통해 해당 도메인네임에 IP주소를 확인 할 수 있다. 해당 IP주소를 브라우저 검색창에 입력하면 네이버로 접속되는걸 확인 할 수 있다. 도메인의 관리 체계 도메인 주소는 오른쪽부터 왼쪽으로 최상위 도메인과 여러 개의 도메인으로 구성 탑 레벨 도메인은 .com과 .kr .net등 도메인의 가장 오른쪽에 위치하는 도메인 co, ac와 같은 2단계 ..

LAN (Local Area Network) - 좁은 범위에서 연결된 네트워크를 의미한다. (집, 학교내, 회사내 등) WAN (Wide Area Network) - 수많은 LAN이 모여 넓은 네트워크를 구성한다. (전 세계) 인터네트워킹(Internetworking) 여러 네트워크를 연결하는 것을 인터네트워킹이라고 한다. 네트워크의 일부가 고장이 나도 영향이 광범위하게 퍼지지 않고, 불필요한 통신이 네트워크로 확신하지 않는다. 개별 네트워크를 각각의 방침에 따라 관리 한다. 전 세계적으로 인터네트워킹 하는 것이 인터넷(The Internet) 이다. 프로토콜(protocol) 인터넷으로 연결된 컴퓨터간, 전가기기간 서로 소통하기 위한 통신규약 - 원활한 통신을 위한 약속이라고 볼 수 있다. 전 세계가 ..
최대 공약수 최대 공약수란 두 수 (n과 r)의 약수들 중 공통된 약수의 최대 값 4와 8의 최대 공약수는 4의 약수 1 2 4 8의 약수 1 2 4 8 공통된 숫자중 4가 제일 크기 떄문에 4이다. 유클리드 호제법을 재귀함수로 최대 공약수를 간단하게 구할 수 있다. main{ int gcdNum = gcd(4, 8); print(gcdNum); // 4 } // 유클리드 호제법 int gcd(int n, int m) { if (m == 0) return n; return gcd(m, n % m); }