728x90

분류 전체보기 354

[혼자 공부하는 네트워크] 4장. 전송 계층

이 글은 「혼자 공부하는 네트워크」 책 내용을 정리한 내용입니다.저작권 문제시 삭제하겠습니다. OSI 모델응용 계층표현 계층세션 계층전송 계층네트워크 계층데이터 링크 계층물리 계층 1. 전송 계층의 개요: 네트워크 계층의 한계를 극복하기 위해 추가된 계층.- 신뢰할 수 있는 통신과 연결형 통신이 가능.(네트워크 계층의 IP는 신뢰할 수 없는 통신과 비연결형 통신을 수행한다.)- 포트번호로 응용 계층의 애플리케이션 프로세스를 식별한다. 1) 신뢰할 수 없는 통신IP 프로토콜이 패킷이 수신지까지 제대로 전송되었다는 것을 보장하지 특징.최선형 전달(최선을 다해 보겠지만 전송 결과에 대해서는 어떠한 보장도 하지 않겠다.) 2) 비연결형 통신: 송수신 호스트 간에 사전 연결 수립 작업을 거치지 않는 특징 * 신뢰..

[C++] 벡터, 배열 특정 값으로 초기화 하기 (fill 함수)

벡터, 배열을 0이 아닌 특정 값으로 초기화 하고 싶을 때, fill 함수를 사용한다. *헤더:  1) 1차원 배열#include #include #include int main(){ int arr[5] = {0, 1, 2, 3, 4}; fill(arr[0], arr[0] + 5, -1); return 0;} 2) 2차원 배열#include #include int main(){ int arr[5][2] = {{0,0}, {0,1}, (0,2}, {0,3}, {0,4}}; fill(arr[0][0], arr[0][0] + (5*2), -1); return 0;} 3) 벡터#include #include #include int main(){ vector v{0, 1, 2..

[C++][자료구조] 1차원/2차원 배열 복사, 벡터 복사

C++ 에서 제공하는 copy 문은 copy, copy_if 가 있고 copy_if 를 쓰면 조건문을 추가할 수 있다. 헤더#include  함수copy(시작 지점, 끝 지점, 복사될 변수 시작지점);copy_if( 시작 지점, 끝 지점, 복사될 변수 시작지점, 조건); 예시1) 1차원 배열 복사#include #include int main(){ int arr[4] = {1, 2, 3, 4}; int copiedArr[4] = {0, }; copy(arr, arr+4, copiedArr); return 0;} 2) 2차원 배열 복사#include #include int main(){ int arr[2][4] = {{0,-1}, {0,1}, {-1,0}, {1,0..

[혼자 공부하는 네트워크] 3장. 네트워크 계층

이 글은 「혼자 공부하는 네트워크」 책 내용을 정리한 내용입니다.저작권 문제시 삭제하겠습니다. OSI 모델응용 계층표현 계층세션 계층전송 계층네트워크 계층데이터 링크 계층물리 계층  1. 네트워크 계층이 있어야 하는 이유. 데이터 링크 계층의 한계 1) 물리 계층과 데이터 링크 계층은 기본적으로 LAN 을 다루는 계층이다. 따라서 이 두 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어렵다. 패킷을 빠르게 전송할 최적의 경로를 찾아야 한다.*라우팅: 패킷이 이동할 최적의 경로를 결정하는 것.*라우터: 라우팅 장비 2) 모든 호스트가 모든 네트워크에 속한 모든 호스트의 MAC 주소를 서로 알고 있기 어렵다. MAC 주소만으로는 이 세상에 있는 모든 호스트를 특정하기 어렵다. 즉, MAC 주소와 IP..

[컴퓨터 밑바닥의 비밀] 6장. 입출력

이 글은 「컴퓨터 밑바닥의 비밀」 책의 내용을 정리한 것입니다.저작권 문제시 비공개하겠습니다.  입출력을 구현하는 원리와 프로그래머로서 어떻게 하면 더 효율적으로 프로그램이 입출력을 처리하도록 할 것인가…  6.1 CPU는 어떻게 입출력 작업을 처리할까? *장치 레지스터(device register)CPU에서 메모리에서 읽은 데이터를 임시로 저장하거나 CPU에서 계산한 중간 결과를 저장하는 레지스터가 있는 것 처럼 장치에도 자체적인 레지스터인 장치 레지스터(device register)가 있다. 1) 데이터를 저장하는 레지스터ex) 사용자가 키보드의 키를 누르면 그 정보는 이 레지스터에 저장된다.2) 제어 정보와 상태정보를 저장하는 레지스터: 이런 레지스터를 읽고 쓰는 작업을 이용해서 장치를 제어하거나 ..

