Layer 7/assignment 16

[GIT] git 보고서

(1) git의 역사git은 리눅스 커널을 만들때 코드의 유지보수, 관리를 위해 만든 소프트웨어이다.리눅스 커널을 만들때, 리누스 토르발즈와 많은 사람들은 몇천만줄에 달하는 어마어마한 코드를 작성하였는데, 이를 관리하기 위해서 리누스 토르발즈가 처음으로 개발하였다.지금은 수많은 사람들이 git을 다양하게 사용하고 있다. (2) git이란?git은 위에서 설명했듯이 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 몇몇 사이트들의 예를 인용해서 설명하면.. 발표code.cpp발표code최종.cpp발표code최종최종.cpp발표code진짜최종최종.cpp :: 와 같은 사례를 막기 위한것이 분산 버전 관리 시스템이라고 생각하면 편할것 같다. git의 특징중 하나는 데이터를 변경할 때 마다 어떠한..

Layer 7/assignment 2019.06.10

[Linux] 리눅스 보고서

[1] 리눅스와 윈도우의 차이점?(1) CUI와 GUI의 차이우리가 모두 알고있듯이 윈도우 OS는 GUI ( 그래픽 기반 인터페이스 )를 사용하고, 리눅스 OS는 CUI ( 커맨드 기반 인터페이스를 사용한다. ) 처음 시작할때의 진입장벽은 CUI쪽이 조금 더 높을 수 있다고 해도, 리눅스의 여러가지 명령어의 사용이 숙달된 상태라면, CUI가 더 편할정도로 사용할 수 있다.예를 하나 들어보자. 윈도우에서 파일을 다운받으려면 크롬을 키고, 검색을 하고, 사이트에 들어가서, 파일을 찾고 다운로드 하여야 한다. 하지만 리눅스 같은 경우에는 명령어 한 줄 (sudo apt-get install 원하는파일) 로 다운받을수 있다. (2) 다중사용자와 단일사용자와의 차이리눅스는 OS를 설계할 당시부터 한 운영체제에 여..

Layer 7/assignment 2019.05.26

[C] 동적할당 보고서

[1] 동적할당 vs 정적할당 정적할당이란 프로그램이 시작되기전에 결정되는 메모리를 말한다.프로그램이 실행되는 도중에 크기가 변경될 수 없으며, 처음 결정된 크기보다 더 큰 입력이 들어오면 오버플로우가 일어나 다른 메모리의 주소가 변조될수있다. 처음 결정된 크기보다 더 작은 입력이 들어온다면, 남은 메모리는 낭비된다.프로그램이 종료되어야 메모리가 해제된다.이렇게 정적할당으로 결정된 메모리는 스택에 저장된다.https://sunrinjuntae.tistory.com/25스택과 힙이 무엇인지는 여기서!! 동적할당은 사용자가 프로그램의 실행도중에 메모리를 할당 받는것이다.필요한 만큼만 할당을 받고, 또 원할때 사용하고 반납할수있다. 메모리를 절대로 낭비하지 않을수있으며, 메모리를 매우 효율적으로 사용할수있다...

Layer 7/assignment 2019.04.12

[C] 포인터 보고서

[1] 포인터는 뭘까? 먼저 주소값이란 뭘까?데이터의 주소값이란 해당 데이터가 저장된 메모리의 시작 주소를 의미한다.C언어에서는 이러한 주소값을 1바이트 크기의 메모리 공간으로 나누어 표현한다. 예를 들어, int형 데이터는 4바이트의 크기를 가지지만, char형 데이터의 주소값은 시작 주소 1바이트만을 가리킨다.이를 이해하였으면 다음의 예제를 보자.다음의 예제를 보자.12345678910111213141516#include int main(){ int a; printf(" 변수 a를 입력하세요 : "); scanf("%d",&a); // a 입력 int *pa=&a; // pa라는 포인터변수에 a의 시작주소 저장 // * 는 역참조 연산자로 해당 메모리주소에 있는 값을 말한다. // & 는 참조 연산자..

Layer 7/assignment 2019.04.03

[C] 함수 보고서

[1] 함수는 뭐고, 이러한 함수를 왜 활용하는것일까 ? 우리가 코딩할때 무의식적으로 쓰는 #include 가 무슨의미일까?그리고 printf, scanf같이 명령어같은 친구들은 도대체 뭘까?여러분들은 이미 그 답을 알고있을 것이다.위의 그림은 stdio.h에 포함되어있는 함수의 목록이다. 이렇게 printf, scanf는 바로 함수이다. 함수는 수학적인 함수와 비슷한 의미이다. 사용자가 정의한대로 그 기능이 실행된다.#include 는 이러한 함수를 모아서 하나의 헤더파일로 만든 stdio.h 를 소스에 포함하여 프로그램을 실행할때 stdio 에 있는 함수를 사용할수있도록 해주는것이다.위에서 함수의 정의에 대하여 설명하였으므로 이제 함수를 사용하는 이유와 함수의 특징을 설명해보겠다.첫번째 특징은 함수의..

Layer 7/assignment 2019.04.03

[C] 배열 보고서

[1] 배열은 뭘까? 배열은 같은 자료형을 가진 여러개의 변수를 한번에 선언한 연속된 메모리 공간으로 이루어진 자료구조이다. 예를들어, 시험 결과 10개를 선언해야한다고 해보자. int num = 100 ; int num2 = 70 ; : : int name10 = 95 ; 라고 선언할 것이다. 하지만 배열을 이용한다면 10개의 변수를 쉽게 한번에 선언할 수 있다. [2] 배열의 선언 방법과 인덱스 (예제 1) #include int main(void) { int num[10] = { 100, 70, 50, 60, 80, 70, 95, 90, 85, 90 } ; printf("%d ", num[0]); printf("%d ", num[7]); printf("%d ", num[9]); printf("%d ..

Layer 7/assignment 2019.03.30