CI - 지속적 통합 도구, 오픈소스 공개

Gitple이 사용하는 간단한 CI(Continuous Integration)를 공개합니다. 이전 블로그글 CI - 지속적 통합 에서 설명했던 내용을 적용하기 위해 간단히 만든 도구입니다. https://github.com/gitple/ci Github을 이용하시는 분들은 리눅스 서버에 손쉽게 적용할 수 있습니다. 전체 흐름을 이해하기 쉽도록 동작 순서대

Angular에 다국어 적용

ngx-translate/core github ngx-translate/http-loader github 깃플에서 Angular에 다국어를 지원을 위해 적용한 방법을 소개합니다. Angular에서는 자체적으로 다국어를 지원하는 i18n을 제공합니다.(Angular Internationalization) 그러나 다음의 이유로 기본제공 i18n을 사용하지

깃플 기술스택 구경하세요~ (프론트엔드 편)

Gitple은 SaaS(Software as a Service) 형태의 전형적인 클라우드 애플리케이션 입니다. 개발팀은 두번째의 경험이라 이번에는 더욱 정교하게 기술스택을 쌓아 나가고 있습니다. 이전 글에 이어서 기술스택 프론트엔드 부분을 설명해 보겠습니다. 각각의 기술에 대한 상세 내용은 앞으로 블로그 포스팅 할 예정입니다. 프론트엔드 애플리케이션 깃플

SaaS 개발팀의 조건

깃플팀은 소규모 SaaS 개발팀입니다. 언제나 사용자스토리, 버그, 태스크, 기술부채들이 쌓이고 넘칩니다. 이상황을 헤쳐가는 깃플팀의 방법을 소개합니다. 애자일하게, 린하게 깃플은 기민한agile 방법론인 깃플팀은 스크럼을 합니다. PO는 고정, 스크럼 매스터는 번갈아 가면서 맡습니다. 스프린트의 리듬에 따라 2주 사이클을 돌립니다. 이 리듬을 잘 타게

깃플 기술스택 구경하세요~ (백엔드 편)

Gitple은 SaaS(Software as a Service) 형태의 전형적인 클라우드 애플리케이션 입니다. 개발팀은 두번째의 경험이라 이번에는 더욱 정교하게 기술스택을 쌓아 나가고 있습니다. 깃플 서비스의 백엔드 기술스택을 전반적으로 설명해 보겠습니다. 각각의 기술에 대한 상세 내용은 앞으로 블로그 포스팅 할 예정입니다. 위에서 부터 차례로 설명합니

클라우드 서비스의 '기술부채' 다루기

클라우드 서비스를 개발하다 보면, 수평적 확장성(horizental scaleability)과 단일 장애지점(Single Point Of Failure) 없애기 위해 비용(시간과 노력)이 발생하는 경우가 종종 있습니다. Scale up해서 돈으로 해결하거나, 일단 쉽게 구현하고 뒤로 미루게 됩니다. 이것이 기술부채로 차곡 차곡 쌓입니다. 늦지 않게 이 부

Git 터미널에서 제대로 사용하기- bash-git-prompt

백엔드작업을 위해 주로 맥이나 리눅스의 터미널에서 작업을 합니다. 따라서, 터미널에서 벗어 나지 않고 편하게 사용하도록 환경을 꾸며봅니다. 여러 feature 브랜치를 넘나들면서 사용하다 보면, 엉뚱한 브랜치에서 commit 하는 실수가 잦은데요. 단순히 어느 branch에서 작업하고 있는지 command line에 표시만 해서 사용해서 더 이상의 실수를

Git - 리누스 토발즈가 만든 클라우드 시대의 버전 관리 도구

리눅스 커널은 가장 복잡하고 많은 사람이 참여하여 공동작업한 오픈소스 소프트웨어 중의 하나입니다. 리눅스의 창시자이자인 리누스 토발즈Linus Torvalds는 리눅스 커널 소스코드의 관리의 어려움을 해결해 줄 수 있는 오픈소스로 된 버전관리 도구가 필요했는데 마땅한 것이 없었답니다. 그래서, 직접 Git을 개발하게 되었다고 합니다. Github에 미러되어

Git 터미널에서 제대로 사용하기 - alias

일상적으로 사용하는 git command 를 쓰기편하게도록 alias를 지정해서 사용합니다. alias 지정방법은 ~/.gitconfig 의 alias section에 바로 추가해도 되고, git config --global alias.co checkout 요렇게 수행해도 됩니다. ~/.gitconfig1234567891011121314[alias]

CI - 지속적 통합

지속적 통합(CI, continuous integration)에 대해서 살펴 보겠습니다. CI가 왜 필요한가? 버그는 초기에 발견하면 금방 해결할 수 있지만, 시간이 지나면 사소한 버그라도 해결에 시간과 노력이 많이 듧니다. 그래서, 문제를 조기에 발견하는 것은 아주 중요합니다. 예를 들어 보겠습니다. Apple의 SSL 라이브러리의 어이없던 “goto f