-
Notifications
You must be signed in to change notification settings - Fork 159
Home
Cojamm edited this page Nov 19, 2017
·
11 revisions
-
함수형 자바스크립트 소개 (미리보기)
-
함수형 자바스크립트 그거 먹는 건가요? (미리보기)
- 함수형 자바스크립트를 검색하면 나오는 예제
- 값으로써의 함수와 클로저
-
함수형 자바스크립트의 실용성 (미리보기)
- 회원 목록 중 여러 명 찾기
- for에서 filter로, if에서 predicate로
- 함수형 프로그래밍 관점으로 filter 보기
- map 함수
- 실행 결과로 바로 실행하기
- 함수를 값으로 다룬 예제의 실용성
-
함수형 자바스크립트의 실용성 2 (미리보기)
- 회원 목록 중 한 명 찾기
- 값에서 함수로
- 함수를 만드는 함수와 find, filter 조합하기
- 고차 함수
- function identity(v) { return v; }, 이건 어디다 쓰는 거지?
- 연산자 대신 함수로
- 함수 합성
-
함수형 자바스크립트를 위한 기초 (미리보기)
- 일급 함수
- 클로저
- 클로저의 실용 사례
- 클로저를 많이 사용하라!
- 고차 함수
- 콜백 함수라 잘못 불리는 보조 함수
- 함수를 리턴하는 함수와 부분 적용
- 정리
-
함수형 자바스크립트 그거 먹는 건가요? (미리보기)
- 함수형 자바스크립트를 위한 문법 다시보기
- 객체와 대괄호 다시 보기
- 난해해 보이는 문법들을 확인하는 목적
- 객체와 key
- 함수나 배열에 달기
- delete
- 코드가 실행될 수 있는 영역
- 함수 정의 다시 보기
- 기본 정의
- 호이스팅
- 호이스팅 활용하기
- 괄호 없이 즉시 실행하기
- new Function이나 eval을 써도 될까요?
- 간단 버전 문자열 화살표 함수와 new Function 성능
- 유명(named) 함수
- 유명 함수를 이용한 재귀
- 자바스크립트에서 재귀의 아쉬움
- 함수 실행과 인자 그리고 점 다시보기
- () 다시 보기
- 인자 다시 보기
- this 다시 보기
- call, apply 다시 보기
- call의 실용적 사례
- if else || && 삼항 연산자 다시 보기
- if의 괄호
- || &&
- 삼항 연산자
- 함수 실행의 괄호
- 함수 실행을 통해 생기는 새로운 공간
- 기본적인 비동기 상황
- 함수 실행 괄호의 마법과 비동기
- 비동기와 재귀
- 화살표 함수
- 익명 함수와의 문법 비교
- 익명 함수와의 기능 비교
- 화살표 함수의 실용 사례
- 화살표 함수 재귀
- 정리
- 객체와 대괄호 다시 보기
- Underscore.js를 직접 만들며 함수형 자바스크립트의 뼈대 익히기
-
Underscore.js 소개 (미리보기)
- Underscore.js 간단히 써보기
- Underscore.js vs Lodash
- 지연 평가 1 (take)
- 지연 평가 2 (map->map->map)
- 지연 실행
- 함수형 프로그래밍 관점에서의 each
- 지원 환경, 용량, 추가 기능 비교
- Underscore.js와 Lodash 비교 정리
- Underscore.js를 만드는 이유
- _.map과 _.each 구현하기
- ArrayLike와 Underscore.js의 콘셉트
- _.map 만들기
- 쓸모 없어 보이는 함수 사용하기
- _.each 만들기
- 함수로 함수 만들기, bloop
- Object.keys
- bloop 개선하기
- 중간 정리
- _.filter, _.reject, _.find, _.some, _.every 만들기
- _.filter 만들기
- bloop로 _.filter 만들기
- _.rest, _.toArray, _.reverse, _.if
- 익명 함수 없이 bloop로 _.filter 만들기
- _.reject 만들기
- _.find, _.some, _.every를 만들기 위해 bloop 고치기
- _.find 만들기
- _.findIndex, _.findKey 만들기
- _.some, _.every 만들기
- 함수형 프로그래밍에서 함수는 ‘로직’이다!
- _.reduce 만들기
- _.reduce 소개
- _.reduce의 용도
- _.reduce로 회원 데이터 집계하기
- _.reduce 만들기
- bloop 반으로 줄이기
- 좀 더 발전시키기
- _.filter 중간에 나가기
- 코드 양과 성능
-
Underscore.js 소개 (미리보기)
-
함수 조립하기 (미리보기)
-
고차 함수와 보조 함수 (미리보기)
- 한 번만 실행하는 함수
- 다시 물어 보지 않는 함수
- 앞서 받은 인자 혹은 상황을 변경해 나가는 경우
- 앞서 받은 인자를 잘 유지해야 하는 경우
-
부분 적용 (미리보기)
- _.partial로 함수 만들기
- _.partial과 _.compose로 함수 만들기
- 더 나은 _.partial 함수
-
연속적인 함수 실행 (미리보기)
- 체인의 아쉬운 점
- _.compose의 아쉬운 점
- 파이프라인
- 클래스를 대신하는 파이프라인
- 더 나은 파이프라인, 그리고 Multiple Results
-
더 나은 함수 조립 (미리보기)
- 함수 조립과 Partial.js
- Partial.js의 _.pipe
- 즉시 실행 파이프라인 _.go
- 문자열 화살표 함수
- Partial.js의 _.partial
- Partial.js의 부분 커링
-
고차 함수와 보조 함수 (미리보기)
-
Partial.js와 함수 조립 (미리보기)
-
파이프라인 (미리보기)
- 네임스페이스
- 즉시 실행 파이프라인, _.go와 _.mr
- 함수를 만드는 파이프라인 _.pipe
- 부분 커링 함수와의 조합
- 보조 함수로 사용하는 파이프라인
- 비동기와 _.go
- 중간에 멈추고 나가기
-
비동기 (미리보기)
- 코드 변경 없이 비동기 제어가 되는 고차 함수
- 비동기 결과를 기다리는 if문, _.if
- 고차 함수
- 주요 고차 함수의 보조 함수에서 더 많은 인자 사용하기
- _.all, _.spread
- 파이프라인2
- _.go에서 this 사용
- 또 다른 파이프라인, _.indent
- _, __, ___
- 무조건 비동기로 동작하는 _.async
- _.go에서 비동기 제어 건너뛰기
- 템플릿 함수
- 함수 스타일의 템플릿 함수
- Jade(Pug) 스타일 문법 지원
- 데이터 치환
- 일반 HTML 전용 _.string
- 인자 여러 개 받기
- escape
- 코드 실행
- _.sum
- 비동기 제어
- 지연 평가와 컬렉션 중심 프로그래밍
- 지연 평가
- Lodash의 체인 방식 지연 평가가 아쉬운 이유
- 지연 평가 결정의 기준과 L
- 컬렉션 중심 프로그래밍
- 수집하기와 거르기
- 접기
- 찾아내기
- 3가지 유형(수집하기, 거르기, 찾아내기)과 지연 평가와의 연관성
- 더 나은 지연 평가
- 지연 평가의 동작 조건을 동적으로 하기
- Partial.js
-
파이프라인 (미리보기)
- 값에 대해
- 순수 함수
- 순수 함수와 부수 효과
- 순수 함수와 순수 함수가 아닌 함수
- 변경 최소화와 불변 객체
- 직접 변경하는 대신, 변경된 새로운 값을 만드는 전략: _.sortBy, _.reject, _.pluck, _.initial, _.without
- _.clone으로 복사하기
- _.extend, _.defaults로 복사하기
- 불변 객체, 그리고 immutable.js의 훌륭한 점
- immutable.js의 아쉬운 점
- Model/Collection 류의 커스텀 객체들의 아쉬운 점
- 기본 객체 다루기
- _.sel과 JSON Selector로 중첩 구조 데이터 다루기
- JSON Selector를 이용한 값 변경
- 커스텀 객체 vs 기본 객체
- _.set, _.unset, _.remove2, _.pop, _.shift, _.push, _.unshift
- _.set을 통한 값 변경을 함수로 하기
- 깊은 값 꺼내기: _.deep_pluck
- 정리
- 순수 함수
- 실전에서 함수형 자바스크립트를 더 많이 사용하기
- _.each, _.map
- if 대신 _.each 사용하기
- 선택된 항목들 지우기와 _.map
- SQL의 insert문 만들기와 _.map
- 그룹 채팅 초대와 _.map
- 함수 고르기
- 많은 사람들이 기본 객체와 함수 중심으로 프로그래밍을 한다면
- input tag들을 통해 form data 만들기
- _.reduce로 만들기
- 여러 가지 함수로 함수 조합 연습해 보기
-
커머스 서비스 코드 조각 (미리보기)
- 장바구니에 담기 옵션 선택과 _.find
- _.find_where
- 장바구니에 담긴 상품들의 수량 합산하기와 _.reduce
- 장바구니에 담긴 상품들의 금액 합산하기와 _.reduce
- 다른 함수 조합으로 수량 합산 구하기 _.deep_pluck, _.reduce
-
백엔드와 비동기 (미리보기)
- 백엔드에서 만날 수 있는 다양한 비동기 상황
- 순서대로 하나씩 실행하기
- 실행한 후의 결과 담기
- true를 만나면 그만 돌기
- _.if _.some, _.every 조합하기
- _.loop와 _.break
- async await 그리고 Babel은 모든 비동기 상황의 해결책일까?
- async await를 for문과 if문에서 사용하기
- async await의 한계
- 함수를 값으로 다루는 고차 함수의 해법
- _.each, _.map
- 함수형으로 만드는 할 일 앱
- 할 일 앱 만들기(1)
- 할 일 생성하기
- 체크박스와 삭제 버튼
- 앱의 상태 관리를 위한 데이터 추가
- 필터링 기능 추가하기
- 한 일 모두 삭제하기
- 할 일 앱 만들기(2)
- 카운트 정보 표시하기
- 할 일 앱 만들기(1)
- 메모이제이션
- memoize 함수
- 메모이제이션 코드로 이해하기
- Underscore.js의 _.memoize
- Partial.js의 _.memoize2
- _.memoize2 내부와 JSON.stringify
- 메모이제이션과 불변성, 그리고 할 일 앱
- 할 일 앱에 _.memoize2 적용시키기
- 최종 코드
- 마무리 하며
- 인프런(Inflearn) 동영상 강의 : 자바스크립트로 알아보는 함수형 프로그래밍
- 몇 가지 프로젝트 소개
- 문의 사항
- memoize 함수
- 함수형 자바스크립트 소개
- 함수형 자바스크립트를 위한 문법 다시보기
- 객체와 대괄호 다시 보기
- 함수 정의 다시 보기
- 함수 실행과 인자 그리고 점 다시보기
- if else||&& 삼항 연산자 다시 보기
- 함수 실행의 괄호
- 화살표 함수
- 정리
- Underscore.js를 직접 만들며 함수형 자바스크립트의 뼈대 익히기
- Underscore.js 소개
- _.map과 _.each 구현하기
- _.filter, _.reject, _.find, _.some, _.every 만들기
- _.reduce 만들기
- 좀 더 발전시키기
- 함수 조립하기
- Partial.js와 함수 조립
- 값에 대해
- 순수 함수
- 변경 최소화와 불변 객체
- 기본 객체 다루기
- 정리
- 실전에서 함수형 자바스크립트를 더 많이 사용하기
- _.each, _.map
- input tag들을 통해 form data 만들기
- 커머스 서비스 코드 조각
- 백엔드와 비동기
- 함수형으로 만드는 할 일 앱
- 할 일 앱 만들기(1)
- 할 일 앱 만들기(2)
- 메모이제이션
- memoize 함수
- 메모이제이션과 불변성, 그리고 할 일 앱
- 마무리 하며