기술(Tech, IT) 268

[Networking] TCP (Transmission Control Protocol)

TCP는 네트워크, 특히 인터넷에서 사용되는 기본 통신 프로토콜로, 애플리케이션 간에 데이터 스트림을 안정적이고 순서대로 오류를 확인하며 전달할 수 있도록 한다. 이는 인터넷 프로토콜 제품군의 핵심 프로토콜 중 하나이며, 일반적으로 TCP/IP라고도 한다. TCP는 파일 전송, 이메일, 웹 브라우징과 같이 데이터가 정확하고 순서대로 완전해야 하는 애플리케이션에 매우 중요하다. 하지만 이러한 기능에 필요한 오버헤드로 인해 지연 시간이 발생하고 처리량이 감소할 수 있어, 스트리밍이나 게임과 같은 실시간 애플리케이션에는 신뢰성 기능이 부족하더라도 UDP와 같은 프로토콜이 선호될 수 있다. Connection-Oriented: TCP는 연결 지향 프로토콜로, 양쪽 끝에 있는 애플리케이션 프로그램이 메시지 교환을..

[Networking] FTP server (File Transfer Protocol)

FTP 서버는 FTP (File Transfer Protocol) 를 사용해 네트워크에 있는 컴퓨터 간에 파일을 전송할 수 있도록 하는 서버 유형이다. 이를 통해 사용자는 네트워크 또는 인터넷을 통해 파일을 업로드, 다운로드 및 관리할 수 있다.FTP는 인터넷에서 가장 오래된 프로토콜 중 하지만 대용량 파일 관리에 효과적이고 다양한 시스템과 장치에서 폭넓게 지원되기 때문에 여전히 널리 사용되고 있다.Protocol: FTP는 인터넷과 같은 TCP 네트워킹을 통해 한 호스트에서 다른 호스트로 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜이다.Functionality: 사용자는 소프트웨어 애플리케이션 또는 웹 기반 인터페이스인 FTP 클라이언트를 사용해 FTP 서버에 연결할 수 있다. 연결되면 사용자는..

[Networking] Beacon (비콘)

네트워킹에서 "beacon"은 일반적으로 네트워크 디바이스가 자신의 존재를 나타내거나 다른 정보를 전달하기 위해 정기적으로 보내는 신호 또는 메세지를 말한다. beacon은 관리, 구성, 연결 유지 등 다양한 목적으로 다양한 유형의 네트워크에서 사용된다. 다음은 비콘이 사용되는 몇 가지 구체적인 상황이다. Wireless Network (무선 네트워크, Wi-Fi) : Wi-Fi 네트워크에서 AP (Access Point)는 beacon 프레임을 주기적으로 브로드캐스트 하여 네트워크의 존재를 알리고 디바이스가 네트워크에 연결할 수 있도록 한다. 네트워크에 참여하려는 장치에 필요한 서비스 세트 식별자 (SSID, Service Set Identifier), 지원되는 데이터 속도 및 기타 매개변수 등 네트워..

[Tech, etc.] APEX (APplication/EXecutive)

