태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Search results for 'GIT'

빈 줄도 지워서는 안된다.

2015.04.13 14:25 by 전규현


잠시 후 Google blogger로 이동됩니다.






SVN 쓸까? Git 쓸까? 주제로 얘기를 하면 논쟁이 심하다. 하지만 이보다 중요한 것은 SVN이나 Git 상관없이 어떻게 하면 여러 개발자들과 협업이 되도록 코딩을 하느냐다.


많은 개발자들은 혼자서 또는 소수의 인원과 개발을 한다. 또는 여러 명이 개발을 하더라도 자신의 소스코드가 정해져 있어서 혼자 개발하는 경우가 많다. 이러다 보니 협업을 위한 개발에는 별로 관심이 없다. 하지만 협업은 혼자서 때도 필요한 것이고 여러 명이 개발할 때는 더욱더 필요하다. 방법을 모르거나 문제를 피해 다니면 개발 효율이 떨어지고 한계를 넘지 못한다.


혼자서 개발을 하더라도 수많은 브랜치가 발생할 있고 한두 명끼리는 그럭저럭 개발을 하더라도 개발팀이 조금만 커져서 뒤죽박죽이 되곤 한다.


그럼 어떻게 코딩을 하는 것이 좋을까?


첫째, 줄도 고쳐서는 된다.


내가 고치고 있는 모든 소스코드는 다른 개발자들도 지금 고치고 있다고 생각해야 한다. 설사 혼자서 고치는 소스코드라고 하더라도 습관이 된다. 협업을 하고 있다는 마인드는 꾸준히 유지를 해야 한다. 


뿐만 아니다. Indentation 맞지 않는다고 고치는 것도 좋지 않다. 괜히 연산자 사이에 보기 좋으라고 빈칸을 추가하는 것도 나쁘다. 무조건 처음에 잘해야 하고 나중에는 그냥 놔두는 것이 낫다.


둘째, 파일 이름을 바꾸지 말아야 한다.


처음에 대충 파일을 만들다 보면 파일이름이 마음에 드는 경우가 있다. 그렇다고 파일을 이름 바꾸면 수많은 사람들에게 영향을 준다. Git에서는 파일을 이름 변경을 추적해주는 기능이 있지만 혼란을 피할 길을 없다. 처음에 정해야 한다. 


셋째, 함수 이름과 정의를 바꾸지 않아야 한다.


대충 만들어 놓고 자꾸 바꾸는 것은 협업 습관이 없기 때문이다. 그리고 대충 만들고 나중에 수정하는 것은 비용이 많이 든다. 아주 작은 시스템만 경험해 개발자는 이런 방법이 빠르다고 주장할지 몰라도 시스템에 개발자가 수십 명이라면 얘기가 달라진다. 대충하고 바꾸는 습관이 들어서는 안된다.


넷째, 소스코드를 재배치하지 말아야 한다.


파일의 아래쪽에 있는 함수를 위로 올리고 정리를 하면 소스코드 Merge 어려워진다. 처음에 생각해서 정하고 나중에는 고치지 말아야 한다. 여러 사람이 동시 소스코드를 정리하면 소스트리는 완전히 뒤죽박죽이 된다.


이미 문제가 발생한 경우 리팩토링이 필요하게 되고 계획을 잘 세워서 시행해야 하고 상당한 비용을 치뤄야 하는 경우도 있다. 이런 경우는 최소화하고 처음부터 제대로 하는 것이 훨씬 낫다.


외에도 변수를 어떻게 선언하느냐는  협업을 위한 수많은 코딩 노하우들이 있다. 항상 개발은 혼자 하는 것이 아니다라는 것을 염두해 두고 개발하는 자세가 필요하다.

물론 위 내용들은 개발자 본인이 처한 환경에 따라서 천차만별로 생각할 수 있다. 혼자 개발하는 사람도 있고 수백명이 개발을 해도 혼자 일하는 것처럼 개발하는 경우도 많다. 수천명이 동시에 개발하는 환경에 있는 개발자도 있다. 

필자는 원칙과 원리에 대해서 얘기를 하는 것이니 원리에 대해서 이해를 해보는 노력을 해보자. 일하는 환경은 언제든지 바뀔 수 있지만 습관은 쉽게 바뀌지 않는다. 좋은 습관을 만들어가는 것은 본인의 몫이다.





저작자 표시 비영리 변경 금지
신고

전규현 기반시스템/소스코드관리 GIT, merge, svn

  1. Blog Icon

    비밀댓글입니다

  2. Blog Icon
    저는 조금 반대입니다.

    저는 조금 반대인게 변경해야 하는 내용이 규격화된 내용과 맞지 않는 형식이라면 고치는게 맞다고 생각합니다.
    머지를 하는게 처음엔 힘들수 있지만 일정한 표준화가 되고 난 다음부터는 그렇게 힘들지 않습니다.
    일단 제 경험상으론 그렇네요.

  3. Blog Icon
    나그네

    이럴때 필요한게 리팩토링 이지요...

    프로젝트 중간 팀원들과 리팩토링을 하여 정보를 공유하는게 좋을듯합니다..

    빈줄도 지워서는 안된다는 좀 심한듯..

왜 하나만 써야 하는가?

2011.08.13 11:32 by 전규현


잠시 후 Google blogger로 이동됩니다.





이전의 글에 종종 소스코드관리시스템과 버그관리시스템은 하나만 써야 한다고 얘기를 한 적이 있다.
또한 내가 2008년에 작성한 소프트웨어 회사의 개발 역량 평가 표에는 20점 중 2점을 차지하고 있다.

2008/10/29 - [소프트웨어이야기] - 소프트웨어 회사의 개발 역량 평가표 

종종 "여러개를 쓰면 어떤가?"하는 궁금증이 있어서 그 이유를 설명하고자 하다.

 소스코드관리시스템을 여러개 쓰고 있다면?
 
회사가 아무리 크더라도 소스코드관리시스템은 하나만 쓰는 것이 좋다. 한 종류의 시스템을 여러개 설치에서 쓰는 것도 좋지 않다. 또한 특별한 이슈가 없는 경우라면 하나의 Repository에 소스코드를 관리하는 것이 좋다.

여러 시스템을 쓰는 경우는 대부분 팀마다 각자 취향에 따라서 VSS도 쓰고 SVN도 쓰고 Git도 쓰는 경우이다. 이러한 경우 각자 핑계들이 있다. Visual Studio에 최적화된 VSS를 써야 한다는 둥, 오픈소스를 이용하기 때문에 Git가 좋다는 둥의 주장을 하다가 각 팀에서 알아서 쓰기로 결정을 종종 하게 된다.

팀마다 다른 시스템을 쓰게 되면 여러가지 문제가 발생한다.

첫째, 공통 모듈 관리가 전혀 안되서 공통 모듈을 서로 복사해서 쓰기도 하고 비슷한 모듈을 따로 개발하기도 한다. 공통모듈이 없는 SW회사는 거의 없다. 관리를 안할 뿐이다. 이것이 얼마나 큰 문제가 되냐고 생각하는 사람들도 있다. 하지만 제품이 많아지고 고객이 많아지면 이렇게 복사된 공통모듈로 개발은 엉망진창이 된다. 유지보수 비용이 몇배로 들게 된다. 

둘째, 개발자는 각 팀마다 스위치가 자유로워야 하는데 서로 다른 시스템을 배우기 위해서 시간이 들어간다. 기본 기능은 배우는데 얼마 안걸리지만 완전히 손에 익어서 능수능란하게 쓰기에는 시간이 걸리는데 괜히 쓰지않아도 될 시간이 들게 된다.

그외에 전사적으로 관리가 잘 안되서 백업도 비용이 더 많이 들고 여러가지 문제가 발생한다. 주먹구구 식으로 작은 규모로 대충 개발할 때 문제가 눈에 안 띨분이지 나중에 댓가를 치르게 된다.  나중에 문제가 발생한 후에 통합은 거의 불가능하다 처음부터 하나를 써야 한다.

 버그관리시스템을 여러개 쓰고 있다면?
 
버그관리시스템은 개발자들만 쓰는 것이 아니다. CEO를 비롯해서 전직원 모두가 쓰는 시스템이다.
그런데 각 팀마다 서로 다른 시스템을 쓰고 있는 경우라면 십중팔구 개발자나 QA팀만 쓰고 있는 경우이다. 전사적으로 통일된 결정이 없었고 회사의 지원이 없어서 개발자들이 팀내에서 알아서 결정해서 쓰는 경우가 많다. 이는 반쪽만 사용하고 있는 경우이다.

