버전 관리라는 단어를 살펴봅니다.


안녕하세요.
고코더 입니다.


이전 강의에서 버전관리라는 의미를 설명해달라는 분이 계서서 글을 씁니다.
IT 종사자 특히 개발자들 사이에는 버전관리는 매우 중요합니다. 그리고 자주 듣는 단어입니다.
그만큼 중요합니다. 하지만 실무 경험이 없는 학습자일 경우 약간 애매한 느낌이 있을거 같습니다.



버전관리란?


좀 더 단순하게 정의하자면 이렇습니다.

시스템에서 파일의 변화를 기록해두었다가 특정 시점으로 다시 돌아갈 수 있는걸 말합니다. 
다시 말해 데이터의 과거와 현재 상태를 괸리합니다.
그런데 버전관리는 꼭 개발자를 위한 것만은 아닙니다. 
데이터가 있는 모든 플랫폼에서 적용 가능합니다.



에버노트에도 버전관리


 제가 사용하는 노트 프로그램인 에버노트는 프리미엄을 결제한 고객에게는 버전 관리를 제공합니다. 저는 오타가 많은 편이라 글을 작성하다가 모르고 한 단락을 통으로 지우거나 잘못 편집하여 순서가 뒤죽박죽이 될때가 있습니다. 그럴땐 자신있게 변경내역에 가서 내가 원하는 시점으로 돌리고는 합니다. 서버와 동기화 할때마다 버전을 그대로 저장해둡니다. 노트 하나에 백업 파일이 많네요.



게임으로 비유한다면


우리가 하는 게임도 사용하는 방법에 따라 버전 관리를 하게 됩니다. 
RPG 싱글플레이 게임을 하다보면 수시로 세이브를 합니다. 
파일 이름은 이런식으로 하겠죠.
"1. 처음 보스 만나기전, 2020년 1월 1일"
"2. 중간 보스 만나기전, 2020년 1월 2일"
"3. 최종 보스 만나기전, 2020년 1월 3일"

무언가 퀘스트를 잘못 이루었거나 캐릭터가 죽을걸 대비하여서 여러개의 파일을 만들어놓습니다. 
이런 활동이 바로 버전 관리입니다. 



버전 관리 방식은 크게 두가지로 나뉩니다.


이전에 설명한 글이 있지만 이번에는 개발자가 아닌 분을 위해 더 쉽게 설명드리겠습니다. 

1. 서버 의존형, 서버와 클라이언트가 연결된 방법
 이 방법은 서버에 파일을 의존하는 방식입니다. 클라우드 서비스를 씁니다. 어제 찍은 사진을 온라인에 올려두고 스마트폰에서는 지웁니다. 그런데 다음날 클라우드 시스템이 망가졌다고 합니다. 그럼 이제 파일은 찾지 못합니다. 서버를 중앙에 두고 사용하는 이 방식은 분산형 이전에 많이 사용하던 방식입니다. 

2. 분산형, 모든 클라이언트가 저장소를 갖는 방법
 서버에 저장된 파일은 나에게도 동일하게 가지고 있습니다. 그리고 내 스마트폰에도 가지고 있고 학교에 있는 노트북에도 가지고 있습니다. 이런 방식을 분산 모델이라고 합니다. 3개의 장치에서 동기화 되어 있으므로 3개가 동시에 마비되지 않는 이상 파일을 잃어버릴 일은 없습니다. 



마무리


버전 관리는 많이 생각하고 알아볼수록 좋은 이론입니다. 


댓글을 달아 주세요


레파지토리 생성하기


안녕하세요.
고코더 입니다.


저장소(Repository)란?
영어 뜻 그대로 저장소를 말합니다. 소스 파일과 폴더를 저장하는 공간입니다.

 1. 깃허브를 가입했다면 repository를 생성 할 수 있습니다.  
로그인 후에 깃허브에 접속하면 오른쪽 위에 메뉴에소 New repository를 선택합니다. 


 2. 레파지토리에서 생성화면입니다. 

