목록기초 개념 (5)
독도갈매기의 개발 블로그
3-Way Merge Commit History master Branch의 포인터는 C2 Commit에 있습니다. 이후 우리는 login 기능에 이슈가 발생했다는 말을 들어 iss53 Branch를 생성합니다. 갑자기 급히 고쳐야 하는 버그가 발생해 hotfix Branch를 생성 해 버그를 고쳐야 합니다. success HotFix hotfix에서 무사히 버그를 해결하여 Fast-Forward하여 master의 포인터는 C4 Commit으로 향하게 됩니다.이후 hotfix는 끝났기 때문에 hotfix branch는 삭제합니다. C2가 부모 Commit인 iss53은 계속 로그인 관련 이슈를 해결합니다. Difference Parent Commit 로그인 관련 이슈를 해결한 iss53 Branch는 ma..
Fast-Forward Commit History master Branch의 포인터는 C2 Commit에 있습니다. 이후 우리는 login 기능에 이슈가 발생했다는 말을 들어 iss53 Branch를 생성합니다. New Branch Point 이후 진행 하게 되면서 Commit 하여 C3으로 iss53 Branch가 진행된다. new Commit C3 이후 Merge 하게 된다면 단순히 master Branch의 포인터가 C3으로 옮겨가게 되면서 Fast-Forward가 발생합니다. → 이와 같은 상황은 아래 조건이 성립되어야만 합니다. A와 B branch가 있다. A → B를 Merge하려 한다. B가 A 이후의 Commit을 가리키고 있다. ( B의 부모 Commit이 A이다. ) A는 단순히 B와..
프로그래밍을 배우다 보면 js에서나 python에서는 ;을 안붙여도 잘만 돌아가는데 C, C++, C# 같은 언어들은 ;이 빠지면 오류가 납니다. 그리고 사람은 사실상 느낄 수 없지만 python이 C보다 느리다라는 것도 들어봤을 것입니다. 위와 같은 일들이 벌어지는 이유는 바로 인터프리터 언어와 컴파일 언어라는 큰 차이점이 존재하기 때문입니다. 인터프리터, 컴파일 같은 의미 아닌가요? 인터프리터, 컴파일 모두 우리가 흔히아는 if, while, for 등 예약어나 직접 입력한 코드들을 기계어로 번역해주는 역할을 합니다. 하지만 번역을 하는 방식에 차이점이 존재합니다. 방식의 차이? 여기서 말하는 방식의 차이는 인터프리터는 기계어로 번역할 때 코드 한줄한줄을 읽으며 한줄씩 번역을 하고 컴파일에서는 코드를..
RAM은 무엇일까? RAM(Random Access Memory) : 임의 접근 메모리 임의 접근 메모리를 줄여서 RAM이라고 불립니다. 임의 접근? 접근 방식에는 크게 임의 접근 방식과 순차 접근방식으로 나뉘어져 있는데요 그 중 임의 접근 방식을 사용합니다. 가정을 하나 해봅시다 사용자가 A라는 프로그램을 사용해야 하고 그 A라는 프로그램이 170번 메모리에 있다면 순차 접근이라면 1번부터 어디 있을지도 모르는 A프로그램을 찾기위해 계속 하나하나 찾게 될 것입니다. 하지만 우리가 사용하는 임의 접근 방식을 사용하게 된다면 170번이라는 주소를 던져주면 바로 찾아오게 되죠 확실히 순차접근보다 빠르고 효율적인 접근 방식인것입니다. 왜 램이 메인 메모리인가? 여기서 RAM이 메인 메모리 장치라고 불리는 이유..
변수란? 흔히 아는 변수의 개념은 국어사전에서의 의미인 아래의 개념으로 많이들 알고 있습니다. 어떤 상황의 가변적 요인 어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수 하지만 컴퓨터에서의 변수는 조금은 다른 의미를 가지고 있는데요 그럼 뭔데? 변수는 어떤 공간에 어떤 값을 저장하기 위한 이름을 가진 공간이다. int a = 0; a = 20;처음 들었을 때는 위와 같은 코드를 보고 설명을 듣기 때문에 결국 변할 수 있는 수 변수 아니야? 라는 생각이 드는게 정상일지도 모르죠 물론 저도 그런 생각을 했었지만 지금은 틀리다고 생각하는 이유를 설명해볼까 합니다. 계속 변하는 수 보다는 계속 변하는 공간이지 않을까 싶습니다. 연산? 저장? 컴퓨터는 기본적으로 연산과 기억을 따로 한다는 것쯤은 어느정..