한글이 왜 깨질까? 캐릭터셋과 인코딩에 대해서 알아보자
·
IT 지식
1. 깨진 한글과의 첫 만남 개발을 하다 보면 영어는 멀쩡한데, 한글만 ��처럼 깨져 보이는 경험을 하게 된다.“같은 요청인데 왜 영어는 괜찮고, 한글만 깨질까?”그 해답은 바로 문자셋(Character Set)과 인코딩(Encoding)에 숨어 있다.2. 문자셋과 인코딩의 차이문자셋(Character Set): 문자에 번호를 붙인 목록 (예: 가 = U+AC00)(사전 같은 개념이라고 생각해보자)인코딩(Encoding): 그 번호를 실제 바이트로 바꾸는 규칙예시 – "가" (U+AC00):UTF-8 → EA B0 80 (3바이트)UTF-16LE → AC 00 (2바이트)EUC-KR → B0 A1 (2바이트)즉, 같은 문자라도 인코딩 방식에 따라 바이트가 달라진다.영어는 ASCII 영역(0~127) 덕분..
macOS에서 계정명(short name) 변경하기 - Sequoia 15.1 경험 정리
·
IT 지식
1. macOS 계정 구조 이해하기 macOS에는 계정과 관련된 세 가지 이름이 있다: Full name (전체 이름)로그인 화면이나 Finder에 표시되는 이름. 단순히 표시용이다.Short name (계정명, RecordName)시스템이 계정을 식별하는 핵심 값. UID와 연결되어 파일 권한까지 좌우한다.Home directory (NFSHomeDirectory)/Users/shortname 형태로, 실제 데이터와 설정이 저장되는 경로. 파일 권한은 UID(숫자)에 묶여 있기 때문에 UID를 건드리지 않는 한 short name을 바꿔도 권한은 깨지지 않는다. 2. 예전(macOS Catalina ~ Big Sur) 방식 과거에는 계정명 변경이 번거로웠다.1. 변경 하기 전 상태를 확인dscl . ..
리눅스는 어떤 CPU 스케쥴링 알고리즘을 사용할까?
·
CS/운영체제
1. 왜 이걸 알아야 할까?백엔드 서버, 컨테이너, 마이크로서비스를 운영할 때 시스템이 느려지는 원인을 파악하려면 CPU가 어떻게 태스크를 선택해서 실행하는지 알아야한다.top, htop, pidstat, pref 등 시스템 모니터링 도구에서 나오는 load average, context switch, CPU 사용률은 결국 스케줄링 알고리즘의 결정 결과값이다.멀티스레딩, 병렬처리, 비동기 서버 개발 시 스케줄링 정책의 특성을 모르면 CPU 낭비, starvation, 성능 저하 발생이 이어진다.📌 즉, CPU 알고리즘은 성능 디버깅, 병렬 시스템 설계, 실시간 서비스 운영을 위해 꼭 알아야 한다.2. 어떤 알고리즘이 있고, 리눅스에는 어떤걸 쓸까?이해의 출발을 위해 고전 알고리즘을 알아보자알고리즘특징F..
[암호화] 웹 보안은 SSL!
·
보안
1. SSL(Secure Socket Layer)이란?인터넷 상에서 데이터 통신을 암호화하기 위한 보안 프로토콜입니다.→ 현재는 SSL이 진화한 TLS(Transport Layer Security)가 사용되고 있지만, 실무에서는 여전히 SSL이란 표현을 널리 사용합니다.2. SSL의 목적, 암호화!제 3자가 내용을 볼 수 없도록 암호화하는 기밀성, 전송 중 데이터가 변조되지 않았는지 확인하는 무결성, 서버 또는 클라이언트의 신원을 확인하는 인증이 있습니다.3. SSL 동작 방식 요약2종류의 키를 사용 비대칭키와 대칭키를 혼합하여 사용합니다.암호 방식특징사용 이유비대칭키 암호화느림, 공개키로 암호화 → 비밀키로 복호화대칭키 전달 시 사용대칭키 암호화빠름, 같은 키로 암복호화이후 데이터 통신에 사용 즉, 비..
[암호화] 대칭키란?
·
보안
1. 대칭키란?같은 키로 암호화와 복호화를 수행하는 방식입니다.속도는 빠르고 구현이 간단하지만, 키가 노출될 경우 모든 통신이 해독 가능하다는 보안상 리스크가 있습니다.2. 대칭키를 이용하는 방법단순하게 대칭키만을 사용해서 사용하지 않고 흔히 비대칭키와 혼합해서 사용됩니다.방식 1: RSA 기반(TLS 1.2 이하)1. 클라이언트는 서버 인증서를 받고 → 공개키를 추출2. 브라우저가 임의로 세션키(대칭키)를 생성3. 이 세션키를 서버의 공개키로 암호화해서 전송4. 서버는 자신의 비밀키로 복호화 → 세션키 확보 5. 이후 통신은 이 세션키(대칭키)로 암호화 진행 📌 이 방식은 RSA를 사용해 클라이언트가 대칭키를 생성하고 서버의 공개키로 암호화하여 전송하는 구조이며, 서버는 비밀키로 복호화하여 대칭키를 ..