범위 지정 함수
범위 지정 함수 코틀린에서 제공하는 여러 함수들 중 유용하게 사용할 수 있는 함수들이다. let() let()은 함수를 호출하는 객체를 이어지는 블록의 인자로 넘기고, 블록의 결과값을 반환한다. fun<T,R> T.let(block: (T) -> R): R 사용 예 함수를 호출한 객체를 인자로 받으므로, 이를 사용하...
범위 지정 함수 코틀린에서 제공하는 여러 함수들 중 유용하게 사용할 수 있는 함수들이다. let() let()은 함수를 호출하는 객체를 이어지는 블록의 인자로 넘기고, 블록의 결과값을 반환한다. fun<T,R> T.let(block: (T) -> R): R 사용 예 함수를 호출한 객체를 인자로 받으므로, 이를 사용하...
로드 밸런싱 둘 이상의 CPU or 저장 장치와 같은 컴퓨터 자원들에게 작업을 나누는 것 요즘 시대에는 웹사이트에 접속하는 인원이 급격하게 늘어나게 되었다. 따라서 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다. 대응 방안으로 하드웨어의 성능을 올리거나(Scale-up) 여러대의 서버가 나눠서 일하도록 만드는 것(S...
동기화 문제 동기화 : 한정적인 시스템 자원에 여러 스레드가 동시에 접근해서 사용하면 문제가 발생할 수 있다. 이 문제를 방지하기 위해 여러 스레드에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정하는 기법이다. 스레드 동기화 실행 순서의 동기화 : 스레드의 실행 순서를 정의하고, 이 순서를 반드시 따르도록 하는 것. 메모리...
동기와 비동기 동기와 비동기를 비유를 통해 쉽게 설명해보겠다. 해야할 일이 빨래, 설거지, 청소 3가지가 있다고 가정하자. 이 일들을 동기적으로 처리한다면 빨래를 하고 설거지를 한 뒤, 청소를 한다. 비동기적으로 일을 처리한다면 빨래하는 업체에게 빨래를 시킨다. 설거지 대행 업체에 설거지를 시키고, 청소 대행 업체에 청소를 시킨다...
단편화 [외부 단편화(external fragmentation)] 프로그램의 크기보다 분할의 크기가 작은 경우, 해당 분할이 비어있음에도 불구하고 프로그램을 적재하지 못하기 때문에 발생하는 메모리 공간을 말한다. 어떤 프로그램에도 배당되지 않은 빈 공간임에도 현재 상태에서 사용될 수 없는 작은 분할이다. [내부 단편화(internal ...
교착 상태(DeadLock) 한정된 자원을 여러 곳에서 사용하려고 할 때, 발생하는 문제이다. 즉, 프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태이다. 프로세스 1과 프로세스2가 모두 자원 1, 자원 2를 얻어야 한다고 가정해보자. t1 : 프로세스 1이 자원 1을 얻음 / 프로세스 2가 자원 2를 얻음 t2 : 프...
대칭키 & 공개키 [대칭키 암호화] 암호화에 사용되는 키와 복호화에 사용되는 키가 동일한 암호화 기법이다. 대칭키 암호 방식으로 암호화한 정보를 누군가에게 보낼 때, 암호키도 함께 보내야 한다. 암호키 자체는 암호화가 되지 않은 평문으로 분실하거나 타인에게 노출되면 보안에 매우 취약할 수 있다. 키 전달 및 관리에 어려움이 ...
거품 정렬(Bubble Sort) 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 인접한 2개의 원소를 비교해 크기가 순서대로 되어 있지 않으면 서로 교환한다. 선택 정렬과 기본 개념이 유사하다. 로직 1회전에 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, … 이런...
값 타입 vs 참조 타입 가장 큰 차이점은 데이터가 저장되는 메모리 상의 위치이다. 편의상 값 타입은 원시 타입(Primitive Type)이라고 부르겠다. 참조 타입(Reference Type) 원시 타입 : 크기가 작고 고정적이기 때문에 스택 영역에 저장된다. 참조 타입 : 크기가 크고 가변적이기 때문에 동적으로 관리되는 힙에 저장된...
코틀린 함수들 Slice 배열을 어떤 특정 범위만큼 자른다. 자른 뒤, list를 반환한다. Usage val arr = arrayOf(1,2,3,4,5) println(arr.slice(1..3)) // 결과 [2,3,4] sorted 기본적으로 사용할 수 있는 정렬 함수다. Collection에 대해서 사용한다. ...