프로그래밍
![[bash 쉘 스크립트] 종료(exit)와 종료 상태 (exit status)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9BcoN%2FbtqGK4vsHvJ%2FdExwg2SRImjLT2gCWxmS6K%2Fimg.png)
[bash 쉘 스크립트] 종료(exit)와 종료 상태 (exit status)
개요 안녕하세요 피터입니다. 오늘은 Bash 쉘에서 프로그램을 종료(exit) 하는 방법과 종료 상태(exit status)를 얻는 방법에 대해 설명드리겠습니다. 종료 상태는 리턴값(return value, return status)이라고 부르기도 하는데 이전에 수행했던 명령어나 프로그램이 종료 될 때 넘겨주는 값을 의미하기도 해서 그렇습니다. 종료 상태 또는 반환값이 중요한 이유는 쉘 스크립트를 작성하는데 있어서 특정 명령어의 성공 여부에 따라 분기해야 하는 경우 이전 명령어가 정상적으로 수행되었는지 아는 것이 필수적이기 때문입니다. 쉘 스크립트 내에서 exit 명령어가 실행되면 스크립트가 종료되며 부모 프로세스에 종료 상태를 전달할 수 있는데 이 값은 프로그램 내에서 임의로 지정할 수도 있습니다. 이..
[Vim] 문자열 검색 및 바꾸기
안녕하세요 피터입니다. 오늘은 vim에서 특정 문자열을 검색하거나 원하는 문자열로 변경하는 방법을 소개해드리겠습니다. 개요 vim은 다른 텍스트 에디터들이 기본적으로 제공하는 "찾기 및 바꾸기"와 같이 현재 열려 있는 문서 내에서 특정 문자열을 검색하거나 원하는 문자열로 바꿀 수 있습니다. vim이 강력한 이유는 바로 찾기 및 바꾸기 기능에서 정규 표현식(Regular Expression)을 활용할 수 있기 때문입니다. 문자열 검색하기 vim에서 특정 문자열을 검색하기 위해서는 일반모드에서 슬래시( / ) 키를 이용하여 검색 대화창을 띄워야 합니다. 화면 하단에 / 문자가 표시되며 커서가 활성화 되면 원하는 검색어를 입력할 수 있습니다. 간단하게 score 라는 검색어를 입력해보겠습니다. 위와 같이 문서..
[C언어 예제-1] 2진수(binary) 출력
안녕하세요 피터입니다.오늘은 C언어로 2진수를 출력하는 예제를 소개해드리겠습니다. 개요일상 생활에서 우리가 다루는 숫자는 10진법을 사용합니다. 하지만 컴퓨터의 세계는 0과 1로 이루어져있죠. 경우에 따라서는 10진수로 되어 있는 숫자를 2진수로 변환애서 출력해볼 필요가 있습니다. (일반적인 경우에는 16진수로 출력하겠지만요!) 이번에 소개드릴 예제는 양수 또는 음수의 10진수를 입력받아서 2진수로 출력하는 예제입니다. 당연한 얘기겠지만 C언어의 비트 연산자를 사용합니다.연산자에 대한 내용은 아래 글을 참조해주세요. [C언어 강좌-7] 연산자 (Operator) 예제 소스#include int main() { int input = 0; int mask; while (true) { printf("Input..
![[bash 쉘 스크립트] 스크립트 실행하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqgQXI%2FbtqGiqjVuXW%2FqOheV18AFo1h8ByWRm0xGk%2Fimg.png)
[bash 쉘 스크립트] 스크립트 실행하기
개요 안녕하세요 피터입니다. 오늘은 Bash 쉘로 만들어진 프로그램(보통 스크립트-script라고 말합니다) 실행하는 방법을 설명드리겠습니다. 가장 기본적인 형태의 bash 스크립트는 여러개의 명령어를 나열한 것입니다. 그러면 명령어를 매번 하나하나 입력할 필요 없이 스크립트 파일을 실행하는 것으로 시간을 절약할 수 있습니다. 마치 windows의 배치(batch) 파일과 같죠. 좀 더 복잡한 스크립트를 만들기 위해서는 쉘 내부 지시자를 사용해야 하는데 그러기 위해서는 맨 첫줄에 #! 로 시작하는 매직 코드(magic code)가 필요합니다. #! 두 바이트는 이 파일이 어떤 명령어 해석기의 집합인지 시스템에 알려주는 역할으르 합니다. 즉, 실행 가능한 스크립트라는 것을 나타내는 특별한 표시자인 것이죠...
[C언어 강좌-12] 함수 (Function)
안녕하세요 피터입니다.오늘은 C언어의 함수 (Function)에 대해 알려드리겠습니다. 개요수학에서는 함수 이런식으로 표기합니다. y = f(x)여기에서 x 는 함수의 입력값이 되고, y는 출력값이 됩니다. C언어에서 함수(Function)도 이와 유사하다고 볼 수 있습니다.입력값을 가질 수 있으며, 이에 대응되는 값을 출력할 수 있습니다. 문법(Syntax)함수 선언 (Function Declaration) 함수는 다음과 같이 선언할 수 있습니다. DataType FunctionName(DataType, ...); 위와 같은 문장(문장이기 때문에 ; 세미콜론으로 끝납니다)을 함수 선언 또는 함수 원형이라고 합니다. 맨 앞쪽에 있는 DataType이 ReturnType이며 함수의 출력값입니다.Functi..
[C언어 강좌-11] 포인터 (Pointer)
개요 안녕하세요 피터입니다. 오늘은 C언어의 포인터(Pointer)에 대해 알려드리겠습니다. 포인터는 C언어를 배우는 많은 사람들이 어려워 하는 개념 중에 하나입니다. 동시에 C언어에서 가장 중요한 개념 중 한가지이기도 합니다. 사실 포인터(Pointer)라는 것은 하나의 데이터 타입(DataType)일 뿐이며 실제 값(Value)를 저장하는 대신에 값이 저장되어 있는 변수의 주소(Address)가 저장된다는 것만 기억하면 어렵지 않습니다. 문법(Syntax) 포인터 타입 정의 (Definition) 포인터 타입을 정의할 때는 기존에 정의된 데이터 타입 뒤에 * (Asterisk) 를 붙이면 됩니다. (애스터리스크 라고 발음합니다) 예를들면 다음과 같이 정의할 수 있습니다. int* char* float..
![[bash 쉘 스크립트] bash 쉘 프로그래밍을 배워야 하는 이유](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm2RxU%2FbtqGg5AiR08%2FHaUuO6ZKyF8Nj0b3okFXi0%2Fimg.png)
[bash 쉘 스크립트] bash 쉘 프로그래밍을 배워야 하는 이유
개요 안녕하세요 피터입니다. 오늘은 여러분들이 왜 Bash 쉘 프로그래밍을 배워야 하는지에 대해서 설명드리겠습니다. 리눅스(Linux) 환경에서 개발을 하거나, 시스템 관리자 업무를 수행하는데 있어서 Bash 쉘을 잘 다룰 수 있다는 점은 굉장한 경쟁력이 됩니다. 그만큼 업무를 효율적으로 수행할 수 있으니까요. Bash란 "Bourne-Again Shell"의 앞 글자를 딴 것입니다. Stephen Bourne의 Bourne Shell에 대한 클리쉐로 일종의 말장난 같은 겁니다. Bash는 이제 모든 종류의 유닉스에서 쉘 스크립트에 관한 실질적인 표준입니다. 쉘은 명령어 해석기(command interpreter)로서, 단지 커널과 사용자 중간에 놓여 있는것 이상으로 꽤 강력한 프로그래밍 언어입니다. 일..
[C언어 강좌-10] 배열 (Array)
안녕하세요 피터입니다. 오늘은 C언어의 배열 (Array)에 대해 알려드리겠습니다. 개요배열은 이전 시간에 포스팅했던 루프(반복문) 과 단짝입니다. [C언어 강좌-9] 반복문 (Loop) 배열 자체가 같은 크기의 메모리 공간을 연속적으로 할당한 것이기 때문에 각 요소(Element)들을 개별적으로 다루는 것보다 루프를 이용해서 접근하면 훨씬 코드가 심플해지고 효율적이기 때문입니다. 루프와 함께 사용하지 않는다면 배열은 단순히 변수를 여러 개 선언한 것과 다를 바 없습니다. 루프의 반복자(iterator)는 배열의 각 항목(item)들에 접근하는 인덱스(index)로 사용하기에 매우 적합합니다. 문법(Syntax) 배열의 선언 배열을 선언하는 기본적인 문법은 아래와 같습니다. datatype arrayna..