1. Repository name
    - 저장소 이름을 정합니다. 레파지토리는 프로젝트명이 됩니다. 내 깃허브 주소 뒤에 프로젝트명이 붙습니다.
2. Description
    - 저장소에 대한 설명을 입력합니다. 프로젝트에 대한 설명을 기록합니다.
3. Publc, Private 
    - 저장소에 대한 권한을 설정합니다. 공개(public)를 하면 모든 사용자가 볼 수 있고, 비공개(Private)를 하면 나와 내가 지정한 사용자만 볼 수 있게 됩니다.
4. Initialize this repository with a README
    - 해당 프로젝트를 설명하는 MD 마크다운 파일을 만드는 옵션입니다. 체크하면 자동으로 레파지토리에 .MD 파일을 생성합니다.


 3. 생성이 완료되면 깃허브 주소가 나타납니다. 
기초 저장소 생성이 완료 되었습니다. 







댓글을 달아 주세요


github 무료 가입하기


안녕하세요.
고코더 입니다.



깃허브를 가입하는 방법을 알아보겠습니다. 소스 공개일 경우에만 무료 정책이었지만 마이크로 소프트가 인수 한 후에는 비공개로 할 경우에도 무료로 변경되었습니다.

 1. 가입을 위해 해당 url로 이동합니다. 
해당 화면에서 가입을 위한 계정을 입력합니다. 

1. 깃허브 사용계정
    - 계정은 깃허브에 URI로 사용 됩니다. 
2. 이메일 주소 
    - 가입 이메일을 입력합니다. 인증 메일을 확인하는 용도와 비밀번호를 찾는 등으로 활용 됩니다.
3. 비밀번호
    - 특수문자와 숫자가 포함된 8자 이상 15자 이하를 생성합니다.


 2. 가입을 완료하면 사용 방법을 선택합니다. 개인은 무료로 사용해도 충분하고
나중에 유료로 변경이 가능합니다. 



 3. 사용자 플랜까지 정해지면 간단한 설문조사를 합니다. 설문을 모두 완료 하면 



 4. 마지막으로 이메일을 설정하면 모든 설정이 마무리 됩니다. 



마무리


무료입니다. 원하는 레파지토리 주소를 위해 가입을 먼저 해두세요.



댓글을 달아 주세요


깃허브 마스코트 만들기


안녕하세요.
고코더 입니다.


깃허브 마스코트인 고양이 얼굴에 문어 몸인 옥토캡을 변경하여 만드는 사이트가 있습니다.


 1. 해당 URL로 이동하면 각 부위별로 선택하여 나만의 캐릭터가 완성 됩니다.
저도 저만이 옥토캡을 만들어 봤는데요. 이게 뭐하나 싶네요


 2. 다른 사용자가 만들어놓은 캐릭터를 확인 할 수 도 있습니다.



마무리


가끔 심심할때 머리 식히는 용도로 만들기에는 또 코딩 관련이네요


댓글을 달아 주세요


Distributed Version Control System 이란?


안녕하세요.
고코더 입니다.

오늘은 깃(Git)이 사용하고 있는 분산관리시스템에 대해 알아보려고 합니다. 
대표적인 시스템으로는 Git, Mercurial이 있습니다. 


Git이 사용하는 분산 버전 관리 시스템이란?


 기존의 SVN은 소스 관리를 위한 중앙 서버를 두었습니다. 하지만 Git은 내 컴퓨터가 저장소입니다. 그리고 다른 사람과 공유해 한다면 저장소에 푸쉬(push)를 하면 저장소를 공유하게 되는 방식 입니다. 이런 방식을 분산 버전 관리 시스템이라고 부릅니다. 





분산 버전 관리 시스템의 장점은?


SVN을 사용하던 많은 기업들은 Git으로 이동하는 추세입니다. 확실한건 분산 관리 버전의 장점이 훨씬 많기 때문입니다.

장점을 살펴보자면 

