반응형

공부 47

[ TCP/IP ] 라우팅

라우팅 서로 다른 네트워크 간의 통신에서 패킷은 여러개의 라우터를 경유하여 수신처에 도달한다. 이 때 라우터가 수신처까지의 경로 결정을 라우팅이라고 한다. 라우팅을 수행하기 위해서는 라우팅 테이블이라는 정보를 갖고있다. 회수한 패킷의 수신 IP주소를 보고 라우팅 테이블을 참고로 다음에 어떤 라우터에게 전송할지 결정한다. 라우팅 테이블에는 다음과 같이 구성되어있다. 수신 네트워크 : 최종 네트워크의 주소와 서브넷 마스크가 들어간다. 다음 홉 주소 : 다음 라우터의 IP주소와 서브넷 마스크가 들어간다. 매트릭 : 경로의 최적도를 나탄는 수치가 들어간다. 값이 적을수록 뛰어난 경로라는 의미이다. 출력 인터페이스 : 다음 전송처에서 데이터링크 층의 어떤 프로토콜을 사용할지 결정하기 위한 데이터링크 정보가 들어간..

공부/TCP IP 2023.02.27

[ Spring ] 스프링 부트란?

스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크로 애플리케이션을 개발하기 위한 다양한 기능을 제공한다. 스프링은 목적에 따라 다양한 프로젝트를 제공하는데, 그중 하나가 스프링부트이다. 1. 스프링 프레임워크 스프링은 자바에서 가장 많이 사용하는 프레임워크이다. 스프링의 핵심가치는 다음과같다. "애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비지니스 로직 구현에만 집중할 수 있게끔 하는것" 스프링을 효율적으로 사용할 수 있도록 스프링의 특징과 구조등을 알아보자! 제어역전 (IoC, Inversion of Control) 일반적인 자바 개발의 경우 사용하려는 객체를 선언하고 해당 객체의 의존성을 생성한 후 객체에서 제공한다. 하지만 제어역전을 특징으로 하는 스프링은 사용할 객체를 직접 생성하지 ..

공부/Spring 2023.02.23

[ TCP/IP ] 데이터링크층과 물리층

데이터링크층 기기들을 연결하는데에는 몇가지 방법이 있다. 이 중 동일한 방법으로 연결된 한 덩어리의 기기를 데이터링크라고 한다. 데이터링크층은 데이터링크간의 차이를 흡수하여 네트워크층 이상의 층들이 차이를 의식하지 못하게 한다. 데이터링크층에서는 데이터에 헤더를 붙인 것을 프레임이라고 한다. 프레임은 보통 비트열로 구성되어있다. 데이터링크의 프로토콜은 데이터를 어덯게 주고받을지 결정한다. 기기를 식별할 필요가 있을 때는 MAC(Media Access Control) 주소를 사용한다. 물리층 데이터링크 안에서 신호가 흐르고 있는 부분을 물리층이라고 한다. 여기서 비트열이 신호로 변환된다. 물리층은 성질이 다르기 때문에 데이터링크층의 일부라고 생각하거나 TCP/IP계층에 포함시키지 않기도한다. 데이터링크 데..

공부/TCP IP 2023.02.23

[ 머신러닝 프로그램 ] 선형 회귀 알고리즘, 다항 회귀 알고리즘

k-최근접 이웃의 한계 k-최근접 이웃 알고리즘은 가장 가까운 샘플을 찾아 타깃을 구한다. 그렇기 때문에 새로운 샘플이 훈련 범위를 벗어나면 기대하는 값이 안나올 수도 있다. 아래 코드는 k-최근접 이웃 회귀 알고리즘 코드이다. 실제로 여기에 100kg에 농어를 넣어도, 200kg의 농어를 넣어도 가까운 농어의 종류는 똑같기 떄문에 똑같은 값이 나온다. #k최근접 이웃 회귀 알고리즘 ver1 import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsRegressor perch_length = np.array..

공부/머신러닝 2023.02.17

[ 운영체제 ] 가상 메모리

1. 연속메모리 할당 1.1 스와핑 메모리에 적재된 프로세스 중에서 현재 실행되지 않는 프로세스들을 임시로 보조기억장치에 쫒아내고 빈공간에 새로운 프로세스를 적재하여 실행하는 방식을 스와핑이라고 한다. 스왑 영역 : 프로세스들이 쫒겨나는 보조기억장치의 영역 스왑 아웃 : 실행되지 않는 프로세스가 메모리에서 스왑영역으로 옮겨지는 것 스왑 인 : 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨 오는 것 1.2 메모리할당 메모리 내에 빈공간이 여러개 있다면 프로세스가 어디에 저장되어야할까? 최초적합 (first fit) : 메모리 내의 빈 공간을 순서대로 검색하다가 첫번째 발견할 공간에 저장하는 방식 최적적합 (best fir) : 검색해 본 후, 프로세스가 적재될 수 있는 공간중 가장 작은 공간에 저장하는 ..

공부/운영체제 2023.02.15

[ 컴퓨터구조 ] 보조기억장치

1. 다양한 보조기억장치 1.1 하드디스크 하드디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다. 그러기에 자기 디스크의 일종으로 지칭하기도한다. 하드디스크는 CD와 비슷하게 생긴 동그란 원판에 데이터를 저장한다. 이를 플래터(platter)라고 한다. 플래터는 자기 물질로 덮여있어 수많은 0과 1의 역할을 하는 N극과 S극을 저장한다. 이는 양면다 사용가능하고 여러개가 붙어있는 상태이다. 이 플래터를 회전시키는 구성요소를 스핀들(spindle)이라고 한다. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM이라는 단위로 표현된다. 이런 플러터의 데이터를 읽는 구성요소는 헤드(head)이다. 이런 헤드를 이동시키는 것은 디스크 암(disk arm)이다. 플래터의 한 면당 헤드가 달려..

[ TCP/IP ] 네트워크층

네트워크층 네트워크층은 다른 층과 달리 주된 프로토콜이 IP 하나밖에 없다. 네트워크는 통신방법의 차이를 흡수하는 기능이 있다. 가장 중요한 임무는 누가 누구에게 전달할지와 어떤 경로로 데이터를 전달할지를 결정하는 것이다. IP 프로토콜 송신측에서는 IP주소 등을 기록한 IP주소 등을 기록한 IP헤더를 붙여 IP데이터그램을 만들어 데이터링크층에 전달한다. 만약 데이터링크층에서 다룰 수 있는 크기보다 크다면 분할한 후 헤더를 붙인다. IP데이터 전송은 Best Effort 방식이다. 헤더가 깨지지 않았는지 확인하고, 수신처의 주소가 존재하는지 정도는 판단하지만 재전송 처리는 하지 않는 방식이다. 송신처에서 IP프로토콜은 수신처까지의 경로와 통신상태를 보고 최적의 경로는 판단하여 전송한다. 수신처에서는 IP..

공부/TCP IP 2023.02.14

[ 머신러닝 프로그램 ] k최근접 이웃 회귀 알고리즘

지도학습은 분류와 회귀로 두가지 종류가 있다. 분류는 샘플을 몇 개의 클래스 중 하나로 분류하는 문제이고, 회귀는 임의의 어떤 숫자를 예측하는 문제이다. k-최근접 이웃 회귀의 원리는 분류와 비슷하다. 샘플에 가장 가까운 샘플 k개를 선택하고 이들의 평균을 구하면 된다! 우리는 농어의 정보들을 분석해서 한 농어의 정보를 예측할 것이다. 농어의 산점도를 보자! 산점도를 보면 길이가 길어질수록 무게가 올라가는 것을 쉽게 알 수 있다. 이제 데이터들을 준비해서 알고리즘을 돌려보자! #데이터 세팅 train_input, test_input, train_target, test_target = train_test_split(perch_length, perch_weight) train_input=train_input..

공부/머신러닝 2023.02.13

[ 머신러닝 프로그램 ] k-최근접 이웃 분류 알고리즘 ver3 - 데이터 전처리

버전2의 머신러닝 프로그램은 완벽해보인다. 하지만 어떤 도미를 넣으면 빙어라고 판단하기도 한다! 이는 데이터들이 덜 가공되었기 때문이다. 이런 부분을 데이터 전처리로 해결해보자! 기본 데이터 준비 #머신러닝 프로그램 ver3 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split #도미의 정보 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32...

공부/머신러닝 2023.02.13

[ TCP/IP ] 트랜스포트층

트랜스포트층 트랜스포트층은 애플리케이션층과 네트워크칭의 중개역할을한다. 데이터가 전달되다가 문제가 발생하게되면 트랜스포트층은 통신 서비스에 맞는방식으로 문제를 처리한다. 트랜스포트층에는 신뢰를 중요시하는 TCP와 속도를 중요시하는 UDP가 존재한다. TCP는 그래서 확실히 상대에게 데이터를 제공하고싶을 때 사용하고, UDP는 실패해도 크게 상관없을 때 사용한다. 포트 번호 포트번호는 0~65535번까지 있다. 그 중에서도 0~1023번까지는 통신 서비스마다 미리 예약되어있고 그 외에는 사용자가 임의로 설정할 수 있다. 하지만 이때 통신하는 컴퓨터 간에 어떤 포트번호를 사용할지에 대한 인식이 통일되어있어야한다. TCP 프로토콜 TCP는 데이터를 확실히 전달하기 위해 수신측과 일 대 일로 통신한다. 이런 통..

공부/TCP IP 2023.02.13
반응형