전체 글 179

과거로 돌아가는 법

🤓Git 에서 프로젝트를 과거로 돌리는 방법 Reset Revert 1) Reset 시간을 그대로 되돌리는 것 돌아가서 이후 행적은 지우는 것이다. → 🤯 협업 작업 중 Reset을 사용할 경우 심각한 충돌을 야기시킬 수 있으므로 쓰지 않는다 2) Revert 내역을 삭제하는 것이 아니라 이때 내역을 복구로 수행해서 변경한게 있다면 반대로 돌리는 것이다. 그냥 이후의 행적을 청산하는 것이다. 1. Reset 실습 아래 명령어로 커밋 내역을 확인한다. git log 이때 돌아갈 시점은 커밋 해쉬를 복사하여 한다. :q를 통해 빠져나간다. 1) reset하기 전 시점으로 복원해보기 아래 명령어를 통해서 현 커밋 상태로 초기화한다. git reset --hard (돌아갈 커밋 해시) 2. Revert 실습 아..

Git 2024.03.18

변화를 저장하는 법

저번 강의까지 했던 부분은? 저번 강의에서 했던 대로 git ignore 파일을 만들고 변경사항을 확인하면 아래와 같은 결과가 나옴을 알 수 있다. 이번 강의 정리 저번 강의까지 했을 때 보면 아직 버전 안에 넣은 기록이 없다. 1. 파일을 담는 법: 1) 특정 파일을 넣는 방법 git add tigers.yaml 이후 다시 상태를 확인해보면, 캡슐 안에 넣었음을 확인할 수 있다. 2) 모든 파일을 넣는 방법 git add .2. 실습 더 해보기 위에 과정을 거쳤을 때 화면은 위와 같이 나온다. 즉 아직 First Commit 이례로 다른 일을 하지 않았다는 것이다. Source Tree를 보면 위와 같이 되어있다. Git log를 통해 확인 할 수 있다. - 파일의 상태를 변화시키기 tigers 파일의..

Git 2024.03.18

CLI vs GUI

CLI란 Command Line Interface의 약자로, 명령줄을 입력해서 사용하는 것이고, GUI란 Graphical User Interface로 일반인 사용자들이 쓰기 편하도록 그래픽 요소를 활용한 인터페이스이다. Git을 사용할 때도 두 가지 방법이 있다. (CLI - GitBash / GUI - SourceTree) 얄코 강의에 따르면, Git에서 뭔가를 실행하기 위해서 명령들을 사용할 때는 CLI를 사용하고 프로젝트의 상태를 Git 상에서 자세히 살펴보아야 할 때는 SourceTree를 사용한다고 한다. 공부할 때는 CLI를 활용하는 것이 좋다. ① 모든 기능들을 섬세하게 다룰 수 있다 ② 어떤 기능이 있고 어떻게 동작하는지 제대로 알 수 있다 ③ Git을 잘 알게되면 GUI는 식은 죽 먹기..

Git 2023.01.02

Git을 배워야 하는 이유

Git은 개발자의 필수 소양이다. Git은 VCS의 약자이다. Version Control System 프로그램의 버전 관리 시스템이다. 유의미한 결과가 결과물이 나온 것이다. 프로젝트의 시간과 차원을 관리하는 것이다. 필요에 따라 여러 시간과 차원을 이동하는 것이다. 시간의 관점에서는, 계속해서 나오는 새로운 작업을 기록하고, 필요에 따라 이전 버전으로 이동하기도 할 수 있도록 하는 것이다. 차원에 대한 이야기를 하자면, 프로젝트를 복사 백업할 필요가 없어진다. 내용들을 다른 폴더인 것 처럼 다른 모드로 설정하고 변경사항을 적용할 수 있다.

Git 2023.01.02

[C/C++] 11 - Command Line Argument

Command Line이란? 컴퓨터의 텍스트 인터페이스 프로그램은 커멘드를 통해서 실행을 위해 컴퓨터 operation system으로 이동한다. Commend Line arguments - parameters that are supplied to the program when it is invoked argc & argv[] int argc // argument count commend line arguments의 char *argc[] // argument vector The array of the pointers to all command line arguments All command line arguments are inputted as character strings argv[0] points..

Language Study/C 2022.12.14

[C/C++] 10 - 04 파일 입출력 기초

Index C 언어의 두 가지 파일 유형 Text File vs Binary File 파일 사용의 개골적 과정과 FILE 구조체 1. C언어의 두가지 파일 유형 Text Mode File vs. Binary Mode File 2. Text File vs Binary File C 언어에서는 파일을 읽거나 쓰기 위해 Open 할 때 대상 파일이 Text File 인지 Binary File 인지 구분하여야 한다. Text File 사람들이 읽을 수 있는 문자로 모든 정보를 표현하고 저장하는 파일 서로 다른 값을 구분하는 구분자가 필요하다 표준 입출력에 문자열을 출력하는 puts(), printf() 등의 함수,입력하는 gets(), scanf()등의 함수에 대응하는 fputs(), fprintf(), fget..

Language Study/C 2022.12.14

[C/C++] 10 - 03 Lifetime 분류

Index 변수(또는 메모리 블록) Lifetmie 분류 Memory Layout of a C Process 함수 호출과 Stack Automatic Variable & Stack 1. 변수(또는 메모리 블록) Lifetime 분류 ① Static Its lifetime is the entire duration of the program's execution Global and Static Local Variables A static variable is stored in the data segment of the "object file" of a program ② Automatic An automatic variable has a lifetime that begins when program execut..

Language Study/C 2022.12.14

[C/C++] 10 - 02 문자열 버퍼 동적 할당

① whlie문을 활용해볼까요. 1) 사용자가 Ctr - z를 눌러 EOF를 입력할 때까지 최대 MAX_LINES 만큼의 문자열을 입력받음 2) EOF인 경우 gets()의 return은 NULL이다. ② gets_malloc()을 사용해볼까요. 불필요한 메모리 사용을 줄이기 위해 문자열 입력을 위한 버퍼를 동적으로 할당. ※ gets_malloc() gets() 함수의 문자열을 입력 받을 버퍼를 malloc()으로 동적 할당 입력이 EOF이면 동적으로 할당 받ㅇ느 버퍼를 해제하고 NULL 을 Return 문자열 입력 버퍼 동적으로 할당 받는 문자열 입력 버퍼들을 관리하기 위한 문자열 포인터 배열 str_ptrs[]선언하고 NULL값으로 초기화 실제 입력 LINE 수에 해당하는 문자열 버퍼만 할당 동적으..

Language Study/C 2022.12.14

[C/C++] 10 - 01 메모리 동적 할당

목차 정적인 메모리 공간 할당의 한계 동적인 메모리 할당 및 해제 함수 assert 매크로 메모리 공간의 할당과 복사 1. 정적인 메모리 공간 할당의 한계 만약 이 코드에서 1의 값을 100이라 했을 때 만약에 입력한 값이 150이면 run-time error 가 발생하고, 10을 입력했다면 메모리를 불필요하게 낭비한게 됨 → 필요한 크기를 미리 알 수 없다!! 면... 2. 동적인 메모리 할당 및 해제 함수 Dynamic Memory Management Functions Defined in header 메모리 동적 할당 함수 void *malloc(size t, size); Allocates size bytes of uninitalized storage Param: size - number of byt..

Language Study/C 2022.12.06