: 함수를 좀 더 쉽게, 단순하게 표현하는데 유용한 개념이다.(메소드를 하나의 식으로 표현 한 것)
1) 람다식 이란?
: 식별자 없이 실행이 가능한 함수이다. 이게 무슨 말이나면, 함수이름을 따로 정의하지 않아도 곧바로 함수처럼 사용할 수 있는 것이다. 객체를 생성하지 않아도 메소드를 사용할 수 있다!
+무조건 좋은 것은 아님. 재사용이 불가능하기때문에 지저분해질수도있다.
2) 람다식의 형식 ->의 의미는 매개변수를 활용해서 { } 괄호 안에 있는 코드를 실행 한다는 것이다.
public class Main {
public static void main(String[] args) {
ArrayList<String> strList = new ArrayList<>(Arrays.asList("korea", "japan", "china", "france", "england"));
Stream<String> stream = strList.stream();
stream.map(str -> str.toUpperCase()).forEach(System.out::println); //::은 매개변수를 중복해서 사용하고 싶지 않을때 사용한다.
}
}
람다를 활용 할 수있는 기술중에 하나로, 데이터의 흐름을 뜻한다. 컬렉션의 저장요소를 하나씩 참조하면서 람다식으로 처리할 수있도록 해주는 반복자이다.
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("서울");
list.add("부산");
list.add("대구");
list.add("서울");
System.out.println(list); //array 리스트를 에 차곡차곡 넣어준다.
List<String> result = list.stream()
.limit(2)
.collect(Collectors.toList()); // 스티림처리 된 것을 하나로 모을 것인데 다른list로 형식으로 만들것이다!
System.out.println(result); // 스트림을 이용해서 2개만 출력해보자,
System.out.println("list -> transformation -> set");
Set<String> set = list.stream()
.filter("서울"::equals) //서울이 들거간 것만 골라줘~!
.collect(Collectors.toSet()); //set 형식으로 바꿀꺼야!
System.out.println(set);
}
}
이씨 성을 가진 친구들의 숫자를 출력해주는 퀴즈를풀어보았다.
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("김정우", "김호정", "이하늘", "이정희", "박정우", "박지현", "정우석", "이지수");
System.out.println(names.stream()
.filter(name->name.startsWith("이"))
.count());
}
}
두 대 이상의 컴퓨터를 케이블 또는 인터넷으로 연결하여 네트워크를 구성하는 것이다!
클라이언트(Client) / 서버(Server) (컴퓨터간의 관계를 역할로 구분)
서버 : 서비스를 제공하는 컴퓨터, 요청에 응답하는 컴퓨터
클라이언트 : 서비스를 사용하게 되는 컴퓨터, 요청을 하는 컴퓨터
IP 주소
컴퓨터를 구별하는데 사용된느 고유한 값으로 인터넷에 연결이 되어있는 모든 컴퓨터는 IP 주소를 갖는다.
URL(Uniform Resource Locator)
URL은 인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표현하기 위한 것이다. (우리가 네이버, 구글을 검색할 때도 URL을 이용하여 접근을 하는 것이죠!)
+프로토콜은 복수의 컴퓨터 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약을 의미한다! 대표적인 예시로는 Http가 있음!
포트번호
: 통신에 사용되는 서버의 포트번호입니다
포트(port)는 보통 항구나 공항을 의미하는 것이죠? 컴퓨터에서도 포트는 비슷한 역할을 지닙니다. 외부의 다른 장비와 접촉하기 위한 플러그 역할을 하는 것이죠. 포트번호는 어떤 프로그램에 접속 할 것인지를 식별하는 역할을 하는 것이죠! 아무것도 입력하지 않으면 기본값은 http는 80번, https는 443 포트입니다.
API란? API(Application Programming Interface)
: 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어 할 수 있게 해주는 인터페이스를 의미합니다. client-server 관점에서 API는 요청과 응답의 형식에 대한 약속입니다.