분류 전체보기 (40) 썸네일형 리스트형 운영체제에 대한 소개 지금부터 운영체제가 무엇을 해야하는지 간단히 생각해보도록 합시다. 1. 운영체제는 자원을 할당해주어야 합니다. 여기서 자원이란 무엇인가를 알아보기 위해 예시를 들어보겠습니다. cpu가 1대 있고 실행 중인 프로세스 A,B,C 3개가 있을 때, 사실 cpu는 프로세스 3개를 동시에 수행할 수 없습니다. 그런데 우리 눈에는 프로세스 3개가 동시에 수행 중인 것으로 보이는데 이는 사실 프로세스 3개를 매우 빠른 속도로 번갈아 수행하는 것입니다. 그럼 cpu 1대가 100초 동안 실행된다고 하면 그 중 40초는 A, 40초는 B, 20초는 C를 수행할 수 있습니다. (만약 이런 상황이라면 C가 A,B에 비해 상대적으로 덜 중요, 혹은 상대적으로 cpu를 쓰지 않는 프로세스이겠지요.) 이 때 우리는 시간을 할당하.. URI 와 웹브라우저 요청의 흐름 URI(Uniform Resource Identifier) URI는 로케이터(Locator) , 이름(Name) 또는 둘 다 추가로 분류될 수 있다. URI는 리소스의 식별자라는 큰 개념인데 URL과 URN은 이 식별자의 부분집합이다. URL 즉, Locator는 리소스의 위치를 의미하고 URN 죽, Name은 리소르의 이름이다. ex. URL(Resource Locator) : foo://example.com:8042/over/there?name=ferret#nose 이 때 foo는 scheme, example.com:8042는 authority, over/there은 path, name=ferret 은 query, #nose는 fragment이다. URN(Resource Name): urn:examp.. 인터넷 네트워크 1. 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 서버와 클라이언트가 케이블로 바로 연결되어 있다면 그냥 바로바로 데이터를 주고 받으면 될 것이다. 하지만 클라이언트와 서버가 굉장히 멀리 떨어져있다면? 인터넷 망을 통해서 데이터를 주고 받아야 한다. 하지만 이 인터넷이라는 것은 간단하지 않다. 해저 광케이블을 지나가야 할 수도 있고, 인공위성을 통할 수도 있다. 이 때, 데이터는 수많은 노드라는 중간 서버를 거치게 된다. 그럼 이 데이터들은 어떤 규칙으로 어떻게 주고 받아질까? 2. IP(인터넷 프로토콜) 인터넷 프르토콜의 역할 - 지정한 IP 주소(IP Address)에 데이터 전달 - 패킷(Packet)이라는 통신 단위로 데이터 전달 패킷에는 출발지 IP, 목적지 IP, 데이터 등이 들어가게.. 스트림의 이해 스트림의 배경 컬렉션 인스턴스에 숫자들이 저장되어 있는데 이 중 홀수들의 합을 구하고 싶다고 가정하자. 지금까지는 반복문을 돌며 if문으로 홀수인지를 검사하고, 홀수인 것을 따로 모아 그들을 또 더하는 등의 작업을 해왔다. 이러한 작업은 꽤 빈번하게 일어나는데 이를 좀더 수월하게 하고자 만들어진 것이 스트림이다. 홀수인 수들을 찾아서 리스트를 만드는 것이 작업 1 이들을 더하는 것이 작업 2라고 해보자. 이들 중 홀수만 걸러내는 것은 Filter로 걸러낸 것이라고 생각할 수 있다. 그리고 이러한 작업1,2를 파이프를 통과시키는 것이라 했을 때, 우리는 기존의 컬렉션 인스턴스를 파이프로 흘려보낼 수 있는 일련의 자료들 즉, 스트림이라고 생각할 수 있다. 스트림 스트림을 생성하고 이를 대상으로 '중간연산'과.. Optional 클래스 코드가 방대해지면 if else문이 좀 거슬리게 된다. 왜냐하면 분기가 계속해서 나뉘어지기 때문이다. 그래서 사용하는 것이 Optional 클래스라고 일단 알아두자. 일단 NullPointerException 예외의 발생 상황을 한번 보자. class Freind { // 친구 정보 String name; Company cmp; // null 일 수 있음 public Friend(String n, Company c) { name = n; cmp = c; } public String getName() {return name;} public Company getCmp() {return cmp;} } class Company { // 친구 정보 에 속하는 회사 정보 String cName; ContInfo c.. 메소드 참조 (Method Reference) 메소드 참조의 4가지 유형과 메소드 참조의 장점 1. static 메소드의 참조 2. 참조변수를 통한 인스턴스 메소드 참조 3. 클래스 이름을 통한 인스턴스 메소드 참조 4. 생성자 참조 기본적으로 람다식보다 조금 더 코드를 단순하게 할 수 있다는 장점이 있다. (특정 경우에 대해서만 람다식을 조금 더 줄여쓸 수 있음) 일부 람다식을 메소드 참조로 대신하게 할 수 있다. static 메소드의 참조: 람다식 기반 예제 class ArrangeList { public static void main(String[] args) { List ls = Arrays.asList(1,3,5,7,9); ls = new ArrayList(ls); // 타입인자 Integer 전달됨 Consumer c = l -> Coll.. 정의되어 있는 함수형 인터페이스 [복습] 람다와 함수형 인터페이스 앞의 람다의 소개에서 봤던 것을 대충 정리하자면 A -> B 가 람다식이라 할 때 -> 는 연산자이고 ->의 왼쪽에 매개변수에 대한 선언정보, 오른쪽에 람다식으로 표현하고자 하는 연산문이 들어오게 된다. 함수형 인터페이스란? 인터페이스 중 구현해야할 추상 메소드가 딱 하나 있는 인터페이스를 가리켜 함수형 인터페이스라고 한다. 우리가 앞의 예시에서 봤듯이 우리가 람다식을 작성하는 대상이 바로 함수형 인터페이스이다. 람다는 인스턴스보다 기능 하나가 필요한 상황을 위하여 있다. 앞에서 보았던 Collections.sort(list, new SLenComp()); // 정렬 과 같이 두번째 인자로 필요한 것은 사실 compare 메소드이나 메소드를 인자로 주는 것이 불가능하기 때문에 인스턴스를 생성하여 두번째 .. 이전 1 2 3 4 5 다음