목록분류 전체보기 (90)
Love Every Moment
1. 파일 디스크립터 리눅스 운영 체계에서 파일에 대한 정보를 기술하고 유지하는 기억 장치의 영역 리눅스는 물리적 장치들을 일종의 파일로 관리 특히 리눅스 쉘은 작업에 필요한 파일들을 일종의 번호를 붙여서 관리 파일 디스크립터 FD 대신 사용하는 이름 목적 0 stdin 표준 입력 1 stdout 표준 출력 2 stderr 표준 에러 2. 최대 파일 디스크립터 터미널에 ulimit -a 명령어를 치면 한번에 열 수 있는 최대한의 파일 개수를 알 수 있다. 현재 사용 중인 맥os 에서는 파일 디스크립터 256 까지 열 수 있다. 3. 파일 디스크립터가 부여되는 방식 파일 디스크립터는 표준 입력, 표준 출력, 표준 에러인 0 부터 2까지를 제외하면 open() 함수로 파일을 열어서 3 부터 번호를 부여하게 ..
1. 댕글링 포인터란 malloc() 함수를 이용하여 동적 메모리를 할당한 후에는 free() 함수를 통해 할당된 메모리를 해제한다. 하지만 포인터가 여전히 해제된 메모리 영역을 가리키고 있을 때에 문제가 될 수 있다.이것을 댕글링 포인터라고 부른다. 2. 문제점 메모리 접근시 예측 불가능한 동작을 일으킬 수 있다. 메모리 접근 불가 시 Segmentation fault 가 발생한다. 잠재적인 보안 위험이 있을 수 있다. 3. 예제 int *ptr; ptr = (int *)malloc(sizeof(int)); *ptr = 1; printf("%d\n", *ptr); free(ptr); *ptr = 2; 처음에 *ptr 을 1 로 출력하고 나서 메모리를 해제해주었는데 ptr 은 여전히 처음 할당된 메모리 ..
1. 변수의 종류 (1) 지역 변수(Local Variable) 프로그램 내의 변수가 선언된 함수에서만 사용 가능한 변수 함수가 시작할 때에 메모리가 할당되고 함수가 끝날 때에 메모리가 해제됨 스택 영역에 저장되며 함수가 끝나면 자동 삭제됨 따라서 함수 실행이 끝나면 변수에 저장된 값은 사라짐 (2) 전역 변수(Global Variable) 함수 밖에서 선언되어 주어진 프로그램 내의 어느 함수에서나 사용 가능한 변수 프로그램이 시작할 때에 메모리가 할당되고 프로그램이 끝날 때에 메모리가 해제됨 컴파일 시간에 데이터 영역에 메모리를 할당하여 저장되며 프로그램이 끝나면 자동 삭제됨 따라서 프로그램이 끝날 때까지 변수 안의 값이 유지됨 (3) 정적 변수(Static Variable) 지역 변수의 특성과 전역 ..
컴퓨터 프로그래밍 코딩 교육컴퓨터 프로그래밍 코딩 교육 깃허브에 잔디도 심을겸 공부하면서 배운 내용들을 마크다운 문서로 업로드하려고 한다. 처음 레포지토리 생성할 때에 README.md 를 수정해본 이후로는 한번도 마크다운 문서를 작성해본 적이 없었다. 그래서 앞으로 학습 내용 정리시에 편리하게 참고하고자 간단한 마크다운 문법을 정리해보았다. 컴퓨터 프로그래밍 코딩 교육 1. 제목(Header) (1) 문서 제목 : 큰 제목 This is an H1. ============ (2) 문서 부제목: 작은 제목 This is an H2. =========== (3) 글머리: H1 부터 H6 까지만 지원 # This is an H1 ## This is an H2 ### This is an H3 #### This..
size_t 는 typedef 를 이용하여 정의한 하나의 별칭(alias)이다. typedef __darwin_size_t size_t; size_t가 정의되어 있는 를 보면 위와 같이 정의되어 있다. 이론상 가장 큰 사이즈를 담을 수 있는 '부호 없는(unsigned) 데이터 타입'으로 생각하면 된다. size_t 형 변수를 printf() 를 이용하여 출력하려면 %ld 또는 %zu 를 이용한다. unsigned int 와의 차이는 운영체제에 따라 사이즈가 변하는지 여부에 있다. size_t 의 경우에는 32비트 운영체제 아래에서 '부호 없는 32비트 정수(unsigned int)', 64비트 운영체제 아래에서 '부호 없는 64비트 정수(unsigned long long)'로써 고정된 사이즈를 가진다...
1. SELECT 명령 SELECT * FROM 테이블명 ; * (Asterisk): '모든 열'을 가리키는 예약어 SELECT 는 DML 에 속하는 명령의 종류 '질의(Query)' 라고도 불린다 하나 이상의 테이블·뷰로부터 원하는 데이터를 조회 2. DESC DESC 테이블명 ; 테이블에 어떤 열이 있는지 알 수 있음 SQL 명령의 종류가 아니라 mysql 클라이언트 명령어 (1) Field: 열 이름 (2) Type: 해당 열의 '자료형' (3) Null: NULL 값을 허용할 것인지 나타내는 '제약사항' (4) Key: 해당 열이 '키'로 지정되어 있는지 여부 (5) Default: 해당 열에 주어진 '기본값', 즉 생략되었을 경우 적용되는 값 3. 자료형의 종류 (1) INTEGER: 정수값을 ..
1. 클라이언트 사용하기 1) 명령 프롬프트 실행 2.1) mysql -uroot -p 비밀번호 입력하거나 2.2) mysql -uroot -p 입력 후에 Enter Password: 뜨면 비밀번호 입력 ※ root 라는 사용자는 MySQL 을 설치하면 자동으로 만들어진다 mysql 명령 실행하기: mysql -u [사용자명] -p [비밀번호] 2. 데이터베이스 덤프파일 복구하기 1) 명령 프롬프트 실행 2) mysql -uroot -p < 덤프파일명.dump Enter Password: 비밀번호 입력하기 Importing dump file: mysql -u [사용자명] -p 데이터베이스명 < 덤프파일명.dump 3. 데이터베이스 선택하기 1) 명령 프롬프트 실행하기 2) mysql 명령 실행하기 (1...
1. Conditional Steps (1) if - else Statement C언어와 파이썬의 차이점 - C언어: if (x < 10) 괄호를 이용하여 구분한다 - 파이썬: if x < 10 : 괄호를 사용하지 않고 마지막에 콜론(:) 을 붙인다 (2) Indentation if, for, while 문을 사용할 때에 들여쓰기를 해준다 C 언어와 다르게 파이썬에서는 탭을 이용하면 시스템이 혼동할 가능성이 있어서 사용하지 않는게 좋다 2. elif Statement C 언어에서의 else if 와 같은 기능을 한다. 파이썬에서 if / elif / else 의 활용 예시 if _____ : elif ____ : else : 두 번째 사진처럼 else 가 없는 경우도 있고 elif 를 여러번 사용할 수도..