네트워크를 공부하던 중, “소켓은 결국 파일이다.” 라는 말과 운영체제에서의 소켓과 Websocket은 어떻게 다른지 궁금해서 찾아보았다.NodeJS의 소켓추상화된 고수준 인터페이스실제로는 내부적으로 OS 소켓 API를 호출해서 커널 모드와 통신한다.운영체제에서의 소켓User Mode: 우리가 실행하는 앱이나 코드 (ex. Node.js)Kernel Mode: OS 내부 (디바이스 제어, 메모리 관리, 네트워크 통신 등)네트워크 통신을 하려면, 유저모드에서 시스템 콜을 통해 커널 모드에게 요청해야한다.네트워크 통신 뿐만 아니라, 유저모드와 커널 모드가 통신하기 위해서는 인터페이스가 필요하다. 그것이 파일로 구성되어있고 이를 소켓이라고 부른다. 이때, 소켓을 여는 주체는 프로세스이다.유저 모드에서는 소켓을..
컴퓨터 네트워크란? 컴퓨터 네트워크는 두 대 이상의 컴퓨터가 데이터와 리소스를 공유할 수 있도록 연결된 시스템이다. 네트워크는 유선 또는 무선 기술을 통해 구성되며, 정보의 교환, 파일 공유, 인터넷 접속 등 다양한 목적으로 사용된다. 컴퓨터 네트워크는 규모와 목적에 따라 LAN, WAN, MAN 등으로 구분된다.컴퓨터 네트워크에서 데이터를 전송하는 방식 컴퓨터 네트워크에서 데이터는 패킷 단위로 전송된다. 패킷은 데이터와 함께 헤더 정보를 포함하며, 이 정보를 통해 수신지 주소와 경로를 지정한다. 데이터 전송 방식은 크게 다음과 같다.유니캐스트(Unicast): 하나의 송신자가 하나의 수신자에게 데이터를 전송하는 방식이다.멀티캐스트(Multicast): 하나의 송신자가 특정 그룹의 수신자에게 데이터를 전..
프로토콜이란 간단하게 말하자면 규칙이다. - 명확하게 송수신된 메시지와 이러한 메시지가 송수신될 때나 다른 상황이 발생했을 때 취하는 행동- 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서 뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의- 컴퓨터 네트워크에서 데이터를 송수신하기 위해 정해진 규칙과 절차의 집합- 서로 다른 장치나 시스템이 효율적이고 신뢰성 있게 통신할 수 있도록 보장 다음은 프로토콜의 필요성을 알려주기 위한 예시이다. 왼쪽 그림은 전형적인 의사소통 과정을 나타낸다. 사람들은 의사소통을 하기 위해 먼저 인사를 한다. 안녕에 대한 일반적인 응답 역시 안녕이라는 메시지이다. 하지만 일반적이지 않은 경우도 존재한다. "귀찮게 하지마", "한국말 못해요" 등 상대방이 의..
네트워크란컴퓨터와 다른 장치들이 서로 연결되어 정보를 주고받을 수 있도록 만든 시스템 - Network : 관계- Networking : 상호작용 컴퓨터 네트워크가 데이터를 전송하는 방식1. 패킷 교환2. 회선 교환패킷 교환■ 데이터 전송 방식1. 데이터 분할: 큰 데이터를 작은 데이터로 나눈다.패킷: 큰 데이터를 작은 데이터 덩어리로 나눈 것: 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙인 것 2. 전송 각 패킷은 네트워크를 통해 개별적으로 전송된다. 이때, 통신 링크와 패킷 스위치를 거치게 된다. 패킷은 동일한 경로를 따르지 않을 수도 있고, 다양한 경로를 통해 목적지에 도달한다.패킷 스위치종류 : 라우터, 링크 계층 스위치대부분의 패킷 스위치는 저장 후 전달, 전송 (store and for..
데이터베이스 시스템 개념과 구조데이터 모델, 스키마, 인스턴스1. 데이터 모델모델(model)시스템, 프로세스, 현상에 대한 추상적인 표현이다.모델은 복잡한 시스템을 단순화하여 더 관리하기 쉬운 형태로 만들어 시뮬레이션하고 분석하며 이해하는 데 사용된다.ex1) UML “Model” class diagramex2) Mathematical “Model” of motionex3) Simulink state space “Model”데이터 모델데이터베이스에서 데이터들이 어떻게 구조화되고, 저장되고, 조작되는지를 정의하는 개념과 방법의 집합데이터 모델링 : 현실세계에 존재하는 정보를 컴퓨터의 데이터베이스로 옮기는 과정데이터베이스를 위한 데이터 모델1. 개념적(고수준) 데이터모델: 사용자들이 데이터를 인식하는 방식..

