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 한 형태의 깃을 운영할때에 가장 효율적입니다. 
특히 대기업에서는 이런 형태가 매력적이기 때문입니다.



마무리


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







댓글을 달아 주세요


Deno Hello을 작성해보자


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


 1. 라이언달의 자바스크립트 엔진으로 개발한 새로운 언어 Deno를 이전 시간에 살펴보았습니다.

 2. 이번 시간에는 Deno 각종 레퍼런스 자료를 보면서 만들어본 Hello 소스를 살펴보려고 합니다.
물런 서버를 셋팅한 상태가 아닌 참조 자료를 통해 작성해본 소스입니다.
윈도우 설치버전이 나온다면 서버 설정을 다루면서 해당 소스를 다시 리뷰해보려고 합니다.


 3. Deno에서 작성된 Hello Deno 입니다. 가장 큰 특징 몇 가지가 눈에 들어옵니다.
1
2
3
4
5
6
7
8
9
10
import { serve } from "https://deno.land/std@v0.3.2/http/server.ts";
 
const start = async () => {
  const body = new TextEncoder().encode("Hello, Deno!\n");
  for await (const req of serve(":8080")) {
    req.respond({ body });
  }
};
 
start();
cs

 4. 소스를 한번 살펴보겠습니다.

1번라인 
    - URL 형태의 참조가 보입니다. 기존에 node_module에서 다운받은걸 require 형태로 가져오는게 아니라 직접 URL을 입력합니다. 서버 실행시에 해당 URL에 있는 파일을 자동 설치하게 합니다. 

3번 라인 
    - promise 도입으로 무한 지옥의 콜백을 해결할수 있는 async, await를 기본으로 사용할 수 있게 해주었습니다. 

10번 라인
    - 서버 실행을 start 라는 변수에 담아 실행 가능합니다. 


마무리


기존에 아쉬운 부분을 개선한 node.js라고 보면 될거 같습니다.


댓글을 달아 주세요


VSCODE 윈도우 버전의 두가디 다운로드


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

 1. VS CODE를 다운받는 페이지에서 윈도우 버전을 보게 되면 두가지 버전이 나타나게 됩니다. 


 2. 이 버전은 쉽게 설명하면 아래와 같습니다. 유저 버전은 현재 사용자만 설치 가능한 버전이고
시스템버전은 해당 컴퓨터에 모든 사람이 사용 가능합니다. 
요즘 대부분 1인 1PC인 경우가 많으니 시스템 버전을 설치해서 공용 버전으로 사용하는걸 추천드립니다.
User Installer
System Installer
설치하고 있는 현재 윈도우 사용자 계정만 사용 가능 공통 PC를 사용 중일 때
모든 윈도우 사용자가 사용 가능 개인 컴퓨터라면 이 버전을 설치하는걸 추천


 3. 다운로드시에 파일 이름이 user가 들어가면 유저버전이고 없는게 시스템 버전입니다.



마무리

역시 윈도우를 만든 MS다운 배포 버전입니다.



댓글을 달아 주세요


노드js 는 그저 삭제만 하면 되요


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


노드JS를 윈도우에서 제거 하는 방법을 문의 하는 독자가 계셔서 남깁니다.
언어를 제거 하는 과정을 복잡하게 생각하는 경우가 많습니다. 하지만
대부분의 프로그램들은 삭제시에 자동으로 모든걸 정리해줍니다.
오라클19처럼 삭제가 어려운 프로그램도 있어서 그런지
-> Oracle - 19c 버전 오라클 삭제하는 방법



프로그래밍 삭제에 대해 어렵게 생각하는 분들이 계시네요

 1. 제어판 프로그램 삭제에서 node.js를 제거합니다.


그럼 자동으로 윈도우에 모든 설정을 정리합니다. 


 2. 노드 서버가 실행중이라면 이런 창이 뜨지만 기본 설정된 값을 선택하면 서버를 off 후에 알아서 삭제합니다. 


 3. 삭제를 진행합니다. 윈도우에 설정 정보까지 삭제합니다. 생각보다 시간이 조금 걸리네요.


 4. 삭제 후에 node 명령어를 실행해도 아무것도 나타나지 않습니다. 



마무리


모든지 물어봐주세요


댓글을 달아 주세요


visual studio code reset


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


