1. $git log -p 를 하면 버전에서의 비교를 할수있다. 무엇이 수정되었는지 .

  1. $git reset 83775d.... 를 하게 되면 (버전의 주소값) 이하까지는 남기고 다 삭제하는 명령어.


  1. $git branch 현재 내가 branch master를 사용하고 있다. 
  2. $git branch (name) 으로 branch 생성 
  3. $git check out (name) 변경된 이름으로 전환시킨다. 
  4. $git log로 확인시 현재  log는 exp와 master가 같은 상태임을 알수 있다. 

  1. 비교를 위해 branch를 exp로 바꾼후 수정된 f1.txt를 commit 한후 log 확인 /master로 변경후 log비교시 exp 상태에서 commit한 파일이 master에서는 안보이는 것을 알수 있음.


  1. $git checkout master 로 변경후 log 확인한 다음에 $git log --branches --decorate (branche 차이)
  2. $git log --branches --decorate --graph 가지치기 보기 
  3. $git log --branches --decorate --graph --oneline 간결하게 보기 


'Git' 카테고리의 다른 글

Git.3탄  (0) 2018.12.30
Git 1탄  (0) 2018.12.30
천천히 자료 정리하겠습니다.~!

Git 사용법
  1. git 입력시 git 잘설치 된것을 확인 할수있다.(사용가능 명령어 확인 가능)
  2. $mkdir gitexample 프로젝트를 만들 폴더를 생성 



  1. $git init 버전관리할 디렉토리를 git에게 저장소를 알려주는 것 
  2. Initialized empty Git repository in /경로/ 저장소를 초기화 했다..git이 생성된것을 확인할수 있다.

  1. $vim f1.txt. 라는 파일을 만든다(souce :1 sample)저장함.(이제 이파일로 파일관리)
  2. $git status 현재 git의 상태를 알수 있다. f1.txt파일은 아직 stage area(commit대기상태)가 되지 않음을 확인

  1. $git add f1.txt (f1.txt 버전관리를 git에게 명령) 
  2. $git status를 하면 new file : f1.txt가 stage area ( commit전 상태)가 된것을 확인 할수있다.

  1. $git commit 하기전 유저의 이름과 메일을 등록해야한다. 다른사람에게 누가 수정하고 commit했는지 확인하기 위해.
  2. $git config --global user.email "you@example.com"
  3. $ git config --global user.name "your Name"   이름과 이메일을 입력 (한번만 등록하면 됨)
  4. $git commit을 하면 상단에 버전의 간단한 메세지를 넣을수 있다.(어떻게 변경됬는지 ..)




  1. $git log 버전은 몇이고 누가 작성했고 언제 작성했는지  알수있다.

  1. f1.txt 파일을 수정하고 add하지않고 $git status로 현재 상태를 확인해보았다. modified(수정되었다)확인할수 있다.

  1. g2.txt를 만들고 현재 git의 상태를 확인하면 전에 add하지않은 f1.txt와 방금 생성한 f2.txt확인할수 있다.
  2. f2.txt만 add를 해보았다. f2.txt파일만 stage area가 된것을 확인할수 있다. 


17.git commit했을시 f2.txt만 commit되고 f1은 되지 않음을 확인 가능(여러개의 파일을 만들시 선택해서 commit할수있다)

  1. $git log -p 를 명령하면 그동안 변경된 사항을 알수있다. +는 추가된것 -는삭제된것


'Git' 카테고리의 다른 글

Git.3탄  (0) 2018.12.30
Git.2탄  (0) 2018.12.30

안녕하세요 Stimpack 입니다. ! 이어서 1회차 강의 내용 정리를 하겠습니다. 


*우선 Program이란 무엇일까요?! 


프로그램이란 어떤 목적을 위한 일의 진행 순서라고 할수 있습니다. 미리 쓴다 라는 뜻의 라틴어에서 유래 되었습니다. 

예를 들어 Tv 프로그램 . 음악회 프로그램 등 어떤 방송의 순서라던지 음악회의 연주 순서 등 일의 진행 순서라고 보시면 됩니다. 


그렇다면 우리는 Program을 만들기 위해 컴퓨터를 사용합니다. 컴퓨터는 기계어라는 0과 1로 이루어진 이진수를 사용합니다. 


프로그래머는 기계어를 알기에는 너무나도 광범위하기에 프로그래밍 언어라는 것을 사용합니다(  c언어 , c ++ ,Java ,c #...등)


*즉  컴퓨터는 기계어를 사용하고 프로그래머는 프로그래밍 언어를 사용하게 됩니다. 



 

저 Stimpack은 기계어를 모르기 때문에 Compiler라는 친구에게 도움을 받습니다. 이 친구는 프로그래밍 언어를 기계어로 번역해 주는 역할을 합니다! 


그렇기 때문에 우리 프로그래머는 기계어를 몰라도 컴퓨터에게 전달하고 싶은 말을 할 수 있게 됩니다.! 


하지만 모든 언어에서는 문법이 있듯이 프로그래밍 언어에서도 문법이 존재하게 됩니다.! 이것은 컴파일러와의 약속이며 어기면 컴파일러가 인식을 


못하여  컴파일을 실패하게 됩니다.


앞으로 우리가 배울 프로그래밍 언어는 C언어이기 때문에 C언어에 대해서 알아 보겠습니다. !


C언어 이전에는 b언어라는 언어가 존재했습니다! (갑자기!?..) 


켄톰슨과 데니스 리치라는 개발자가 운영체제를 만들고 싶어 했습니다! (이때는 운영체제들은 하드웨어 종속적인 언어를 사용하여 개발되었기 때문에 하드


웨어가 바뀌면 이에 따라 운영체제를 다시 개발해야 했다.)


새로운 운영 체제를 만들기에는 b언어로서는 부족했습니다. 그래서 이 둘이 새로운 언어를 만들게 되는데 1972년에 C언어라는 새로운 언어를 개발하여 이


를 사용하여 UNIX 라는 새로운 운영체제를 만들게 되었습니다~~ ! c언어는 이처럼 개발자들이 만들었기 때문에 어떤 언어보다도 개발자의 입장에서 만들


었기 때문에 구조화되었고 이식성 , 생산성 , 확장성을 갖춘 언어 입니다.  


우리는 이미 많은 곳에서 c언어를 사용한 것들을 볼수 있습니다. 운영체제. 전자 계산기 .. 등등 주변에 보이는 많은 것들이 c언어를 사용하여 만들었다고 보


시면 됩니다!


전자 계산기를 예를 들어 보면 C언어가 가지는 구성들을 쉽게 이해 할수 있습니다.



C언어는 입력 , 출력 , 상수 , 연산자 등을 가지며 17이라는 값이 나왔을때 15 + 2 를 기억해야할 공간을 변수라고 표현합니다. 


이처럼 계산기를 보면 C언어의 기본적인 구성을 이해할 수 있습니다.


C언어의 서술 형식에 대해 설명하겠습니다.


* C언어의 기본 서술 형식  


* C언어의 기본 서술 형식


1.단일 서술문 (Single Statement) 은 논리적 최소 명령 실행 단위 입니다.  

  예를 들어 


 stimpack = stimpack + 27 ;


stimpack = 

              stimpack +27 ; 


이처럼 하나의 서술문을 단일 서술문이라고 합니다. 


2. 복합 서술문(Compound Statement) 은 여러개의 단일 서술문을 중괄호 { } 로 묶은 것을 복합 서술문이라고 합니다 . 


{

stimpack = stimpack +27 ; 

stim = pack +2018;

}

여기서 나오는 ;(세미콜론)은 문장 분리자 라고 생각하시면 됩니다. 명령을 구별해 주는 역할을 합니다. 


3. 수식 서술문

4. 조건 서술문

5. 반복서술문 

6. 라벨 서술문 

7. 분기 서술문 

8. 주석문 등등.. 이 있지만 나중에 알게 되니 pass!  



* c언어를 이용하여 프로그램 C프로그램 실행파일 만들기! 




메모장의 형식은 .txt 입니다. 그렇다면 c언어의 파일 형식은 !? .c 파일 입니다. 



이처럼 *.c 파일을 소스파일 이라고 하고 *.obj를 목적파일 *.exe를 실행파일이라고 합니다. 



우선 컴파일러가 c파일을 컴파일하여 .obj라는 목적파일을 생성합니다. 링커가 목적파일을 링크하여 실행파일을 만들고 이러한 과정을 build라고 합니다. 


우선 stimpack이라는 프로젝트를 만들고 stim.c 라는 소스파일을 만들었습니다. 그런다음 Debug라는 폴더에 들어가시면 위에서 설명한 obj 파일과 exe 파일을 보실수 있습니다. 이렇게 파일을 생성한 과정을 build! 라고 합니다! 

왜 한번에 exe 파일을 만들지 않고 왜 목적파일을 만들고 exe파일을 만드는 걸까요? (다음회차에 정답을 올리겠습니다) 




* 자료형 (들어가기전)


컴퓨터는 주로 어떻게 데이터를 저장할까요??


컴퓨터의 저장장치는 크게 주 기억장치와 보조 기억장치로 나눌수 있습니다. 


주 기억장치는 RAM 이라고 하고 보조 기억장치는 HDD , SSD  .. 등이 있습니다. 보통 메모리라고 하면 RAM을 의미 합니다.


 

 

 

 

 

 

 

 

 

 

 

보통 메모리는 이렇게 표현하며 , 운영체제가 관리하는 최소한의 단위를 1byte라고 하고 , 1byte는 8개의 bits로 구성되어 있습니다.! 


즉 제일 작은 단위는 1bit라고 하며 8개의 bits들이 모이면 1byte라 합니다.


*즉 운영체제가 관리하는 최소한의 단위를 1byte 0이나 1을 나타내는 하나의 숫자를 1bit라고 합니다. 이것이 컴퓨터가 처리하는 정보의 최소 단위 입니다.


컴퓨터는 기계어를 사용한다고 했는데 0 .1 을 사용며 이를 2진수라고 합니다. 우리가 사용하는 0~ 10~ 11~ 20 ..이를 10진수라고 합니다. 

 

옛날에는 컴퓨터를 군사용 목적으로 개발했는데 0은 스위치 off 1은 스위치 on!을 의미했습니다.(2진수의 역사.)

이를 통해 정보를 전달했습니다. 


그래서 Debug라는게 오류를 확인하고 해결하는 것을 Debug라고 하는데 옛날에 전구를 이용한 컴퓨터를 사용할 적에 전구에 나방이나 벌레들이 붙어서 


전원이 단락되어 오류가 생겼었는데 이때 벌레를 없앤다는 뜻으로 Debug라는 말을 사용했는데 이게 유래되어 지금도 Debug라고하고


실제로 비쥬얼스튜디오에서 디버그라는 언어를 아직도 사용하고 있습니다. 


다시 돌아와서 한 bit에 표현할수있는 경우의 수는 2가지입니다 0이거나 1 . 메모리가 8bits이니깐 2^8 = 256가지 입니다. 


즉 1byte에 표현할수 있는 수는 256가지가 됩니다.


저장공간이 2byte이면 16bits로 2^16 = 65,536  저장공간이 4byte이면 32bits로 2^32 = 4,294,967,296 입니다. 


1000m는 1Km라고 표현합니다. 데이터에서는 한개의 공간이 2개의 경우의수를 넣을수 있기때문에 2^10 =1,024byte입니다. 


1,024byte = 1KB , 1,024KB = 1MB , 1,024MB = 1GB , 1,024GB = 1TB , 1,024TB = 1PB , 1,024PB = 1EB 입니다! 


* 즉 32bits를 사용한다면 2^32 = 4,294,967,296 이므로 4GB의 메모리가 필요합니다.! 


컴퓨터는 0, 1 이렇게 두개의 숫자를 사용한다 했는데 , 그럼 음수는 표현 못하는 걸까요?! 


만약 -1, 0 ,1 을 사용하게 되면 데이터를 2bit를 사용해야합니다. 왜냐하면 1bit에 들어올수 있는 수는 두가지 뿐이니 2bits를 사용해야합니다. 


우리는 빠른 속도를 원합니다! 그렇기 때문에 부호비트라는 것을 사용하여 음수를 표현합니다.


       2^7 = 128             2^6 = 64           2^5 = 32           2^4 = 16             2^3 = 8            2^2  = 4               2^ 1 = 2           2^0 =1

부호비트는 맨 최상위에 있다고해서 최상위 비트라고도 합니다! 8bits중 한 bit를 부호를 사용하는데 할당 했기 때문에 나머지 7bits에만 데이터를 


사용합니다.


*즉 2^7 = 128 가지의 경우의 수가 있지만 양수일 경우 0~127 (128개 0부터 숫자를 세기 때문에) , 음수일 경우는 (-128 ~ -1) 입니다. 



     

부호가 있는 자료형 -128 (-128~ -1)

부호가 없는 자료형 128 (2^7 = 128 , 나머진 다 0)


부호가 있는 자료형 -1 (-128~ -1) 

부호가 없는 자료형 255( 128 + 64 + 32+16+8+4+2+1)



*자료형


만약에 제가 다른사람한테 택배를 보낸다고 했을때 둘중 어떤 박스가 더 효율적일까요!? 


물론 큰게 외관적으로 엄청나게 많은 선물이 들어 있을 것 같고 , 비싸보이는 효과까지 있겠지만 .. 딱 맞는 박스를 사용하는 것이 더 좋습니다!


 (큰 박스를 선택하면 비용도 더 나가겠지만 택배차량에 그만큼 박스들을 못 싣게 됩니다.)


이처럼 데이터도 동일합니다! 일정한 데이터는 적절한 크기의 메모리에 저장해야 합니다.! 


자료형(data type) 은 숫자(정보 data )를 일정한 크기의 메모리에 저장된 정보(자료)를 해석하는 형식입니다! 즉 컴퓨터에게 어떤 크기의 메모리에  


할당할 것인지 알려주는 약속(문법) 입니다.! 


C언어는 사용빈도가 높은 자료형을 예약어로 제공하고 , 나머지는 사용자가 정의해서 사용할수 있는 (User-defined Data Type)으로 크게 나누어집니다.


예약어로 제공된 자료형은 크게 두가지로 나눕니다. 


부호의 유무 중 괄호 친 것은 생략이 가능합니다. 


즉  char a = 5 ;  의 단일 서술문을 작성한다면 signed char a = 5  ; 랑 동일합니다.!


여기에서 자료형이 의미하는 것은 즉 내가 사용할 메모리의 크기를 컴파일러에게 미리 알려주는 것입니다. 


나는 1byte의 크기의 a라는 변수를 사용할거야 !라고 하면 컴파일러는 a라는 변수에 접근하여 1byte의 크기를 할당하여 여기에 5를 저장합니다. 








안녕하세요 운좋게 이번에 20기 tips 교육에 선정된 stimpack 입니다. ! 


앞으로 특별한 임무와 함께 강의에서 배운 것들을 블로그에 정리를 할 것입니다. 


programming에 앞서 우선 프로그래머가 갖추어야 할 요소에 대해서 한번 알아 보겠습니다. 


프로그래머는 끊임없는 자기 계발 , 분명한 목표의식 , 창의력 ! 이렇게 세가지가 필요하다고 하지만..


 저는 한가지 더!! 호기심이 필요한 생각합니다. 


호기심이 있어야 목표의식도 자기계발도 창의력도 생길수 있다고 생각합니다 흐흐 .. 그렇기 때문에 앞으로 저는 


왜!!!?!!WHY!? 라는 의문을 가지며 C 언어를 공부해 보도록 하겠습니다. 


사실 아직 뚜렷한 목표의식은 없습니다.! 사실 아직 많이 부족해서 어떤게 좋고 어떤게 재미있는지 아직 잘 모르기 때문에.. 일단 최선을 다해서 해보도


록 하겠습니다. 


오늘도 Stimpack~!   




test.

'C_Language' 카테고리의 다른 글

메모리 할당  (0) 2020.02.04
포인터(기초1)!  (0) 2019.12.05

벤츠 서비스센터에서 Engine part에서 근무중 자율주행에 큰 흥미를 갖게 되어 알아 보던 중 


AUTOSAR를 알게 되어서 무작정 programmer가 되고자.. 퇴사를 하고 공부를 시작하게 되었습니다.


블로그명에 도움을 준 david 에게 감사한 마음을.. 


최고의 프로그래머가 되기 위해 .. 매일 stimpack을! 

'성장일기' 카테고리의 다른 글

꿈의 도전기(1편)  (1) 2024.01.02
꿈을 위한 첫 걸음!  (0) 2019.09.16
아버지  (0) 2019.08.10

+ Recent posts