- REST API 상태 코드 관리2024-02-01 22:00:58Spring관련 공부를 하다가 HTTP Status Code 제어 파트가 나왔다. 좋은 REST API를 설계하는 방법 중 하나는 서버로부터 적절한 상태코드를 반환시키는 것이다. 때문에 그에 대해 더 알고싶어서 찾아보게 되었다. 이 글은 POST 201 상태코드에 대한 내용을 정리하였고, 차차 ResponseEntity를 이용한 상태코드 관리법을 더 정리할 예정이다. (HTTP 상태 코드란?) UserController에서 새로운 user를 저장하는 코드를 가지고 왔다. @PostMapping("/users") public void createUser(@RequestBody User user) { User savedUser = service.save(user); } Post를 사용하고, http요청의 본..
- HTTP 상태 코드2024-01-25 16:02:00HTTP 상태 코드? HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려준다. 응답은 5개의 그룹으로 나누어진다. 분류 1xx (Informational) : 정보 2xx (Successful) : 성공 3xx (Redirection) : 리다이렉션 완료 4xx (Client Error) : 요청 오류(클라이언트 오류) 5xx (Server Error) : 서버 오류 모든 상태 코드에 대한 내용 1xx (Informational) : 정보 요청을 받았으며 프로세스를 계속 진행한다. 상태 코드 요약 설명 100 Continue 클라이언트가 서버로 보낸 요청에 문제가 없으니 다음 요청을 이어서 보내도 된다는 것을 의미/ 이미 요청이 완료되었다면, 이 응답은 무시해도 된다. 2xx (..
- STOMP 란?2024-01-17 14:09:39오늘은 실시간 채팅 및 채팅방 동적 생성을 구현하기 위해 STOMP에 대해서 알아보겠다. STOMP(Simple/Streaming Text Oriented Messaging Protocol) 텍스트 기반의 메시지 프로토콜이다. 클라이언트와 서버 간 전송할 메시지의 유형, 형식, 내용들을 정의한 규칙(FRAME)으로 TCP 또는 WebSocket과 같은 양방향 네트워크 프로토콜 기반으로 동작한다. HTTP와 같은 프로토콜에서 사용되는 request-response 패턴과 다르게, 브로커와 연결된 클라이언트 간에 메시지를 교환하는 방식으로 동작한다. STOMP는 기본적으로 Publish-Subscribe 구조로 되어있으며, 이 구조는 메시지를 공급하는 주체와 소비하는 주체를 분리해 제공하는 메시징 프로토콜이..
- [백엔드 로드맵] 입출력(IO / NIO)2024-01-11 21:35:32입출력 IO와 NIO Java의 입출력 관련 클래스는 너무나 많은데, 크게 Java.io 패키지와 java.nio 패키지로 구분할 수 있다. 둘의 차이를 쉽게 말하면 IO의 기능들을 개선하고 새로운 기능을 추가(대표적으로 비동기 / Non-Blocking 지원)하여 나온 것이 NIO라고 생각하면 된다. 그럼 무조건 IO보다 NIO가 좋은가? 답은 아니다. NIO가 많은 기능을 개성한 것은 사실이나 특정 상황에서는 IO보다 성능이 떨어지는 경우도 있다. [1] IO (Old IO) 대략적인 IO 패키지 구조이다. 1. File 클래스 파일의 위치 정보를 가진다. 파일의 내용이 아닌 파일 자체를 다룬다. 파일 자체에 대한 정보를 가져오고 다루는 메서드를 포함하고 있다. File 정보를 String 타입으로 ..
- [백엔드 로드맵] 언어 배우기 - JAVA2024-01-04 00:08:57백엔드 개발자로서 다룰 수 있는 언어가 다양하다면 많은 장점이 있을 것이다. 하지만 여러 언어를 조금씩 파는 것보다 주 언어를 더 깊게 파는 것이 중요하다고 생각하여 Java에 대해 공부하였다. 1. Java 기본 1-1. 기동 원리 1. 시스템으로부터 메모리 할당(JVM) 2. Java 컴파일러에 의해. java 형식에서. class 형식으로 변환(바이트 코드 변환) 3. 클래스 로더에 의해 클래스 파일들은 JVM에 로드된다. 4. 실행기(Execution Engine)에 의해 클래스 파일을 해석하며 프로그램 실행 1-2. 변수 지역 변수 : 함수 안에 선언 / 함수가 실행될 때 전역 변수(필드 변수) : 함수 밖에 선언 클래스 변수 : static 변수 인스턴스 변수 : 객체 변수 변수의 사용처에 따..
- [Spring] RESTful 이란?2023-11-06 18:01:52RESTful Web Service를 구현해보기 전에 RESTful 에 대해서 알아보자. 1. RESTful Api 를 사용하는 이유 앱에서 사용되는 대량의 데이터는 파일을 따로 구성하여 앱 내부에 넣어두고, 이 파일을 읽는 방식으로 처리된다. 콘텐츠 서비스 앱의 핵심요소는 최신 데이터이다. 하지만 데이터를 파일에 저장하는 방식으로 처리하게 되면 새로운 데이터를 추가할 때 마다 사용자가 앱 업데이트를 해야하고, 그럴수록 사용자 경험은 점점 나빠질 것이다. 따라서 데이터를 서버에 두고, 서버로부터 다운받아 사용한다면 이를 해결 할 수 있다. 서버에 새로운 데이터를 업로드하고, 앱은 이 서버로부터 데이터를 받아내면 사용자는 앱에 대한 업데이트 없이 최신 데이터를 받을 수 있는 것이다. 2. 비연결성 지향 통..