안녕하세요! 제이덥입니다. 이번 주부터 "혼자 공부하는 네트워크" 도서를 통해 네트워크에 대해 학습하고, 공부한 내용을 공유하려고 합니다. 각 주제별로 나누어 포스팅할 예정이며, 이번 섹션에서는 "네트워크"와 "인터넷"이 무엇인지, 그리고 개발자가 왜 네트워크를 알아야 하는지에 대해 정리해보겠습니다.
*이 도서는 제가 직접 구매하여 작성한 글이며, 혼공단 12기 활동의 일환으로 학습 내용을 공유하고자 합니다. 도서와 활동에 대한 자세한 내용은 아래 Reference에서 확인하실 수 있습니다.
1️⃣ 네트워크와 인터넷의 직관적인 정의
네트워크(네트워크)란?
- 네트워크의 정의 : 데스크톱, 노트북, 스마트 폰 등 여러 장치가 정보를 주고 받을 수 있도록 그물 처럼 연결되어있는 통신망
- 특징 :
- 여러개의 유무선 장치로 연결되어 잇음.
- 정보를 주고 받을 수 있게 해줌
인터넷(Internet)이란?
- 인터넷의 정의 : 여러 네트워크를 연결한 ‘네트워크의 네트워크’
- 특징 : 주변 장치 뿐만 아니라 공간에 제약없이 여러 장치를 연결할 수 있도록 해주는 기능
2️⃣ 개발자랑 네트워크 어떤 관계?
상대적으로 많은 트워크를 사용하는 많은 프로그램
- 일상생활에서 사용하는 프로그램 중 인터넷 연결 없이 사용하는 프로그램이 훨씬 더 많음
- 예) 웹 브라우저, 메일, 온라인 게임, 클라우드 저장소 등등▶️ 즉, 많은 프로그램이 네트워크와 상호 작용을 하고 있으며, 개발자는 이러한 상호작용을 하는 프로그램을 만들어야 하기에 네트워크에 대해서 제대로 이해하고 있어야 한다.
- 일상생활에서 사용하는 프로그램 중 인터넷 연결 없이 사용하는 프로그램이 훨씬 더 많음
개발자가 컴퓨터 네트워크를 알아야하는 이유
- 개발자는 2가지 업무를 진행
- 프로그램을 개발하는 업무
- 프로그램을 유지보수 하는 업무
- 개발자는 2가지 업무를 진행
✅ 네트워크는 이 두가지 관점에서 모두 중요!
-
- 프로그램을 개발하는 관점
- 네트워크에 대한 배경지식이 필요한 기능들이 존재
- ex) 스프링 프레임워크의 기능 (TCP/UDP를 알고있어야함)
- ex) 웹사이트 배포를 위해 DNS, HTTP/HTTPS의 기능을 모두 알고있어야 함.
- 네트워크에 대한 배경지식이 필요한 기능들이 존재
- 프로그램을 유지보수 하는 관점:
- 프로그램이 인터넷 연결이 안되거나/서버와의 연결이 끊기거나/동작하지 않는 등 네트워크 연관된 문제가 발생했을 때 관련 지식은 문제 해결에 큰 도움을 줌
- 페이지를 찾을 수 없는 404 에러
- 내부 서버 오류 에러 500
- 프로그램 유지 보수를 할 때 쓰이는 명령어나 도구 중 네트워크 지식이 있어야만 이해할 수 있는 부분이 있음
- ex) netstats -ano, 공유기 설정 등
- 프로그램이 인터넷 연결이 안되거나/서버와의 연결이 끊기거나/동작하지 않는 등 네트워크 연관된 문제가 발생했을 때 관련 지식은 문제 해결에 큰 도움을 줌
- 프로그램을 개발하는 관점
Reference :
'혼공 학습단 > 혼자 공부하는 네트워크' 카테고리의 다른 글
[혼자 공부하는 네트워크] NIC와 케이블 (0) | 2024.07.14 |
---|---|
[혼자 공부하는 네트워크] 이더넷 (0) | 2024.07.14 |
[혼공단 12기] 혼자 공부하는 네트워크 1주차 과제 (0) | 2024.07.07 |
[혼자 공부하는 네트워크] 네트워크 Overview (Feat. 미시적 관점) (0) | 2024.07.05 |
[혼자 공부하는 네트워크] 네트워크 Overview (Feat. 거시적 관점) (0) | 2024.07.03 |