Java
배열을 복사하는 메서드
Arrays.copyOf(원본 배열, 복사할 길이)
- 지정한 배열을 인덱스 0부터 원하는 길이만큼 복사
Arrays.copyOfRange(복사할 원본 배열, 복사를 시작할 인덱스, 복사를 끝낼 인덱스)
- 지정한 배열에서 특정 범위만큼의 요소들을 복사해 새로운 배열로 반환
System.arraycopy(source_arr, sourcePos, dest_arr, destPos, len)
- source_arr : 복사할 배열
- sourcePos : 복사를 시작할 인덱스
- dest_arr : 붙여넣기 할 배열
- destPos : 붙여넣기를 시작할 인덱스
- len : 얼마나 복사해 붙여넣을 지 길이 지정
WEB
네트워크
- 노드
- 링크(엣지)
- 패킷
- IP (Internet Protocol)
- 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약
- IPv4 : xxx.xxx.xxx.xxx
- IPv6 : xxx.xxx.xxx.xxx.xxx.xxx (수가 모자라서 만듦)
- TCP
- 연결 지향적
- 3 way-Handshake 과정을 통해 안정적인 연결을 설정
- 신뢰성
- 데이터가 올바르게, 순서대로, 무손실로 도착했는지 확인. 데이터 패킷이 손실되거나 손상된 경우 재전송 요청
- 장점 : 정확성과 신뢰성이 보장. 순차적이고 안정적인 데이터 전송 제공
- 단점 : Handshake로 인한 오버헤드로 인해 UDP보다 느릴 수 있음 (실시간 통신에 부적합)
- 연결 지향적
- UDP
- 비연결 지향적 : 연결 설정 없이 데이터를 전송
- 신뢰성 없음 : 데이터의 도착을 보장하지 않고, 패킷 손실이나 순서 변경에 대해 처리하지 않음.
- IP와 비슷한데 차이점은 PORT가 존재한다는 것.
- 장점 : 빠른 데이터 전송 속도를 제공
- 신뢰성이 낮고, 데이터 손실이 발생할 수 있음.
- DNS
- 컴퓨터가 통신하려면 IP 주소를 알아야 함. IP 주소 모를 때 DNS로
- URI / URL
- URI가 더 큰 범위. URN이라는 말은 잘 사용하지 않기 때문에 같은 것이라 생각해도 무방함.
HTTP
HyperText Transfer Protocol
1. HTTP 메소드
- GET : 조회
- POST : 등록 + a
- PUT : 전체 수정
- PATCH : 일부 수정
- DELETE : 삭제
- HEAD : BODY가 없는 GET
- OPTIONS : preflight
2. REST(ful)
- 동사보단 명사를, 단수보단 복수를
- /member/get/item/hello (X)
- /members/items (O)
- poll ← 동사? 명사? 동사. 명사이면 무조건 복수여야 하는데 아니므로.
- 마지막에 / 넣지 않기
- /members/ (X)
- /members (O)
- _대신 - 사용, 대문자 사용하지 않기
- /restful_services (X)
- /restful-services (O)
- 확장자 포함하지 않기 (svg, png, exe 등)
- /image.svg (X)
- /images (O)
- 계층화
- /items/{memberId}/members/{itemId} (X)
- /members/{memberId}/items/{itemId} (O)
⚠️ 중요! PathVariable과 RequestParam의 차이
PathVariable은 필수값이므로 생략할 수 없음. QueryParameter는 필수값이 아니므로 생략 가능함. API를 작성할 때 Query String이 생략 가능하게 작성해야 좋은 API. 필수로 들어가야 하는 값들은 Path variable로.
3. HTTP 특징
- connectionless
- stateless
[참고자료]
https://romcanrom.tistory.com/48
java/ copyOf(), copyOfRange(), arraycopy() : 배열을 복사하는 메서드
Arrays 클래스는 배열과 관련된 여러 메서드들을 지원한다. *java.util 패키지에 포함되어 있으므로 Arrays의 메서드들을 사용하기 위해서는 import가 필요하다. import java.util.Arrays; Arrays.copyOf() Arrays.copyO
romcanrom.tistory.com
'내배캠 > TIL' 카테고리의 다른 글
Java 날짜 함수 (4) | 2024.08.05 |
---|---|
24. 08. 03 (0) | 2024.08.04 |
24. 08. 01 (0) | 2024.08.01 |
Git Branch 정리 (0) | 2024.07.31 |
24. 07. 31 (0) | 2024.07.31 |