멋사 Backend 41일차 🦁

신재원·2023년 6월 19일

📣 Java

🙋‍♂️ Queue

  • Queue (큐) BFS (너비우선 탐색) 알고리즘에서 많이 사용하는 자료구조 이며, Stack (스택) 과 달리 선입 선출입니다.
  • 자료구조란 복수의 자료를 관리하고 저장하는데 효율적인 형태와 사용법이다

큐 사용

Queue<Integer> queue = new LinkedList<>(); // 제일 많이 사용되는 패턴
Deque<Integer> deque = new LinkedList<>(); // 있다는 것만 알면 될것같습니다.
(addfirst, addlast 등 메소드 지원)

Enqueue에 해당하는 메소드

  • Enqueue란 큐의 맨뒤에 데이터를 추가하는 행위 입니다.
queue.offer(1);
queue.add(2);

offer , add 둘다 큐의 데이터를 추가하는 메소드입니다.
➡ 차이점

  • offer 메소드는 큐가 가득 차있다면 false를 반환,
  • add 메소드는 예외를 발생합니다.

Dequeue에 해당하는 메소드

  • Dequeue란 큐의 값을 꺼내거나 삭제하는 행위 입니다.
queue.poll();
queue.remove();
queue.peek();
  • poll 메소드는 큐의 첫번째 값을 반환하고 제거합니다. 비어있으면 null 을 반환
  • remove 메소드는 큐의 첫번째 값을 제거합니다, 비어 있으면 예외를 발생합니다.
  • peek 메소드는 poll 과 같이 첫번째 값을 반환하는것은 똑같은데 제거하지는 않습니다. (참조 하는 느낌)

🌳 Spring

🥚 HTTP 란 ?

웹 개발을 하면서 가장 먼저 접하게 되며 가장 빈번히 사용되는 "통신 규약" 입니다.
데이터가 어떤 형태의 데이터인지를 정의해 놓았다는 의미입니다.

  • 학부에서 많이 듣던 OSI 7계층, TCP/IP 4계층 통신 규약이 있습니다.

OSI 7계층, TCP/IP 4계층

  • TCP/IP 4계층은 OSI 7계층을 좀더 실무적으로 표현한 것이며, 물리적인 인터넷 선에서부터 데이터가 어떻게 오가는지를 설명한 내용입니다.

💬 HTTP 양식

  • HTTP의 요청 (Request) 양식 이며, 사진에서는 POST 방식이고, JSON 형태의 응답을 기대하며 Key -Value 쌍으로 전달됩니다.
  • Request Body 부분에서는 HTTP 요청을 통해 실제로 보내고 싶은 데이터가 포함되는 부분입니다.
    (항상 포함되는 것은 아니라고 합니다.)

@Slf4j

  • 이전 블로그를 참고하면 좋을것 같습니다.

아래 코드를 @Slf4j 사용시 해당 클래스에 자동으로 만들어 줍니다.

private static final Logger logger = 
		LoggerFactory.getLogger(MappingController.class);

🚩 @RequestHeader

  • 요청 헤더의 양식을 작성할수 있습니다.
  • 포스트맨에서 header-one url로 헤더의 Key - Value 쌍으로 요청을 하게되면 POST 요청을 합니다.
    (위의 HTTP 글에서 Key - Value 쌍으로 전달 )

JSON 이란 ?

데이터를 저장하거나 전송할 때 많이 사용되는 데이터 형식입니다.

  • 서버와 클라이언트간의 교류에서 사용
  • 최근에는 XML 보다 JSON 형식을 많이 사용한다고 합니다.

Json 데이터 형식

{"name" : "shin"
 "age" : 25
}

멱등성

  • 추후에 뒤에서 배운다고 합니다.

0개의 댓글