단순한 데이터 구조의 장점

데이터 구조가 단순하면 이를 처리하는 함수가 단순해지고 그러면 테스트가 쉬워진다고 생각하게 된 경험을 정리했다. 자바스크립트를 사용하여 개발하면서 많은 기술들을 접하게 된다. 모두 검토하여 좋은 것만 추려 배우고 일에 적용하고 싶지만 현실은 녹녹지 않다. 그래서 올해 배울 기술 두 개를 정했는데 함수형 프로그래밍 방법과 테스트다. 그중 함수형 프로그래밍을 익히기 위해 선택한 방법은 작은 게임을 여럿 만들어 … 단순한 데이터 구조의 장점 계속 읽기

Block 게임 – JavaScript

Functional Programming (FP) 연습하는 목적으로 작은 게임들을 만들고 있다. 이 게임은 그 중에 하나로 위에서 내려오는 블럭들을 미사일로 맞추는 것이 목적이다. 전에 만든 테트리스 코드를 가져다 사용했는데 최소한의 기능만 만들었다. 시작 코드로 Create React App를 사용했으며 App.js, App.css 이 두 파일을 수정했고 fp-block 모듈을 사용했다. FP 라이브러리로 유명한 Lodash 라이브러리를 사용했다. https://github.com/afrontend/fp-block-game 좌표 정보를 따로 … Block 게임 – JavaScript 계속 읽기

미로 만들기 – JavaScript

함수형 프로그래밍을 연습하려고 작은 게임을 만들다가 미로 게임을 알게 되었다. 전에 만들었던 테트리스나 snake 게임보다 알고리즘이 조금 더 복잡했다. 미로를 만드는 방법과 푸는 방법이 서로 다르며 각각 여러 알고리즘이 있었다. 그중에 아래 글을 참조하여 미로를 만들었다. 아직은 눈으로 푸는 게임이다. 미로 생성기라고 하는 것이 더 적당하겠다. https://stackoverflow.com/questions/3097556/programming-theory-solve-a-maze 전에 만든 snake 코드를 가져다 사용했다. Create React … 미로 만들기 – JavaScript 계속 읽기

snake 게임 – JavaScript

전에 만든 테트리스 코드를 가져다 사용했는데 최소한의 기능만 만들었다. 시작 코드로 Create React App를 사용했으며 App.js, App.css 이 두 파일을 수정했고 fp-snake 모듈을 사용했다. FP 라이브러리로 유명한 Lodash 라이브러리를 사용했다. Functional Programming (FP) 방법을 연습하는 중이다. https://github.com/afrontend/fp-snake-game 좌표 정보를 따로 업데이트하지 않는다. 데이터 구조는 간단하게 유지했다. 두 개의 2차원 배열을 사용하는데 코드에서 panel이라고 이름 지었다. … snake 게임 – JavaScript 계속 읽기

테트리스 게임 – JavaScript

얼마 전 세미나에서 테트리스 게임을 만드는 것을 보고 다른 방식으로 만들어 보고 싶었다. 자바스크립트는 프로그래밍 방법을 강제하지 않아서 Functional Programming (FP) 방법을 같이 사용하기에 적당한 언어다. if 문을 사용하지 않는 방법을 시도했다. 음.. 동작은 한다. 시작 코드로 Create React App를 사용했는데 App.js, App.css 이 두 파일을 수정했고 fp-tetris 모듈을 사용했다. FP 라이브러리로 유명한 Lodash를 사용했다. … 테트리스 게임 – JavaScript 계속 읽기

함수형 프로그래밍 – JavaScript

이 글은 내가 이해하는 자바스크립트 함수형 프로그래밍 방식에 관한 설명이다. 위키에서 함수형 프로그래밍을 이렇게 설명한다. "함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다." 자바스크립트를 사용하여 이러한 함수형 프로그래밍을 할 수 있다. 함수가 변수처럼 다루어지는 특성이 있어서 가능하다. 아래 배열을 사용하여 어떻게 for, if 문을 제거하고 중간 변수 없는 … 함수형 프로그래밍 – JavaScript 계속 읽기