본문 바로가기

코딩31

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.
[라이브러리 & 프레임워크] 라이브러리와 프레임워크란? ■ 라이브러리라이브러리는 프로그램의 특정 기능을 수행하도록 미리 짜여진 코드 집합이다. 즉 활용가능한 도구들의 집합을 의미한다. 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취한다. 집을 짓기 위한 과정을로 비유해보면, 라이브러리는 이케아에서 산 재료로 가구를 조립하는 것에 비유할 수 있다. 집에서 사용할 가구를 조립하거나 만들기 위해 벌목부터 시작해서 목공을 하고 가죽을 얻기위해 사냥을 하는 사람은 없다. 그래서 이케아에서 기본적인 재료를 사서 취향대로 조립하고 배치할 수 있다. 재료의 선택권이나 통제권은 사용자에게 있는 것이다.■ 프레임워크프레임워크는 코드의 큰 뼈대를 제공해줘서 그 뼈대에서 개발할 수 있도록 도와주는 역할을 한다. 라이브러리와 마.. 2024. 6. 22.
[프로세스 & 프로그래밍 언어] 프로세스와 프로그래밍 언어란? 프로그램이란 개발자들이 짠 코드들이 컴퓨터가 이해할 수 있는 코드들로 컴파일된 것을 의미한다. 프로그램을 실행하면 프로세스가 생성된다.■ 프로세스프로세스는 실행되고 있는 프로그램을 뜻한다. 프로그램(카톡, 엑셀 등)을 실행하게 되면 메모리 위에 올라가게 되고 이를 운영체제가 중재한다. 실제로 프로그램 자체는 코드(명령어)로 구성되어있다. 그리고 코드를 바탕으로 프로그램을 실행시킨다는 것은 프로세스가 생성되는 것을 의미한다. 그 프로세스는 프로그램 실행 정보, 프로그래머가 짠 코드 그리고 실행되면서 쓰이는 데이터들로 구성되어있다. 즉, 프로그램이 실행되면 이 프로그램의 명령어들과 데이터가 메모리에 적재되고 이것이 프로세스가 된다.- Text Code : 프로세스의 프로그래밍 코드, 기계어로 번역되어 적재-.. 2024. 6. 22.
[VPN] 가상사설망이란? ■ 가상사설망(VPN)이란?가상 사설망(Virtual Private Network)은 인터넷을 통해 만들어진 사설 통신망이다.사설망이란 개인이나 특정 기업이 사적인 목적을 위해 전용 회선을 설치하고 사설 IP 주소를 부여하여 만든 근거리 통신망(LAN), 즉 인트라넷이다. 반대로 공중망이란 모두가 이용할 수 있는 인터넷을 의미한다. ​인터넷을 구축할 때는 보통 해당되는 컴퓨터만 연결해서 제3자가 함부로 접근하지 못하게 한다. 그러나 회선이 없는 지역에서는 망 자체에 접근이 불가능해지기 때문에 회사 규모가 커지면 커질수록 전용선 구축 비용이 천문학적으로 늘어난다. 따라서 확장성이 뛰어난 인터넷(공중망)을 인트라넷처럼 사용할 수 있도록 만드는데, 가상머신처럼 사설망을 가상화시켜서 인터넷 위에 구현시켰다는 의.. 2024. 6. 22.