물리 계층 OSI 1 Layer의 역할 : 서로 다른 두 기기(컴퓨터)가 실제로 물리적 통신이 이루어질수 있는 서비스를 제공데이터 통신의 과정은 다음과 같다. 컴퓨터 A에서 B에게 패킷을 보내려고 한다. A의 컴퓨터에선 OSI 7Layer -> ... -> OSI 1 Layer까지의 캡슐화(각 레이어의 헤더가 붙음) 된 다음 1Layer의 NIC에서 비트열을 디지털 신호 또는 아날로그 신호로 바꿔준다. 그럼 이 신호가 케이블을 타고 B의 NIC에 도착하고 그때 다시 비트열로 변경되고 1Layer -> 7Layer까지 변환되어 데이터가 전달 되는 것이다. 이 과정에서 비트열을 신호로 바꾸고 그 신호를 다시 비트열로 바꾸어 실제 물리적인 통신을 가능하게 하는것이 1Layer의 역할이다. 대표적인 장비로는 허..
1. 클래스 패스클래스 패스란, JVM이 실행하고자 하는 프로그램의 클래스파일이 위치한 경로를 의미한다. 환경변수에 클래스패스를 등록해두면 해당 프로그램의 여러 클래스파일이 여기저기에 위치해도 JVM이 알아서 찾아서 실행 시킬 수 있다. 2. 인스턴스와 객체 용어의 차이점인스턴스란 사례,실제 라는 뜻이다. 어떤 클래스로부터 실체화 되었다는 점을 강조할 때는 인스턴스라는 용어를 사용하고 현실세계의 어떤 객체를 프로그램상에서 표현하기 위해 사용할때는 객체라는 용어를 사용한다. 3. 인스턴스 참조 변수와 인스턴스 생성인스턴스를 생성하면 메모리에 어떤 공간을 차지한다는것이고 그 메모리의 주소를 참조 변수에 갖고 있는것을 의미한다.클래스를 정의하는것은 새로운 자료형을 정의하는것을 의미한다. 4. IEEE754 표..
네트워크 계층은 다른 말로 IP 계층이라고도 한다.이 Layer3에서 사용하는 프로토콜이 IP(Internet Protocol)이기 때문이다. 아이피 자체는 비 연결 지향형 프로토콜이다. 내가 여기서 다른 컴퓨터로 데이터를 보내는데 그 데이터를 전송만 할 뿐이지 그 데이터가 목적지에 확실히 도착하는것을 보장하진 않는다. OSI 7Layer에서 각 계층이 7개로 나뉘어져있다. 현재의 계층은 아래계층의 서비스를 이용해서 위의 계층에게 어떤 서비스를 제공한다. 각 계층에서 사용되는 프로토콜이 존재하고 이것이 스택 형태로 쌓아져있다. 따라서 프로토콜 스택이라고 부르기도 한다. 트랜스포트 계층은 아이피 계층을 이용해서 응용 계층에게 어떤 서비스를 제공한다. 네트워크 계층은 비 연결 지향형 프로토콜인 아이피를 사용..
소켓은 L5와 L4사이에 위치한다. 응용 프로그램이 다른 네트워크에 있는 다른 응용 프로그램과 통신을 하기 위해서는 소켓을 하나 생성하고 그 소켓에 아이피/포트 번호를 할당한 다음 데이터를 보내야 한다. 소켓이란것은 쉽게 말해 벽에 있는 콘센트에 전원 플러그를 꽂아 전원을 공급 받는것과 똑같다. L5와 L4 사이에 소켓을 생성 해놓고 그 소켓에 전원 플러그를 연결한뒤 데이터를 전송해야 하는 것이다. 소켓은 연결 지향형, 비연결 지향형 2가지가 존재한다. 연결 지향형은 tcp전용으로 생성되는 소켓을 의미한다. 비 연결 지향형 소켓은 udp전용 소켓을 의미한다. udp 소켓의 경우 보내는 측에서 write를 2번 했으면 받는 측에서도 똑같이 2번 read를 해야 한다. 하지만 연결 지향형 소켓은 버퍼링을 하..
응용 계층표현 계층세션 계층트랜스포트 계층네트워크 계층데이터링크 계층물리 계층ISO라는 표준 기구에서 설립한 통신 표준으로써 7개의 계층으로 구성되어 있다. 왜 굳이 이렇게 통신 한번 하는데 계층 7개나 거쳐가게끔 구성해놨을까?1. 이렇게 나눠놓으면 장애가 발생했을때 어디서 장애가 발생했는지 확인하기가 수월하고 복구가 쉽다.2. 각 계층에 해당하는 장비를 만드는 회사들간의 호환성이 생긴다. 각 계층에서 하는 일들을 간단하게 적어보자.응용 계층 - 실제로 응용프로그램들이 동작하는 레이어이다. 표현 계층 - 응용 계층과 세션 계층 사이에서 데이터를 암호화,인코딩,디코딩,복호화 등의 역할을 한다.세션 계층 - 트랜스포트 계층에서 프로세스와 프로세스간의 연결이 성립되어 있다면 이 세션 계층을 통해서 그 연결을 ..
이더넷이란 LAN을 구축하는 방식 중 하나이다.LAN이라는것은 Local Area Network의 약자로 좁은 지역에서의 네트워크를 의미한다. 피시방에 네트워크를 구축할때 LAN을 깐다라고 표현한다. 이더넷은 CSMA/CD방식을 사용한다 Carrier Sense Multiple Access / Collision Detection 의 약자이다. 다시말해서 이더넷 방식으로 구축 되어 있는 랜에서 하나의 노드에 여러개의 노드가 신호를 보낸다고 해보자. a,b의 두개의 노드가 c노드에게 신호를 보내려고 한다. a는 c노드에 보내진 신호가 있는지 확인하고 없으면 신호를 보낸다. b도 마찬가지이다. 하지만 a와b가 동시에 c에 보내진 신호가 없다고 판단하여 동시에 신호를 c에게 보낼 수 있다. 이때 충돌이 생기는데..
유저의 첫번째 요청이 들어오기전에 톰캣은 SqlSessionFactory를 미리 준비 시켜 놓는다. 팩토리를 짓기 위해서 팩토리의 설계도가 필요할것이다 그것이 바로 MyBatis Config File이다. 그리고 나서 유저의 요청이 들어오면 SqlSessionFactory로 부터 SqlSession을 만든다. SqlSession은 데이터베이스와의 연결 상태(세션)을 유지하는 역할을 한다. 아직은 데이터베이스와 연결만 되어 있지 실제로 어떤 sql을 디비로 날릴지는 결정 되어 있지 않기 때문에 SqlSession은 Mapper Interface의 구현 객체를 생성한다. 그리고 Application에서 그 Mapper Interface의 구현객체의 메소드를 실행하게 되면 실행중에 동적으로 매핑파일의 sql내..
서블릿 컨테이너는 서블릿의 생명주기를 관리한다. 서블릿 컨테이너 내부에는 여러개의 서블릿이 존재 하는데, 서블릿의 집합이 하나의 웹 앱을 만든다. Application Context란 여러개의 웹 앱들이 공유하는 환경을 의미한다. 따라서 이곳에, Dao와 관련된 빈이나 서비스 로직에 관련된 빈을 모두 모아놓으면 된다. 왜냐면 이러한 빈들은 여러 앱들에서 공유 될 수 있기 때문이다. 즉 root application context이다. Servlet Application Context == Web Application Context이다. 각 앱 내부에 하나씩 존재한다. 즉, 웹앱컨텍스트는 하나의 서블릿 컨테이너 내부에서 여러개가 존재 할 수 있다. 2.3 Difference between the two c..
- Total
- Today
- Yesterday
- state
- atomic design
- await
- return type
- promise
- async
- react
- react hooks
- mobx
- server side rendering
- useRef
- hydrate
- type alias
- javascript
- props
- design system
- Babel
- storybook
- webpack
- reactdom
- es6
- reducer
- computed
- rendering scope
- typescript
- Next.js
- reflow
- Polyfill
- useEffect
- Action
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |