본문 바로가기

프로그래밍

[ES6+: 응용] 시간을 이터러블로 다루기 #1 take, takeWhile, takeUntil로 코드 다루기 takeWhile, takeUntil 먼저 range와 take를 다시 알아보자. 위 두 개는 즉시 평가되는 것과 지연 평가되는 것으로 나뉘는데 이를 해석해보면 다음과 같다. _.go( _.range(10), /* 0 ~ 9 까지의 배열 */ _.take(3), /* 앞에서부터 3개만 자르기 */ _.each(console.log)); // 0 1 2 _.go( L.range(10), /* 0 ~ 9 까지의 이터러블, 최대 10번 수행 */ L.take(3), /* 최대 3개의 값이 필요하고, 최대 3번의 일을 수행 */ _.each(console.log)); // 0 1 2 위 항목에서 range이후에 delay(1000)이 들어간다면.. 더보기
[JS: ES6+] 이터러블 프로토콜을 따른 map, filter, reduce #1 map 이터러블 프로토콜을 따른 map 간단하게 먼저, map 함수는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. var array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] 이제, 이터러블 프로토콜을 따른 map함수를 알아볼건데요, 먼저 map을 사용하지 않은 예제를 봅시다. const products = [ { name: '반팔티', price: 15000 }, { name: '긴팔티', price: 20000 }, { name: '후드티.. 더보기
[JS: ES6+] 제너레이터와 이터레이터 #1 제너레이터와 이터레이터 제너레이터 함수란? ES6에서 도입된 제너레이터(Generator) 함수는 이터러블을 생성하는 함수이다. 제너레이터 함수를 사용하면 이터레이션 프로토콜을 준수해 이터러블을 생성하는 방식보다 간편하게 이터러블을 구현할 수 있다. 또한 제너레이터 함수는 비동기 처리에 유용하게 사용된다. function* gen() { yield 1; yield 2; yield 3; } const genIter = gen(); console.log(genIter.next()); // {value:1, done: flase} console.log(genIter.next()); // {value:2, done: flase} console.log(genIter.next()); // {value:3, d.. 더보기
[파이썬] 4-2. 파이썬에서 사용되는 자료형 IV. 튜플 자료형 왜 튜플을 사용할까?? 리스트의 항목값은 아래처럼 변화가 가능하고 튜플의 항목값은 변화가 불가능한데, 따라서 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고 싶지 않다면 주저하지말고 튜플을 사용해야 한다. 튜플과 리스트의 차이점1. 리스트는 "[]"를 이용하지만, 튜플은 "()"를 이용한다.2. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다. >>> tuple1 = () >>> tuple2 = (1,) ◀ 1개 요소를 가질 때는 요소 뒤에 콤마(,)를 붙여야 한다. >>> tuple3 = (1, 2, 3) >>> tuple4 = 1, 2, 3 ◀ 괄호()를 생략할 수 있다. 튜플의 인덱싱과 슬라이싱 및 연산자 >>.. 더보기
[파이썬] 4-1. 파이썬에서 사용되는 자료형 I. 숫자형 정수형(Integer): 정수를 뜻하는 자료형으로, 아래 예는 변수 a 에 정수를 대입하는 예이다.>>> a = 123>>> a = -456>>> a = 0 실수형(Floating-point): 소숫점이 포함된 숫자로, 아래 예는 변수 a에 실수를 대입하는 예이다.>>> a = 1.23>>> a = -4.56>>> a = 3.15E10 [=3.15*10^10]>>> a = 5.28e-10 [=5.28*10^-10] 8진수 & 16진수: 8진수를 만들기 위해선 앞에 0o 또는 0O로 시작하고, 16진수를 만들기 위해선 앞에 0x로 시작하면 된다.>>> a = 0o842>>> b = 0x6ff>>> c = 0xABC 복소수(Complex Number): 복소수를 사용하기 위해선, 소문자 j 나 .. 더보기