프롬프트 AI&OpenAPI&공공데이터를 활용한 웹앱개발자 양성 과정 83일차

서명원·2024년 4월 11일

1. 통신 방식에 대해서

폴링방식

SSE 방식

메세지를 그리는 구조(폴링)

메세지를 작성하는 구조

새로 작성한 글이 있는지 서버의 상태를 계속 감시해야한다.
작성 기능은 작성버튼이 누르거나 엔터를 쳤을때 동작한다.





프로젝트별 세팅

-Xmx4G
-Dfile.encoding=UTF-8

Help -> Edit custom VM options
Maximum java heap size를 4기가로 하고
엔코딩을 UTF-8로한다.

json 보기 좋게하는 확장 프로그램.

2. 레코드

Java는 Java 14에서 미리 보기 기능으로 'record' 키워드를 도입하여 Java 16에서 이를 안정적으로 만들었습니다. 'record'는 주로 동작보다는 변경할 수 없는 데이터를 모델링하기 위한 새로운 유형의 클래스입니다. 이는 단순한 데이터 전달자가 될 클래스를 선언하는 간결한 방법입니다. 기능에 대한 분석은 다음과 같습니다.

기본적으로 불변: 레코드는 불변입니다. 즉, 레코드가 생성된 후에는 상태를 변경할 수 없습니다. 레코드에 선언된 모든 필드는 암시적으로 최종이며, 레코드 자체도 암시적으로 최종입니다.

자동 Getter 메소드: 레코드의 각 구성요소(필드)에 대해 해당 접근자 메소드가 자동으로 생성됩니다. 이러한 메소드는 'get' 뒤에 필드 이름이 오는 명명 규칙을 따릅니다.

간결한 구문: 레코드 선언 구문은 특히 기존 Java 클래스에 비해 매우 간결합니다. 레코드 이름 뒤의 괄호 안에 구성 요소(필드)만 나열하면 됩니다.

값 기반 평등: 레코드는 기본적으로 값 기반 평등을 지원합니다. 두 레코드의 구성 요소 값이 동일하면 동일한 것으로 간주됩니다.

toString(), equals() 및 hashCode(): 레코드는 해당 구성 요소를 기반으로 toString(), equals() 및 hashCode() 메서드에 대한 구현을 자동으로 제공합니다.

다음은 간단한 레코드 선언의 예입니다.

java
Copy code
public record Point(int x, int y) {}

레코드를 리스트에 저장?

  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")
  private LocalDateTime createTime;

public record writeMessageRequest(String authorName, String content)
dto 클래스를 따로 안만들어도 되니 엄청 편하네?!

profile
백엔드 취업을 꿈꾸는 일본어 전공자

0개의 댓글