← All writing
Development

section6 note taking

아니 이렇게 2진수가 나를 괴롭힌다고? 아 괴롭다

Buffer

  • 충격완화, 완충지대
  • 컴퓨터 엔지니어링에서 버퍼는 A에서 B로 이동할 때 속도 그리고 시간 차이 조절
  • 데이터를 일시적으로 보관하는 완충기억 장치
  • 전문 통역사 역할 node.js <-> machine code

Binary Data

  • 컴퓨터의 가장 밑바탕 010101010
  • 컴퓨터가 이해하는 유일한 언어
  • cpu는 트랜지스터를 사용
  • 트랜지스터는 전기신호를 열었다 닫았다 할 수 있는 스위치
  • node.js <- Buffer -> [01010]
  • 무수한 0과 1을 연결하는 브릿지

[Buffer] 2진수 16진수 문자인코딩

  • 16진수 Hexa 6 Decimal 10
  • 1 bit Binary Digit
  • 8 bits = 1 Byte
  • 0-9 Decimal 10진수
  • 5 <-> 101 11 <-> 1011

2진수

  • 밑이 2인 수 Base-2
  • 1......0 8bits
  • MSB Most Significant Bit 영향력 최대
  • LSB Least Significant Bit
  • 128.... 1 유효성이 증가

Base

  • Base-10 10진수 0-9
  • Base-16 16진수 0-15
  • Base-2 2진수 0-1

HexaDecimal Base=16

  • x * 16^i
  • Binary <-> Hex 변환간단
  • 0-9, A-F 16개
  • 어떤 4bits를 선택하든 대응하는 문자는 1개
  • 4000bits -> 16진수 변환 -> 1000chars 정보량 유지 길이는 25%
  • 456 10진수? 16진수? 0x456 16진수인 것을 나타냄
  • 0x456 == 1110
  • FA3C == 64,060
  • 컴퓨터 세계에서 메모리위치&IP주소를 다를 때 16진수가 압도적으로 편리

문자 셋

  • 연산장치 cpu 숫자 <-> 키보드 텍스트
  • 문자와 숫자 사이를 1대1 매핑 character set
  • 모든 글자/기호의 전체 목록에 각 문자의 고유 식별 번호
  • 'a' == 97 == 01100001
  • 문자셋 변환, 메모리 저장

ASCII 기본

  • legacy system
  • 미국 정보 교환 표준 부호
  • 영어만 취급
  • 7bits 2^7=128

UNICODE 글로벌

  • 전세계 모든 문자의 단일 통합 규칙 rule book
  • 문자 <-> 숫자 완벽한 기준 unicode

Encoding Decoding

  • 인간의 언어 -> 이진수 encoder
  • 이진수 -> 인간이 이해할 수 있는 형태 decoder
  • 인코딩 시스템 UTF-8 Unicode 8bits
  • ASCII -> 8bits에 완벽 수납 젤 앞 한 칸은 항상 0으로 고정
  • 한글은 예외없이 3바이트 24bits
  • 모든 문자 인코딩: 글자를 쪼개어 약속된 이진수 조합을 부여하는 일관된 방식
  • CODEC = enCode + Decode

소감

  • 16진수 그건 뭐지? 컬로 표기할 때만 봤는데 buffer 예제 코드 보니깐 아 저것이,,,, 16진수 였구나 싶다.
  • 아 괴롭다 이걸 3년전에 했으면 내 회사 생활이 좀 나아 졌을까?