CS 잡지식 썸네일형 리스트형 git log, git diff(feat. git log -p) git log vs git log [-p] git log -p는 git log와 달리 [코드]의 변화 history를 출력해 주는 명령어이다. 위 그림에서 드래그를 한 부분을 살펴 보자. 이 부분은 version 22에서 version33으로 버전이 변하면서, [코드]가 어떻게 달라졌는지를 보여 주고 있다. ( '+' : 변경(추가,수정)된 부분, '-' : 이전 버전의 코드 부분) --- /dev/null : version 22에서는 practice2.txt가 없었다. +++ b/practice2.txt : version 333에서 practice2.txt가 처음 생성됨. 그리고 그 내용은 "source : 2"이다. 참고사항 ( commit d163e284f2d3efb6478d3fc05d07f7144.. 더보기 stage area - repository(feat. git add, git commit) stage area : git add 명령어를 통해서, commit될 예정인 파일들이 대기하는 장소 repository : stage area에 있는 파일들을 git commit 명령어를 통해 github와 같은 repository에 버전을 최종 업로드 더보기 git add (feat. modified 파일) practice.txt의 "source : 1"의 내용을 "source : 2"로 변경을 하였다. 우리는 앞서, git add practice.txt를 통하여 git이 practice.txt를 Tracking하게 설정을 하였다. 그러니깐, git commit을 하면 당연히 버전이 업데이트 될 것이다. ?????????????????????????? No~~~~~~~~~ 파일을 생성해서 최초로 Tracking시킬 때에도 git add practice.txt를 해야 하고, 파일을 수정시켜 commit을 통해 최종적으로 버전을 업데이트시켜야 할 때도 git add practice.txt를 해줘야 한다. 더보기 git commit(feat. git log) git-bash는 리눅스 기반 환경이기에 git commit을 치면, 위와 같은 vim 창이 뜬다. 나는 해당 파일의 commit 명(버전 명)을 1이라고 설정을 하였다. 설정을 완료하게 되면 위와 같은 메시지가 뜰 것이다. git log 명령어를 통하여 버전 관리의 history를 볼 수가 있다.(해당 버전을 작업한 사람명과 이메일도 볼 수있다.) 더보기 git config (feat. user.name, user.email) git을 통하여 프로젝트를 github에 저장을 하게 되면, user.name과 user.email 정보도 같이 포함되어 하나의 버전이 생성이 되게 된다. 이걸 굳이 하는 이유는 해당 버전의 작업을 누가하였고, 또 그 작업을 한 사람과 소통을 할 일이 있으면 이메일을 통하여서 협업을 할 수 있기 때문이다. (git log를 치면, 위 정보들을 알 수가 있다) 더보기 git init, git status, git add (feat. .git) git bash를 통하여 git에게 본인이 어떤 디렉토리에서 작업을 할 것인지 알려 줘야 한다. 좀더 구체적으로 말을 하면, 프로젝트 코드의 버전 관리에 필요한 메타 데이터를 ".git"이라는 생성하여, 프로젝트 코드가 담겨 있는 디렉토리에 만들어 줘야 한다. 이때 사용하는 명령어가 바로 git init이다. (만약 .git 파일을 삭제를 해버리게 되면 그 이전에 commit했던 코드들도 같이 날라가게 된다.) 우선 mkdir을 통하여 작업을 할 프로젝트를 만들어 주었다. 해당 프로젝트로 경로를 이동한 후에, git init을 통하여 ./git 파일을 생성킴. (꼭 해당 디렉토리로 경로를 이동한 다음에 git init을 해야 한다. 만약 git_practice 디렉토리가 아닌, 다른 디렉터리에서 git .. 더보기 git-bash를 사용하는 이유 git을 설치하게 되면, 기본적으로 git-bash 프로그램이 자동으로 깔리게 된다. git-bash의 용도는 Window와 같은 환경에서도 리눅스 명령어를 사용하게 하기 위함이다. 더보기 Netty의 멀티/싱글 쓰레드 동작 원리 이벤트 루프 이벤트 루프란 이벤트를 실행하기 위한 무한루프 스레드를 말합니다. 위의 그림과 같이 객체에서 발생한 이벤트는 이벤트 큐에 입력되고 이벤트 루프는 이벤트 큐에 입력된 이벤트가 있을 때 해당 이벤트를 꺼내서 이벤트를 실행합니다. 이것이 이벤트 루프의 기본 개념입니다. 이벤트 루프는 지원하는 스레드 종류에 따라서 단일 스레드 이벤트 루프와 다중 스레드 이벤트 루프로 나뉘고, 이벤트 루프가 처리한 이벤트의 결과를 돌려주는 방식에 따라서 콜백 패턴과 퓨처 패턴으로 나뉩니다. Netty는 이 두 가지 패턴을 모두 지원합니다. 단일 스레드 이벤트 루프 단일 스레드 이벤트 루프는 이벤트 를 처리하는 스레드가 하나인 상태를 말합니다. 이벤트 루프의 구현이 단순하고 예측 가능한 동작을 보장하게 되죠. 하나의 .. 더보기 이전 1 2 3 4 5 ··· 16 다음