Recent Posts
  • Angular1 element를 append할때 함수를 실행하는 directive 만들기

    이벤트 바인딩의 어려움 Angular1 뿐만 아니라, 모든 javascript app을 개발할때, 이벤트를 바인딩하는 시점을 잡기란 쉽지 않습니다. React처럼 componentDidMount Lifecycle 함수가 존재해서 그 안에서 이벤트 바인딩을 걸어줄 수 있는 것도 아니고, 동적으로 추가되는 DOM element에 jQuery등을 이용해서 이벤트 바인딩 하기란 어렵습니다. 이는, Angular1 Application을 작성할때, element에 이벤트를 주는 부분도 마찬가지 입니다....


  • Karma + enzyme를 활용한 React 컴포넌트 테스트하기

    요즘들어 React project를 같이 참여해서 하고 있으면서, 여러가지 분야에 관심이 가는 경우들이 있습니다. 특히, TDD, BDD등 테스트 주도 개발 및 함수형 프로그래밍에 관심을 계속 두고 있는편인데, React 개발에 있어서 컴포넌트 또는 Redux를 활용한 container 테스트는 매우 중요해 보였습니다. 이번 포스팅은 React component를 테스트하기 위해 적합한 테스트 자동화 도구 Karma와 airbnb에서...


  • Git 리모트(remote) 브랜치 생성 및 삭제하기

    요즘 진행하고 있는 프로젝트가 각자 원격에서 리모트로 git을 통해서 작업하고 있다 보니, 해당 부분에 대한 이력이 있어야 할 것 같습니다. 진행하고 있는 프로젝트는 각자가 해야할 feature들을 branch로 따고, 이후 pull request를 보내면, merge를 담당하시는 분이 기준 branch에 merge를 하는 형태로 작업하고 있습니다. git에서 개념을 보면, local 브랜치와 저장소에 있는 remote...


  • Elasticsearch apm-server node.js에 적용하기

    Elasticsearch APM-Server Node.js에 적용하기 Node.js application을 만들고, 실제 상용 서비스에 적용하면서 서버 성능 모니터링은 운영 과정에서 상당히 중요합니다. 주로, Node.js의 경우에는 Newrelic등의 APM(Appliction Performance Monitoring)도구들이 존재하나, 대부분이 유료로 운영되고 있습니다. 최근 9월달에 오픈소스인 Elasticsearch는 apm-server를 출시하였으며, Node.js와의 연동도 쉽게 가능할 수 있도록 출시하였습니다. 이번 포스팅은 Node.js APM을 위해 무료로 사용...


  • Javascript - 클로저(Closure)에 대한 정리

    javascript에서 늘 빠지지 않는 내용이라 한다면, 클로저(Closure)를 빼놓을 수 없을 것 같습니다. 클로저는 다양한 책과 블로그에서도 필수로 나와있는 내용이지만, 설명되어 있는 부분도 다를 뿐더러, 내용도 애매한 부분들이 많습니다. 클로저를 공부할때 정말 다양한 의미로 인해서 이해하기 힘든 부분들이 많았었는데요, 정리한 부분들을 중심으로 설명을 드릴까 합니다. 혹시 다른 내용이나 정리하신 부분들과 다른...