본문 바로가기

분류 전체보기104

펌웨어(Firmware) ■ 펌웨어펌웨어는 컴퓨팅과 공학 분야에서 특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나 수정하는 것도 가능한 영구적 소프트웨어를 뜻한다.출처 : 위키백과 펌웨어는 하드웨어의 기본적인 구동 및 제어를 담당하는 특수 용도의 소프트웨어를 말한다. 소프트웨어라고 하지만 보통 하드웨어 엔지니어가 도맡아 지원한다.​■ 펌웨어와 소프트웨어위키백과에서 펌웨어는 소프트웨어라고 정의했다. 여기서 처음 들었던 의문점은 "소프트웨어면 소프트웨어지 왜 굳이 펌웨어라는 명칭을 사용할까" 였다.일반적인 소프트웨어(OS, Application 등)는 RAM에서 구동된다.펌웨어는 영구적인 명령어와 데이터로 이루어져 있으므로, 제조단계에서 ROM(혹은 PROM)에 기록된다.즉, 내용이 날아가면 안되고 사용자가 .. 2024. 6. 23.
[개발용어] C, C++, C# 언어의 차이점 언어유형개발연도주요용도특징C절차 지향 언어1972시스템 프로그래밍, 임베디드 시스템저수준 메모리 조작, 속도, 효율성C++객체 지향 언어1983게임 과학 시뮬레이션, 운영체제, 블록체인클래스, 상속, 다형성, 탬플릿C#객체 지향 언어2000Windows 데스크톱 애플리케이션, 게임, 웹 애플리케이션가비지 수집, 유형 안전성, 사용하기 쉬운 구문■ C언어C언어는 위 세가지 언어 중 가장 기본이 되는 언어이다. 가장 오래되고, 가장 널리 사용되고 있으며, 운영체제나 언어 처리계 등의 시스템 기술에 적합한 프로그래밍 언어이다.​C언어는 절차 지향 언어(procedure oriented language)이다. 즉, 함수를 이용해서 프로그램을 만들어 순차적으로 실행되는 언어라고 할 수 있다. 코드를 짠 순서대로 .. 2024. 6. 23.
[개발용어] 컴파일, 디버깅, 빌드, 배포 ■ 컴파일컴파일 언어는 코드가 실행되기 전 컴파일러를 거쳐 기계어로 모두 변환되어 실행되는 프로그래밍 언어이다.출처 : 위키백과 쉽게 말해서 컴파일(compile)이란 개발자들이 특정한 프로그래밍 언어(C, C++, Java, Python 등)을 사용해서 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업을 일컫는다. 즉, 컴퓨터와 그 컴퓨터에 설치된 운영체제가 이해할 수 있는 기계어 코드로 변환하는 과정 또는 일이다.■ 링크컴파일이 끝나면 나눠져 있는 Object 파일들이나 다른 파일들을 엮어주는 작업이 필요한데, 이 작업을 링킹이라고 한다.​사실 우리가 일반적으로 프로그래밍을 하면서 모든 작업들을 프로그래밍하지는 않는다. 예를 들어 키보드 입력에 대한 Scanner를 쓰지만 어떻게 키보드가 입력되고.. 2024. 6. 23.
[개발용어] 기계어, 어셈블리어, 고급언어 ■ 기계어기계어는 CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어를 통틀어 일컫는다. 기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다.출처 : 위키백과 기계어는 쉽게 말해 컴퓨터의 언어이다. CPU가 별 다른 컴파일 없이 직접 해독하고 실행할 수 있는 0과 1로 이루어진 비트 단위의 언어이다. 여기서 0과 1은 엄밀히 따지면 숫자(데이터)는 아니다. 있다, 없다 그리고 양극과 음극 정도의 개념이다.​기계어는 CPU가 해독할 수 있는 유일한 언어이기 때문에 모든 프로그래밍 언어는 결국 기계어로 번역이 되어 CPU에게 전달된다.위와 같은 기계어는 가독성이 현저히 떨어져 보통의 사람들에게는 단순히 0과 1의 반복된 난해한 언어로 보인다. 따라서 기계어로 프로그래밍을 짜는 사람은 거.. 2024. 6. 23.
CR / LF / CRLF 에 대한 이해 ■ CR, LFCR과 LF는 타자기에서 유래된 단어이다. 타자기로 문서를 작성할 때 한 줄에 글자를 다 입력했으면 아래 줄로 이동시켜줘야한다. 아래 줄로 이동하는 것이 Line Feed(LF)이고, 왼쪽 끝으로 밀어 주는 것이 Carrige Return(CR)이다. ■ CRCarriage Return (\r)현재 커서를 줄 올림 없이 가장 앞으로 옮기는 동작■ LF​Line Feed (\n)커서는 그 자리에 그대로 둔 상황에서 종이만 한 줄 올려 줄을 바꾸는 동작■ CRLFCRLF = CR + LF커서를 아랫줄로 보내고 맨 앞으로 보내는 동작EOL이란 End Of Line 의 줄임말로 CRLF와 같은 의미를 지닌 말이다■ 운영체제 별 CR, LFWindows : CRLF(\r\n)Unix/Linux : .. 2024. 6. 23.
비트(Bit)와 바이트(Byte) 사람 간의 대화에서 언어가 필요하듯, PC와 사람 간의 대화를 위해 약속된 언어가 필요하다. 그 언어를 2진수(binary) 또는 Bit(비트) 라고 한다. 비트란 0과 1의 정보를 나타내는 최소 단위이다. 0과 1을 표현하는 1비트는 0 또는 1인 숫자 여덟 개를 모아 표시할 수 있는데, 이 단위를 바이트라고 한다. 8비트가 모이면 1바이트가 된다.(8Bit == 1Byte)컴퓨터는 기본적으로 이러한 Byte 단위로 데이터를 읽고 쓰는 작업을 한다. 디지털 데이터를 만들 때는 8비트를 Byte로 다루는 것이 좋다. 0 또는 1인 숫자 8개의 집합이 1바이트다. 컴퓨터는 모든 것을 0과 1의 집합으로만 다룬다. 키보드로 문자를 입력할 수 있다는 것은 숫자와 문자의 대응 표를 미리 만들어 두었기 때문이다... 2024. 6. 23.