- 중앙서버의 문제가 있어도 클라이어트 PC의 소스를 통한 원상 복구가 가능합니다.
- 여러명이 동시에 작업하는 병렬 개발이 가능합니다.
- 프로젝트를 모두 복사해와 로컬 환경에서 마음것 테스트 할 수 있습니다. 

단점은 SVN과 깃을 써오던 입장에서는 이 분산형 시스템에서 단점을 찾아보기 어렵습니다. 프로젝트를 항상 통으로 가져오기 때문에 용량에 압박이 있다 정도?


마무리


깃은 이 분산형 시스템에 고유의 장점까지 더했습니다.


댓글을 달아 주세요


깃허브 사이트는?


안녕하세요.
고코더 입니다.


오늘은 깃허브(Github)을 알아보려고 합니다. 우선 단어 차이에 대해 설명을 하자면 Git은 분산 버전 관리 툴을 지칭하는 것이고 GitHub는 이를 사용해 프로젝트릴 지원하는 웹호스팅을 제공하는 업체를 말합니다. 


 1. 깃허브는?


루비의 MVC 패턴의 웹프레임워크인 루비 온 레일즈(Ruby on Rails)로 개발된 웹사이트 입니다. 
2008년 1월에  톰 프레스턴워너(Tom Preston-Werner), 크리스 완스트래스(Chris Wanstrath), 피제이 하이엣(PJ Hyett)이 공동 설립한 회사입니다. 
본사는 샌프란시스코에 있습니다. 



 2. 마이크로 소프트에 품에 안기다


 개발자가 아닌 친구들 까지 깃허브란 단어를 알고 있는거 보면 어느새 인지도가 높은 시스템이 되어 있습니다. 그리고 코딩 교육이  보편화 되면서 소스를 관리하는 방식이 두각 되었습니다. 그리고 마이크로 소프트사가 깃허브(Github)사를 75억 달러(8조원)에 인수하면서 덕분에 소스 저장 방식에 따른 유료 정책이 무료로 전환되면서 더 많은 사람들이 사용 가능하게 되었습니다. 


깃허브가 개발한 아톰까지 MS 소유가 되면서 VS CODE와 라인업이 겹치는 사건이 발생했습니다.



옥토캣 (Octocat)


얼굴은 고양이고 몸은 문어인 이 캐릭터는 깃허브를 나타내는 마스코트 옥토캣(Octocat) 입니다. 
이 귀여운 모습대문에 더 깃을 기억하는 분들이 많을거라 생각합니다.


아래에 사이트에 가면 나만의 옥토캣을 만들 수 있습니다.



3. 라이벌 GitLab 


현재 git을 사용하여 저장소를 서비스 하는 대표적인 사이트는 GitHub, Bitbucket, Gitlab 등이 있습니다.
오픈소스에 대명사이면서 가장 많은 유저가 사용하는건 당연히 GitHub입니다.
하지만 기업에서는 GitLab도 많이 사용하는 추세입니다. 

gitlabì ëí ì´ë¯¸ì§ ê²ìê²°ê³¼

깃랩은 설치형을 제공하여 Priavate 한 형태의 깃을 운영할때에 가장 효율적입니다. 
특히 대기업에서는 이런 형태가 매력적이기 때문입니다.



마무리


학습을 위한 혹은 개인프로젝트를 위한다면 깃허브를 사용하시는걸 추천합니다.







댓글을 달아 주세요


깃허브데스크탑에서 파일을 생성하여 Upload


안녕하세요.
고코더 입니다. 


깃허브데스크탑에서 소스를 생성하여 레파지토리로 업로드 하는 방법을 알아보겠습니다.
가장 중요하지만 가장 기본이 되는 기능입니다.


 1. 레파지토리가 선택 되었다면 기본 메뉴에 "show in Explorer"를 클릭하면 로컬 레파지토리로 탐색기가 실행 됩니다.


 2. 해당 폴더에 index.html 파일을 생성하였습니다. 


 3. 이제 깃허브 데스크탑에 가면 index.html 파일이 캐치되어서 리스트에 나타났습니다. + 모양의 아이콘은 추가된 파일을 말합니다.
