컴퓨터 공학 기초

프로그램, 프로세스, 스레드에 대해 기본적인 개념을 설명할 수 있다.
동시성과 병렬성의 차이를 이해할 수 있다.
자바스크립트 엔진(v8)이 어떤 특징을 가지고 있는지 이해할 수 있다.
프로그래밍에서 문자열을 다루는 방법과 유니코드 및 인코딩에 이해할 수 있다.
비트맵 이미지와 벡터 이미지의 차이를 이해할 수 있다.
가비지 컬렉션에 대해 이해할 수 있다.
웹 서비스에서 사용하는 다양한 캐싱의 사례를 이해할 수 있다.

👊 문자열


인코딩(부호화)란?

문자인코딩(character encoding) 또는 텍스트 인코딩(text encoding) 또는 줄여서 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 말한다. 넓은 의미의 컴퓨터는 이러한 신호를 입력받고 처리하라는 기계를 뜻하며, 신호 처리 시스템을 통해 이렇게 처리된 정보를 사용자가 이해할 수 있게 된다. 이 신호를 입력하는 인코딩과 문자를 해독하는 디코딩하기 위해선 미리 정해진 기준을 바탕으로 입력과 해독이 처리되어야 하는데 이를 문자열 세트 또는 문자셋이라고 한다. 초기 보급형 컴퓨터의 문자열 세트는 아스키나 EBCDIC이 표준이었으나, 이러한 문자열 세트는 세계 곳곳에 인터넷이 보급되어 표현해야 할 문자가 증가하면서 이러한 문자셋(charset)들을 표준화하기 위해 많은 대체방식이 개발되었다. 표준 문자셋을 개발하는것에 대한 논의가 이어졌고 후에는 유니코드가 등장하게 되었다.

문자열 세트 종류 (진짜 많다 자세히 보고싶다면 클릭 : https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%BD%94%EB%94%A9)

ASCII 문자 (American Standard Code for Information Interchange)

영문 알파벳을 사용하는 대표적인 문자 인코딩. 유니코드는 ASCII의 확장 형태
7피트로 모든 알파벳을 나타냄(7비트 인코딩). 52개의 영문 알파벳 대문자, 10개 숫자, 32개의 특수문자, 하나의 공백 문자를 포함한다.
단점: 미국에서 만든거라 한글이나, 유럽어 등 다른 문자체들이 없었다. 그래서 각 나라마다 각자의 문자열 셋을 만들었고, 문자열셋이 다르기때문에 컴퓨터 언어로의 의사소통이 어려웠다. 그래서 이를 통일하기 위해 만들어진것이 Unicode

유니코드(Unicode)

유니코드 협회가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 문자열셋이다.
유니코드 표준에는 ISO 10646문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루기 위한 알고리즘 등을 포함하고 있다.

목적: 현존하는 문자 인코딩 방법을 모두 유니코드로 교체하는것이다. 
  • 문자열셋
  • UTF-8은 이 문자열셋의 인코딩 방식

UTF-8과 UTF-16의 차이점

UTF-8과 UTF-16은 인코딩 방식의 차이를 의미한다.

  • UTF-8
    Universal Coded Character Set + Transformation Format-8-bit의 약자이고 뒤에 숫자는 비트(bit)
    특징: 바이트 순서가 고정됨
  • UTF-16
    코드 그대로 바이트로 표현 가능, 바이트 순서가 다양함
문자마다 적절한 방식을 표시 일반적으로 적은 용량을 사용하고 호환 문제도 가장 덜 발생하는 UTF-8이 전세계적으로 잘 사용하는구나.

👊 그래프


비트맵(래스터)과 벡터 이미지의 차이점

자료
코드스테이츠
위키백과
https://wacomkoreablog.com/624

좋은 웹페이지 즐겨찾기