버그관리시스템은 개발을 포함해서 회사의 거의 모든 이슈가 관리되는 곳이다. 기껏해야 회계나 HR이슈들이 빠질 뿐이다. 그런데 팀마다 다른 시스템을 쓰고 있다면 이슈가 통합되서 관리도 안되고 통계도 안나오고 개발팀 바깥의 부서에서는 여러 시스템을 모두 써야 하는 불편함도 있다.

또한 여러 시스템을 다 배워야 하기 때문에 이만저만 불편한 것이 아니다. 이또한 나중에 통합은 어려우므로 처음에 하나로 잘 결정해야 한다.

 SVN과 Git를 같이 쓰는 경우는?
 
종종 SVN을 쓰면서도 출장을 자주 나가서 출장지에서 직접 개발을 해야 하는 경우들도 있다. 이런 경우 SVN과 Git를 연동해서 쓰면 유용하다.

SVN만 사용하면 출장을 나가서 1주일동안 여러가지 기능과 버그를 수정했을 경우 복귀후 Commit을 하게 되면 그동안 수정한 내용이 한번에 커밋이 되서 관리가 어려워진다.

이때 SVN Repository를 Git에 담아서 출장을 가서 개발할 때마다 여러번 Commit을 하면 복귀후 SVN과 다시 통합을 하면 그 History가 고스란히 합쳐진다.

이런 경우 처럼 Git를 보조적으로 쓰는 것도 좋다.

 다른 시스템은 쓸 필요가 없나?
 
나는 보통의 SW회사에서 소스코드관리시스템과 버그관리시스템 2개면 충분하다고 주장한다. 사실 왠만큼 회사가 커지기 전까지는 이 두가지면 충분하다. 

결재가 필요하기 때문에 전자결재를 위한 그룹웨어를 도입하고 싶어하기도 한다. 하지만 소프트웨어 회사에서 그룹웨어는 그렇게 효율적이지 않다. 전자결재는 SW개발 문화와는 잘 어울리지 않는다. 이 내용은 나중에 자세히 글을 따로 써야 할 것 같다.

그 외에 작업관리, 고객요청관리, 테스트 관리등 여러가지 관리의 필요성을 느끼게 된다. 
일단 이 두개만 가지고 쓸 수 있는 한 최대한 써보기를 권한다. 그러면 의외로 거의 모든 것을 다 커버하게 된다는 것을 알게 될 것이다.

그후에 회사의 규모가 정말로 커져서 인원이 몇백명이 되고 좀더 관리를 잘 하고 싶으면 테스트관리나 서비스데스크등 개발자들에게는 부담이 안되지만 관리에 도움이 되는 시스템을 우선적으로 도입하면 좋다.

 결론
 
나중에 통합은 어렵다. 이미 여러개의 시스템을 쓰고 있다면 합칠 수 있다면 지금이라도 합치는 것이 좋다. 나중에는 늦는다.

 * 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.
image by
 
nerovivo
저작자 표시 비영리 변경 금지
신고

전규현 기반시스템 GIT, svn, 기반시스템

  1. SVN+Git이 가장 궁금하네요. 어떤식으로 구성을 하는건가요?

  2. 안녕하세요. 구차니님
    평소에는 SVN을 쓰다가 출장을 갈 때만 git-svn을 이용해서 clone을 만들어 가는 겁니다. 출장시에는 Git를 쓰는 겁니다. 나중에 SVN과 통합할때는 dcommit 명령을 이용하면 그동안 바뀐 SVN와 merge가 되면서 통합니다. 몇가지 명령어만 알면 시행 가능합니다. ^^

  3. 좋은 글 감사합니다.
    주제와는 별도로 프로젝트 기획/정보 공유를 위해 위키를 사용하는 것에 대해서 이야기를 듣고 싶습니다.
    문서들의 버전 관리/동기화 문제 때문에 위키가 정말 적절한 솔루션이라고 생각하는 데, 막상 사용하려고 하면 프로그래머가 아닌 분은 많이 불편해 하시더군요.
    무엇보다 워드나 파워포인트와는 다르게 문서에서 이미지를 그릴 수 없고, 이미지 첨부도 불편한 점이 원인인 것 같습니다.
    업무에 위키 도입에 성공/실패한 사례가 있다면 정말 큰 도움이 될 것 같습니다.

  4. 안녕하세요.송재학님

    위키의 위상은 소스코드관리리스템이나 버그관리시스템에 비하면 5%도 안됩니다. 위키가 왠지 멋져 보이고 장점도 많지만, 쉽게 정착이 안된다는 단점이 있습니다.

    또, 프로젝트의 주요문서 (Baseline에 들어가는 문서)를 위키에 저장하게 되면 상당히 불편합니다. 특히 인쇄를 해서 검토를 할 때 불편합니다. 따라서 워드로 만들어서 SVN 등에 보관하는 것이 좋습니다. 제가 쓴 "소프트웨어 개발의 모든 것"을 보면 어떤 문서를 어디에 보관해야 하는지 자세히 설명이 되어 있습니다.

    그렇다고 하더라도 위키는 여전히 매력적인 물건입니다. 위키는 도입 실폐사례가 많지만, 대기업중 하나인 H사는 Jira, SVN과 같이 Wiki를 도입하여 정보 공유에 활발하게 쓰고 있습니다.

    Wiki의 정착이 어려운 이유는 Wiki를 잘 쓰려면 시간적인 여유도 있어야 하고 각자 능동적이어야 하는데 매일 일에 치이는 회사에서는 금방 흐지부지 되더군요.

    신중하게 생각해보세요.

  5. Blog Icon
    술푼사슴

    늘 좋은글 감사히 읽고 있습니다.

    위키에 대해서는 저는 약간 생각이 다릅니다.

    프로젝트 특성상 주요문서는 협업을 통해 검토 & 변경이 이뤄지고 변경 이력관리가 되어야 합니다.

    워드등으로 만들 경우 이를 변경하고 배포하는게 그리 효율적이지 않고 많은 비용이 드는것 같습니다.(MS Office 기반의 협업도구도 있다고는 들었습니다.)

    또 "요구사항 변경 회의(회의록)"->"요구사항 스펙 수정(변경된 스펙문서)"등 업무로 인한 산출물이 서로 연관이 있을 경우 문서간의 link를 걸어주면 왜 이게 변경이 되었고 변경원인은 무엇인지 손쉽게 관리가 가능합니다.
    (wiki의 문서간 link 기능은 정보를 통합하고 관리하는데 최적의 도구라 생각합니다.)

    현재 사내에서 위키를 문서 작성 플랫폼 및 협업 및 소통의 도구로 잘 활용하고 있습니다.(이메일을 보낼일이 있다면 내용을 위키에 작성후 링크만 이메일로 보냅니다..)

    그간 사내에 위키를 정착하려고 많이 노력을 했었는데 참여도가 저조하고 힘들어 했던 이유중의 하나는 일반적인 wiki 시스템이 사용자 편의성이 떨어진다는 점도 컸던 것 같습니다.

    저도 docuwiki, mediawiki, twiki 등을 써보았지만 괜찮은 WYSIWYG 에디터가 제공되지 않아서 전용 문법을 익히는 부담때문에 사내 적용이 힘들었는데 wiki system 을 바꾸고 예전보다 활용도가 더 많아진 것 같습니다.

  6. Blog Icon
    송재학

    좀 더 고민을 해봐야겠군요.
    일단은 프로젝트에 직접적으로 도입하기 보다는, 지식을 공유하는 용도로 써볼까합니다.
    프로젝트에 도입하는 건 다들 위키에 익숙해지고, 만족스러워한다면 다시 한 번 고려해봐야겠습니다.
    친절한 답변 감사합니다.

소스코드관리시스템 사용도 2차 조사 결과

2010.12.03 13:26 by 전규현


잠시 후 Google blogger로 이동됩니다.





2009년 2월에 이와 동일한 조사를 한 적이 있었습니다.
2009/02/22 - [기반시스템/소스코드관리] - 소스코드 관리 방법 조사 결과

그때도 약 20일간 조사를 했었고, 이번에도 마찬가지로 20일간 조사를 했습니다. 
2009년에는 109명이 참여를 했는데 이번에는 370명이 넘는 인원이 참여를 해서 더 정확한 결과가 나왔을 것으로 기대합니다.


이번 설문의 핵심은 소스코드관리시스템을 사용하는지? 사용하지 않는지? 또, 사용한다면 어떤 시스템을 사용하고 있는지를 알아내는 것이었습니다.

