ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코딩에 관해 몰랐던 사실들 기록 1
    isAlreadyRead/가벼운 내용 2023. 10. 30. 00:03

     

     

     

    책을 읽다가 흥미로운 부분이나 기억에 남는 부분을 기록하는 식으로 작성해본다.

     

     

     

    • 에니악은 전선을 연결하여 프로그램을 코딩했다고 한다.  코딩된 프로그램을 저장할 수 있는 메모리가 없었기 때문에.
      프로그램에 수정사항이 생기면 모든 전선을 바꿔가며 다시 코딩해야했다고 한다.

      이후 Von Neumann architecture  (폰 노이만 구조) 가 발명되어 
      중앙처리장치(CPU), 메모리, 프로그램을 통해 프로그램을 저장할 수 있게 되었다.



    • 세계 최초로 코딩한 사람은 에이다 러브레이스 이다. 
      루프,  IF문 등의 개념을 발명하였다.
      그리고 현재 존재하는 거의 모든 프로그래밍 언어들이 러브레이스가 최초로 구현한 IF문의 형태를 그대로 따르고 있다.


    • 작성한 소스코드를 기계어로 바꾸는 것을 컴파일이라 하며
      링크는 컴파일된 것들을 연결하여 최종 실행파일을 만드는 과정이다.
      컴파일과 링크를 묶어서 빌드라고 한다.


    • actuator(액추에이터) 를 통해 현실과 가상공간을 연결하여 현실을 디지털로 표현할 수 있으며,
      이것을 디지털 트윈이라고 한다.


    • TCP/IP 괸련 TMI 

      통신 프로토콜 TCP/IP  
      인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 방식을 규격화 한 것.
      기존의 패킷 교환 방식에서  패킷데이터에 잡음이 포함될 수 있기에 이를 확인하기 위한 CRC(Cyclic Redundancy Check) 체크섬 개념이 생겼다.

      TCP/IP 는  주소형식을 정의한 IP,  오류없이 데이터를 전송하기 위한 TCP로 이루어져 있다.
      패킷이 순서대로 도착할 것이라는 보장이 없으므로
      패킷의 순서가 섞이는 것을 방지하기 위해 패킷에 전달 순서를 기록하였고,
      패킷이 여러 네트워크를 거쳐 목적지까지 도달할 수 있도록 라우터와 게이트웨이라는 개념이 생겼다.

      데이터를 교환하기 전, 각 컴퓨터는 송수신 준비가 되어있는지 확인하게 위해 서로 신호를 보내는데

      연결하기 위한 연결요청  (SYN)
      이에 대한 대답으로 (ACK + SYN) 
      마지막으로 AKC 를 보내 연결을 한다

      이 세 단계를 거치는 과정을 3-Way Handshake라고 한다.

      연결을 위한 과정이 있다면 당연히 연결해제를 위한 과정도 있는데
      이는 4-Way Handshake 라고 한다.

      여기서는 FIN(finish) 을 이용하는데   FIN은 세션을 종료하는데 사용되며, 더 이상 보낸 데이터가 없음을 나타낸다.

      클라이언트가 서버에서 FIN을 보낸다.
      서버는 FIN을 받고,  확인했다는 의미로 ACK를 클라이언트에게 보낸다.
      데이터가 모두 전송되었다면 서버는 FIN을 클라이언트에게 보낸 후에  허락을 기다리는 상태가 된다.
      클라이언트 또한 FIN을 받고  ACK를 보내면 연결이 해제된다.



      자세한 내용은 관련 내용을 공부할때 새로 글을 써보면서 내용을 정리할 예정이다.   

     

     

     

Designed by Tistory.