최근 글

읽기 쉬운 코드

읽기 쉬운 코드가 좋다. 읽기 쉬운 코드를 만들기 위해서 딱 한 가지 구체적인 기술을 사용하라고 한다면 나는 함수를 사용하는 것을 선택하겠다. 함수로 만들면 만든 개발자의 의도를 알기 쉽다. 함수에 문제가 있다면 그다음 개발자가 이어서 리팩터링 할 것이다. 이전 개발자가 코딩을 멈추어도 그다음 개발자가 함수 단위로 문제를 해결할 수 있다. 이 함수에 조금 특별한 특징을 부여하면 […]

텍스트 그래프

숫자보다는 그래프를 보여주는 것이 효과적이다. 여러 사람이 볼 문서를 만든다면 텍스트로 구성된 그래프를 넣어 보자. 이쁘지 않은 텍스트 그래프라도 숫자보다 읽기 편하다. 터미널에서 주로 개발하고 있음으로 이런 시각화가 나에게는 필요 없는 기능이라고 생각했는데 아니었다. 몇 가지 모듈을 정리했다. 골라 사용하기 바란다. asciichart 하나의 값이 변하는 것을 보여줄 때 사용할 수 있다, 만약에 왼쪽으로 흐르게 만들려면 […]

코드만 있는 프로젝트를 만났다.

담당자도 없고 문서도 없는 프로젝트를 만날 수 있다. 테스트 코드도 없고 function2, library2 같은 코드들이 여기저기 잔뜩 들어있는 경우도 있다. 놀란 마음을 잠시 진정시키고 터미널을 열자. 문제를 해결하려고 시도한 몇 가지 방법을 정리했다. 라인수 세기 먼저 코드의 양을 살펴보는 것이 괜찮다. 라인 수를 세는 것이다. 폴더나 기능 별로 라인 수를 센다. find . -name “*.js” […]

발 키보드

주로 키보드를 사용해서 가끔 손가락이 힘들다. 키보드를 좋아하면 단축키 등을 사용하여 뭔가 빠르게 입력하는 것을 좋아한다고 생각할 수 있지만 사실은 빠르게 입력하는 것을 좋아하는 것은 아니고 명확하게 입력하는 것을 좋아하는 것이다. 마우스는 포인트를 정확하게 목표에 맞추어야 하는데 이 점이 불편할 때가 있다. 손가락을 너무 사용해서 숨이 차고 있으니 잠시 쉬어가는 느낌으로 발을 사용하려고 한다. 발 […]

안드로이드 앱에서 아이콘 파일 꺼내기

터미널에서 안드로이드 앱을 간단하게 만들었더니 이제 그 앱에서 정보를 읽고 싶어 졌다. 아래 툴을 사용하여 아이콘 이미지 파일을 하나 꺼내 보았다. jar aapt 안드로이드 앱은 압축 파일임으로 자바를 설치할 때 같이 설치되는 jar를 사용하여 압축을 풀 수 있다. 그 다음 안드로이드에서 제공하는 aapt를 사용하여 아이콘 파일의 경로를 얻을 수 있다. 아래는 앱 아이콘 이미지를 꺼내는 […]

터미널에서 앱 만들기

터미널에서 간단하게 앱을 만들고 싶을 때가 있다. 자바스크립트를 사용할 수 있는 ionic을 선택했다. ionic start myApp tabs cd myApp ionic serve ionic cordova build android adb install $(find . -name “*.apk” | head -1) 아래 프로그램 설치가 필요할 수도 있다. npm install -g ionic npm install -g cordova sudo apt install gradle 정리하고 보니 간단하진 […]

단순한 데이터 구조의 장점

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

Block 게임 – JavaScript

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

미로 만들기 – JavaScript

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

Metalsmith를 사용하려고 했었다

워드프레스를 사용할 때 몇 가지가 불편했다. 제한된 테마만 사용해야 한다. 소스 코드 표현이 자유롭지 못하다. 플러그인을 사용할 수 없다. 광고가 붙는다. (이후 개인 요금제를 사용해서 광고를 제거했다) 정적 사이트 생성기(Static Site Generator)를 고려했는데 워드프레스와 다른 점이 있다. 글의 내용을 데이터베이스에 저장하지 않는다. 빌드에 의해서 생성된다. 관리 페이지가 없다. 온라인에서 글을 쓸 수 없다. 서버와 통신이 […]