728x90

전체 글 164

스위치

- 백본스위치(Backbone switch) 개념 - 네트워크의 중심. 방화벽, 워크그룹 스위치, 각종 서버가 접속하는 핵심영역으로,   많은 트래픽을 처리해야 해서 고가용성, 고성능, 고확장성이 확보되는 기가급 장비를 많이 사용한다.   이 장비의 성능이 안 좋으면 이곳에서 병목(bottleneck)이 걸릴 가능성이 많다. - 주로 L3스위치가 백본스위치 역할을 한다.   스위치를 그리지 않고 선으로만 표시하기도 한다.   (L3스위치는 처리속도가 빠르고, 데이터변환(LAN->WAN)을 할 필요가 없다.)   - Layer 스위치    L2 스위치 - L2 주소는 MAC 주소를 뜻합니다.    L2 스위치의 역할은 MAC주소를 보고 어떤 포트로 보낼것인지 컨트롤(스위칭)하는 장비를 말합니다.  스위치는..

Network 2025.01.10

Static/Dynamic Library

□ 정적라이브러리(Static Library) : 정적 라이브러리는 프로그램이 "컴파일할 때 링크"되어 실행 파일에 포함됩니다. 링크 방식은 실행 파일을 생성할 때 이 라이브러리의 모든 코드가 포함됩니다. 따라서 프로그램이 실행될 때 외부 라이브러리 파일이 필요하지 않습니다. 장점 :  1. 외부 의존성 적음 (모든소스 컴파일 타임에 링크되어, 실행 시 추가적인 라이브러리 로드 불필요, 라이브러리 자체만 있으면 실행가능) 2. 초기 로드 속도에서 유리 (정적 라이브러리는 실행 파일에 포함되어 있기 때문 별도로 로드할 필요가 없어 초기 로드 시간이 빠름) 3. 실행 속도에서 유리 (프로그램 실행시 정적라이브러리함수는 직접참조되기 때문에 호출 오버헤드가 적음) 단점 :  1. 더 큰 실행 파일 크기 (각 프..

CS 2025.01.10

고유 ID 생성 알고리즘 (SNOWFLAKE)

Snowflake 알고리즘은 분산 시스템에서 고유한 ID를 생성하기 위해 설계된 방법입니다. 이 알고리즘은 Twitter에서 개발되었으며, 여러 서버에서 동시에 ID를 생성할 때 발생할 수 있는 충돌을 방지하면서도 시간에 따라 정렬 가능한 ID를 생성합니다.Snowflake ID의 구조:Timestamp (41 bits): 밀리초 단위의 타임스탬프Datacenter ID (5 bits): 데이터 센터 식별자Worker ID (5 bits): 워커(서버) 식별자Sequence number (12 bits): 같은 밀리초 내에서 생성된 ID를 구분하기 위한 시퀀스 번호주요 특징:유일성: 분산 환경에서도 중복 없는 ID 생성정렬 가능: 시간 순서대로 정렬 가능높은 성능: 초당 수백만 개의 ID 생성 가능64비..

Algorithm 2024.07.22

컴파일, 링크, 빌드 [CS]

목표컴파일, 링크, 빌드 전체 과정을 이해한다.컴파일, 컴파일러 개념링크, 링커 개념빌드, 빌드툴 개념    빌드 과정1-1 빌드과정 1-1그림 1번은 컴파일(compile)에 해당한다. 1-1그림 2번은 링크(Link)에 해당한다. 1번과 2번 두과정을 합쳐서 빌드(Build)라고 한다.* 소스코드(원시코드) : 컴퓨터 프로그램을 (사람이 읽을 수 있는) 프로그래밍 언어로 기술한 글을 말한다.* 목적코드(목적파일) : 컴파일러나 어셈블러가 소스코드 파일을 컴파일 또는 어셈블해서 생성하는 파일이다.     컴파일, 컴파일러란?컴파일(Complile) : 원시 코드에서 목적 코드로 옮기는 과정을 말한다.그림 1-1 1번을 뜻한다.다시말해서 고급 언어(java, c언어, python 등)에서 저급 언어(기계..

CS 2024.07.03

네트워크 진단 #1

- tracert는 네트워크 연결 상태를 구체적으로 파악하는 데 사용되는 진단 도구이다. ping이 단순히 목적지 IP 주소의 통신 가능 여부를 확인하는 수준이라면, tracert는 패킷이 출발지에서 목적지까지 이동하는 길목 하나하나를 확인할 수 있다. - tracert와 traceroute는 같은 기능을 한다. 윈도우에서는 CMD를 통해 tracert로, 리눅스와 맥에서는 터미널을 통해 traceroute로 사용한다. - traceroute는 ping과 마찬가지로 목적지에 ICMP(Internet Control Message Protocol) 패킷을 보내는 방식으로 작동한다. 패킷은 출발지에서 목적지로 한 번에 이동하지 않고, 복수의 경로를 거치게 된다. 이때 각 구간을 홉(hop)이라고 부릅니다. 네..

Network 2024.07.03

Linux shell 조작법

- Linux bash shell 컨트롤 팁- bash 쉘에서만 사용할 수 있으므로, 사용중인 쉘 확인echo $SHELL- 만약 명령어가 작동하지 않을 경우 stty 설정 확인stty -a- Ctrl + w : 현재 위치로 부터 한 word 까지 잘라내어 클립보드에 저장- Ctrl + u : 커서 위치부터 커맨드라인의 맨 앞까지 잘라내어 클립보드에 저장- Ctrl + y :  클립보드에 있는 텍스트 붙여넣기- Esc + 0 (숫자0) : 커서를 커맨드라인의 맨 앞으로 이동- Ctrl + K : 커서 위치부터 커맨드라인의 맨 끝가지 잘라내어 클립보드에 저장cf) Ctrl + Insert(Shift) 와 Ctrl + U(Y)의 차이작동 환경: Ctrl + Insert는 주로 GUI 환경에서, Ctrl + ..

Linux 2024.07.03

Message Queue [C]

- 메시지큐란 IPC기법중 하나이다. Queue를 사용하여 데이터를 선입선출하며, "msgtype"에 따라서 특정 메시지 중 가장 먼저 들어온 메시지를 따로 받아올 수 도 있다. 이 메시지는 kernel에서 보관하기 때문에 프로세스가 종료되어도 사라지지 않는다. 메시지는 큐의 용량이 허용하는 한, 큐에 계속 쌓이며 읽은 메시지는 큐에서 삭제한다. LINUX(UNIX)에서는 POSIX 메시지큐를 사용한다(=System V 메시지큐의 최신버전). 본 글에서는 System V 방식의 메시지 큐를 사용할 것이다. ※ 메시지큐는 아래와 같은 협의된 데이터 구조를 활용한다. struct msgbuf{ /* 메시지 타입은 반드시 long이면서 0이상의 값 */ long mType; /* 아래의 데이터의 형식과 크기는..

C 2023.12.16

파생상품 정리

- 반대매매 : 신규매수에 대해서는 전매도, 신규매도에 대해서는 환매수를 하는것 ex) 매도 포지션인 경우 포지션 청산을 위해 다시 매수를 하는 것이 환매수 반대가 전매도 - 거래량 : 거래기간에 체결된 매수OR매도수 => OR에 유의해야함! ex) 매도100, 매수100인경우 거래량은 100이고 가격을 곱하면 거래대금 - 미결제약정수량 : 반대매매를 하지 않고 보유중인 선물계약 => 간단히 말하면 포지션 정리안한것 (오픈포지션) - 주가지수선물 이론가격결정(Cost of Carry 모형) : F = S + S * (r – d) * (t / 365) F : 선물이론가격 S : 현물지수 r : 금리 d : 배당수익률 t : 잔존일수 * 선물가격 = 미래의 현물가격 기대치 = 현물가격 + 순보유비용 = 현물..

Finance 2023.09.20

시스템 프로그래밍[C] #1 파일 입출력

- 파일 입출력은 low-level IO와 high-level IO가 있다. Low-Level File IO (System Call) (1) System call을 이용해서 파일 입출력 (2) File descriptor 사용 (3) Byte 단위로 디스크에 입출력 (4) 특수파일에 대한 입출력 가능 High-Level File IO (Buffered IO) (1) C standard library를 사용하여 파일 입출력 (2) File pointer 사용 (3) 버퍼(block) 단위로 디스크에 입출력 (4) 여러 형식의 입출력 지원 - 파일을 오픈할 때 사용하는 매소드는 open이다. int open(const char *pathname, int flags [, mode_t mode]); pathna..

C 2023.07.31