분류 전체보기

카테고리 없음

[알고리즘] 백트래킹

백트래킹은 해를 찾는 도중에 '막히면' 되돌아가서 다시 해를 찾아가는 전략이다. 모든 가능한 경우의 수를 전부 살펴보는 브루트 포스(Brute Force) 방식과 달리, 백트래킹은 현재 상태에서 해가 될 가능성이 없다고 판단되면 더 이상 그 방향으로 탐색하지 않고 이전으로 돌아간다.    N-Queens 문제N-Queens 문제는 N×N 체스판에 N개의 퀸을 서로 공격할 수 없도록 배치하는 문제이다. 알고리즘 구현: cvoid queens(index i) { index j; if(promising(i)) if(i==n) cout 유망성 검사: cbool promising(index i) { index k; bool switch; k=1; ..

카테고리 없음

[알고리즘] Greedy

다익스트라 (Dijkstra's Algorithm)다익스트라 알고리즘은 가중치가 있는 그래프에서 한 정점으로부터 다른 모든 정점까지의 최단 경로를 찾는 그리디 알고리즘이다. 이 알고리즘은 항상 현재 상태에서 가장 비용이 적은 노드를 선택하는 방식으로 동작한다.시작 노드를 설정하고, 시작 노드에서 직접 연결된 모든 노드까지의 거리를 초기화한다.미방문 노드 중에서 현재까지의 최단 거리가 가장 짧은 노드를 선택한다.선택한 노드를 방문 처리하고, 이 노드를 거쳐 갈 수 있는 다른 노드들의 최단 거리를 갱신한다.모든 노드를 방문할 때까지 2-3 과정을 반복한다. 구현 상세:touch[i]: 노드 i로 가는 최단 경로에서 i 직전에 방문하는 노드 번호length[i]: 시작 노드(v₁)에서 노드 i까지의 현재까지 ..

학교공부/블록체인

[블록체인] Blockchain Technology

Blockchain 용어Blockchain 기술의 핵심 특징 중 하나는 "no firewall, no trust" 원칙이다. 이는 중앙화된 신뢰 기관 없이도 시스템이 안전하게 작동할 수 있음을 의미한다. 또한 모든 데이터는 네트워크의 모든 참여자에게 복제되어(replication of all data) 분산 원장으로서의 투명성과 내구성을 보장한다. Consensus Algorithm분산 시스템에서 참여자들이 공통된 상태에 합의하는 메커니즘이다.BFT(Byzantine Fault Tolerance): 비잔틴 장애에도 시스템이 올바르게 작동할 수 있게 하는 알고리즘PoW(Proof of Work): 계산 작업을 통해 블록 생성 권한을 얻는 방식으로, Bitcoin이 사용PoS(Proof of Stake): ..

학교공부/풀스택 서비스 네트워킹

[풀스택 서비스 네트워킹] Socket

Network Socket네트워크 소켓(Network Socket)은 컴퓨터 네트워크에서 노드 내부의 데이터 송수신을 위한 내부 엔드포인트이다. 소켓은 네트워킹 소프트웨어(프로토콜 스택)에서 이 엔드포인트를 표현하는 방식으로, 통신 프로토콜, 목적지, 상태 등을 나열하는 테이블의 항목과 같은 형태로 존재하며, 일종의 시스템 리소스이다. 소켓 프로그래밍은 TCP/IP 네트워크의 통신 기반이 되는 근본적인 기술이다. 소켓은 다른 소켓과 데이터를 주고받기 위한 양방향 통신 엔드포인트를 제공한다. 소켓 연결은 일반적으로 로컬 영역 네트워크(LAN)나 인터넷을 통해 두 개의 서로 다른 컴퓨터 간에 실행되지만, 단일 컴퓨터에서 프로세스 간 통신(IPC)에도 사용될 수 있다. 소켓은 응용 프로그램과 네트워크 프로토콜..

학교공부/풀스택 서비스 네트워킹

[풀스택 서비스 네트워킹] OSI Architecture L1,L2,L3

컴퓨터 네트워크는 정보 교환을 위한 복잡한 시스템으로, 그 기본 구성 요소와 작동 원리를 이해하기 위해서는 핵심 용어에 대한 이해가 필수적이다. 네트워크 통신의 기초를 이루는 다섯 가지 핵심 개념은 메시지, 송신자, 수신자, 매체, 프로토콜이다.   메시지(Message)는 통신되어야 할 정보 또는 데이터를 의미한다. 이는 텍스트, 숫자, 그림, 소리, 비디오 또는 이들의 조합 형태로 존재할 수 있다. 디지털 네트워크에서 모든 형태의 정보는 궁극적으로 비트(0과 1)의 시퀀스로 변환되어 전송된다. 현대 네트워크는 다양한 형태의 멀티미디어 메시지를 효율적으로 처리하도록 설계되었다. 송신자(Sender)는 데이터 메시지를 보내는 장치를 말한다. 이는 컴퓨터, 전화 핸드셋, 비디오 카메라 등 다양한 형태의 전..

카테고리 없음

[풀스택 네트워크] OSI Architecture L4

Transport Layer전송 계층(Transport Layer)은 OSI 모델의 4계층으로, 네트워크의 한 호스트에서 실행 중인 프로세스와 다른 호스트의 프로세스 간 통신을 담당하는 핵심 계층이다. 이 계층은 종단 간 연결성과 신뢰성 있는 데이터 전송의 기반을 제공한다.  데이터 전송의 관점에서 네트워크 계층 구조는 다양한 수준의 전달 서비스를 제공한다. 데이터 링크 계층은 링크를 통해 두 이웃 노드 간의 프레임 전달을 담당하는 '노드 대 노드 전달(node-to-node delivery)'을 제공한다. 네트워크 계층은 두 호스트 간의 데이터그램 전달을 담당하는 '호스트 대 호스트 전달(host-to-host delivery)'을 제공한다. 전송 계층은 한 단계 더 나아가 '프로세스 대 프로세스 전달..

학교공부/블록체인

[블록체인] History of Blockchain

EncryptionCypherpunk는 강력한 암호화와 프라이버시 강화 기술의 광범위한 사용을 사회적, 정치적 변화의 수단으로 옹호하는 개인들을 지칭한다. 위키피디아의 정의에 따르면, 이들은 정부나 big brother의 감시 없이 암호화 기술을 사용하고자 한다. Cypherpunk 운동은 1992년 말에 시작되었으며, 이후 인터넷 보안, 프라이버시, 블록체인 등 많은 프로토콜과 기술 발전에 중요한 영향을 미쳤다. 암호화는 정보를 보호하기 위한 핵심 기술로, 크게 symmetric encryption과 asymmetric encryption으로 나눌 수 있다. Symmetric encryption은 가장 오래된 형태의 암호화 방식으로, 다음과 같은 특징을 가진다:암호화 키와 복호화 키가 동일하며, 이를 ..

학교공부/풀스택 서비스 네트워킹

[풀스택 서비스 네트워킹] OSI Architecture Overall

컴퓨터 네트워크는 이러한 다양한 컴퓨팅 장치들이 서로 통신하고 자원을 공유할 수 있게 해주는 중요한 인프라이다. 네트워크를 통해 데이터 전송, 원격 접속, 분산 처리 등이 가능해지며, 이는 현대 정보화 사회의 근간을 이루고 있다. 더 많은 장치들이 네트워크에 연결됨에 따라 컴퓨터 네트워크의 중요성은 더욱 커지고 있다.  네트워크의 범주네트워크 범주(Categories of Networks)는 네트워크의 지리적 범위와 규모에 따라 분류되는 방식으로, 각 유형은 고유한 특성과 용도를 가진다. 기본적으로 LAN, MAN, WAN으로 구분되며, 이외에도 PAN(Personal Area Network)과 BAN(Body Area Network) 등 더 작은 규모의 네트워크도 존재한다. 근거리 통신망(Local A..

카테고리 없음

진화와 인간 본성

의학의 진화적 관점 진화의학의 정의와 중요성은 의학의 여러 주제에 대해 진화적으로 접근하는 분야이다. 인간의 몸과 마음은 자연선택의 산물이므로, 질병의 예방과 치료를 위해서는 진화적 이해가 필수적이다. 질병을 보는 두 가지 관점으로는 근접 설명(기존 의학)과 궁극 설명(진화의학)이 있다. 근접 설명은 "어떻게" 질병이 발생하는지 유전적, 생리적, 사회환경적 원인을 규명하는 반면, 궁극 설명은 "왜" 자연선택이 질병에 취약하게 내버려두었는지 진화적 원인을 탐구한다. 질병 취약성의 주요 원인 중 첫 번째로 불일치(mismatch)가 있다. 이는 진화된 설계와 현대 환경 간의 부조화를 의미한다. 예를 들어 영양분 과잉 섭취는 지방, 설탕, 소금 선호가 현대에서 과다섭취로 이어진 것으로, 초정상자극(supern..

학교공부/영상처리

[영상처리] Geometric Transformations

Geometric transformation(기하학적 변환)은 Coordinate transformation(좌표 변환)과 Intensity interpolation(강도 보간)으로 구성된다. 좌표 변환(Coordinate transformation)은 입력 이미지의 픽셀이 출력 이미지에서 어디에 위치할지를 결정하는 과정이다. 이는 이미지의 회전, 이동, 크기 조절, 기울임 등과 같은 공간적 변형을 포함한다. 강도 보간(Intensity interpolation)은 변환된 좌표에서 픽셀의 실제 값을 결정하는 과정이다. 변환된 좌표가 정수가 아닌 실수 값을 가질 수 있으므로, 주변 픽셀들의 값을 이용하여 새로운 픽셀 값을 계산해야 한다. 이때 nearest neighbor, bilinear, bicubic..