분류 전체보기 1097

GIT3 branch & conflict - 브랜치의 기본사용법

브랜치 기본 사용법 1 브랜치의 환상적인 기능들에 대해서 알아보겠습니다. 브랜치를 만들고 브랜치를 들여다보는 것을 해보겠습니다. 우리의 고객사들이 생겨서 고객사들마다 관리를 해야할 때 우리는 branch 를 활용해서 아주 세련되게 이 문제를 해결할 수 있습니다. git log 를 할건데 몇가지 옵션을 줄겁니다. --all 을 해주면 모든 브랜치의 git log history를 출력하게 됩니다 --graph 를 해주면 브랜치의 형성 상태를 그래프로 표시해주어 시각적으로 더 도움이 됩니다. --oneline 은 여러 줄의 복잡한 출력보다는 딱 한줄로 버전을 표현해 줍니다. git branch 를 입력해 볼까요? main 이라는 것이 나오는데, 이것이 의미하는 것은 우리가 사실 지금까지 main 이라는 bra..

GIT3 branch & conflict - 실습준비

본격적으로 수업을 시작하기 전에, 우리가 이전 시간에 말했던 것처럼 제품 설명서를 만드는 사람들이라고 생각을 하겠습니다. 그리고 환경을 세팅을 할게요. manual 이라는 폴더를 만들고, 해당 폴더를 git 으로 관리해주겠습니다. dir /a:h 라는 명령을 통해 숨긴 파일들까지 확인해보니까 .git 파일이 생성된 것을 알 수 있습니다. notepad work.txt 명령으로 메모장을 열어서 content 1 이라는 내용을 작성하고 저장합니다. git status 를 통해 work.txt 파일이 Untracked 상태인 것을 확인했고, git add work.txt 명령을 통해 Staging Area 로 등록합니다. git commit -m "work 1" 명령을 통해 버전을 등록합니다. 방금 한 방식대..

GIT3 branch & conflict - 수업소개 {branch 설명, conflict 설명}

branch 는 가지를 의미합니다. branch는 어떤 기능을 가지고 있길래 가지라는 뜻을 가지게 되었을까요? 여러분이 어떤 회사에 사용 설명서를 만드는 사람이라고 생각해 보겠습니다. GIT 으로 잘 만들고 있었습니다. 이렇게 독자적으로 제품을 만들고 있을 때에는 다음과 같이 버전이 형성되었을 겁니다. 그런데, 제품을 출시하고 난 이후 고객사들이 생겨났고, 고객사들마다 원하는 제품의 방향성이 조금씩 달랐던 겁니다. 여러분은 고민 끝에 다음과 같은 방법을 생각해냈습니다. GIT 저장소를 고객사 이름대로 복사를 한 이후, 각 고객사들이 원하는 제품을 독자적으로 개발하였습니다. 문제를 해결한 것이죠. 그런데, 잘 보면 비효율적인 곳들이 눈에 보입니다. 이전에 master 버전의 내용이 다른 고객사들한테도 똑같..

조건문 {정의, if, if-else, if-'else if'-else 문, 조건 연산자, Switch-case문}

조건문이란? 조건문이란 말 그대로 주어진 조건에 따라 다른 문장을 선택할 수 있도록 프로그래밍하는 것을 말합니다. 기본적인 구조는 다음과 같습니다. if (조건) { 참일 때 결과 } else { 거짓일 때 결과 } if 문과 if-else 문 if 문은 조건문의 가장 대표적인 형식입니다. if 문은 주어진 조건식이 '참'일 경우 중괄호 안에 있는 문장을 수행합니다. if (조건식) { 수행문; } 조건식에는 결과가 참, 거짓으로 판별되는 식 혹은 참, 거짓의 값을 가지는 변수&상수를 사용할 수 있습니다. 조건식에는 연산의 결과가 참, 거짓이 되는 관계 연산자를 자주 사용합니다. 조건식을 만족하는 경우와 만족하지 않는 경우를 모두 나타낼 때는 if-else 문을 사용합니다. if (조건식) { 수행문1;..

GIT2 - 삭제(git reset), 되돌리기(git revert), 수업을 마치며

삭제 git reset 현재 우리의 파일은 위와 같은 상황입니다. 이런 상황에서 여러분이 Message 6 버전을 지우고 Message 4 버전이 되고 싶다면 어떻게 해야 할까요? 그러면 여러분은 Message 4 버전으로 reset 해야 합니다. 여기서 많이 헷갈리는 부분이 한 가지 있는데요. Message 4 버전, 즉 5ccaed 버전을 reset 한다는 얘기는 해당 버전을 삭제한다가 아니라 해당 버전으로 돌아간다는 것을 의미합니다. git reset --hard 5ccaed02a5afc465471eadd902a86c9cff6f7b45 git reset --hard (버전 코드) 이렇게 입력을 하게 되면 해당 버전으로 돌아가면서 나머지 버전을 삭제하게 됩니다. git log를 찍어보면 Message..

연산자 우선순위

우리가 공부한 연산자에는 우선순위가 있습니다. 우선순위에 따라 컴퓨터가 연산을 수행하고 그 결과가 달라지기 때문에 우선순위를 이해해야 합니다. 연산자의 일반적인 우선순위는 다음과 같습니다. 단항 연산자가 우선순위가 가장 높고 이항, 삼항 연산자 순서입니다. 대입 연산자의 우선순위가 가장 낮습니다. 산술, 관계, 논리, 대입 연산자 순서로 우선순위를 가지며 ( ) 우선순위가 가장 높습니다. 정확한 연산자 우선순위는 다음 표와 같습니다. 일차식 : ( ), [ ], . 단항 : !, ++, --, +, - 산술 : %, / 산술 : +, - 비트 이동 : 관계 : , = 관계 :==, != 비트 곱 : & 비트 차 : ^ 비트 합 : | 논리 곱 : && 논리 합 : || 조건 연산자 : ?: 대입 : =,..

비트 연산자 {정의, 논리, 이동}

이전까지 배운 연산이 변수나 상수에 대한 연산이라면, 이번에는 비트 값을 기반으로 하는 연산자를 배워보겠습니다. 비트 연산자란? 비트 연산자는 비트 단위로 연산이 이루어지는 연산자를 의미합니다. 비트 단위의 연산을 하는 경우는 '암호화' 작업처럼 임의의 숫자를 만들거나, 어떤 변수의 특정 비트를 꺼내보는 (마스킹 masking) 경우에 사용합니다. 혹은 하드웨어에 내장되는 임베디드 시스템 프로그램에서 메모리 용량이 부족하거나 계산이 복잡해서 속도가 느려질 때, 곱셈이나 나눗셈을 비트 이동 연산자를 사용하면 어떤 수의 2배수, 4배수를 만들어 속도를 빠르게 할 수 있습니다. 자바에서는 특정 값을 만들거나 연산할 때 비트 연산자를 사용합니다. 비트 논리 연산자 비트 단위로 &, |, ^, ~ 연산이 있습니다..

기본 연산자 {항, 대입, 부호, 산술, 증가·감소, 관계, 논리·단락회로평가, 복합 대입, 조건}

항과 연산자 연산에 사용하는 기호를 연산자(operator)라고 합니다. 더하기 빼기 등이 해당됩니다. 연산에 사용하는 값을 항(operand)이라고 합니다. 연산자는 항의 개수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 나눌 수 있습니다. 삼항 연산자는 프로그램에서 사용하는 조건 연산자를 의미합니다. 연산자의 연산 순서를 '연산자 우선순위'라고 합니다. 단항 연산자가 가장 높고, 이항, 삼항 연산자 순서입니다. 대입 연산자 대입 연산자(assignment operator)는 말 그대로 변수에 값을 대입하는 연산자입니다. 대입 연산자는 이항 연산자 중 우선순위가 가장 낮은 연산자입니다. 그 우선순위의 결과로 대입 연산자는 좌항과 우항의 단항 & 이항 연산자가 모두 종료된 이후에 오른쪽 변수 값이나..

GIT2 - 보충수업 {-am, 기본 에디터}

우리는 지금까지 버전을 만들 때마다 add 를 통해서 Stage Area 에 우선적으로 올리는 작업을 했습니다. add 를 할 때 파일명을 직접 지정해도 되지만 git add . git add . 을 하게 되면 현재 디렉터리 밑에 있는 모든 파일을 add 하겠다는 의미입니다. 그리고 git add 를 하지 않고 git add -am git add -a 를 해주게 되면 여기서 a 는 add 를 의미합니다. 그래서 git add -am 을 해주게 되면 add 하고 commit을 동시에 할 수 있게 됩니다. 그런데 여기서 주의하셔야 할 점이 하나 있습니다. git add -am 은 새롭게 추가된 파일들은 Untracked 상태이기 때문에 git add -am 을 하면 commit 이 적용되지 않습니다. 즉, ..

GIT2 - checkout 과 시간여행

버전 관리의 아주 중요한 효능은 과거로 돌아갔다가 다시 미래로 돌아오는 등 시간을 탐색할 수 있다는 것에 있습니다. 한번 보겠습니다. git log git log 를 통해 현재 우리는 3개의 버전을 갖고 있다는 것을 알 수 있습니다. Head 와 main 이라는 것이 눈에 띄는데요. 한번 이해해 봅시다. main 은 예전에는 master 라고 불리던 것인데요. 이렇게 이해하는 것이 온전한 이해는 아니지만 우선 최신 버전이라고 생각을 해봅시다. head 가 main을 가리키고 있다는 것은 최신 버전을 가리키고 있다라고 이해하시면 되겠습니다. 이후에 다시 설명을 할 겁니다. 우리가 Message 2 라고 설명한 1ec... 코드를 가진 버전으로 되돌아가고 싶다면 어떻게 하면 될까요? 첫 번째, HEAD를 1..