2009년초와 비교를 해보면 꽤 많은 변화가 있었음을 알 수 있습니다.
가장 큰 변화를 요약하면 다음과 같습니다.
  • 소스코드관리시스템 사용률의 향상
  • CVS, VSS의 몰락
  • Git의 약진
  • Subversion(SVN)의 꾸준한 증가
그럼 조사 결과를 살펴 보도록 하겠습니다.

소스코드관리시스템을 사용하고 있는 그룹에서만 통계를 내보면 여전히 Subversion이 압도적인 1위를 차지하고 있고, CVS와 VSS의 사용률이 많이 떨어지면서 Git가 크게 치고 나온 것을 알 수 있습니다. Mercurial의 가세까지 보면 분산소스코드관리시스템에 대한 관심이 많이 높아졌음을 알 수 있습니다.
또한 더 다양한 소스코드관리시스템의 사용을 시도해보고 있는 것이 눈에 띕니다.


소스코드관리시스템을 사용하는 비율도 많이 높아졌습니다. 그동안 책이나 블로그를 통해서 소스코드관리시스템을 사용하지 않고 소프트웨어를 개발하는 것은 기적에 가깝다고 하였는데, 이는 긍정적인 신호로 생각됩니다.
물론 소스코드관리시스템을 사용하고 있는 83%에서도 제대로 사용하고 있는 비율은 극히 낮습니다. 그래도 사용하기 시작한 것만 해도 큰 의미라고 생각됩니다.


많은 발전이 있었음에도 여전히 소스코드관리시스템을 사용하지 않는 개발자나 회사가 많이 있고 그 속에서의 비율은 큰 차이가 없어 보입니다.
소스코드관리시스템을 100%의 개발자들이 사용하고, 또한 제대로 사용할 수 있는 날까지 계속 노력을 합시다. 


저는 수많은 회사에서 소프트웨어 공학/경영 컨설팅을 진행하면서 소스코드관리시스템이 개발 문화를 긍정적으로 상당히 많이 바꾸는 것을 보아 왔습니다. 소스코드관리시스템 없이 소프트웨어를 개발한다는 것은 남들은 총들고 전쟁할 때 돌멩이 들고 싸우겠다는 것과 같습니다. 일단 무기가 있어야 싸움을 시작할 수 있을 것 아닙니까?
그리고 나서야 기술이나 전략이 의미가 있어집니다. 돌멩이 들고 싸우면서 전략을 논할 수는 없습니다.
물론 이와 같이 꼭 필요한 무기들은 몇가지 있습니다. 이런한 것들이 기본은 되어야 글로벌 소프트웨어 회사들과 경쟁이란 것을 생각해 볼 수 있습니다. 그렇다고 물론 경쟁이 된다는 것이 아닙니다. 이제 시작할 수 있다는 것 뿐입니다. 

그리고 나면 진짜 개발 실력, 전략, 마케팅이 필요한 때입니다. 하지만 국내 대부분의 소프트웨어 회사들은 아직 글로벌 경쟁은 생각하지도 못할 수준인데 단순히 요소기술만 가지고 경쟁을 할 수 있다고 착각하는 경우가 많습니다.

이번 조사 결과를 보면서 점점 긍정적인 신호들을 느낍니다. 앞으로 좀 더 깊은 내용들도 풀어 나가도 될 것 같습니다.

조사에 협조해주신 모든 분들께 감사드립니다.

* 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.
image by Cernavoda

저작자 표시 비영리 변경 금지
신고

