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

DevOps 51

[네트워크] DNS(Domain Name System)과 현장 DNS 관련 이슈

목차DNS응용/심화요약1. DNSDNS(Domain Name System)은 인터넷 전화번호를 의미. 컴퓨터는 통신할 때, 142.250.207.14 같은 IP 주소를 사용. 사람은 google.com과 같은 도메인 이름을 사용.=> DNS는 사용자가 도메인을 입력하면 이를 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템과 규칙. DNS 구성 요소1. 도메인 네임 스페이스(Domain Name Space)데이터가 저장되는 계층적 구조, '.'일 기준으로 계층이 구분. 2. 네임 서버(Name Server)특정 도메인이 특정 IP라는 정보를 실제로 저장하고 관리하는 데이터베이스 서바 3. 리졸버(Reslover)사용자의 요청을 받아서 네임 서버에 값을 요청/반환 받는 중개 역할, 통신사(ISP) ..

[Window OS] IsWindow(), IsWindowVisible()과 이를 활용한 외부 프로세스 감시

목차IsWindow(). IsWindowVisible()응용/심화요약1. IsWindow(), IsWindowVisible()IsWindow()BOOL IsWindow( [in, optional] HWND hWnd); 전달 받은 핸들이 시스템에 등록된 유효한 윈도우인지 확인.-> 윈도우가 최소화 되어 있건, 투명하건, 다른 창에 가려져 있건 상관없이 객체가 유효하다면 TRUE를 반환.-> 윈도우가 닫히고, 핸들이 무효화된 후 OS가 우연히 같은 핸들 값을 다른 윈도우에 할당할 수 있음, 따라서 이 함수만으로 내가 찾던 윈도우임을 100% 확신하기 위한 용도보다는 예외 방지용으로 주로 사용. IsWindowVisible()BOOL IsWindowVisible( [in] HWND hWnd); 전달 받은..

[네트워크] TCP / UDP 프로토콜과 TCP 프로토콜의 동적 포트 고갈

목차 TCP / UDP응용/심화요약1. TCP / UDPTCP(Transmission Control Protocol)연결 지향형으로 데이터를 보내기 전에 상대방과의 연결 과정인 3-Way Handshake 과정을 거침.-> 1:1 통신, 에러 및 흐름 제어-> 헤더가 20-60바이트 정도로 무거움.장점 : 데이터가 유실되면 제전송하고, 순서가 바뀌면 바로잡아주어 신뢰성을 보장.단점 : 확인 절차가 있어 UDP보다 느리고 오버헤드가 큼. UDP(User Datagram Protocol)비 연결형으로 상대방의 데이터 수신 준비 여부를 묻지 않고 데이터를 전송.-> 1:1, 1:N, N:N 통신, 에러 체크 미비.-> 헤더가 8바이트로 가벼움.장점 : 구조가 단순하고 확인 절차가 없어 매우 빨라, 실시간성이 ..

[네트워크] OSI 7계층 정리

목차OSI 7계층응용/심화요약1. OSI 7계층OSI 7계층 :국제표준화기구(ISO)에서 정의한 네트워크 표준 모델로, 통신이 일어나는 과정을 7단계로 구조화한 것. 7단계로 구분한 이유1. 유지보수의 독립성-> 특정 영역에 이상이 생기면 다른 단계의 장비나 소프트웨어를 건드리지 않고 문제가 발생한 계층만 수정해여 해결 하기 위함. 2. 표준화와 이해도-> 통신 흐름을 파악하기 용이하기, 서로 다른 제조사 장비 간의 호환성을 보장. 3. 캡슐화-> 송신 측은 상위에서 하위로 내려가며 헤더를 붙이고, 수신 측은 하위에서 상위로 올라가며 헤더를 제거하며 데이터를 처리. 1계층 - 물리 계층데이터를 전기적, 기계적 신호(비트열)로 변환하여 통신 케이블로 전송.데이터가 무엇이고 에러가 있는지 여부는 판단하지 ..

[AI] 임베딩(Embedding)의 개요

목차임베딩응용/심화요약1. 임베딩(Embedding)일반적으로 임베딩은 단어나 문장을 수치화 시켜주는 작업으로 사용.-> 구체적으로는 단순 데이터 변환이 아닌 의미의 공간적 배치. 자연어(텍스트)를 고정된 길이의 실수 배열(Vector)로 변환하는 기술.-> 비슷한 의미를 가진 단어나 문장은 벡터 공간상에서 서로 가까운 거리에 위치하게 만드는 것.ex) 정지 버튼과 STOP이라는 단어는 컴퓨터가 받아들이기에는 전혀 다른 데이터지만, 임베딩 후 벡터 좌표는 매우 근접하게 위치. LLM 프로세스에서의 임베딩LLM은 보통 다음과 같은 시퀀스를 통해 입출력을 처리함. 자연어 입력 -> 토큰화 -> 임베딩 -> AI 모델 연산 -> 자연어 출력 사용자가 프롬프트 등을 통해 자연어를 입력하면, 이를 문장에서 단어..

[AI] Gemini API 프롬프트 요청을 통해 RAD 컴포넌트 그리기

목차설계 및 구현결과1. 설계 및 구현개발 환경RAD 2009 C++ Builder, Gemini API 설정 파일 세팅 - GeminiApiKey : 사전에 발급받은 Gemini API 키 데이터가 삽입된 ini 파일.- GeminiPrompt : 사전에 정의할 시스템 프롬프트가 입력된 ini 파일.- GeminiSchema : 응답받을 JSON 스키마가 정의된 ini 파일.-> API 요청 시에는 동적으로 위 ini 파일들을 읽어서 API에게 요청할 최종 프롬프트를 생성. 시스템 프롬프트### [ROLE] ###너는 RAD STUDIO 2009 C++ 빌더에 특화된 UI 설계 전문가야.사용자의 요구사항을 분석하여 VCL 컴포넌트 배치 데이터를 JSON 형식으로 생성한다.### [COMPONENT ..

[AI] 프롬프팅의 중간 망각 현상(Lost in Middle)과 해소 방법

목차중간 망각 현상응용/심화요약1. 중간 망각 현상일반적으로 LLM이 문장을 읽는 방식은 사람이 책을 읽는 것과 비슷해서 심리학에서 얘기하는 서열 위치 효과(Serial Position Effect)가 LLM에서도 그대로 나타나고, 여기에는 두 가지 강력한 편향이 존재함. 1. 초두 효과(Primacy Effect)프롬프트 앞부분에 나온 지시사항은 모델의 전체 답변의 방향성을 결정하는 기준으로 동작.-> 시스템 메시지 혹은 역할 부여 등이 맨 앞에 위치하게 되는 이유이기도 함. 2. 최신 효과(Recency Effect)모델이 답변(Token)을 생성하기 직전에 읽은 정보가 가장 강한 자극으로 남게됨.-> 프롬프트 최후반의 지시사항에 높은 가중치를 두게됨. => 위 두 효과는 결국 토큰이 길어질수록 토큰..

[문자셋] 유니코드의 NFC / NFD 정규화

목차NFC, NFD응용/심화요약1. NFC, NFD유니코드는 문자 표현을 위한 국제 표준이지만 동일한 유니코드 문자라도 정규화 방식에 따라 동일한 글자를 컴퓨터가 인식하게 하는 방법에 차이를 줄 수 있음. 일반적으로 유니코드에서 한글 '가'를 표현하는 방법은 아래와 같음.NFC : '기'라는 글자 자체에 하나의 코드 번호(U+AC00)를 부여.NFD : 'ㄱ'과 'ㅏ'에 각각의 코드 번호(U+1100, U+1161)을 부여하고 합쳐보이게 함.-> 우리의 눈에는 동일하게 '가'로 표시되지만 컴퓨터가 인식하기에 U+AC00과 U+1100, 1161)은 전혀 다른 데이터임.=> 유니코드 페이지에는 완성형 문자(자음 모음 결합)와 조합형 문자(자음 모음 분해)에 대한 코드가 전부 있어서 유니코드 페이지를 사용한..

[문자셋] Windows API의 ANSI / Unicode 이중 구조

목차Windows API ANSI vs Unicode응용/심화요약1. Windows API ANSI vs Unicode현재 Windows API의 공식 문서를 확인하면 대부분의 함수들이 함수명 끝에 A 혹은 W가 붙은 함수를 동시 지원함.ex) MessageBoxA() MessageBoxW()-> 여기서 A와 W는 ANSI와 Wide를 의미. Windows API AANSI 문자셋을 사용하는 API 함수로 함수명 뒤에 A 접미사가 붙음.-> 내부적으로는 유니코드 변환 과정을 거침,.-> 영문 Windows 버전에서 실행하면 한글이 깨짐. (ANSI의 언어 지역 설정에 따른 문제)const char* ansiStr = "가동중";MessageBoxA(NULL, ansiStr, "알림", MB_OK);..

[문자셋] 유니코드 BOM(Byte Order Mark)

목차유니코드 BOM응용/심화요약1. 유니코드 BOMBOM(Byte Order Mark)BOM은 텍스트 파일 맨 앞에 붙은 보이지 않는 특수 문자. (2-3바이트)-> ANSI 혹은 UTF-8 인코딩 형식을 가진 파일인지를 파일 첫 머리만 보고 식별할 수 있게 해주는 역할.-> 2바이트 이상을 사용하는 UTF-16의 경우, 빅 엔디안 리틀 엔디안 중 어느 엔디안 형식을 사용하는지 식별.-> 일반적인 텍스트 에디터에서는 표시되지 않으며, HEX 에디터로 열었을때만 최상단에서 확인 가능. 유니코드 인코딩 별 BOMUTF-8 : EF BB BF-> 엔디안 형식은 상관 없으니 UTF-8임을 알리는 용도.-> BOM이 없어도 글자가 깨지지 않도록 설게되었기 때문에 BOM이 없는 UTF-8이 표준처럼 널리 사용.U..

반응형