Study/Book (6) 썸네일형 리스트형 네트워크 용어정리 네트워크노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합- 노드 : 서버, 라우터, 스위치 등 네트워크 장치를 의미- 링크 : 유선 또는 무선을 의미 1. 처리량과 지연시간* 처리량링크 내에서 성공적으로 전달된 데이터의 양을 말한다.많은 트랙픽을 처리한다 = 많은 처리량을 가진다단위 - bps (초당 전송 또는 수신되는 비트 수) * 트래픽특정 시점에 링크 내에 흐르는 데이터의 양- 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다.- 처리량이 많아졌따 = 처리되는 트래픽이 많아졌다. * 대역폭주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 *지연 시간요청이 처리되는 시간, 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간매체 타입 (무선.. 디자인 패턴 / 프로그래밍 패러다임 디자인 패턴패턴명설명장점단점싱글톤 패턴하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴하나의 인스턴스를 만들어놓고 인스턴스를 다른 모듈이 공유하며 사용-> 인스턴스를 생성할 때 드는 비용 감소메인 모듈이 직접 다른 하위 모듈에 대한 의전송을 주기보다는 중간에 의존성 주입자가 이 부분을 가로채 상위 모듈이 간접적으로 의존성을 주입하는 방식 -> 메인 모듈은 하위 모듈에 대한 의존성이 떨어지게 됨(디커플링이 된다)팩토리 패턴객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴상위클래스 - 중요한 뼈대 결정하위 클래스 - 객체 생성에 관한 구체적인 내용 결정전략 패턴객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능.. 다재다능 코틀린 프로그래밍 / 콜렉션 사용하기 kotlin.collections 패키지에 Java 콜렉션에 유용한 함수들이 많이 추가되었다. 코틀린에서는 Java의 콜렉션을 각자 편한 방법대로 사용할 수 있다. 동일한 콜렉션이면 코틀린이 추가한 메소드를 사용할 수 있다. JAVA에서 명령형 스타일의 for-each가 아닌 함수형 스타일의 forEach문을 사용한다면 인덱스는 사용 할 수 없다. 코틀린은 withIndex() 메소드를 제공해서 인덱스와 값 모두를 편하게 얻게 해준다. // JAVA for(int i = 0 ; i < names.size() ; i++){ System.out.println(names.get(i)); } for(String name : names) { System.out.println(name); } // Kotlin va.. 다재다능 코틀린 프로그래밍 / 코틀린 시작하기 Chapter 1 코틀린 시작하기 코틀린은 객체지향 프로그래밍 + 비동기 프로그래밍 + 함수형 프로그래밍 + 스크립트 왜 코틀린을 선택해야 하는가? - 보일러 플레이트 코드를 덜 쓰도록 해준다. - 컴파일 시간 안정성 - 프로젝트에서 코틀린 코드와 JAVA 코드를 함께 사용할 수 있다. 프로젝트에 코틀린 점진적 도입 가능 Chapter2 JAVA개발자를 위한 코틀린 필수사항 1. 더 적은 타이핑 - 새미콜론 생략 가능 - 변수타입 지정 생략 가능 - 클래스와 함수 생략 가능 명령문이나 표현식이 메소드에 속할 필요가 없고, 메소드는 클래스에 속할 필요가 없다. 코드가 컴파일되거나, 스크립트로 실행될 때 코틀린은 JVM에서 실행하기 위해 필수적으로 필요한 랩퍼 클래스와 메소드를 생성한다. - try-catc.. 쏙쏙 들어오는 함수형 코딩 / 액션, 계산의 차이 - 계산은 무엇인가 ? 계산은 입력값으로 출력값을 만드는 것이다. 실행 시점과 횟수에 관계없이 항상 같은 입력값에 대해 같은 출력값을 돌려준다. 계산은 함수로 구현한다. - 계산이 액션보다 좋은 점 1. 테스트하기 쉽다 2. 기계적인 분석이 쉽다 3. 계산은 조합하기 좋다 - 계산을 쓰면서 걱정하지 않아도 되는 것 1. 동시에 실행되는 것 2. 과거에 실행되었던 것이나 미래에 실행할 것 3. 실행 횟수 - 계산의 단점 계산과 액션은 실행하기 전에 어떤 일이 발생할지 알 수 없다 - 액션이란? 외부 세계에 영향을 주거나 받는 것을 말한다. 액션은 실행시점과 횟수에 의존한다. ex) 이메일 보내기, 계좌에서 인출하기, 전역변숫값 바꾸기, ajax 요청 보내기 - 액션은 쉽지 않다!! 액션은 사용하기 어렵다... 쏙쏙 들어오는 함수형 코딩 / 함수형 프로그래밍? 함수형 프로그래머는 액션, 계산, 데이터 이렇게 세분류로 코드를 나눈다. 1. 액션 : 실행 시점이나 횟수 또는 둘 다에 의존한다. - 시간이 지남에 따라 안전하게 상태를 바꿀 수 있는 방법 - 순서를 보장하는 방법 - 액션이 정확히 한 번만 실행되게 보장하는 방법 2. 계산 : 입력값으로 출력값을 만드는 것 - 정확성을 위한 정적 분석 - 소프트웨어에서 쓸 수 있는 수학적 지식 - 텍스트 전략 3. 데이터 : 이벤트에 대한 기록한 사실 - 효율적으로 접근하기 위해 데이터를 구성하는 방법 - 데이터를 보관하기 위한 기술 - 데이터를 이용해 중요한 것을 발견하는 원칙 분산 시스템 규칙 3가지 1. 메시지 순서가 바뀔 수 있다. 2. 메시지는 한 번 이상 도착할 수도 있고 도착하지 않을 수도 있다. 3. 응.. 이전 1 다음