컴퓨터 공학 이론

  • 2진법, 16진법에 대한 이해, 문자열을 다루는 방법과 운영체제의 프로세스, 스레드 개념을 학습합니다.

  • 현대의 웹 서비스에서 쓰이는 캐싱 기법과 종류에 대해서 학습합니다.

문자열

2010년 이후, 유니코드라고 불리는 인코딩 방식이 통일된 시대를 살아가고 있습니다. 프로그래밍 언어마다 문자열을 다루는 자료형의 차이를 이해하기 위해 문자열을 다루는 기본적인 방식은 알고 있어야 합니다.

유니코드란?

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

인코딩이란?

어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것입니다.
인코딩과 문자를 해독하는 디코딩을 하기 위해 미리 정해진 기준을 바탕으로 입력과 해독이 처리되어야 합니다.
(디코딩과 인코딩의 기준을 문자열 세트 또는 문자셋(charset)이라고 합니다. 국제 표준이 바로 유니코드입니다.)

ASCII 문자란?

영문 알파벳을 사용하는 대표적인 문자 인코딩으로 7비트로 모든 영어 알파벳을 표현할 수 있습니다. 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수문자, 하나의 공백 문자를 포함합니다.

(유니코드는 ASCII를 확장한 형태입니다.)

UTF-8과 UTF-16 차이점은?

인코딩 방식의 차이를 의미합니다. Universal Coded Character Set Transformation Format - 8 bit의 약자로, UTF - 뒤에 등장하는 숫자는 비트(bit)입니다.

네트워크를 통해 전송되는 텍스트는 주로 UTF-8 인코딩입니다.
UTF-16에 비해 바이트 순서를 따지지 않고, 순서가 정해져 있습니다.


비트맵(PNG)와 벡터(SVG)의 차이점

비트맵(래스터) === PNG

  • 픽셀 기반
  • 확대에 적합하지 않고, 큰 사이즈의 이미지가 필요할 때 사용하려는 크기 이상으로 생성하거나 스캔해야 한다.
  • 큰 크기의 이미지는, 큰 파일 사이즈를 가진다.
  • 이미지 복잡도에 따라 벡터로 변환하는 것에 시간이 오래 걸린다.
  • jpg, gif, png, bmp, psd
  • 웹에서 jpg, gif, png등으로 사용된다.

벡터

  • 수학적으로 계산된 Shape 기반
  • 로고, 일러스트와 같이 제품에 적용되는 이미지에 적합하다.
  • 품질 저하 없이 모든 크기로 확대 가능하며, 해상도 영향을 받지 않는다.
  • 큰 크기의 벡터 그래픽은 작은 파일 사이즈를 유지할 수 있다.
  • 쉽게 래스터 이미지로 변환이 가능하다.
  • svg, ai
  • svg 포맷은 대부분의 브라우저가 지원한다.

운영체제 개요

하드웨어에게 일을 시키는 주체가 운영체제 입니다.

시스템 자원 관리

운영체제가 없다면, 응용 프로그램이 실행될 수 없습니다. 응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줍니다.

하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 주체가 운영체제입니다.

  • 프로세스 관리 (CPU)
  • 메모리 관리
  • I/O 입출력 관리

응용 프로그램 관리

응용 프로그램이 실행되고, 시스템 자원을 사용할 수 있도록 권한과 사용자를 관리합니다.

응용 프로그램

응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면, 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 합니다.

권한을 부여받고 난 후에 운영체제가 제공하는 기능을 이용할 수 있습니다. 응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스 (API)를 제공해야 합니다.

운영체제 차원에서 다양한 함수를 제공하는 것을 시스템 콜(System Call)이라고 부릅니다.

ex) 운영체제가 프린터 사용을 허가해 주지 않는다면 사용할 수 없습니다.

워드프로세서 프로그램도 운영체제로ㅗ부터 프린터 사용에 대한 권한을 부여받아야 합니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글