본문 바로가기

애니리뷰

(33)
네트워크 5) 4계층(Transport Layer) 1. 4계층의 역할과 개요 1계층 - 케이블이 연결된 상대에 대한 신호 전달 2계층 - 신호를 주고받을 수 있는 상태일 때, 세그먼트 내에서 어떻게 데이터를 송수신하는가 3계층 - 세그먼트=네트워크 사이에서 어떻게 송수신하는가(ex. IP주소, 라우팅) 4계층 - 전달할, 전달될 데이터에 대해 필요한 처리. 예로, 에러 복구 [흐름제어: 에러복구 & 통신상태 확인] 데이터 수신 시, 송신처에 수신한 것을 통지. 이 확인응답이 돌아오지 않으면, 다시 보냄. 처리능력을 넘어선 정보를 받은 경우, 이를 파기하는 경우가 있다. 이러한 오버플로우를 방지하기에, 흐름제어. 데이터를 보내거나 받는 건, 결국 어플리케이션, 어느 어플리케이션이 송신하고 수신한 건지 결정하기 위해, 포트번호가 부여됨. 이러한 '통신에 필..
네트워크 3 ) IP 어드레싱 1계층 - 케이블이 연결된 상대에 대한 신호 전달 2계층 - 신호 송수신 가능한 상태에서, 세그먼트 내에서 어떻게 데이터를 주고받는가? 상위층으로 신호를 제대로 송수신하기 위한 순서 AND 신호를 데이터로서 수신하거나 충돌이 일어나지 않도록 3계층 - 세그먼트(라우터와 라우터 간의 범위)를 넘어, 그 세그먼트 간의(즉, 네트워크의) 데이터 송수신하는 계층. 허브를 사용시, 송신측이 보낸 신호는 허브에 의해 연결된 모든 기기에 도달한다. 이를 막기 위해 스위치를 쓰며, 멀티캐스트, 브로드캐스트, 아직 학습하지 않은 주소 수신의 프레임을 플러딩함으로써 허브에 의해 발생할 수 있는 충돌을 방지한다. 그러나, 브로드캐스트 송신 시, 브로드캐스트가 도달하는 범위의 모든 컴퓨터가 이를 수신해서 자기와 관계있는지 여..
opencv의 c++에서의 픽셀 접근 #include "opencv2/opencv.hpp" #include using namespace std; using namespace cv; int main(int, char**) { Mat img_in = imread("C:/Users/is7se/source/repos/OpencvStudy/OpencvStudy/img/Test.tif", IMREAD_GRAYSCALE); int H = img_in.rows; int W = img_in.cols; if (img_in.empty()) { cout eye_pos; // Mat roi = gray(face_pos[i]); // // eye.detectMultiScale(roi, eye_pos, 1.1, 2, 0 // | CASCADE_SCALE_IMAGE, ..
네트워크 2 ) 신호의 전송과 충돌 1계층의 역할, 개요 케이블(파이프)이 연결된 기기에 신호(데이터)를 전달하는 것이 역할. 정하는 것 - 1) 보내는 데이터인 '신호'의 종류, 형태 2) 인터페이스 - 비트를 신호로 변환하는 법이나, 케이블의 잭과 인터페이스 쪽의 삽입구 형태 2계층에서 데이터(비트)가 신호로 변환되면, 1계층의 인터페이스에서 신호를 전송. 다시 수신처 인터페이스가 신호를 받으면 이를 비트로 변환. 즉, 인터페이스는 비트를 신호로, 비트를 신호로 변환. 통신속도(bps) = 1초간의 신호 횟수 * 1신호에서의 비트 수 허브는 T자 분배를 케이블에 만드는 대신, 케이블에 허브를 연결하면 케이블이 분배되는 것과 같은 역할을 한다. 즉, 케이블로 허브에 연결된 기기는 동일 케이블에 연결된 것과 같은 취급을 받는다. 이러한 허..
네트워크 1 ) 기초 인터페이스 - 컴퓨터의 파이프 접속구. 즉, 컴퓨터와 파이프의 중개역 라우터 - 일종의 패킷교환기. 다양한 end노드(즉, 컴퓨터)에서 출발한 각 패킷들은 라우터를 가게 되면, 한 수신처의 데이터가 회선을 점유하지 않고 전부 랜덤으로 섞여서 송신됨. 이후에 다른 패킷교환기에 도착하면 각자 목표로 하는 수신처를 향해 나아감. 이 라우터도 라우터-컴퓨터, 라우터-라우터 간 인터페이스를 지님. 파이프를 T자 등으로 나누면, 서로 파일을 공유하는 컴퓨터끼리 하나의 라우터 내에 묶을 수 있게됨. 이렇게, 라우터에 의한 패킷 교환이 아니라, 회선을 나눠 연결하는 것을. '세그먼트'라 하며, 이 세그먼트 내 컴퓨터는 라우터가 없어도 송.수신이 가능. 이 T자 분배기가 곧 '허브' 허브의 말단 간의 연결 통한(혹은 허..
조합 dfs 형식으로 풀기 #include #include #define MAX 17000000 #define CITY 16 using namespace std; int ans = 0; //배열, 목표숫자, index, 현재 숫자 void dfs(vector v, int num, int idx, int cur) { //나가는 시점: 맞을 때, 초과할 때, 끝에 다다랐을 때 if (cur == num) { ans++; return; } if (cur > num || idx >= v.size()) { return; } for (int i = idx + 1; i < v.size(); i++) { cur += v[i]; dfs(v, num, i, cur); cur -= v[i]; } } int solve(vector v, int num)..
맵 공부 #include #include #include using namespace std; int solution(vector clothes) { int answer=1; map m; for(int i=0; isecond+1); } // return v.size(); return answer-1; }
실습 7-1)메뉴를 이용해 배경색을 바꾸기 package com.example.helloandroid; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Button; import android.widget.LinearLayout; import androidx.appcompat.app.AppCompatActivity; @SuppressWarnings("deprecation") //java코드만을 이용해 액션바 구성하기 public class MainActivity extends AppCompatAc..