전규현 기반시스템/소스코드관리 cvs, GIT, SCM, subversion, 소스코드관리시스템

  1. 전규현님 덕분에 개발에있어 다른 시각으로 접근하는 시야를 갖게되었습니다 감사합니다.
    svn사용이익숙해지면 Git도 한번 사용해봐야겠네요

  2. 오산돌구님 안녕하세요.
    그렇게 생각해주시니 고맙습니다. 개발자분들이 좀더 좋은 환경에서 일하게 되는 것이 제 바람입니다.

  3. 안녕하세요. rss추가 해놓고 맨날 눈팅 하던중 주옥 같은 글을 발견 하였네요.

    감사합니다. ^^

  4. 안녕하세요. 이승철님
    반갑습니다.

  5. 음.. 문득 다른분들은 svn 서버를 어떻게 구성해서 사용하는지가 궁금해지네요
    http / https / svn / svn+ssh 이런 여러가지 설정방법이 있다 보니 말이죠 ^^;

  6. 안녕하세요. 구차니님
    SVN 서버를 구성하는 방법은 간단하기도 하지만, 제대로 하려면 매우 복잡합니다.

    1. 말씀하신 것과 같이 Protocol을 정해야 합니다.
    2. Repository를 어떻게 나눌 것인지 정해야 합니다.
    3. Repository 내의 디렉터리를 어떻게 구축해야 하는지 정해야 합니다.
    4. 각 Repository내의 디렉터리에서 권한을 어떻게 부여해야 할지 정해야 합니다.

    이 중에서 가장 어려운 것이 2,3번입니다. 특히 3번은 잘못 구축하는 경우가 태반이고, 한번 잘못 구축하면 다시 복구하는 것은 대단히 어렵습니다.
    디렉터리의 구조는 빌드 스크립트와 연관이 있어서 다시 고치는데는 대단히 노력과 비용이 듭니다.
    디렉터리 구조는 회사마다 다르며 잘못 구축하면 비효율성이 계속되며 비용을 지불해야 합니다.
    제대로 디렉터리를 구축하려면 SVN의 사용방법도 제대로 알아야 하고 회사의 미래 개발 전략도 어느정도 이해를 해야 가능합니다.

    이중에서 1번인 프로토콜은 꽤 쉬운 편입니다. 왜냐하면 나중에 요구사항이 바뀌면 바꾸기가 쉽기 때문입니다.
    SVN은 기본적으로 자체서버에서 svn://을 지원합니다. 그리고 웹서버와 연동해서 http:// https://를 지원합니다.
    그리고 ssh에 svn을 얹어서 쓸 수도 있습니다.

    웹브라우저로 보기도 원하는지? 철저한 보안을 원하는지? 편리하고 간단하게 쓰고 싶은지? 속도가 매우 중요한지?에 따라서 정하면 됩니다.

  7. Blog Icon
    csj

    저도 개인 피씨에 보관하던 사람이었죠 ㅎㅎ
    블로그 글 덕분에 버전 시스템을 알게 되었고, 설치하여 프로젝트에 많은 도움이 되고 있습니다.

    하지만, 스포츠에 비유한다면, 이제 겨우 기초 체력을 갖추기 시작한 거라 해야 할까요
    진짜 경쟁은 지금부터겠죠
    여하튼 앞으로도 좋은 글 많이 부탁 드립니다.

  8. 안녕하세요. csj님
    맞습니다. 기본적인 시스템을 갖추지 않고 개발을 하는 것은 사냥을 맨몸으로 하는 것과 같습니다. 창이나 활, 총을 갖춰야죠.
    이제 무기는 생겼습니다. 무기를 갖추는 것은 시간이 얼마 안걸립니다. 하지만 무기를 잘 쓰는데는 시간이 좀 걸립니다.
    또한 사냥을 더 잘하려면 무기를 잘 쓰는 방법 뿐만 아니라 자연을 이해야 하고 동물의 습성등 다른 기술들도 필요하고 팀웍도 필요합니다.

    이제 기초를 갖추신 겁니다. 비록 요소기술이 뛰어나다고 해도 소프트웨어 공학에서 다루는 프로세스, 툴, 분석, 리뷰, 설계 등의 실력을 갖추지 않으면 소프트웨어를 개발하기가 점점 어려워 집니다.

    앞으로 좋은 정보를 많이 공유하도록 하죠.

  9. 전규현님 안녕하세요. 이번주에 git에 대해서 팀내 발표를 하게 되었습니다.
    제가 어떻게 하는지에 따라서 팀내 적용을 할지 말지 정하는 상황입니다.
    현재 팀내 분위기는 git을 사용하기 위해 배우는 비용과 git 사용함으로써 생기는 이득을 따져서 적용해보자~ 하는분위기입니다.

    근데 한가지 문제점은 제가 git이나 svn을 사용하는데 저 혼자만 사용해서 여럿이 사용할때의 이점을 제대로 깨닫지 못한 상태입니다. 그저이론적으로만 알고있죠. . .

    사용하면서 어떤 예로 이득을 보는지 알고싶습니다. 아직 처음 단계라 경험이 부족해이런 질문 드린거 죄송합니다;;

  10. 오산돌구님 안녕하세요.
    제가 쓴 "소프트웨어 개발의 모든 것"의 개정판에 중앙집중식SCM과 분산SCM의 비교가 있으니 참조하시면 좋을 것 같습니다.
    특별히 분산 관리의 목적이 아니라면 SVN이 더 관리하기 편합니다.
    서로 연동도 되니 필요에 따라서 연동해서 사용하는 방법도 있습니다.

