본문 바로가기

프로그래밍33

[개발용어] 기계어, 어셈블리어, 고급언어 ■ 기계어기계어는 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.
[인코딩] 문자 인코딩이란? ■ 문자 인코딩(Character Encoding)사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 문자 인코딩이라고 한다. ​컴퓨터는 모든 정보를 0과 1인 바이너리, 즉 숫자로 저장한다. 그러나 우리는 문서작업, 코딩, 메세지 등 컴퓨터에서 문자를 사용하여 입력하고 저장하며 처리하고 있다. ​컴퓨터는 우리가 입력한 한글 등을 컴퓨터가 이해할 수 있는 신호로 변환하는 인코딩을 통해 저장하며 처리한다. 여기서 컴퓨터가 이해할 수 있는 신호는 바이너리 데이터를 의미한다.​역으로, 디코딩이란 0과 1로 구성된 바이너리 데이터를 다시 문자로 복구하는 것이다.■ 문자 셋(Character Set, 코드표)바이너리 데이터로 변환하는 인코딩과 다시 문자로 변환하는 디코딩은 미리 정해진 규.. 2024. 6. 23.
[Git & Github] 깃, 깃허브 ■ gitgit은 소스코드의 버전을 관리하는 툴이다. 코드를 언제 누가 무엇을 변경했는지 서로 비교할 수 있고, 여러개의 코드를 합치고 버전을 옮길 수 있다. 하나의 절대적인 프로젝트를 기준으로 개발자들이 프로젝트 코드를 다운받아서 작업을 하게 된다. 그리고 작업이 끝나면 다시 프로젝트에 본인의 소스코드를 업로드하게 된다. 이러한 과정을 git이 도와준다. 개발자들은 자신이 짠 코드들을 git으로 업데이트하기 위해 준비한다. 이를 커밋(commit)이라고 한다. 이 커밋을 git에 푸시(push)하면 최종적으로 기존의 커밋들에 쌓이면서 자연스럽게 버전이 형성된다. 이렇게 개발자가 커밋을 쌓은 후, 다른 개발자는 마지막 커밋을 기준으로 해서 패치(Fetch)한 후 그 위에 본인의 코드를 작성한다. 여러 명.. 2024. 6. 23.
[API] 응용 프로그램 프로그래밍 인터페이스 API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.출처 : 위키백과 즉, API(Application Programming Interface)는 "프로그램과 프로그램을 연결시켜주는 매개체"다.​보통 프로그램끼리 통신을 하기 위해선 프로그램을 만드는 개발자가 해당 프로그램이 잘 통신할 수 있도록 규칙들을 잘 설계하는 게 중요하다.​API가 프로그램과 프로그램 사이의 중개자 역할을 해준다. 쉽게 말해서 규칙들의 집합이다. API가 대신해주는 .. 2024. 6. 23.
[라이브러리 & 프레임워크] 라이브러리와 프레임워크란? ■ 라이브러리라이브러리는 프로그램의 특정 기능을 수행하도록 미리 짜여진 코드 집합이다. 즉 활용가능한 도구들의 집합을 의미한다. 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취한다. 집을 짓기 위한 과정을로 비유해보면, 라이브러리는 이케아에서 산 재료로 가구를 조립하는 것에 비유할 수 있다. 집에서 사용할 가구를 조립하거나 만들기 위해 벌목부터 시작해서 목공을 하고 가죽을 얻기위해 사냥을 하는 사람은 없다. 그래서 이케아에서 기본적인 재료를 사서 취향대로 조립하고 배치할 수 있다. 재료의 선택권이나 통제권은 사용자에게 있는 것이다.■ 프레임워크프레임워크는 코드의 큰 뼈대를 제공해줘서 그 뼈대에서 개발할 수 있도록 도와주는 역할을 한다. 라이브러리와 마.. 2024. 6. 22.