아래에 Commit to master를 클릭 합니다. 여기서 "master"는 브런치를 뜻합니다. 


 4. 아직 파일이 업로드 되지 않았습니다. 그럼 변경 사항이 오른쪽 위 Push origin에 나타납니다. 이곳을 클릭하여도 되고
그리고 Push origin을 클릭 합니다. 


 5. 그러면 서버에 파일이 업로드 됩니다.



 6. History탭에서는 업로드된 파일의 이력을 확인 할 수 있습니다.



마무리


소스 파일을 내 컴퓨터에서 개발하고 깃에 업로드 하는 과정입니다.


댓글을 달아 주세요


깃허브데스크탑 Repository create


안녕하세요.
고코더 입니다. 


기존 소스트리나 커맨드로 입력 가능했던 부분들이 공식 프로그램이 출시되면서 깃을 이용해 더 쉽고 빠르게 다양한 작업들이 가능합니다.
이번 시간에는 가장 기초인 깃허브 데스크탑을 이용해서 깃에 레파지토리를 생성해보겠습니다.



 1. 깃허브 데스크탑을 실행 후에 "Create a new Repository on your hard drive"를 클릭 합니다.


 2. 팝업창이 뜨면 여기서 새로운 레파지토리를 생성합니다. 원하는 이름과 또 로컬에 저장 폴더를 지정해야 합니다.


 3. 그럼 잠깐의 로딩 과정이 생기고 완료가 됩니다.


 4. 로컬 폴더로 접근하면 숨긴 처리된 폴더 .git과 함께 기본 파일이 생성됩니다. 


 5. 그럼 프로그램은 이제 저희가 만든 레파지토리 중신으로 메뉴가 보입니다. 
메인에서 보이는 파란버튼 Publish repository를 클릭 합니다. 


 6. 팝업창에서 다시 Publish repository를 클릭해서 온라인 레파지토리에 commit을 처리합니다.



 7. 그리고 깃허브를 접속하면 이제야 test 레파지토리가 정상적으로 로그인된걸 확인 가능합니다.



마무리


소스트리에 비해 더 안정적인 느낌이 좋네요.


댓글을 달아 주세요


깃허브 데스크탑 어둡게 사용하기 dark theme


안녕하세요.
고코더 입니다.


깃허브 데스크탑에서도 당연히 다크테마는 존재하였습니다. 혼자서 밝은 빛을 내는 프로그램으로 남았으면 사용하기 부담스러웠을텐데요. 참 다행입니다.


 1. 깃허브 데스크탑을 실행하고 메뉴바에서 File -> Options를 클릭 합니다. 


 2. 그리고 Appearance 탭에서 Dark (beta)를 선택하면 즉시 어둡게 테마가 변합니다. 


 3. 그리고 제가 좋아하는 아주 어둡고 눈이 편한 색상으로 변경 되었습니다.




마무리


모든걸 어둡게 어둡게


댓글을 달아 주세요


깃허브 데스크탑 git 설치 오류 메세지


안녕하세요.
고코더 입니다.


 1. 깃허브 데스크탑 설치를 먼저 따라오시는 분들 중에는 커맨드 프롬프트를 실행하는 분들은



 2. 이런 메세지에서 당황하시는 분들이 있을 것 입니다. 깃을 설치 하지 않은 분들이 커맨드라인을 실행 할때 나타나는 메세지 입니다.
깃을 설치하시면 정상적인 사용이 가능합니다. 
We were unable to locate Git on your system. This means you won't be able to execute any Git commands in the command prompt. 
To help you get Git installed and configured for your operating system, we have some external resources available.


 3. 깃허브 데스크탑은 깃을 다루는 프로그램입니다. 깃이 포함되어 있지 않습니다. 
아래 링크를 통해 git을 설치해주세요.
->


마무리

컴퓨터 2대에서 개발하다 보니 깃도 설치 안되어 있는지 몰랐네요.


댓글을 달아 주세요