nacyot profile image

프로그래밍(Programming) 목록

깃허브(Github) 후크 API와 슬랙(Slack)에 알림 전달하기

프로그래밍 2014년 01월 30일 발행

후크(hook)는 특정 이벤트나 작업이 진행될 때 자동적으로 다른 스크립트를 실행시켜줍니다. 깃(Git)에서는 기본적으로 후크를 지원하고 있습니다. 저장소 폴더의 .git/hooks에서 샘플 스크립트와 사용할 수 있는 후크 이벤트들을 확인해볼 수 있습니다.

깃허브([Github][github])에서도 이러한 후크 기능을 지원하고 있으며 깃허브와 연동된 부분에 대한 이벤트를 추가적으로 지원하고 있습니다. 대부분의 경우 서비스 후크 기능을 통해서 다른 서비스와의 통합을 쉽게 할 수록 지원하고 있으며, 재미있게도 이렇게 다른 서비스와 통합하는 부분도 공개가 되어있어 관심이 있으시면 [실제 코드][github-service]를 확인해볼 수도 있습니다. 특히 현재는 웹후크(Webhook) 기능을 추가되어 깃허브에서 서비스 후크를 지원하지 않는 서비스와도 중간에서 매개할 수 있는 서버나 통합기능이 있다면 얼마든지 활용가능합니다.

계속 읽기

도커(Docker) 튜토리얼 : 깐 김에 배포까지

시스템 프로그래밍 2014년 01월 27일 발행

도커(Docker)는 2013년에 등장한 새로운 컨테이너 기반 가상화 도구입니다. 도커는 계층화된 파일시스템(AUFS, BTRFS 등)을 사용해 가상화된 컨테이너의 변경사항을 모두 추적하고 관리합니다. 이를 통해서 컨테이너의 특정 상태를 항상 보존해두고, 필요할 때 언제 어디서나(단, Docker가 설치만 되어있다면) 이를 실행할 수 있도록 도와주는 도구입니다. 이 글은 Docker 입문자를 위한 튜토리얼로, 도커의 기본 개념들과 사용법에 대해서 소개합니다.

계속 읽기

정적 웹사이트 생성기의 역습 - 동적 스크립트를 넘어 다시 정적 컨텐츠로

프로그래밍 2014년 01월 05일 발행

개인적으로 요새 화두인 주제가 바로 정적 웹사이트 생성기입니다. 21세기에 정적 웹사이트라니 꽤나 뜬금없는 이야기로 들리실지 모르겠지만, 일부 블로그들에서는 이미 정적 컨텐츠로 블로그를 발행(Publish)하는 기능을 지원해왔으며 많은 오픈소스와 프로그래머들이 Github Page의 Jekyll을 통한 정적 페이지 발행 기능을 활용하고 있습니다. 이 글에서는 정적 페이지가 왜 각광을 받는지와 그 배경에 대해서 조금 이야기해보고자 합니다.

계속 읽기

hub(허브)로 명령행에서 Github(깃허브) 풀리퀘스트 보내기

프로그래밍 소프트웨어 2013년 12월 29일 발행

오픈소스뿐만 아니라 git를 사용해 소스 코드의 버전관리를 하는 경우엔 원격 git 저장소로 Github를 많이 사용합니다. Github는 단순히 git 저장소 역할을 하는 것뿐만 아니라 웹 인터페이스를 통해서 저장소를 관리할 수 있게 도와주며, 소스코드를 공유하고 협업하기 위한 다양한 기능을 제공합니다. 또한 Github 고유의 기능을 명령행 인터페이스 사용할 수 있게 도와주는 hub라는 도구를 지원합니다. 이 글에서는 hub(허브)를 Git 명령어에 연동해서, 명령행에서 풀리퀘스트를 보내는 방법을 설명합니다.

계속 읽기

알아두면 도움이 되는 55가지 루비(Ruby) 기법

프로그래밍 2013년 11월 24일 발행

이 글은 kyoendo 씨의 55 Trivia Notations you should know in Ruby 문서를 nacyot이 번역한 글입니다. 번역된 문서는 gist에서 관리되고 있습니다. 원본은 여기에서 찾아볼 수 있으며 cc-by-nc 라이센스에 따라 공개되어있습니다. 번역본 또한 같은 라이센스를 따릅니다.

계속 읽기

앵귤러js(AngularJs) 스타일 가이드 번역

프로그래밍 2013년 10월 30일 발행

이 글은 Minko Gechev 씨의 AngularJS Style Guide 문서를 nacyot이 변역한 글입니다. 번역된 문서는 Github 저장소에서 관리되고 있으며 원본은 여기에서 찾아볼 수 있습니다.

계속 읽기

Github 에코시스템 - Git을 둘러싼 유용한 서비스들

프로그래밍 서비스 2013년 10월 02일 발행

소스 관리를 위해 사용하는 Github와 바로 연동해서 사용할 수 있는 많은 좋은 서비스들이 있습니다. 이러한 서비스들의 장점은 github와 바로 연동할 수 있고 open-source에 대해서는 대개 무료로 사용할 수 있다는 점입니다. 이 서비스들을 이용하지 않아도 어차피 내부적으로 다 사용해야만 하는 기능들이기 때문에, 공개적으로 오픈소스 개발하시는 경우엔 적극 도입을 검토해보셔도 좋을 듯 합니다. 여기서는 코드 퀄리티 관리 서비스 Code Climate, 의존성 버전 관리 Gemnasium, 루비 문서 서비스 rubydoc.info, CI 서비스 Trivas, 테스트 커버리지 관리 서비스 Coveralls를 간락히 소개합니다.

계속 읽기

Rspec과 가드(Guard)를 활용한 루비(Ruby) 테스트 자동화

프로그래밍 소프트웨어 2013년 10월 02일 발행

루비 테스트로는 minitestRspec이 많이 사용됩니다. 저는 대부분 Rspec을 사용합니다만, 어느 쪽이건 이러한 테스트를 매번 직접 실행해주기는 매우 귀찮은 일입니다. 이러한 부분을 자동화하기 위해서 과거에는 Autotest 같은 툴이 사용되었습니다. Autotest는 특정 파일이 수정되면 테스트를 자동으로 실행하는 방식으로 작동합니다. 현재는 Autotest 대신에 Guard를 많이 사용하는데, Guard는 특정한 파일을 감시하다가 이러한 파일에 변화가 있을 때 특정한 명령어를 수행하는 좀 더 범용적인 툴이라고 생각하면 됩니다. 여기서는 Guard를 사용해 rspec 테스트를 자동화하는 법을 소개합니다.

계속 읽기