비주얼 스튜디어 코드는 재설치를 하여도 이전 설정이 그대로 남아있습니다.
메뉴에도 초기값으로 되돌리기도 없죠. 
코드를 완벽히 지우고 설치하면 초기상태로 돌아가게 됩니다.



설정 값 폴더를 삭제


 1. 삭제 -> C:\Users\사용자명\.vscode 


 2. 삭제 -> C:\Users\사용자명\AppData\Roaming\Code



프로그램 삭제후 재설치


 3. 이제 프로그램 삭제에서 코드를 삭제합니다.


 4. 이제 재설치를 진행하면 


 5. 처음 상태로 변경된 비주얼 스튜디오 코드를 볼 수 있습니다.




마무리


초기화는 필수인데 기능을 만들어줬으면


댓글을 달아 주세요



젯브레인 웹스톰 설치


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


JavasScript 를 개발하는 가장 강력한 IDE인 웹스톰을 설치해보려고 합니다. 
제 개인적인 생각으로도 Node.js 를 코딩시 개발자를 가장 편하게 만들어주는 도구입니다. 
많은 분들이 경험하지 못하는 이유가 가격이 유료라는 점입니다. 

하지만 30일 트라이얼 기간이 있으니 사용해보시길 추천합니다.


 1. 해당 젯브레인 홈페이지 URL에 접속합니다. 그럼 해당 화면에서 다운로드 버튼을 확인 가능합니다. 


 2. 다운로드 받은 파일을 실행합니다. 



 3. 이제 설치를 진행하겠습니다. 젯브레인 프로그램은 그저 다음 다음만 눌러주면 되죠.
역시 이 화면에서 Next를 눌러서 진행하시면 됩니다. 


 4. 설치 폴더를 설정합니다. 기본 폴더 위치를 정했습니다. 


 5. 설치 옵션이 잇습니다. 기본 그대로 next 를 클릭하겠습니다. 추후에 바꿀 수 있습니다.


 6. 프로그램 start 메뉴 이름을 정합니다. 


 7. 설치 완료후 해당 프로그램을 실행합니다. 



 8. 웹스톰이 설치가 완료 되었습니다. 




마무리


설치는 쉽죠?


댓글을 달아 주세요


파일을 브라우저에서 미리보기 


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


브라켓은 해당 수정중인 파일을 실시간으로 미리보기 할 수 있는 기능을 제공 합니다. 

 1. 브라켓을 실행 한 후에 오른쪽 위에 번개(?)표시 아이콘을 클릭 합니다. 현재 저는 index.html 을 수정 중 입니다. 


 2. 그럼 컴퓨터에 임의에 포트로 해당 페이지를 보여줍니다. 


 3. 그리고 파일을 수정하면 브라우저에도 실시간으로 수정중인 소스에 내용을 즉시 보여줍니다. F5눌러 새로고침 하지 않아도 되는 편리함이 있습니다. 



 4. 그리고 파일에서 프로젝트 설정을 클릭 합니다. 


 5. 해당 프로젝트 설정 창에서 실시간 미리보기를 원하는 URL을 입력하면 실시간 미리보기시에 해당 페이지로 연결하여 오픈하게 됩니다.


 6. 브라켓이 생성하는 주소 대신 실제로 개발중이 서버에 주소를 입력하시면 됩니다.



마무리


있을 건 다 있습니다.



댓글을 달아 주세요


할 수 있다면 웹스톰으로 개발 하는게 어떨까요?


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



Node.js에 등장으로 JavaScript 개발을 위한 IDE들이 다시 주목 받고 있습니다. 
공룡 IT 기업들은 이미 저마다 무료로 사용가능한 개발 프로그램들을 제작하여 배포하고 있습니다.
이런 레드오션 시장에서 유료 정책으로 성공한 웹스톰에 대해 이야기를 나누려고 합니다. 


1. 기존에도 훌륭한 무료 IDE 시장
자바스크립트를 개발 할 수 있는 프로그램은 많습니다. 급할때는 메모장을 사용 할 수 도 있고 강력한 기능을 갖춘 무료 프로그램도 많습니다. MS사에 비주얼 스튜디오 코드, 깃허브에 아톰, 어도비에 브라켓등 선택 사항은 넓고 풍족합니다. 실제로 많은 개발자와 기업에서는 이 프로그램들을 도입하여 부족함 없이 자바스크립트를 개발하고 있습니다. 

2. 완벽함을 추구하는 젯브레인사에 IDE
하지만 개발자를 완벽히 지원하는 IDE 툴은 젯브레인사에 웹스톰이 아닐까 생각합니다. 
낯선 나라 체코 프라하에 있는 이 회사는 개발 프로그램을 전문적으로 만들어내는 소프트웨어 회사 입니다. 
이들이 만들어낸 IDE들은 개발자를 이해하는 지능적은 코드 어시스턴트, 높은 완성도와 안전성 그리고 개발자를 지원하는 편의성이 상당합니다. 10여년 가까이 이클립스와 아톰등에 만족하며 쓰다 리뷰를 위해 젯브레인사에 IDE를 쓰고 저도 매니아가 된거보면 분명 매력적인 도구 입니다.


3. 비싼 구독료
하지만 주변을 살펴보면 아직 웹스톰을 사용하는 개발자를 많이 볼 수는 없습니다. 이유는 가격이 매우 비싸기 때문입니다. 1년에 약 15만원 정도 구독료를 내야 합니다. 물런 학생 무료 라이센스나 스타트업 할인등 다양한 프로모션이 존재하지만 평범한 개인 개발자들에게 구독료 지출 부분은 쉽지 않은 선택 입니다. 기업에서도 이미 이클립스와 아톰과 같은 대표적인 무료 IDE가 있는데 돈을 쓰고 싶지 않기 때문입니다. 

4. 그래도 웹스톰을 추천하는 이유
좋은 IDE는 좀 더 빠르게 코딩을 할 수 있게 합니다. 불필요한 시간을 줄이게 함으로 같은 시간동안 더 많은걸 개발하고 공부하게 합니다. 
예를 들면 큰 따옴표 안에 따옴표를 입력해야 한다면 웹스톰은 붙혀넣기를 하면 자동으로 알아서 스트링을 완성해줍니다. 만약 다른 IDE였다면 따옴표 안에 특수문자를 넣기 위해 여러번에 디버깅을 하면서 시간을 낭비하게 합니다. 물런 이런 디버깅이나 오류를 만들어 내는 것도 개발 학습안에 들어가지만 IDE가 코딩 비서와 같은 역할을 해준다면 더 가치 있는 곳에 시간을 투자 할 수 있습니다. 
해당 변수가 어디에 속해 있는지 소스를 하나씩 열어보는게 아니라 F3키 한번이면 자동으로 포커스가 이동 되는건 게으름이 아니라 스마트한 개발자 입니다.

그리고 가장 최신 트렌드에 IDE를 만나보는 것 역시 개발자가 해야할 학습이라 생각합니다.



마무리


5. 회사 정책에 맞는 IDE 사용하는게 맞다.
이번 시간에 웹스톰을 사용해야 한다고 말했지만 회사 정책이 무료 IDE를 사용하는 분위기라면 의사소통을 위해 동일한 프로그램을 쓰는 것이 맞습니다. 팀 프로젝트는 나 혼자 코딩을 잘하는걸 뽐내는 자리가 아니라 팀워크로 프로젝트를 완성하는게 목적 입니다. 웹스톰이 가장 좋은 효율을 내고 프로젝트를 단축시킬 수 있지만 비싼 구독료라던지 내부 레퍼런스가 특정 IDE에 맞게 설계된 경우 등 저마다에 이유로 필요한 IDE가 있기 마련입니다. 



댓글을 달아 주세요


설치 없이 쓰는 브라켓 portable


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


브라켓를 포터블로 사용할 수 있게 만든 프로그램을
어떤 개발자가 깃을 통해 배포 중입니다.

 1. 해당 URL로 접속하여 exe로 되어 있는 프로그램을 다운로드 해주세요.


 2. 첨부파일로도 올려 드립니다.(압축해제된 버전)

 3. 깃에서 다운로드 받은 파일을 실행하면 압축을 푸는 과정이 필요 합니다. 설치는 아니에요.


 4. 압축이 풀린 폴더에서 exe를 실행하면 포터블로 브라켓이 실행 가능합니다. 




마무리


포터블 좋아하는 분들에게는 좋겠네요.


댓글을 달아 주세요