분류 전체보기

*아래에서 사용될 함수(go, curry...)들은 이전 포스트들에서 설명되어 있습니다.📗함수형 프로그래밍에서 reduce 와 take의 역할어떠한 데이터를 최종적으로 만들어 낼 것인가? 에서 결과를 만들어주는 reduce와 take 계열의 함수들은 중요하다.앞에서는 지연평가를 이용하여 함수를 살펴보았고, 실제로 평가가 미루어져서 마지막 take에서 부터 연산이 실행함을 알 수 있었다.그렇다면 다시 말해, reduce와 take계열의 함수는 연산의 시작점 이라고 볼 수 있을 것이다.queryStr 함수 생성으로 알아보는 함수형 프로그래밍적 사고아래 코드 queryStr 함수 실행시의 주석을 보면은L.entries = function* (obj) { for (const k in obj) yield ..
*아래에서 사용될 함수(go, curry...)들은 이전 포스트들에서 설명되어 있습니다.📗지연성이 이루고자 하는 목표지금까지의 코드를 바탕으로 아래와 같은 코드가 실행된다고 생각해보자. go( range(100000), take(5), reduce(add), log);우선 range 함수를 통해 10만개의 index를 가진 배열이 생성되고 그 중 5개를 take 하여 reduce로 더하는 함수임을 알 수 있다.문제가 없어 보이지만, 10만개의 index중 단 5개만을 사용하고 나머지는 사용되지 않은 상태여서나머지 99995개의 배열 인덱스에 값이 평가된 것은 실제로 쓸모없는 일이 되었다.하지만, 웹에서 돌아가는 js의 특성상 실제 서비스에선 10만개의 index중 5개를 take ..
📗이터러블/이터레이터 프로토콜 규약을 따른 map, filter, reduceconst log = console.log;const map = (f, iter) => { let res = []; for (const a of iter) { res.push(f(a)); } return res; }; const filter = (f, iter) => { let res = []; for (const a of iter) { if (f(a)) res.push(a); } return res; }; const reduce = (f, acc, iter) => { if (!iter) { // 3번째 인자까지 작성하지 않았다면 acc를 ite..
📗함수형 프로그래밍을 위한 자바스크립트 기본기함수형 프로그래밍은 어떤 이론을 토대로 가능할까평가란 코드가 계산(Evaluation) 되어 값을 만드는 것 이다.일급이란 아래 4개의 조건을 충족할 수 있어야 한다.- 값으로 다룰 수 있다.- 변수에 담을 수 있다.- 함수의 인자로 사용될 수 있다.- 함수의 결과로 사용될 수 있다.함수는 일급이며 일급 함수라 부를 수 있다. 일급 함수는 조합성과 추상화의 도구가 된다자바스크립트는 함수를 값으로 평가하며, 함수 자체가 일급이기 때문에 함수의 인자로 받아서 실행하거나 함수를 반환할 수 있다. 이 특성은 함수를 값으로 다루는 함수인 고차 함수의 작동을 가능하게 하며 함수형 프로그래밍의 토대가 된다.const apply1 = f => f(1);const add2 ..
· 개발
🤔에디터에서 스타일을 적용했지만 적용되지 않는다?에디터에서는 리스트, blockquotes, 이미지 정렬 등의 작업을 진행하고 저장을 했지만. 해당 html 코드를 보여줄때 저장한 버전과 다르게 나오는 문제가 있었다. 또한 작업할 디자인과 기본 스타일이 달라 기존 스타일 자체를 변경해줘야 하는 문제가 있었다. CKEditor 5를 통해 저장된 html 데이터에는 아래와 같이 blockquote태그로 잘 감싸져 있다. 데이터의 문제는 아니다. 따라서 문제 해결 방법으로, 기존 CKEditor 5 css 를 직접 수정하여 프로젝트에 적용하는 방법이 좋을 것 같아 해당 방법을 찾아봤다.💡content-style CSS 파일을 이용한 커스텀 CSS 적용법https://ckeditor.com/docs/cked..
18-1 일급 객체자바스크립트에서 아래와 같은 조건을 만족하는 객체를 일급 객체 라고한다.무명의 리터럴로 생성할 수 있다. 즉 런타임에 생성이 가능하다.변수나 자료구조에 저장할 수 있다.함수의 매개변수에 전달할 수 있다.함수의 반환값으로 사용할 수 있다.자바스크립트의 함수는 위 조건을 전부 만족하므로 일급 객체이다.// 1. 무명의 리터럴로 생성할 수 있다.// 2. 변수에 저장할 수 있다.// 런타임에 함수 리터럴이 평가되어 함수 객체가 생성되고 변수에 할당된다.const increase = function (num) { return ++num;};const decrease = function (num) { return --num;};// 2. 함수는 객체에 저장할 수 있다.const auxs = ..
개발깎새
'분류 전체보기' 카테고리의 글 목록 (2 Page)