포스트464 [Git] github 위키 기능 및 사용법 소프트웨어 프로젝트에서 소스코드만큼 중요한 것이 개발문서다. 굳이 포스트를 할애하면서까지 개발문서의 중요성을 언급하지 않아도 개발문서의 중요성은 모두들 공감할 것이다. 특히 프로젝트의 규모가 클 수록, 프로젝트의 복잡도가 높을 수록, 프로젝트에 참여하는 멤버가 많을 수록 개발문서의 중요성은 커진다. 잘 작성된 개발문서는 커뮤니케이션 비용을 줄여주고, 버그를 생성할 가능성을 낮춰준다. 하지만 개발문서의 가장 큰 단점이 있었으니 바로 귀차니즘이다. 개발문서를 작성하는 일은 귀찮다. 개발자는 본능적으로 문서작성보다는 코딩을 좋아한다. 따라서 개략적인 설계안이 나오면 바로 코딩에 들어간다. 열심히 집중해서 코딩을 끝 마치고나면 개발문서 작성은 숙제로 남아있게 된다. 방학동안 신나게 놀고, 개학이 다가오면 남아있.. 2021. 11. 7. VS Code 웹 버전 서비스 'vscode.dev' 많은 개발자들이 사용하는 Visual Studio Code가 웹버전 서비스를 오픈했다. 별도의 설치 없이 웹 브라우저로 VSCode 웹 서비스에 접속해서 VSCode의 경량화 버전을 실행할 수 있다. 별도의 설치 없이 https://vscode.dev 주소로 접속하면 바로 VSCode와 비슷한 인터페이스의 에디트 서비스를 사용할 수 있다. 특히 'File System Access API'를 지원하는 크롬이나 엣지 같은 브라우저를 사용한다면 로컬에 있는 프로젝트 파일을 웹브라우저로 열어서 작업을 할 수 있다. File System Access API를 지원하지 않는 브라우저의 경우 수동으로 파일 업로드와 다운로드를 해서 코드를 수정할 수 있다. 특히 vscode 웹에서 깃허브 저장소의 코드에 접근해서 작업.. 2021. 11. 2. [Github] Git LFS (Large File Storage) 사용법 깃(git)은 분산 버전 컨트롤(Distributed Version Control) 시스템 중 가장 인기를 끌고 있는 프로그램이다. 소스코드에 대한 버전 관리를 하기 때문에 수 많은 작은 파일들의 버전을 관리하는데 최적화되어 있다. 하지만 프로젝트가 큰 용량의 파일을 포함하고 있는 경우에는 굉장히 비효율적이 된다. 특히 빈번하게 수정되는 큰 파일이 있는 경우, 모든 수정에 해당하는 파일들을 로컬에 다운로드해서 들고 있어야하기 때문에 저장소를 처음 clone 받을 때 과거 히스토리에 해당하는 큰 파일들을 모두 다운로드 해야하는 불편함이 있다. 게다가 깃허브(github) 등의 원격 저장소는 50MB 이상의 파일을 push 할 경우 경고를 주고 100MB가 넘어가는 파일은 push가 안된다. 따라서 깃으로 .. 2021. 11. 1. [Zookeeper] 4 letter words 명령어 사용법 주키퍼는 주키퍼 클러스터와 관련된 정보들을 조회할 수 있도록 몇 가지 유용한 명령어들을 제공한다. 이 명령어들은 알파벳 4글자로 구성되어 있어 '4 letter words' 명령어라고 부른다. 4 letter words 명령어 사용법 주키퍼의 '4 letter word' 명령어는 telnet이나 nc 명령을 주키퍼의 클라이언트 포트로 전송해서 사용할 수 있다. $ echo srvr | nc localhost 2181 Zookeeper version: 3.7.0-e3704b390a6697bfdf4b0bef79e3da7a4f6bac4b, built on 2021-03-17 09:46 UTC Latency min/avg/max: 0/0.0/0 Received: 1 Sent: 0 Connections: 1 Ou.. 2021. 10. 31. [Zookeeper] 도커로 주키퍼 띄우기 테스트 용으로 잠깐 주키퍼가 필요할 때 도커로 띄워보자. docker image 도커에서 사용할 수 있는 주키퍼 이미지를 찾아보자. $ docker search zookeeper NAME DESCRIPTION STARS OFFICIAL AUTOMATED zookeeper Apache ZooKeeper is an open-source server wh… 1154 [OK] jplock/zookeeper Builds a docker image for Zookeeper version … 165 [OK] wurstmeister/zookeeper 157 [OK] mesoscloud/zookeeper ZooKeeper 73 [OK] digitalwonderland/zookeeper Latest Zookeeper - .. 2021. 10. 30. [Kafka] 토픽의 Replication Factor 변경 카프카 토픽에 전송된 메시지는 가용성을 위해서 여러 브로커에 복제되어 저장된다. 브로커 노드에 장애가 생긴 상황에서도 메시지 서비스가 가능하도록 하기 위함이다. 카프카는 이렇게 복제된 메시지를 Replica라고 부르며 몇 개의 Replica로 복제 할 것인지를 Replication Factor(RF)라고 한다. 수동으로 토픽을 생성할 때 옵션으로 RF 값을 명시할 수 있다. $ kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 2 --partitions 10 --topic MyTopic --replication-factor 옵션으로 몇 개의 Replica로 저장할지 지정할 수 있다. 만약 auto.create.t.. 2021. 10. 21. [Git] Github CLI 설치 및 사용법 Github CLI는 터미널 환경에서 깃허브를 사용할 수 있도록 해주는 유틸리티다. Github CLI 설치 Github CLI는 패키지 관리자로 쉽게 설치할 수 있다. $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 $ sudo apt-add-repository https://cli.github.com/packages $ sudo apt update $ sudo apt install gh 데비안 계열의 리눅스에서는 apt를 이용하면 된다. $ sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo $ sudo dnf .. 2021. 10. 18. [Github] 저장소 기본 브랜치 변경 깃허브에 소스코드를 관리하다보면 기본 브랜치를 변경해야하는 경우가 더러 있다. 예를 들어, 깃허브는 기본 브랜치를 master로 설정한다. 하지만 코드 관리를 하다보면 실제 작업이 빈번하게 진행되는 브랜치는 develop 이라는 이름을 갖는 경우가 흔하며 master 브랜치는 develop 브랜치에서 릴리즈되면 반영되는 안정화된 코드들이 저장되는 경우가 많다. (참고 : A successful Git branching model) 이런 경우라면 깃허브 저장소의 기본 브랜치를 master에서 develop으로 변경하는게 여러모로 편하다. 설정을 안할 경우 기본적으로 기본 브랜치에 소스코드가 반영되며 PR 요청도 기본 브랜치로 적용된다. 기본 브랜치 변경 깃허브 웹 페이지에서 저장소의 기본 브랜치를 변경할 .. 2021. 10. 17. [Github] 브랜치 보호 규칙 설정 - PR 리뷰 및 테스트 강제 여러 사람들이 동시에 같은 코드 베이스에서 작업을 하다보면 여러가지 문제가 생길 수 있다. 허락받지 않은 사람이 무질서하게 코드를 작성하고 머지하는 경우도 발생할 수 있다. 깃허브는 'Pull Request(PR)'라는 작업으로 코드를 머지할 때 리뷰를 받을 수 있는 장치를 제공하고 있다. 기본적으로는 PR을 받지 않고 코드를 머지할 수 있지만 중요한 코드의 경우 반드시 리뷰를 받고, 일정 테스트를 통과해야 코드를 머지할 수 있도록 설정할 수도 있다. Github 브랜치 보호규칙 깃허브는 공통의 코드베이스에 작업하는 개발자들이 질서있게 코드를 수정할 수 있도록 브랜치를 보호하는 규칙을 만들 수 있는 기능을 제공한다. 우선 깃허브 저장소에서 'Settings' 버튼을 눌러 설정 화면으로 간다. 저장소 설정.. 2021. 10. 16. 이전 1 ··· 26 27 28 29 30 31 32 ··· 52 다음