BackEnd_Servers 5

[BackEnd_Servers] JAVA8(Stream API) 이해 및 활용(1)

1. Stream API (함수형 프로그래밍) * Stream API ? Java는 객체지향 언어이다. Java로 프로그래밍을 할 시 대부분, "명령형(선언형) 프로그래밍"을 사용하였다. 하지만, Java8부터 "Stream API", "Optional", "Lambda", "Functional Interface" 등., 지원하면서 Java를 함수형으로 프로그래밍 할수 있는 API들이 제공되고 있다. "Stream API"는 데이터를 추상화하고, 처리하는데 반복적으로 사용되는 함수들을 정의 해 두었다. 데이터를 추상화하였다는 것은 데이터의 종류에 무관하게 같은 방식으로 데이터를 처리할 수 있다는 것을 의미한다. 이에따라, 유연성과 재사용성이 증대된다. * Stream API 활용 --> 배열과, 리스트를..

BackEnd_Servers 2021.10.19

[BackEnd_Servers] JAVA8(Optional Class) 정의 및 활용

1. Null Pointer Exception, Optional Class * Null Pointer Exception --> 프로그램 개발 시 많이 접하는, 예외 중 하나가 NPE(NullPointerException)이다. 이를 해결하기 위해서 Null을 검사하는 로직을 추가해야 하는데, 프로그램이 커질수록 코드가 복잡해지고 로직이 상당히 번거로워진다. 그로 인하여 Null을 허용하는 대신 초기값을 설정하는 것을 권장하기도 한다. * Optional ? --> Java8 이후, Optional 클래스를 활용해 NullPointerException을 방지할 수 있다. Optional는 Null이 될 수있는 값을 감싸는 Wrapper클래스로, 변수에서 참조하더라도 NullPoinerException이 발..

BackEnd_Servers 2021.10.13

[BackEnd_Servers] 웹 소켓(WebSocket) 정의 및 활용.

Ajax, WebSocket ? Ajax WebSocket 서버와 클라이언트 간의 통신. 단방향 통신 (Client -> Server) 양방향 통신 ("Client -> Server" / "Server ->Client") SpringFramework --> ws protocol 사용 SpringBoot --> stomp protocol 사용 "SpringBoot" 기반으로 웹소켓 연습. WebSocket Exercise.. 1. pom.xml 수정 (의존성 추가) org.springframework.boot spring-boot-starter-websocket 2. WebSocketConfig 설정 파일생성 import org.springframework.context.annotation.Configur..

BackEnd_Servers 2021.10.10

@RequestBody, @ModelAttribute, @RequestParam

1. RequestBody, ModelAttribute, RequestParam 설명 @RequestParam ? @RequestParam은 1개의 HTTP 요청 파라미터를 받기 위해서 사용한다. @RequestParam은 필수 여부가 true이기 때문에 기본적으로 반드시 해당 파라미터가 전송되어야 한다. 해당 파라미터가 전송되지 않으면 400 Error를 유발하게 된다. 그렇기 때문에 반드시 필요한 변수가 아니라면 required의 속성 값을 false로 설정해둘 수 있으며 해당 Parameter를 사용하지 않고 요청을 보낼 경우에 default로 받을 값을 defaultValue 속성을 지정하여 설정할 수 있다. @RequestBody ? @RequestBody는 클라이언트가 전송하는 JSON(app..

BackEnd_Servers 2021.10.08

[BackEnd_Servers] REST API (GET/POST/PUT/DELETE)

HTTP METHODS - GET: 리소스 조회 - POST: 데이터의 처리 (등록 INSERT) - PUT: 리소스 대체(전체수정 UPDATE), 대체 리소스가 없을 시 생성(INSERT) - PATCH: 리소스 "부분변경" (수정 UPDATE) - DELETE: 리소스 삭제 REST API Excesicse.. 1.1. XML Response REST API Code Spring REST API for HTTP GET method. @RequestMapping(value = "/employees", produces = MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET) public String getAllEmployeesXML(Model mod..

BackEnd_Servers 2021.10.04