스트림
스트림은 자바8부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다.
자바 7 이전까지는 List<String>컬렉션에서 요소를 순차적으로 처리하기 위해 Iterator 반복자를 다음과 같이 사용해왔다.
List<String> list = Arrays.asList("홍길동","신용권","김자바");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
이 코드를 stream을 통해 변경하면 다음과 같다.
List<String> list = Arrays.asList("홍길동", "신용권", "김자바");
Stream<String> stream = list.stream();
stream.forEach(name -> System.out.println(name));
내부반복자를 사용하므로 병렬처리가 쉽다.
외부반복자란 개발자가 코드로 직접 컬렉션의 요소를 반복해서 가져오는 코드 패턴을 말한다.
내부반복자란 컬렉션 내부에서 요소들을 반복시키고, 개발자는 요소당 처리해야 할 코드만 제공하는 코드패턴을 말한다.
내부반복자를 사용하면 컬렉션 내부에서 어떻게 요소를 반복시킬 것인가는 컬렉션에 맡겨두고, 개발자는 요소 처리 코드에만 집중할 수 있다는 장점이 있다.
- IP 주소
인터넷에 연결되어있는 모든 장치들을 식별할 수 있도록 고유 주소를 받는다.
IPV4- 현재 보편화 되어 사용되는 버전
단점을 보완한 것이 IPV-6
4는 주소길이가 32bit 8bit씩 10진수로 표시 43억개
전세계에서 쓰니까 부족해짐
아직은 인프라가 안 갖춰졌음. 나중에 6으로 쓰게 될것
- 도메인 네임 시스템
ip주소 어캐 외움? 이걸 이해하기 쉽게 문자로 표현한것을 도메인네임이라고 한다.
- 포트
직역하면 항구. 운영체제 통신에서의 종단점을 뜻함.
ip 통해서 잘 갔는데 어떤 프로세스에서 데이터 받아야하는지 파악할때 쓴다
평소 입력되는건 자동으로 생략됨(http 80 포트 / https 443 포트)
- http
tcp/ip 기반 프로토콜
단방향성 - 서버가 먼저 응답 못보냄. 클라가 요청 보내야만 응답함
비연결성 - 클라 요청으로 서버와 연결된 후 요청에 대한 응답의 데이터를 전송하면 연결 종료
→ 실시간 통신 못함
문제점 - 평문통신이라 도청 가능. 통신상대 검증 상대인지 확인 안해서 위장 가능. 완전성 증명 못해서 변조가능
'내일배움캠프 > TIL' 카테고리의 다른 글
2022.11.29 / Optional (1) | 2022.11.29 |
---|---|
2022.11.28 (2) | 2022.11.28 |
2022.11.24 TIL / 프로젝트 (0) | 2022.11.24 |
2022.11.23 TIL / 프로젝트 (0) | 2022.11.23 |
2022.11.22 TIL (0) | 2022.11.22 |