목록Computer Science/Linux, Git (10)
ecsimsw
기존 PR 방식에 지친다면?마틴파울러 블로그에 소개된 브랜치 전략을 소개하려고 한다. Rouan Wilsenach가 올해 9월 달에 작성한 따끈따끈한 글인데, 공감되기도 하면서도 필요한 팀들이 많을 것 같아 정리해본다. CI 정책이 확실하게 있고 팀원들이 어느 정도 경력이 있다면, 그리고 기존의 PR 방식이 늘어지고 의미 없다고 느껴본 적이 있는 사람이라면 한 번쯤 읽어보면 좋을 것 같다. Ship / Show / AskShip/Show/Ask is a branching strategy that helps teams wait less and ship more, without losing out on feedback.martinfowler.com 간단한 정리Rouan Wilsenach가 제안하는 이유와 ..
저는 현업을 경험해본 적 없는 학생입니다..내 브랜치 전략을 소개하기 앞서, 아직 현업에서 일해본 경험이 없는 아무것도 모르는 학부생이 쓴 글임을 미리 알리고 싶다. 현업과 괴리가 크거나 정확하지 못하고, 이상한 규칙도 많을 것 같아 조심스럽다. 그래서 'A는 B다'의 문장보다는, '~하는 것을 좋아한다.' , '~ 하는 편이다.'와 같은 내 생각이나 경험 위주의 정보가 9할일 것 같다. 이 글은 내 후배들을 위해서 쓰게 되었다. 2학년 후배들이 깃으로 협업을 해보고 싶은데, 공부 방향을 못 잡고 방법을 물어보는 경우가 많았고, 부족하지만 내가 깃으로 협업한 경험과 조심해야할 팁을 정리해주고 싶었다. 0. 기본적인 키워드는 구글링으로!대신 기본적인 키워드는 알고 오는 것이 숙제다. 자바로 치자면 '협업..
Slack으로 Github 알림 받기 / Github 앱 설정하기 팀 프로젝트를 진행하면서 깃헙의 알림을 메일이 아닌 자주 사용하는 메신저로 받을 수 있는 방법을 찾게 되었다. 특히 이슈를 올렸을 때 즉각 확인할 수 있도록 하고 싶었다. 슬랙의 Github 앱을 사용하면 지정한 레포지토리의 이벤트를 알림으로 받을 수 있다. 또는 슬랙 내에서 issue를 close하거나 새로운 이슈를 등록할 수 있다. 특히 레벨3에서 협업 미션을 진행하고 있는 다른 우테코 팀들에게 추천하고 싶어 글을 작성하게 되었다. Github App 설정하기 1. Slack Github App을 추가한다. 2. 알림을 받을 채널을 선택한다. 슬랙 앱 추가할 때 Select Channels 설정에서 알림 받을 채널을 설정할 수 있다. ..
ctags / cscope - ctags와 cscope를 이용하여 코드를 분석하는 방법과 유용했던 팁을 정리하였다. ctags - tj 명령어 뒤에 원하는 태그 이름을 입력하는 것으로 해당 함수나 변수가 선언된 위치로 점프할 수 있다. :tj "tags" - 명령어를 이용하지 않고 원하는 함수나 변수 위에 커서를 두고 점프하고 이전으로 돌아갈 수 있다. ctrl + ] ctrl + t cscope - cs type option keyword로 실행한다. type은 add / find / help / kill / reset / show 가 있고, find(f)와 아래 옵션을 통해 키워드를 검색한다. cscope commands[f] g : find the definitions s : search this ..
ctags / cscope - 리눅스에서 길고 복잡한 코드를 다룰때 유용한 유틸리티 두가지. ctags - 소스 코드의 태그(변수, 함수, 매크로 등의 선언 부분)들의 데이터 베이스 파일을 생성해 인덱스를 만들어 주어, 코드 분석 시 탐색할 수 있도록 하는 유틸리티이다. sudo apt-get install ctags - tags 파일을 생성하여 소스 코드의 태그를 데이터 베이스로 관리할 수 있다. ctags "Filename" ctags -R - 위 두 명령어처럼 ctags 다음에 파일 이름을 명시하는 것으로 해당 파일만 tags 파일을 만들거나, 아래 ctags -R처럼 현재 디렉토리의 모든 파일/ 하위 디렉토리의 모든 파일을 대상으로 tags 파일을 만들 수 있다. - vi 에디터에 tags 파일 ..
Shell / Shell script / Terminal, Console Shell - Shell은 운영체제 개념을 공부하면서 정리하였다. 쉘은 커널을 감싸서 사용자의 명령을 해석하여 커널에 전달한다. 쉽게 쉘은 사용자와 커널 사이의 인터페이스가 되는 프로그램이다. 쉘과 커널로 분리되어 쉘만 교체한다면 사용자가 직접 커널을 사용하는 인터페이스를 쉽게 선택할 수 있도록 한다. echo $SHELL 위 명령어를 터미널에 입력하는 것으로 현재 사용 중인 shell을 확인 할 수 있다. Shell script - 간단한 shell script 예제를 만들고 실행시켰다. 사용한 shell은 bash 이다. vi로 script 파일을 작성한다. #!/bin/bash 스크립트 상단에 #!/bin/bash 를 추가하고..
ens33 setting - CentOS 7에서 네트워크 인터페이스(en33)을 설정. Contents - ping 8.8.8.8을 입력하여 네트워크 사용 가능 여부를 파악한다. 사용 불가일 경우 ip addr로 사용 가능한 네트워크를 확인한다. 2: ens33을 확인하고 맞다면 ifup ens33을 입력한다. (만일 아무 출력이 없을 경우 ifdown ens33을 입력 후 다시 ifup ens33을 입력) 다시 ping 8.8.8.8을 입력하여 네트워크 사용 여부를 확인하고 잘 작동한다면, vi로 /etc/sysconfig/network-scripts/ifcfg-ens33을 열어 맨 마지막 줄 ONBOOT의 "no"를 "yes"로 변경 후 저장한다.
vi visual editor - vi는 리눅스의 에디터이다. Command line mode / Insert mode / Edit mode로 세가지 모드로 작동한다. vi로 진입 / a,i로 insert mode 진입 / esc로 edit mode 진입 - 기본적인 vi 명령어 기록 Command line mode :q 종료 :q! 저장없이 강제 종료 :wq 저장 후 종료 Edit mode - 커서 이동 / 검색 h cursor to left l cursor to right ctr+f next page ctr+b prev page / search n next b prev pragragh - 삭제 및 변경 x 커서 위 문자 삭제 dw 커서 뒤 단어 삭제 dd 커서 라인 삭제 r 커서 위 문자 변경 - 복..