목록2022/07 (62)
치춘짱베리굿나이스
.git 뜯어보기 여기서부턴 .git 폴더를 직접 뜯어보았다 깃 많이 쓰긴 하지만 깃의 작동방식 원리를 이해하고 쓰는것도 괜찮을 것 같다 물론 깃의 명령어와 기능이 워낙 방대하기 때문에 전부 다 다룰 수는 없다 .git/index 아직 add하지 않은 상태에서 루트 폴더의 .git/index 파일을 열어보자 대부분의 문자가 깨진 이유는 index 파일 내용물이 SHA1 방식으로 암호화되어 있기 때문이다 이번에는 git add 커맨드를 사용한 뒤 .git/index 파일을 열어보았다 여전히 파일이 깨져있지만 아까와는 변화가 생겼음을 바로 알 수 있다 위에 적었듯 깃에서 이용하는 해시 키는 파일 내용과 함께 암호화되기 때문에, 파일 내용이 조금이라도 달라지면 완전히 다른 해시 키를 발급받게 된다 즉 깃에서 ..
문제 슬프게도, 2017 선린 봄맞이 교내대회의 상품 비용은 욱제의 통장에서 충당된다. 욱제의 마음을 아는지 모르는지, 참가자들이 1등 상품으로 치킨을 무려 두 마리(...)나 달라고 조르고 있다. 욱제에게는 두 개의 통장이 있다. 두 통장의 잔고와 치킨 한 마리의 가격이 주어질 때, 욱제가 치킨 두 마리(...)를 살 수 있는지 알아보자. 입력 첫째 줄에 두 통장의 잔고 A와 B가 주어진다. (0 ≤ A, B ≤ 1,000,000,000) 둘째 줄에 치킨 한 마리의 가격 C가 주어진다. (0 ≤ C ≤ 1,000,000,001) 출력 욱제가 치킨 두 마리(...)를 살 수 있으면 치킨 두 마리(...)를 사고 남은 두 통장 잔고의 합을, 살 수 없으면 현재 두 통장의 잔고의 합을 출력한다. 풀이 con..
PR 리뷰하기 팔만코딩경에 올렸던 게시글을 다시 정리하여 업로드한다 개요 풀 리퀘스트를 리뷰함으로써 머지 전 수정할 사항은 없는지 여러 사람이 함께 체크할 수 있다 소규모 프로젝트는 리뷰할 사항이 그렇게 많은 편이 아니지만, 프로젝트가 커질 수록 PR이 머지되는 속도가 점점 느려지고 리뷰로만 몇날 며칠을 꼴깍 새운다고 한다 (😱) 아무튼 간단하게나마 깃허브 리뷰방법을 적어본다 1. 리뷰할 풀리퀘스트 고르기 리뷰하고자 하는 풀리퀘스트를 고르자 예시로 일단 내가 올린 풀리퀘스트를 선택하도록하겠다 2. Files Changed 클릭 Files Changed를 통해 이 풀 리퀘스트에서 변경된 모든 파일과 수정점을 볼 수 있다 3. 리뷰 시작 (리뷰 코멘트 작성) Files Changed에 들어가면 파일의 변경된..
Github, Git 기본 7. 내 코드 팀 레포지토리에 합치기, Pull Request 커밋이 아주 잘 올라왔다 이것을 이제 팀 레포지토리에 합쳐보자 우상단의 New pull request를 누른다 브랜치를 원본 레포지토리의 main에 PR 만약 협업을 할 때 한 레포지토리에서 분기 (branch) 를 나누어 작업했다면, base에는 내 브랜치를 합치려는 팀 레포지토리 브랜치를 선택한다 (예시: main) compare에는 내 브랜치를 선택한다 (예시: feat/test) 포크 레포지토리를 원본 레포지토리에 PR 만약 브랜치로 나눈 것이 아니라, Fork를 했다면 상단의 compare across forks를 누른다 그러면 출력되는 브랜치의 종류가 살짝 달라지게 된다 base repository에는 내..
Github, Git 기본 이 포스팅에서는 git status, git add, git commit, git push 에 대해 알아본다 3. Git 상황 체크하기, git status 레포지토리 안의 파일을 열어서 수정해보자 $> git status 위 명령어를 입력하면 마지막 커밋 시점에서 변화가 생긴 파일이 있는지 볼 수 있다 modified 상태인 것으로 보아 값의 변경이 이루어졌다고 볼 수 있다 상태 종류 untracked: 깃에서 감지하지 않는 파일이다 마지막 커밋 이후에 생성한 파일일 경우, 깃이 아직 해당 파일을 감시 (tracking) 하지 않기 때문에 어떠한 변경점도 인식하지 못한다 따라서 untracked인 파일은 암만 값을 수정해도 깃이 변경점을 알아차리지 못한다 unmodified:..
Github, Git 기본 깃허브로 작업하면서 사용하는 명령어나 과정을 정리해본다 포스팅이 많이 길어져 정말 간단하게 협업이나 개인 작업하면서 딱 필수로 사용하는 정도만 정리하고, 분리하였다 추가적인 내용 (squash, rebase, cherry-pick 등) 등은 따로따로 게시글을 분리해야 할 정도로 내용이 많기 때문에… 1. 레포지토리 생성 https://github.com 에 접속해서 로그인하고, 상단바 오른쪽 끝의 + 버튼을 누른다 New repository는 깃허브에서 바로 레포지토리를 파는 방식 Import repository는 다른 서비스 (svn 등) 에서 작업 내역을 가져오는 방식 New gist는 Gist를 만드는 방식 (간단한 코드공유를 하기엔 좋지만 디렉토리 관리가 안 돼서 협업에..
문제 사과가 떨어지기를 기다리는 사람들. 그림과 같이 네 명의 사람이 사과가 떨어지기를 기다리고 있다. 모든 사람은 x축 위의 한 점에 가만히 서 있으며, 여러 사람이 같은 점에 서 있는 경우는 없다. i번 (1 ≤ i ≤ 4) 사람은 점 (pi, 0) 위에 있다고 하자. 거대한 좌표평면에 비해 사람은 작은 존재이므로, 편의상 각 사람의 크기는 무시하자. x축 위에서 기다리는 사람들. 사과는 좌표평면 위의 한 점 (x, y)를 중심으로 하는 반지름이 r인 원이며, 현재 공중에 가만히 떠 있으므로 모든 점이 x축의 위쪽(즉 y > 0인 영역)에 있다. x축 위에 떠 있는 사과. 사과에는 −y축 방향의 중력만이 작용한다. 중력의 크기는 일정하므로, 사과는 지표면(x축)을 향해 등가속도 운동을 하다가, x축과..