반응형
SMALL

컴퓨터에는 여러가지 지식들이 있다. 사실 컴퓨터라는 세계는 끝이 안보이는 미지의 세계일 수도 있지만 모든걸 다 안다기 보다는 그래도 컴퓨터 전공자들이 개발을 하던지, 보안을하던지 등간에 꼭 알아야할 것들이 몇가지가 있다. 지금 그걸 몇가지 소개해보려고 한다.


1. 하드디스크 = ARM 작동될 때 기계로 하는 방식보다 (전기) 하는 방식이 훨씬 빠르기  때문에 컴퓨터 부팅속도                          도  빨라진다.

 -> 당연히 이렇게 될 수 밖에없다. 이 세상에서 가장 빠른건 빛밖에 없기 때문에  빛의 속도로 하드디스크에 접근을 하다면 어떻게 되겠는가? 예전엔 기술의 발전이 없을 때는 당연히 기계식으로 돌렸고, 빛보다 현저히 느릴 수 밖에 없는 구조였다. 현대에는 빛을 이용한 방식을 많이 사용하기 때문에 당연히 모든 면에서 빨라질 수 밖에 없는 구조이다.


2. 라우터 = 일종의 공유기이다. LAN과 LAN, LAN과 WAN을 서로 연결하기 위한 인터넷 프로토콜이며, 데이터의 전송을 위한 경로지정을 해주는 기능을한다. 또한 가장 중요한 것은 현존하는 네트워크 연결 장비중에 가장 속도가 빠르며 전세계는 이러한 라우터들로 이루어져 통신하고 있다. 가장 최적의 경로를 찾아 가장 빨리 송수신 해주는 장비가 바로 라우터이다. 

 



3. TCP/UDP의 차이점?


TCP(Transmission Control Protocol)

연결형 서비스를 지원하는 전송계층 프로토콜이며,  인터넷 환경에서 기본이 된다. 호스트간       신뢰성 있는 데이터 전달과 흐름제어 및 혼잡제어 등을 제공하는 전송계층이다.


TCP의 특징

- 가상 회선 연결 방식, 연결형 서비스를 제공

- 높은 신뢰성(Sequence Number, Ack Number를 통한 신뢰성 보장)

- 연결의 설정(3-way handshaking)과 해제(4-way handshaking)

-> 여기서 가장 중요한 사실은 높은 신뢰성보장이다.


* UDP(User Datagram Protocol)

비연결형 서비스를 지원하는 전송계층 프로토콜이며 사용자 데이터그램형 프로토콜이다. 인터넷상에서 서로 정보를 주고받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않는 것이 특징이며, 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜


UDP의 특징


-  비연결형(port만 확인하여 소켓을 식별하고 송수신)

-  패킷 오버헤드가 적어 네트워크 부하 감소

-  비신뢰성

-  오류검출(헤더에 오류 검출 필드를 포함하여 무결성 검사)

-  TCP의 handshaking 같은 연결 설정이 없다

-> 여기서 가장 중요한건 비신뢰성이며 핸드쉐이킹같은 연결설정이 없다는 것이다.


three way handshaking/four way handshaking = three way handshaking은 서로간의 송수신을 서로 제대 인하면서 진행한다. four way handshaking 송수신을 끊을때 사용한다.

※ 프로세스: 프로그램이 실행되고 있는 것


4.  좋은 코딩을 위한 최적화 이슈


    - int arr[800*480] = [0]; -> 배열까진 좋다. 이정도를 메모리공간에 할당한다는거니까.

    - void draw(int x), int y1, int x2, int y2, int type, int color)-> 근데 파라미터가 너무 많다는       느낌 안받는가? 파라미터가 많을수록 레지스터에 대한 부담은 점점 커진다. 그렇게 되                   면 컴파일도 당연히 느릴수밖에 없고 여러모로 불리한 점이 많아진다. 그래서 좋은 코딩을 하         기 위해선 파라미터를 4개정도까지만 하는 것을 권장하고 있다.

    - for (int i = 0;  i < sizeof(arr), i++) -> sizeof 런타임이 아니다. 몇번 호출되든 상관 없다.





반응형
LIST
블로그 이미지

만년필석사

,