송신할때 여러개의 안테나가 있고 수신할때도 여러개의 안테나가 있는것을 mimo라고 한다. 이 기술은 inter symbol interference라는 현상을 이용한 기술이다. 만약에 수신자의 안테나가 하나라고 했을때, 송신자가 똑같은 신호를 여러번 전송하게 되면 그 여러개의 신호들은 도심속에서 여러개의 건물등에 부딪혀 서로 다른 시간에 서로 다른 phase로 수신되게 된다. 이것을 ISI라고 하는데 안테나가 하나일경우 fading(신호가 갑자기 약해지는 현상, ISI에 의해 같은 신호가 phase가 달라져서 합쳐지면 최종 진폭이 0이될수도 있음) 이 일어나는데 MIMO에서는 여러개의 수신 안테나가 fading현상을 오히려 좋은쪽으로 이용해서 서로 다르게 수신된 신호들을 잘 조합해서 더 좋은 대역폭을 갖게..
connect() 시스템 콜의 에러 상황을 재현해 보기 connect () 시스템 콜의 결과로 각각 ETIMEDOUT, ECONNREFUSED, EHOSTUNREACH(또는 ENETUNREACH) 가 return되는 3가지 경우를 재현 타임아웃 - 클라이언트가 소켓을 통해 패킷을 서버에게 보냈는데 중간에 있는 라우터에서 그 서버에 해당하는 네트워크에 도달하지 못하고 중간 라우터들 사이에서 뺑뻉이를 돌기 때문에 발생함. 클라이언트가 SYN를 서버에게 보내면 서버는 SYN+ACK를 보내고 이것을 클라이언트가 받게 되면 클라이언트는 연결이 성공했다고 판단하고 ACK를 다시 서버에게 보낸다. ACK를 받은 서버는 그제서야 클라이언트와 연결이 성공했다고 인지하게 된다. 그런데 SYN를 보낸 클라이언트가 SYN+A..
서버에 있는 프로그램에서는 리슨 소켓을 만들고 나서 accept()시스템 콜을 호출한다. 이 시스템 콜을 호출하게 되면 그 프로세스는 블락 되게 되며 (클라이언트로부터 3way 핸드쉐이크 요청이 올때까지) 클라이언트로 부터 요청이 들어오면 Incompleted Queue에 그 요청정보를 넣어 놓고 나서 다시 클라이언트에게 SYN+ACK를 보내준다. 그리고 나서 클라이언트 프로그램에서 SYN+ACK를 받으면 connect()시스템콜이 정상적으로 리턴 되며 연결이 성공했다고 인지하게 되고 ACK를 다시 서버에게 보내준다. 서버가 마지막 ACK를 받으면 Incompleted Queue에 있던 클라이언트의 연결 요청을 Completed Queue로 옮기게 되고 이 큐에 옮겨 지고 나면, 서버의 커널이 블락 되어..
수가 10의 1만승까지 가능하므로 현존하는 정수형 자료형으로는 절대 이 숫자들을 표현할 수 없다.그렇기 때문에 문자열로 처리를 해야한다. 해결방법stirng 2개에 각각 숫자로된 문자열을 입력받고나서 맨마지막수부터 더해가면서 올림수(carry)와 결과값(remain)을 구분하면서 계속 더해간다. 두 숫자의 자리수를 맞춰줘야 하므로 자리수가 더 적은쪽의 빈공간을 0으로 채웠다예를들어 9999와 1을 더하게되면9999와 0001을 더하게끔 만들었다 . 이렇게 표현해야 반복문을 좀더 쉽게 할 수 있었다. 12345678910111213141516171819202122232425262728293031323334353637using namespace std;#include#includeint main(){ str..
#include c언어의 버전이 업 되면서 변경된 자료형의 정의들과 시스템마다 int를 표현하는 바이트수가 다르므로 그런것들을 다른 자료형으로 정의하는 typedef문들이 들어있다.(int가 어떤곳에선 2바이트 , 요즘에는 거의다 4바이트이기 때문에 이 두개의 자료형을 구분하는 어떤 타입정의가 필요함) 한마디로 시스템에서 사용하는 자료형에 관한 정보들을 담고있다. #include 에 정의된 소켓 구조체 struct sockaddr_in{unsigned short int sin_family; //16비트uint_16t sin_port; //16비트struct in_addr sin_addr; unsigned char sin_zero[8];} socket(AF_INET, SOCK_STREAM,0) AF_INE..
경쟁 상태 (Race condition) 공학 분야에서 경쟁 상태(race condition)란 둘 이상의 입력 또는 조작이 동시에 이루어지는 상태를 말한다. 이런 상태에서는 정상적인 결과가 나오지 않게 될 위험이 있는데 이를 경쟁 위험이라고 한다.-> 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도하는 상태, 동시에 접근하면 A프로세스가 쓴 값을 바로 이어서 B프로세스가 덮어씌우는 상황이 나타날 수 있다. 이를 방지하기 위해서는 상호배제가 필요하다다중 프로그래밍다중 프로그래밍(Multi-programming)이란 CPU 작업과 입출력 작업을 병행하는 것이다. CPU 이용과 처리량을 향상시킬 수 있다. 프로세스 테이블프로세스프로세스 -> 프로세스 테이블에서 한 엔트리, 독립적인 주소 공간 차지..
클릭
로컬에서 만든 스프링 mvc 프로젝트를 웹에 올리는 방법 이후 Finish 입력 카페 24 톰캣 호스팅 기준으로 설명ftp 주소와 아이디 비밀번호 입력해줌. 그다음 tomcat/webapps/에 들어가고 거기에 아까 export한 ROOT.war 배포 그다음 putty와 같은 텔넷 프로그램 사용해서 서버에 접속 저는 맥 이라 터미널로 접속하겠음. 똑같이 사용자 아이디 비밀번호 입력하면 텔넷 접속 성공 이후 ./tomcat/bin/shutdown.sh -> 톰캣 서버 내리기./tomcat/bin/startup.sh -> 톰캣 서버 실행을 순차적으로 해주시면 됨. 이런식으로 나온다면 성공 이렇게 톰캣을 껏다 켜주면 아까 ftp에서 업로드 했던 ROOT.war의 압축이 풀려서 ROOT라는 폴더가 만들어 진다...
- Total
- Today
- Yesterday
- react
- Polyfill
- useEffect
- design system
- Action
- es6
- state
- await
- hydrate
- typescript
- reflow
- props
- storybook
- useRef
- mobx
- javascript
- reactdom
- Babel
- atomic design
- reducer
- async
- rendering scope
- promise
- return type
- webpack
- server side rendering
- react hooks
- Next.js
- computed
- type alias
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |