개발자를 희망하는 초보의 자기개발 이야기

비전공자를 위한 이해할 수 있는 IT 지식 3일차 본문

도서/비전공자를 위한 이해할 수 있는 IT 지식

비전공자를 위한 이해할 수 있는 IT 지식 3일차

클라우드아실 2023. 11. 27. 22:33
반응형

TIL (Today I Learned)

2023.11.27

오늘 읽은 범위

3장 네트워크, 클라이언트, 서버

책에서 기억하고 싶은 내용

1. 국민학교와 초등학교 시절 이야기
컴퓨터가 연결되면 서로 데이터를 주고 받을 수 있는데, 컴퓨터가 연결된 작은 지역을 LAN(Local Area Network)라고 한다. 도시의 여러 LAN을 하나로 연결해 MAN(Metropolitan Area Network)를 만들었고, 도시와 도시, 나라와 나라를 연결해 WAN(Wide Area Network)를 만들었다. 
 
2. 한강에서 카카오톡을 다운로드하고 실행하면 일어나는 일들
앱스토어에서 앱을 다운로드 하면 가까운 기지국으로 신호가 전달되고, 신호는 WAN을 따라 정해진 목적지로 이동한다. 앱스토어를 관리하는 애플은 카카오에서 미리 올려놓아 가지고 있던 설치 파일을 다시 사용자에게 전달하게 된다. IP주소는 컴퓨터가 위치한 주소를 의미하며, 인터넷에 접속하는 순간 12자리의 숫자로 구성된 고유 주소를 갖게 된다. (214.123.142.12)와 같이 이루어지는데 각 자리당 0~255의 숫자만 사용할 수 있는 한계로 최근에는 숫자 구분을 4개에서 6개로 늘린 IPv6를 함께 사용하고 있다.

 3. 당신은 계속 뭘 달라고 하고, 누군가는 계속 뭘 준다.
스마트폰도 내부적으로 CPU, 메모리, 보조기억장치, 운영체제 등으로 구성되어 있으므로 결과저긍로 소형 컴퓨터에 해당한다. 이런 스마트폰이나 컴퓨터 등으로 카카오톡 다운로드를 클릭하거나 인터넷 검색으로 웹페이지를 이동하는 등 동작을 요청하는 컴퓨터를 클라이언트라고 한다. 사용자가 직접 눈으로 보면서 동작을 확인할 수 있는 부분이기 때문에 '프론트엔드'라고 표현한다. 반대로 요청받은 파일을 주는 컴퓨터를 서버라고 하는데 서버는 기본적으로 고객의 눈에 보이지 않는 곳에서 자료를 보관 전송 등을 하는 역할을 하기 때문에 '백엔드' 라고 표현한다.
 
4. 도대체 우분투가 뭐죠?
대부분의 서버 프로그램은 리눅스 라는 운영체제 위에서 동작한다. 우리가 웹페이지 로그인을 한다고 가정하면 서버는 입력된 정보가 실제 존재하는지, 일치하는지 등을 확인하고 그 결과를 클라이언트로 전달하게 된다. 이러한 서버 프로그램은 24시간 365일 동작하고 있어야 한다. 리눅스는 리누스 토발스 라는 사람이 만들었고, 기본적으로 무료이기 때문에 아무리 오래 사용해도 추가 비용이 발생하지 않는다. 즉, 앞서 이야기한 3개의 회사의 영향을 적게 받는다.

윈도우도 95, 98, xp, 10, 11로 다양하게 버전이 바뀌는 것처럼, 리늑스는 오픈 소스인 만큼 더 다양한 버전이 존재한다. 우분투는 리눅스의 유명 버전 중 하나다. 사실 안드로이드도 리눅스를 기반으로 모바일에 운영체제에 적합하게 개량된 OS이다.

※ 오픈소스란?
: 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈 소스 라이선스를 만족하는 소프트웨어를 말한다.

 
5. 개인 서버를 운영하면 힘든 이유
서버 컴퓨터는 24시간 365일 동작해야 한다. 만약 개인이 서버를 운영하면 관리자가 잠든 시간에 오류가 발생해서 동작하지 않는 사고가 생길 수도 있고, 사소한 부주의로 컴퓨터가 고장나버리면 이용자 모두에게 피해를 끼치는 리스크가 발생한다. 상당한 전기세도 발생할 것이다. 그래서 이런 관리를 대신해주는 '호스팅 업체'가 생겨났고, 오늘날 아마존의 AWS과 같은 서비스가 생겨났다. AWS는 서버 컴퓨터 대여 뿐만 아니라 여러 솔루션을 함께 제공해주고 있어서 이러한 기능만 잘 사용해도 안정적이고 효율적인 서버를 쉽게 구축할 수 있다.

오늘 읽은 소감은?

컴퓨터의 연결이 모여 WAN이 되고 WAN을 통해 클라이언트는 자료를 요청하고 백엔드는 데이터를 제공하는 흐름의 챕터였다. 과거에는 서버 컴퓨터를 회사에서 직접 구매해서 관리하는 경우가 많았는데 요즘은 아마존의 AWS, 마이크로소프트의 azure와 같은 서비스로 인해  그런 부분이 많이 변화되었다.

우분투는 프론트엔드 개발을 처음 배울 때 윈도우OS는 적합하지 않다고 권유받아서 설치했던 적이 있는데 설치하고나서 윈도우에서 작업하는게 그리 불편하지 않았던 터라 잘 이용할 일이 없는 것 같다. 서버쪽까지 좀 더 공부해봐야 알겠지만 요즘도 윈도우로 작업하는게 문제점으로 남아있는지 궁금하다.

궁금한 내용이나 잘 이해되지 않는 내용은?

AWS, azure와 같은 서비스로 실제 서버 컴퓨터를 구입, 관리하는 경우가 많이 줄었다. 과거 이런 추세라면 서버 개발자를 필요로 하는 곳이 점차 줄어들 것이라는 전망이 있었는데 또 주위분들에게 물어보면 여전히 서버 개발자가 귀하고 우대받는다고 하니 관련된 분에게 물어보고 싶다. 

※ 이 글은 비전공자를 위한 이해할 수 있는 IT 지식 - 최원영 저자 를 기본 출처로 개인적인 공부내용을 요약한 것입니다.

반응형