블로그 호스팅을 Google Blogger로 이전합니다.

최근에 블로그에 보안 문제가 발생하여 좀더 안정적으로 블로그를 운영하기 위해서 Google Blogger로 이전합니다. 기존에 http://allofsoftware.net 과 http://www.allofsoftware.net..

한국어(한글) 코드 이야기 (8)

유니코드에 대해서 좀더 알아보기 전에 한국어 코드(문자세트)와 인코딩에 대해서 좀더 알아보자. 1991년에 유니코드가 탄생한 후에 유니코드는 점점 많은 개발자들이 사용하기 시작해서 영역을 넓혀가고 있다. 물론 언젠가는 유니코..

유니코드 영토 전쟁의 승리자는? (7)

이번에는 유니코드의 코드 체계에 대해서 간단하게 알아보고자 한다. 소프트웨어 국제화를 필요로 하는 개발자라면 자주는 아니지만 유니코드 내부 코드 체계를 알아야 할 때가 있다. 다양한 플랫폼에서 개발을 할 때 폰트 등과 관련하..

유니코드는 어떻게 탄생했을까? (6)

소프트웨어 국제화를 이해하기 위해서는 유니코드에 대해서 필수적으로 잘 알아야 한다. 유니코드란 말을 들어보지 않은 개발자는 없지만 관련 용어가 매우 많아서 종종 헷갈린다. 게다가 유니코드가 탄생한지 20년도 더 넘었지만 아직..

직원을 잠재적인 도둑 취급하는 회사

필자는 몇 년 전 A그룹에 강연을 하러 갔다가 곤란한 일을 겪은 적이 있다. 한국 대부분의 대기업이 그렇듯이 보안이 매우 엄격한 회사였다. 나는 직원들의 안내대로 메모리, 외장하드를 모두 빼놓고 회사로 들어갔다. 하지만 강연..

외국에서 팔리는 소프트웨어의 아키텍처 디자인 원칙 (5)

김과장은 그 동안 한국어만 지원하는 소프트웨어 A를 개발해 왔는데 최근에 사장님이 A의 일본어 버전을 만들라고 했다. 그리고 개발 기간도 한달 밖에 주어지지 않았다. 그래서 기존 소스코드를 복사해서 한국어가 들어 있는 모든 ..

소프트웨어 개발자 성장에 꼭 필요한 리뷰

우리나라 개발자들은 프로그래밍은 잘 하는데 대접을 못 받는다는 얘기가 있다. 또, 머리는 좋은데 환경이 나쁘다는 얘기도 있다. 젊은 개발자들은 외국의 개발자들에 전혀 뒤지지 않는데 나이를 먹을수록 실력이 떨어진다는 얘기도 있..

외국에 출시한 소프트웨어가 날짜 때문에 낭패 본 사연 (4)

10년차 개발자인 김과장(가상의 인물)은 최근에 소프트웨어를 영어를 지원하도록 만들었다. 어플리케이션에서 표시되는 모든 메시지(메뉴, 버튼, 다이얼로그 등)를 영어로 번역했다. 그렇게 해서 영어버전을 출시했는데 얼마 안 가서..

독일어 버전 소프트웨어란 말이 잘못된 이유 (3)

본 시리즈는 차례대로 읽으면 소프트웨어 국제화가 전체적으로 이해가 되어서 소프트웨어 개발자에게 도움이 되는 방향으로 진행하려고 하고 있다. 개발자마다 지식과 경험이 천차만별이라서 초급 개발자를 기준으로 작성하고 있다. 경영자..

소프트웨어를 외국에 출시 하면서 흔히 빠지는 함정 (2)

우리나라 소프트웨어 중에서 외국에서 크게 성공했다고 하는 소프트웨어가 있는가? 온라인 게임을 제외하고는 거의 없다. 사실 게임은 국제화, 지역화를 잘 못하더라도 큰 흉이 안 된다. 하지만 그 외의 많은 소프트웨어들은 제품이든..

티스토리 툴바