멀티플렉싱(Multiplexing)이란? -다수의 네트워크 연결요청을 동시에 처리하기 위한 기술, 위에서 멀티 쓰레드,프로세스를 이용해 동시 처리를 할 수 있지만, 해당 기술은 매우 불안정합니다. 따라서 멀티플렉싱은 하나의 프로세스에서 여러개의 소켓을 동시에 관리하여 네트워크의 안정성과 성능을 향상 시킬 수 있습니다. 이 기술은 select라는 시스템콜을 이용해 구현됩니다. 멀티플렉싱 과정 소켓 생성 및 바인딩 -소켓을 생성한후 바인딩하여 요청들어오는 소켓을 대기합니다. 소켓 감시 대기열 설정 -파일 디스크립터 배열을 통해 요청이 들어올때 처리할 감시 대기열을 설정합니다. 여기서 감시 대기열에 설정된 파일디스크립터만 관찰을 하여, 데이터 입출력을 관찰합니다. 감시할 종류는 3가지로 나뉘는데, (읽기,쓰기..
LIPP2P란? https://github.com/libp2p/libp2p P2P(Peer to Peer) 네트워크를 구성할 수 있는 라이브러리 중 하나이며, 이 라이브러리를 사용해 여러 클라이언트간의 직접통신을 하고 파일공유,데이터교환이 가능합니다. 즉 쉽게말해,P2P 네트워크를 쉽게 구현할 수 있게 도와주는 라이브러리입니다. 이 라이브러리는 사용자의 입맛에 맞게 다양한 P2P 네트워크를 구현할 수 있게 각종 API들을 제공하는데 개발자는 각 API를 이용해 본인이 P2P네트워크 구성에 필요한 프로토콜,네트워크 노드, 통신 에러 처리 등을 커스터마이징 할 수 있습니다. 프로토콜 - 네트워크 내부 클라이언트 끼리 통신할때 쓰일 규약 (HTTP , UDP ,TCP.....) 네트워크 노드 - 클라이언트를 ..
SELECT 문장 문법 SELECT a FROM R as r WHERE r.c=10 GROUP BY HAVING ORDER BY -select문장은 주어진 조건에 적합한 데이터를 검색하는 문장입니다 .모두 6개의 절을 가질 수 있는데 여기서 select절과 from절은 필수조건이고, 그외의 AS, WHERE, GROUP BY, HAVING, ORDER BY는 생략 가능 합니다. SELECT 해당 테이블의 속성을 선택하여 명시함. (*일시 모든 속성 다가지고옴) 터플 중복을 허용함. (터플중복을 허용하지 않을시 distinct 조건 명시) (기본은 ALL옵션으로 중복허용) 관계대수의 투영연산과 같음. FROM 테이블을 명시, 여러개의 테이블도 가능. 테이블을 여러개 가져올시 관계대수의 카티시안곱과 같음. ..
쓰레드란? ->쓰레드는 컴퓨터 프로그램에서 실행되는 일련의 작업 단위를 의미합니다.쓰레드는 프로세스 내에서 실행되는 여러개의 작업 흐름중하나로, 각각의 쓰레드는 실행이 될때 메모리에서 스택부분만 독립적으로 가지고 있고, 나머지 부분은 서로 공유를 하고있습니다. 반면에, 프로세스는 각각 독립적으로 실행이되어 메모리의 모든부분을 독립적으로 가지고 있습니다. 하나의 프로세스 내에서 여러개의 쓰레드를 생성하여 동시에 실행할 수 있으며, 이러한 방식으로 프로세스 내부에서 쓰레드를 활용해 병렬처리를 가능하게 할 수 있습니다. 즉, 프로세스(물리적 독립성) => 모든부분이 독립적으로 실행 쓰레드(논리적 독립성) => stack영역만 독립적,그외 부분은 같이 공유 섹션 공유 (쓰레드) 공유(프로세스) Code O X ..
소프트웨어 아키텍처란? -소프트웨어 시스템을 설계하고 구축하는데 필요한 구조를 정의하는 방법론이며, 시스템의 다양한 요소들이 어떻게 작용하며, 데이터 처리 보안 성능 등의 측면을 결정합니다.또한 소프트웨어 시스템을 보다 쉽게 이해하고 설계할 수 있도록 도와주는 설계도 같은 개념입니다. 소프트웨어 구성요소,관계등을 나타낼 수 있고 개발 참가자들의 요구사항도 종합적으로 정의되어 있습니다. 즉, 시스템 설계와 개발 시 적용되는 원칙과 지침을 가지고 있는 구조를 정의하는 방법론입니다. 소프트웨어 아키텍처의 장점 유지 보수성 향상 -> 각 구성요소와 그들간의 관계를 명확히 정의하기 때문에 시스템의 유지보수성이 향상됩니다. 재사용성 증가 -> 제대로 설계된 소프트웨어 아키텍처는 다른 프로젝트에서도 사용될수 있는 재..
파일 생성후 실행파일까지의 과정 컴파일 -컴파일은 소스코드를 컴퓨터가 이해하는 바이너리 코드로 변환하는 과정을 컴파일이라고 하는데. 컴파일러는 소스코드를 입력으로 받아서 이를 실행 가능한 목적코드로 변환한후 링크를 통해 실행가능한 파일을 만듭니다. 과정 과정 설명 전처리(Preprocessing) 단계 소스코드 내의 전처리 지시문을 처리하는 과정, 컴파일을 하기전에 먼저 전처리 지시문을 해석해 그 지시문의 코드들을 현재 소스 파일에 포함을 시킴.(.i 파일로 변환) 컴파일(Compilation) 단계 앞에서 전처리된 소스코드를 컴파일러가 입력으로 받아서, 컴퓨터가 이해할 수 있는 어셈블리어로 변환.(.s 파일로 변환) 어셈블(Assembly) 단계 어셈블러가 앞의 어셈블리어를 받아서 기계어 목적(bine..
파일모드란? -파일모드는 유닉스 계열 운영체제에서 파일의 접근 권한을 지정하는 방법입니다. 파일 모드는 3개의 숫자로 표현되며, 각 숫자는 파일의 소유자, 그룹,기타 사용자를 나타냅니다. 파일모드는 각 권한을 나타내는 문자로 표기할 수 있습니다. r -> 읽기 권한 w -> 쓰기 권한 x -> 실행 권한 또한 파일 모드의 기본 구조는 다음과같습니다. _ _ _ / _ _ _ / _ _ _ user / group / other user -> 파일의 만든 소유주의 권리 group -> 파일을 만든 소유주가 속한 그룹의 사용자 other -> 기타 사용자 파일 모드의 숫자와 권한 문자 간의 대응 숫자 권한 문자 설명 0 --- 권한 없음 1 --x 실행 권한 있음 2 -w- 쓰기 권한 있음 3 -wx 쓰기,실..
- Total
- Today
- Yesterday
- 깃
- 도커
- 컨테이너
- 인공지능
- nat
- IP주소
- 소프트웨어공학
- 테이블
- 클라우드
- 메세지큐
- DB
- 파인튜닝
- JPA
- 웹소켓
- 데이터
- 서버
- 문법
- 컴퓨터구조
- 데이터베이스
- 스프링
- 프로토콜
- 보안
- 자바
- 깃허브
- 포트포워딩
- 쿼리
- sql
- 네트워크
- 배포
- 자동화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |