시작은 미미하나 끝은 쥬쥬하리라.

DevOps 51

[문자셋] ASCII / ANSI / EUC-KR / CP-949

목차ASCII, ANSI, EUCKR, CP949응용/심화요약1. ASCII, ANSI, EUCKR, CP9491. ASCII현대 문자 인코딩의 시초, 1960년대 미국 표준으로 시작.알파벳, 숫자, 기호 등을 7비트로 표현한 문자셋이자 인코딩.-> 바이트 중 7비트만 사용하고, 나머지 1비트는 통신 오류 체크용(패리티 비트)로 비워둠.-> 영어와 숫자만 가능하며, 현존하는 모든 인코딩의 0~127번은 ASCII와 100% 동일. 2. ANSI미국 표준 협회(ANSI)의 이름을 차용했으나, 실제로는 Windows의 기본 코드 페이지를 통칭하는 말로 사용.ASCII의 빈 1비트를 패리티 비트로 사용하는 것이 아닌 문자 표현으로만 8비트(1바이트)를 사용하여 256개로 확장.-> 256개로도 전 세계의..

[문자셋] 문자셋(Character Set)과 인코딩(Encoding)의 구분

목차문자셋과 인코딩요약1. 문자셋과 인코딩문자셋컴퓨터가 문자를 이해할 수 있도록 문자에 고유한 번호를 매핑해 놓은 규칙.-> 어떤 문자가 어떤 숫자에 대응하는지를 정의.ex) ASCII 문자셋 : 영어와 숫자 위주의 128개의 번호표.ex) 유니코드 문자셋 : 전 세계 모든 언어와 이모지까지 포함한 번호표. 인코딩문자셋에 정의된 번호를 메모리에 어떤 규칙으로 저장할지를 결정하는 변환 방식.-> 문자셋에 정의된 번호를 몇 바이트로 쓸지 혹은 어떤 비트 조합으로 만들지를 결정하는 규약.ex) UTF-8 : 유니코드 번호를 1~4바이트 가변 길이로 사용.ex) UTF-16 : 유니코드 번호를 주로 2바이트 고정 길이로 사용. 문자셋과 인코딩의 차이과거에 많이 사용되었던 ASCII, EUC-KR 등의 문자셋..

[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap)

목차우선순위 큐응용/심화요약1. 우선순위 큐우선순위 큐(Priority Queue)일반적으로 큐는 선입선출 방식으로 먼저 들어온 데이터가 먼저 나가는 자료구조.-> 우선순위 큐는 먼저 들어온 데이터가 아닌, 우선순위가 높은 데이터가 먼저 나가는 자료구조임. 일반적으로 우선순위 큐는 배열 등으로 구현할 수 있고 힙(heap)으로도 구현할 수 있음.-> 하지만 거의 대부분의 경우에서는 힙을 사용하여 우선순위 큐를 구현함. 배열 - 우선순위 큐우선순위가 높은 순서대로 배열의 앞 부분에 위치하게끔 구현 가능.-> 데이터 출력 시, 배열의 맨 앞 인덱스를 반환.-> 그러나 데이터 입력 시, 들어온 데이터보다 우선순위가 낮은 기존 데이터들은 모두 인덱스를 하나씩 밀어야 함.=> 즉, 삭제 시에는 O(1), 삽입..

[자료구조] 큐(Queue)의 종류와 링버퍼(Circular Buffer)

목차큐와 링버퍼응용/심화요약1. 큐와 링버퍼큐(Queue)큐는 선입 선출(FIFO)의 구조를 가진 자료구조로 일렬로 길게 늘어선 형태의 구조를 의미.-> 데이터가 입력된 순으로 처리해야하는 알고리즘, 로직에 사용.ex) CPU / 디스크 스케쥴링, 프린터 출력, 스레드/프로세스 간 통신 스택(Stack) : 후입 선출(LIFO)의 구조를 가진 자료구조로 큐와 반대되는 개념. 가득 찬 큐에 데이터(요소)를 추가하려할 때 오버플로우가 발생하고 비어있는 큐에서 데이터를 제거하려할 때 언더플로우 발생.-> enqueue : 큐의 끝(Rear)에 데이터를 추가하는 작업 : put-> dequeue : 큐의 앞(Front)에 데이터를 제거하는 작업 : get 큐의 시간 복잡도(Big-O)삽입(enqueue) :..

[CS] Big-O 표기법(Big-O Notation)과 표기법 간 비교

목차Big-O 표기법응용/심화요약1. Big-O 표기법동일한 문제라도 이를 해결하는 방법(알고리즘)에 따라 효율성이 다름.이 효율성을 비교하기 위해 시간 복잡도와 공간 복잡도를 측정. 시간 복잡도 : 입력값(n)의 크기에 따른 연산 횟수의 증가량.공간 복잡도 : 알고리즘 실행 시 사용하는 메모리의 양. Big-O데이터의 규모가 늘어나는 경우에도 잘 동작하는지를 결정하는 가장 객관적인 척도.데이터의 개수(n)이 늘어날 때, 연산 횟수나 메모리 사용량이 얼마나 급격하게 증가하는가를 나타내는 공식. 2. 응용/심화Big-O 복잡도별 비교O(1) : 상수 시간(Constant Time)데이터 1개 혹은 데이터 100만개에서 동일한 속도로 처리하는 최고로 효율적인 상태.ex) 배열에서 인덱스로 값을 탐색 -> ..

[자료구조] 색인(Index), 역색인(Inverted Index)과 다중 색인(Multi Indexing) 전략

목차색인응용/심화요약1. 색인색인은 물리적 저장 위치와 별개로, 특정 키를 통해 데이터가 어디 위치하는지 알려주는 간접 참조 구조,ex) 실제 데이터가 책의 본문이라면 색인은 책의 목차에 해당함.-> 빠른 속도로 데이터를 탐색할 수 있다는 이점이 있음. 일반적으로는 데이터베이스에서 많이 언급되는 개념이지만 DB만의 전유물은 전혀 아님. Windows, Linux 등 OS에서 파일을 탐색할 때, 하드디스크의 모든 섹터를 탐색하지 않고 미리 파일의 이름, 위치 등을 별도의 색인 테이블에 모아두고 이름 참조하여 파일 시스템을 통해 파일 검색을 제공. Visual Code 등의 IDE(개발도구) 또한 프로젝트 내의 수 많은 소스 코드에서 함수 정의, 변수 선언 위치를 미리 스캔하여 색인화하고, 특정 단어 검..

[AI] 할루시네이션(Hallucination)과 프롬프트를 통한 방지 대책

목차할루시네이션응용/심화요약1. 할루시네이션할루시네이션AI 모델이 학습한 데이터에 기반하지 않은, 사실과 다르거나 논리적으로 맞지 않는 내용을 진실처럼 출력하는 현상.ex) 오브젝트를 생성하는데 없는 속성을 만들어내거나 존재하지 않는 API 함수를 추천하는 것 등. 할루시네이션 발생 원인1. 확률적 예측의 한계LLM은 지식이 아닌 가장 적합해보이는 단어를 확률적으로 계산-> 올바른 지식이 아닌 확률이 가장 높은 단어를 조합하다 보니 잘못된 답변 생성. 2. 데이터 공백학습 데이터에 없는 최신 정보나 구체적인 기술 스택 등에 대해 질문.-> 비슷한 다른 데이터를 조합하여 가짜 답변을 생성. 3, 과도한 창의성Temperature 파라미터가 높게 설정되면 모델이 낮은 확률의 단어를 선택.-> 논리적 궤도에..

[AI] 프롬프트 온도(Temperature)와 TOP_P, TOP_K

목차온도응용/심화요약1. 온도온도(Temperature)LLM 프롬프트를 사용할 때, 직접 모델과 상호작용 가능한 파라미터 중 하나.여러 파라미터 중에서도 temperature는 AI가 단어를 선택할 때 확률 분포를 어떻게 할 것인가를 결정하는 파라미터.일반적으로 0.0에서 2.0 사이로 파라미터 값을 설정할 수 있으며 모델에 따라서 1.0이 최대치인 모델(Claude)도 있음. 기능 : temperature는 AI 모델이 텍스트를 생성할 때 단어 혹은 구문을 선택하는 과정에서 무작위성을 조절하는 설정값으로 기능함.-> temp가 낮으면 예측 가능하며 보수적인 답변을 하고, temp가 높으면 다양한 단어를 선택하여 창의적인 결과를 도출. 1. 낮은 온도로 설정하는 경우 : 0.0 ~ 0.3 (0.0 ~ ..

[AI] 구조화된 출력(Structured Outputs)과 Gemini API를 통한 JSON Schema 데이터 반환

목차Structured Outputs응용/심화요약1. Structured Outputs일반적으로 사용자가 Open AI 등의 LLM에게 특정 답변을 요구하면 자유로한 줄글의 형태로 답변을 반환.구조화된 출력이라는 것은 이 LLM이 개발자가 미리 정의한 JSON / XML 등의 스키마에 일치하는 답변을 하도록 강제하는 것.-> 웹 서버 통신, DB 저장, UI 위젯 지정 등 프로그램 소스코드 레벨에서 AI의 답변을 즉시 객체화하여 사용하기 위해 필수적. Open AI vs Gemini의 구조화된 답변 비교기본적으로 둘 다 기본적으로 JSON 등의 스키마 형식을 갖춘 데이터 예시가 필요함. 공통 JSON 스키마 정의{ "type": "object", "properties": { "project_n..

[AI] 단계별 사고 유도(Chain-of-Thought, CoT)와 자기 개선 CoT

목차CoT응용/심화요약1. CoTCoT는 프롬프트 기법 중 하나로 정답을 도출하기 위한 중간 추론 단계를 생성하게 함으로써 추론 능력을 향상시키는 기법.정답을 바로 도출하는 것이 아닌, 복잡한 문제를 사람이 해결하는 프로세스와 같이 단계 별로 문제를 해결하게 끔 유도. CoT의 특징(1) 논리적 순서화(Logical Sequencing) :성급한 결론을 도출하다가 순서가 꼬이는 실수 방지. (2) 자기 교정(Self-Correction) :단계별로 추론하는 과정에서 모델 스스로 논리적 모순을 발견할 확률이 증가. (3) 복잡성 해결(Complexity Handling) :복잡한 작업을 지시할 때 강력한 힘을 발휘. CoT가 효율적인 이유(1) 인간 사고 모방 :복잡한 문제를 관리 가능한 중간 단계로 ..

반응형