-
문자열 / 그래픽
- 프로그래밍에서의 문자열
- 유니코드 및 인코딩
인코딩과 디코딩의 기준을 문자열 세트 또는 문자셋(charset)
이 문자셋의 국제표준 => 유니코드
- 비트맵 이미지(Raster) vs 벡터 이미지(Vector)
-
운영체제 - 프로세스, 스레드, 멀티스레드
define:프로그램: a set of instructions
프로세스: a program in execution
스레드: a segment of a process
-
가비지 컬렉션 GC
프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것
방법: 트레이싱, 레퍼런스 카운팅
이 기능을 가진 언어/엔진: 자바, C#, 자바스크립트 등
-
캐시 : 많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것,
이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있다
프로그래밍 레벨의 캐시: 메모이제이션
클라이언트의 캐시: HTTP 캐시 헤더, 브라우저
네트워크의 캐시: DNS 서버, HTTP 캐시 헤더, CDN, 리버스 프록시
서버 및 데이터베이스의 캐시: 키-값 데이터 스토어(e.g. Redis), 로컬 캐시(인-메모리, 디스크)
-
체크포인트
"CS를 쌓아가는게 개발자에게 당장 눈에 보이는 결과를 가져오진 않아도, 장기적으로 꼭 필요한 지식, 전체 학습량의 10%를 할당해서 쌓아가자, 일주일에 한 챕터라도"_ 최민철 엔지니어님
- 1번 D: node.js는 싱글 스레드로만 작동한다? -> 운영체제에 따라서는 최대 4개까지도, 하지만 개발자가 관여하는 이벤트 loop가 싱글스레드로 작동한다
- 2번 B: 스레드는 stack 따로 쓰고, 나머지는 공유
- CPU / RAM(메모리_ 기억장치를 모두 메모리라 하지만 하드디스크와 나누어 얘기할 때 일반적으로 '메모리'란 램)/ storage-HDD,SSD
Register CPU가 한 번에 처리할 수 있는 데이터의 크기
+ 1,000,000,000,000 - 조, 십억, 백만, 천 => 1GB = 10억Byte
- 4번 D: 포인터: RAM의 주소
+ 메모리 스왑 (mac의 activity monitor로 확인가능)
++메모리 누수 / memory leak
- 5번 이진파일 / 텍스트 파일
D: "개행"- 고칠개, 행을 밑으로 내리는 방법은 운영체제별로 다름
+++ 정규식 개행 (regex for new line)
- 8번 D: "엔디언" utf-16
- 11번 A: CDN (content Delievery Network)- ex) AWS, Cloudflare, akamai , 자주 소비되는 미디어, 영상 파일 등 지리적으로 가까운 곳에 둠