전체 글(313)
-
[HTTP강의] HTTP 헤더
본 글은 인프런 김영한님 강의를 정리한 글입니다. 자세한 강의내용은 강의를 통해 들어보시길 추천드립니다. HTTP 전송에 필요한 모든 부가정보가 담긴 메시지입니다. 표현(Representation) 협상(Content-Negotiation) 전송 일반정보 특별한 정보 인증 쿠키 표현 DB의 바이너리 타입이나 바이트 코드의 파일형식 등을 HTTP로 통신하려면 표현 타입을 지정해줘야 합니다. 주로 JSON을 사용합니다. 이렇게 표현형식, 압축(인코딩), 언어, 길이로 이루어진 헤더의 부분을 표현이라고 합니다. Content-Type : 미디어 타입을 말합니다.(text/HTML, JSON, png...) Content-Encoding : 표현 데이터를 압축할 경우에 사용합니다.(gzip...) Content..
2022.05.25 -
[HTTP강의] HTTP 상태코드
본 글은 인프런 김영한님 강의를 정리한 글입니다. 자세한 강의내용은 강의를 통해 들어보시길 추천드립니다. HTTP 응답 시 메시지 첫 줄(start-line)에 HTTP 상태코드가 전달됩니다. 1xx : 처리 중인 상태(잘 사용되지 않음) 2xx : 정상 처리된 상태 3xx : 리다이렉션이 필요한 상태(요청이 완료되려면 리다이렉팅 같은 추가 액션이 필요함) 4xx : 클라이언트 오류인 상태(잘못된 문법/요청 등으로 작업 진행 불가) 5xx : 서버 오류인 상태(서버가 정상적으로 요청을 처리하지 못함) HTTP 상태코드별 특징 1) 1xx 거의 사용하지 않는 상태코드로 생략합니다. 2) 2xx 201 : 요청을 처리하고 created(생성) 됐다는 표시입니다. 헤더에 Location(URI)을 담아서 응답..
2022.05.24 -
[HTTP강의] HTTP 메서드
본 글은 인프런 김영한님 강의를 정리한 글입니다. 자세한 강의내용은 강의를 통해 들어보시길 추천드립니다. URI 설계할 때, 리소스 중심으로 작성하기 위해선 HTTP 메서드를 활용하는 것이 중요합니다. 리소스란 김영한님 비유에 따르면 미네랄을 캐다라는 상황에서 행위가이 아닌 미네랄이란 자원에 해당됩니다. (조회) GET /read-member (나쁜 예) GET /member/{id} (좋은 예) POST /create-member (나쁜 예) POST /member (좋은 예) 위 예시처럼 HTTP 메서드를 활용하면 URI 설계가 리소스 중심으로 작성될 수 있음을 알 수 있습니다. HTTP 메서드 종류 GET : 요청한 데이터를 조회 POST : 요청 데이터를 처리, 주로 등록에 사용 PUT : 요청한..
2022.05.23 -
[HTTP강의] HTTP 특징
[HTTP강의] HTTP 특징 본 글은 인프런 김영한님 강의를 정리한 글입니다. 자세한 강의내용은 강의를 통해 들어보시길 추천드립니다. HTTP의 특징 클라이언트-서버 구조 무상태(Stateless) 비연결성(Connectionless) 1) 클라이언트-서버 구조 다들 알고계시는 특징이지만, HTTP가 초기에 생겼을 땐 클라이언트, 서버로 구분되지 않고 한 곳에서 요청-응답을 처리했다고 합니다. 현재 HTTP 통신에 대한 로직은 서버 한 곳에서 담당할 수 있기 때문에 클라이언트는 UI,UX과 같은 사용자 사용성, 편리성을 높이는 데에 집중할 수 있습니다. 2) 무상태(Stateless) 말 그대로 상태가 보존되지 않고 통신을 하는 1회에 한해 연결을 유지하는 특징입니다. 장점은 요청할때마다 모든 정보를에..
2022.05.23 -
[Spring] DI(Dependency Injection) 스프링 의존성 주입
의존성 주입에는 대표적으로 두 가지 방식이 있습니다. 필드 주입과 생성자 주입입니다. Spring 4.3부터 생성자가 하나 뿐인 클래스는 생성자 주입을 사용할 때 @Autowired를 생략해줄 수 있습니다. 생성자 주입의 장점은 필드에 @Autowired를 쓸 경우 테스트 클래스에서 의존하고 있는 객체를 주입해주지 않아 NPE가 발생하는 케이스를 방지할 수 있습니다. 그리고 필드 주입은 주입된 인스턴스를 불변으로 만들지 못하지만, 생성자 주입은 가능합니다. 이는 필드 주입은 객체를 생성하고 의존성을 Reflection으로 주입 받기 때문입니다. @Service public class DatabaseAccountService implements AccountService { private final Ris..
2022.05.16 -
[Java] Java Compiler가 어떻게 동작하는지?
Compile이란 소스코드가 컴퓨터가 인지할 수 있는 기계 언어로 번역해주는 과정을 말합니다. Javac Java에선 javac 컴파일러가 첫번째로 소스코드를 바이트 코드로 컴파일 시켜줍니다. 그런 다음 JVM이 바이트 코드를 해석하고 실행시킵니다. 그 과정에서 syntax error(자바 문법 오류)도 발견합니다. Javac 작동원리 소스코드가 컴파일 되면 Java 바이트코드를 생성하고 자동적으로 메모리에 .class 파일로 저장됩니다. 이 파일은 기반되는 OS 위에서, JVM에 의해 해석 및 실행됩니다. 참고자료 baeldung - How compilers Work sciencetecheasy - What is Java Compiler
2022.05.16