학부때 OSI 7계층과 TCP/IP 5계층(예전엔 4계층이었지요..)과 많이 비교했었는데.. 네트워크의 상호과정(?)을 계층으로 나눈 모형이라고 생각하면 돼요! OSI 7계층 위로 갈 수록 응용소프트웨어, 아래로 갈 수록 하드웨어(물리적 네트워크단)에 가까워 진다고 생각하면 돼요! 사용자는 응용계층(Application Layer)에서 서로 정보를 주고받게 되며, 그 과정을 7개의 단계를 따르는 것이죠! 데이터에 정보(계층 헤더)가 계층별로 붙은 저 형태를 패킷이라고 해요! 계층별로 상자를 포장한다고 생각하면 쉬워요👍🏻 물리계층에서는 이 패킷을 비트의 형태로 정보를 받는 사용자에게 전달하게 되며, 전달받은 후, 이 패킷은 포장할때의 반대 순서로 풀어낸다고 보면되죠😲 학부 땐, 각 계층별 특징과 대표예시로..
오늘은, 네트워크에 대한 전반적인 지식을 다뤄볼까 해요! 매우 기초적인 것 부터 하나하나 설명드릴 테니까 위에서부터 아래로 쭉 읽어내려가면 비전공자 분들 께서도 쉽게 이해하실 수 있으실 거에요😋 (그럼에도 이해가 안되는 부분에 대해서는.. 댓글부탁드릴게요😭) 네트워크 이 단어를 접하게 되면 인터넷? 컴퓨터의 모임? 연결 망? 등등 여러 키워드가 떠오르는데요, 컴퓨터와 컴퓨터, 컴퓨터와 스마트폰 등 여러대의 기기가 라우터나 와이파이공유기 등으로 연결되어 그룹소통(?)을 할 수 있는 체계를 네트워크라고 하는거에요! (위키피디아에서는, 노드들이 자원을 공유할 수 있게 하는 디지털 전기통신망의 하나. 즉, 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 말한다고 하네요!🤮) ✅네트워크의 종류 LAN 아주많이예전에..
프로그래밍 과정에서 가장 오래⏰걸리는건 디버깅하는 부분이라고 생각합니다! 그만큼 중요하다는 것이죠👍🏻 그래서 이번에는, 제가 공부중인 Swift 디버깅에 찰떡인 LLDB에 대해 정리해 보았어요📝 (Xcode의 기본 디버거로 내장되어 있기 때문이죠😲) LLVM 위키피디아에서는, 프로그램을 컴파일 타임, 링크 타임, 런타임 상황에서 프로그램의 작성 언어에 상관없이 최적화를 쉽게 구현할 수 있도록 구성된 컴파일러 기반구조 라고 표현합니다. 어렵고 복잡하다면, 그냥 한번에 여러가지 언어를 잘 알아먹는 컴파일러라고 생각하면 돼요! (본래는, 언어당 하나씩 컴파일러를 매칭시켰다고 하더군요😲) 그리고, 각 컴포넌트들의 재사용성♻️을 중시해서,모듈화🧱가 잘 되어있다는 특징이 있습니다. LLDB 위키피디아에서는, 클랭 ..