프로그래밍

    Javascript 시작하기

    Javascript 소개Javascript 언어는 오늘날 웹 프로그래밍을 하는데 있어서 HTML, CSS와 더불어 필수적으로 익혀야 하는 스킬중에 하나가 되었습니다. 웹과 모바일 분야에서 폭넓게 사용되고 있으며, 경우에 따라서 Javascript에 대한 이해의 깊이가 개발자의 기량을 나타내는 척도가 되기도 합니다. Javascript는 또한 가장 많은 오해를 사고 있는 언어이기도 합니다. Javascript는 원래 Netscape에서 만들어진 스크립트 언어로 실제 공식 이름은 ECMAScript였지만, Sun Microsystem의 Java 언어와는 공통점이 적음에도 불구하고 Java언어의 비약적인 성공에 편승하기 위한 마케팅 전략으로 Javascript로 변경되게 되었습니다. 이로 인해 몇십년이 지난 ..

    [C언어 강좌-5] 상수 (Constant)

    [C언어 강좌-5] 상수 (Constant)

    안녕하세요 피터입니다.오늘은 C언어의 상수에 대해서 알아보겠습니다. 1. 상수란 무엇인가?상수(Constant)란 프로그램이 실행되는 동안 '값이 고정되어 변경할 수 없는 메모리 공간'을 의미합니다. 변수처럼 정의해서 사용할 수 있습니다. 기본적으로 int나 char 와 같은 C언어 표준 자료형들은 모두 상수가 될 수 있습니다. 그렇기 때문에 상수는 한번 정의한 이후에 값을 변경할 수 없도록 제한한 변수와 의미가 같다고 볼 수 있습니다. 문자열 그 자체가 값을 나타내는 것을 리터럴 상수(Literal constant)라고 하는데 줄여서 리터럴(Literal)이라고 부르기도 합니다. 2. 상수를 정의하는 방법상수를 정의하는 방법에는 두 가지 방법이 있습니다.#define 전처리기를 사용하는 방법과 cons..

    [C언어 강좌-4] 자료형 (DataType)

    [C언어 강좌-4] 자료형 (DataType)

    안녕하세요^^ 피터입니다. 앞서 강좌에서 배웠던 변수를 C언어 프로그래밍에서 다루려면 우선 C언어에서 제공되는 자료형을 알아야 합니다.오늘은 C언어의 자료형(DataType)에 대해 알아보겠습니다. 1. 자료형(DataType) 종류C언어의 자료형은 아래와 같이 분류할 수 있습니다.1.1 기본형 (Basic Type)1.1.1 정수형 (Integer Type)정수형(Integer Type)에는 int, short, long, char 등이 있습니다. 소수점이 없는 정수를 표현할 때 사용됩니다. 맨앞 1 bit를 부호비트로 사용하는데 부호비트도 숫자 영역으로 쓰면 양수만 표현할 수 있는 대신 더 많은 큰 숫자를 표현할 수 있습니다. 이렇게 부호비트까지 숫자로 쓰려면 앞에 unsigned를 붙인 자료형을 사..

    [Vim] 파일 열기, 저장, 종료

    [Vim] 파일 열기, 저장, 종료

    이제 본격적으로 vim 의 사용법에 대해 알아보겠습니다. 파일 열기 리눅스 쉘 프롬프트 상에서 vim hello.c 이렇게 명령어를 입력하면 vim 이 실행되면서 hello.c 파일이 열립니다. 만약에 hello.c 파일이 존재하지 않는 다면 새로 생성합니다. 이렇게 새로 생성하게 되면 하단에 “hello.c” [새 파일] 이라고 표시가 됩니다. 하지만 vim에서 저장을 하지 않으면 실제로 파일이 생성되지는 않습니다. (메모리 상에만 존재하는 거죠) vim이 처음 실행되면 일반 모드로 시작되기 때문에 바로 편집을 할 수 없습니다. i 키를 통해 입력 모드로 전환해서 편집을 해보겠습니다. 입력 모드로 진입하면 하단에 -- 끼워넣기 -- 라고 표시가 됩니다. (한글이나 워드 등에서 삽입 모드와 같습니다) 저..

    [C언어 강좌-3] 변수(Variable)의 이해

    [C언어 강좌-3] 변수(Variable)의 이해

    안녕하세요 피터입니다.오늘은 프로그래밍에서의 변수에 대해 알아보겠습니다. 1. 변수는 무엇인가?우선 프로그래밍을 할 때 변수라는 것이 왜 필요한지부터 짚어볼 필요가 있습니다. 여러분들이 계산기로 통장에 들어올 실제 월급을 계산해본다고 가정해보겠습니다. 우선 기본급여에 각종 수당을 더하고 보너스(!)도 더해 총 급여를 구합니다.그리고 급여에 따른 소득세와 4대보험료 등을 더해 총 세금을 구합니다.이제 총 급여에서 총 세금을 빼면 내 통장에 들어올 실제 월급을 구할 수 있겠죠. 이 과정을 계산기로 하다 보면 총 급여나 총 세금 등 여러 값들을 더해서 구한 중간 값을 어딘가 적어놓지 않으면 잊어먹어서 다시 구해야 할 때가 종종 발생합니다. 프로그램을 개발할 때에도 마찬가지입니다. 위에서 계산기로 월급을 계산할..

    [Vim] 모드 이해

    [Vim] 모드 이해

    Vim을 이해하려면 vim에 존재하는 여러 가지 모드(Mode)를 이해해야 합니다. 이러한 모드가 vim의 가장 큰 특징이라고 할 수 있습니다. 여러 모드들로 인해 강력한 기능을 수행할 수 있지만 vim을 배우려는 사람들에게 진입장벽이 되는 것도 사실입니다. 때문에 vim의 러닝커브(Learning curve)는 다른 에디터에 비해 남다를 수 밖에 없는데요.이를 재밌게 표현한 그림이 있어서 소개해드립니다. 조금 과장되긴 했지만 그만큼 vim과 emacs가 강력하지만 익숙하게 다루는 게 힘들다는 것을 잘 표현하고 있네요. 사실 저도 vim을 처음 실행했을 때 바로 문서 편집이 안되서 당황했던 기억이 납니다. 그럼 이제부터 vim의 모드에 대해 간략하게 설명드리겠습니다.vim에는 굉장히 다양한 모드가 있는데..

    [Vim] 소개 (vim의 역사 및 장점)

    [Vim] 소개 (vim의 역사 및 장점)

    Vim 에디터는 유닉스 월드에서 오랜 세월 전통을 이어온 vi 에디터의 진보된 형태입니다. 텍스트 기반의 CLI 환경에서 주로 사용되다 보니 요즘 나오는 에디터와는 확연하게 형태로 디자인되어 있습니다. 모바일에서도 3D게임이 펄펄 나는 요즘 텍스트 환경 기반의 에디터를 사용하는 것이 시대에 뒤쳐져 보일지 모르지만vim은 그래픽 환경의 다른 에디터에 비해 실행 속도가 수십 배는 빠르고 사용하는 리소스도 현저히 작습니다. vi는 만들어진지 30년이 넘은 에디터지만 계속해서 발전해와 지금도 여전히 강력한 기능으로 사랑받고 있습니다. 게다가 국제화 규격에 맞춰서 유니코드(Unicode)나 다른 언어권 문자까지 지원하고 있기 때문에 국제화가 추세인 요즘 시대에 걸맞는 에디터라고 볼 수 있습니다.여러분이 unix ..

    응용프로그램 메모리 구조

    응용프로그램 메모리 구조

    개요 안녕하세요 피터입니다. 오늘은 응용프로그램의 메모리 구조에 대해 설명드리겠습니다. 메모리 구조에 대해 이해하고 있어야 여러분이 만든 프로그램이 컴퓨터에서 어떻게 동작하는지 이해할 수 있습니다. 이러한 컴퓨터 구조에 대한 이해가 궁극적으로는 더 효율적이고 안정적인 프로그램을 만들 수 있는 통찰력이 됩니다. 여러분이 작성한 코드는 컴파일 과정을 거쳐 실행 가능한 코드(File)이 됩니다. [컴파일 과정 자세히 보기 Click!] 실행파일을 실행하면 OS에서 해당 실행파일을 주기억장치(RAM)으로 적재(Load)를 합니다. 이렇게 적재된 실행코드들(Instruction)이 순차적으로 CPU 레지스터(Register)에 옮겨져 실행되는 것입니다. 그러면 메모리에 적재된 여러분의 프로그램이 어떤 구조를 갖게..