[혼자 공부하는 네트워크] 1~2장. 컴퓨터 네트워크 시작하기. 물리 계층과 데이터 링크 계층.

이 글은 「혼자 공부하는 네트워크」 책 내용을 정리한 내용입니다.저작권 문제시 삭제하겠습니다.  1. 컴퓨터 네트워크란?여러 개의 장치가 마치 그물처럼 서로 연결되어 정보를 주고받을 수 있는 통신망. 네트워크의 네트워크 = 인터넷여러 장치들이 네트워크를 통해 서로 연결되면 주변 장치뿐만 아니라 네트워크와 연결된 지구 반대편의 장치와도 정보를 주고받을 수 있다. 이 기술이 바로 인터넷.  2. 네트워크의 구성요소노드, 간선, 메세지 1) 노드: 정보를 주고받을 수 있는 장치. ex) 서버, 클라이언트, 네트워크 장비 등.2) 간선: 정보를 주고받을 수 있는 유무선의 통신 매체(유선/무선)3) 메세지: 통신 매체로 연결된 노드가 주고받는 정보. ex) 웹 페이지, 파일, 메일 등 [노드의 예]*호스트: 네트..

[컴퓨터 밑바닥의 비밀] 5장. 캐시(Cache)

5. 작은 것으로 큰 성과 이루기, 캐시 5.1 캐시, 어디에나 존재하는 것. [캐시의 탄생 배경] 시스템의 성능은 상대적으로 느린 쪽에 맞추어 제한된다.CPU의 속도 >>>>> 메모리의 속도. 메모리는 CPU의 1/100 수준에 해당한다. CPU와 메모리의 속도차로 인해 CPU가 메모리를 직접 읽고 쓰지 않도록 ‘캐시’가 개발되었다.캐시에 최근에 메모리에서 얻은 데이터가 저장되며 CPU가 메모리에서 명령어와 데이터를 꺼내야 할 때 무조건 먼저 캐시에서 해당 내용을 찾는다.[캐시의 물리적 형태]  x86과 같은 최신 CPU와 메모리 사이에는 실제로 3단계의 캐시가 추가되어 있다. L1 캐시, L2 캐시, L3 캐시. L1 > L2 >> L3 순으로 속도가 빠르다.각 계층의 크기는 다음 계층의 크기보다 작..

모든 개발자를 위한 HTTP 웹 기본 지식

인프런 강의 중, 김영한님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 을 정리한 내용입니다.저작권 이슈가 있을 시 바로 삭제하겠습니다.*인터넷 프로토콜(IP, Internet Protocol) ㅁ -------------------------------------> ㅁ 복잡한 인터넷 망에서 'Hello World' 라는 메세지를 보내고 싶다.최소한의 규칙이 필요하다. 이 규칙이 IP 이다.즉, IP 를 통해서 통신한다. 내 IP 주소 ----> 친구 IP 주소 - 지정한 IP 에 데이터 전달- 패킷(Packet)이라는 통신 단위로 데이터 전달 1) 비연결성: 패킷을 받을 대상이 없거나 상대편 서버가 서비스 불능 상태여도 상대 상태를 모르고 그냥 패킷을 전송한다.2) 비신뢰성: 중간에 패킷이 사라지거..

[Back-End][스프링 부트 3 자바 벡엔드 개발 입문] Part2. 뷰 템플릿과 MVC 패턴

스프링 부트 3 자바 벡엔드 개발 입문 책을 정리한 내용입니다.저작권 등의 이슈로 문제가 될 시 비공개 처리하겠습니다. * 뷰 템플릿이란?: 웹 페이지(view)를 하나의 틀(Template)로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여주는 기술. * MVC 패턴: Model, View, Controller로 역할을 나눠서 개발하는 기법.

[Back-End][스프링 부트 3 자바 벡엔드 개발 입문] Part1. Spring Boot

스프링 부트 3 자바 벡엔드 개발 입문 책을 정리한 내용입니다.저작권 등의 이슈로 문제가 될시 비공개 처리하겠습니다. 1. Spring initializr 로 프로젝트 생성하기https://start.spring.io 에 접속하고 Project, Language, Spring Boot version, Project Metadata, Dependencies 를 위와 같이 셋팅해주자. *Dependencies1) H2 Database: 자료를 저장하기 위한 데이터베이스2) Mustache: 화면을 만들기 위해 필요한 도구3) Spring Data JPA: 데이터베이스를 좀 더 편리하게 다룰 수 있게 해 주는 도구. 파일을 다운받아보면 위와 같은 형태로 파일들이 만들어져 있다. InteliJ로 위 프로젝트를 ..

728x90