ARINC(Aeronautical Radio, Incorported) 에서 APEX specification은 항공 전자 시스템의 애플리케이션 소프트웨어 및 하드웨어 리소스를 관리하기 위해 개발된 일련의 표준을 말한다. 보다 구체적으로, APEX 제품군의 일부인 ARINC specification 653은 운영 체제와 애플리케이션 소프트웨어 간의 인터피에스에 대한 개요를 설명한다. 이 표준은 항공 시스템의 안전과 기능 모두에 필수적인 항공 전자 공학 소프트웨어가 파티션된 환경 내에서 안정적으로 작동하도록 보장하는 데 매우 중요하다. ARINC 653을 포함한 APEX 제품군은 최신 항공 전자 시스템의 설계 및 개발에서 중요한 역할을 하며 항공 소프트웨어 애플리케이션의 안정성(safety), 신뢰성(rel..

[CG] Scene Graph - 재정리

Scene Graph는 컴퓨터 그래픽, 게임 개발, 가상 현실 애플리케이션에서 graphic scene의 논리적이고 종종 공간적인 표현을 관리하고 구성하기 위해 일반적으로 사용되는 데이터의 구조다. 이를 통해 개발자는 오브젝트, 조명, 카메라 등 많은 요소가 포함된 복잡한 장면을 구조화된 방식으로 처리할 수 있다. Scene Graph의 핵심 개념은 scene의 오브젝트를 그래프의 노드로 표현하는 것으로, 각 노드는 여러 개의 자식을 가질 수 있지만 일반적으로 하나의 부모만 가질 수 있다. 이러한 계층적 구조를 통해 오브젝트와 그 속성은 물론 오브젝트 간의 관계를 효율적으로 관리할 수 있다. 예를 들어, 부모 노드에 적용된 변환(이동, 회전, 크기 조정 등)은 모든 자식에 자동으로 영향을 미치므로 캐릭터..

[Algorithm] Rabin-Karp Algorithm (라빈-카프 알고르짐)

Rabin-Karp Algorithm은 hasing을 사용해 텍스트의 패턴 문자열 집합 중 중 하나를 찾는 문자열 검색 알고리즘이다. 1987년 마이클 라빈(Michael Rabin)과 Richard Karp(리차드 카프)가 개발했다. 이 알고리즘의 핵심 아이디어는 검색하려는 패턴의 해시값을 계산한 다음 이 해시를 패턴과 길이가 같은 텍스트의 하위 문자열의 해시값과 비교하는 것이다. 이 방법을 사용하면 패턴과 일치할 가능성이 없는 텍스트의 많은 부분을 빠르게 건너뛸 수 있기 때문에 특히 패턴이 텍스트보다 훨씬 작은 경우 검색의 속도를 크게 높일 수 있다. 알고리즘의 개요는 아래와 같다. 해시 함수 : 각 문자열을 숫자 값으로 변환하는 해시 함수를 선택한다. 초기 해시 값 : 길이가 m인 패턴 P의 해시값..

[Embedded] Potentiometer (포텐셔미터, 가변 저항)

Potentiometer는 저항 값을 수동으로 조절할 수 있는 일종의 가변 저항기이다. 기본적으로 3단자 장치로 작동하며, 두 단자는 저항 요소의 끝에 연결되고 세 번째 단자는 저항 요소를 가로질러 이동하는 와이퍼 또는 슬라이더에 연결된다. 와이퍼의 위치를 조정해 와이퍼와 저항의 각 끝 사이의 저항을 변경해 장치 전체의 전압을 효과적으로 나눌 수 있다. Potentiometer는 전자 회로에서 전기 신호의 레벨을 제어하고, 볼륨을 조정하고, 강도 수준(조명 같은)을 수정하며, 회로를 특정 주파수에 맞게 조정하는 등 다양한 용도로 널리 사용된다. 회전식 (와이퍼가 원형 호를 그리며 회전하는 형태) 및 선형 (와이퍼가 직선 경로를 따라 미끄러지는 형태) 등 다양한 형태가 있다. Potentiometer의 주..

[Embedded] Resistor (저항기)

Resistor는 전자 회로에서 전류의 흐름을 제한하거나 조절하는 수동 전기 부품이다. 거의 모든 전자 기기의 기본 요소로 전류 흐름 감소, 신호 레벨 조정, 전압 분할, 능동 소자 바이어스, 전송선 종단 등 다양한 용도로 사용된다. Resistor의 저항은 옴의 법칙을 발견한 게오르그 사이먼 옴(Georg Simon Ohm)의 이름을 따서 Ohm(옴, Ω) 단위로 측정된다. 이 법칙에 따르면 두 지점 사이의 도체를 통해 흐르는 전류(I)는 두 지점 사이의 전압(V)에 정비례하고 도체의 저항(R)에 반비례한다. 이 공식은 V = I R 로 표현한다. Resistor는 고정식 또는 가변식으로, 고정 저항기(fixed resistor)는 저항 값이 변하지 않는 반면, 가변 저항기(variable resist..

[Embedded] Capacitor (커패시터, 축전기)

Capacitor는 전기 에너지를 저장하고 방출하는 전자 부품이다. 흔히 콘덴서(condensor)라고도 불리는데, 'condensor'는 영미권에서 응축기의 의미로 사용되는 경우가 많다. 유전체라는 절연 재료로 분리된 두개의 도체로 구성된다. 도체에 전압이 가해지면 유전체에 전기장이 발생해 한 도체에는 양전하가, 다른 도채에는 음전하가 쌓이게 된다. 이러한 전하 저장 능력 덕분에 Capacitor는 전원 공급 장치, 신호 필터링, 타이밍 애플리케이션 등 전기 및 전자 회로에서 다양한 기능을 수행할 수 있다. Capacitor의 기본 단위는 farad(F, 패럿 - 마이클 패러데이의 이름에서 따왔다.)으로 Capacitor의 플레이트에 단위 전압당 전하를 저장할 수 있는 능력을 측정하는 단위다. 그러나 ..

[Algorithm] Lowest Common Ancestor (LCA)

이진 트리 또는 이진 검색 트리(BST)에서 두 노드의 최하 공통 조상(LCA)를 찾는 데는 몇 가지 일반적인 접근 방식이 있다. 가장 좋은 방법은 트리이 특정 특성(BST 인지, 균형이 잡혀있는지(balanced) 등)과 추가 정보 (각 노드의 조상 또는 트리의 전처리 기능 등)에 따라 달라진다. 아래는 몇 가지 일반적인 방법이다. Single Traveral Method (단일 순회 방법, 재귀 사용) : 이 방법은 추가 정보가 제공되지 않는 트리에서 LCA를 찾는 데 널리 사용되는 방법이다. 아이디어 : 루트에서 시작해 트리를 순회한다. 각 노드에 대해 현재 노드가 LCA를 찾고자 하는 두 노드 중 하나인지 확인한다. 맞다면 현재 노드를 반환한다. 그렇지 않으면 왼쪽 및 오른쪽 자식에 대해 재귀 호..