학교에서 신경망을 C언어로 구현해보라는 과제를 받아서 한번 해보겠습니다. 기록하면서 개발하면 잘되더라구욤ㅎㅎ..인공신경망을 구현해보기, C언어로 작성한다.- 최대 16개의 Layer - 각 레이어마다 노드는 최대 256개, 레이어마다 따로따로 개수 지정 가능 - 가능한 한 general하게, 나중에 계속 사용할 수 있게 하는 게 좋음 - 레이어와 노드 수 입력은 알아서 구성해도 됨 - C언어 코드 파일, 결과 내용, 실험 결과가 포함된 간단한 설명이 포함된 문서 제출 설계전체적인 흐름신경망에서 계산되는 과정은 1. 입력을 받는다.2. Weight Table(가중치 테이블)과 Input Layer(입력 계층)을 곱한다. (행렬곱)3. Sigmoid Function(시그모이드 함수)를 적용시킨다. 다음 세..

1. 용어1. 데이터 (data)- 컴퓨터에 저장되어 사용될 수 있는 정보- 행정 데이터, 의료 데이터, 성적 데이터, 실험 데이터, ...2. 데이터베이스(database)- 실세계의 일부를 표현하는 연관된 데이터들의 구조화된 집합ex) 스마트 폰의 전화번호부 데이터베이스 -> 전화번호라는 작은 세계를 표현ex) 영화 데이터베이스 (영화라는 작은 세계를 표현)3. 데이터베이스 관리 시스템 (DBMS: database management system)- 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지- DBMS는 운영체제와 함께 중요한 시스템 소프트웨어 패키지로 분류됨* 기능1. 데이터 저장 및 검색2. 보안 관리3. 데이터 무결성4. 트랜잭션 관리5. 백업 및 복구ex) Oracle, MS SQ..

가상화 ⚫ 단일 컴퓨터의 하드웨어를 여러 가지 실행 환경으로 추상화하여, 개별 환경이 자신만의 컴퓨터에서 실행되고 있다는 환상을 만들 수 있는 기술 ⚫ 가상 머신 사용자는 다양한 운영체제를 전환할 수 있다. (단일 운영체제에서 동시에 실행되는 다양한 프로세스 간에 전환하는 방식과 유사) 가상화 소프트웨어 = 에뮬레이션을 포함하는 클래스의 구성원 에뮬레이션 : 소스 CPU유형이 대상 CPU 유형과 다른 경우에 사용 -> 에뮬레이트된 코드는 원래의 코드보다 느리게 수행된다. -> 에뮬레이션은 비용이 크다. ex) Apple사가 자신의 데스크톱과 랩톱 컴퓨터의 CPU를 IBM Power CPU에서 인텔 x86 CPU로 전환했을 때 "Rosetta"라는 에뮬레이션 설비를 포함하여 IBM CPU용으로 컴파일되었던..
- Total
- Today
- Yesterday
- 해커톤
- JS
- 백준
- 자바스크립트
- 개발
- JavaScript
- Process
- 프로젝트
- 공룡책
- Signal
- 백엔드 개발
- SQL
- 혼공단 9기
- AWS
- 깃 예제
- 혼공학습단
- C++
- 교환학생
- 스페인 교환학생
- 혼공단 SQL
- 개발일지
- nodejs
- 운영체제
- MySQL
- 혼공
- Linux
- googleapis
- 스페인
- 혼공단
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |