데이터 엔지니어링

패스트캠퍼스 환급챌린지 50일차: 데이터엔지니어링 초격차 강의 후기

Big Byte 2025. 5. 20. 22:47

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

웹서비스와 데이터 기초 🌐: 인터넷, 웹, 그리고 서버-클라이언트 모델 완전 정복!

 

 

안녕하세요, 여러분! 🔥

지난 시간에는 JVM 모니터링의 실전 기술들을 파헤쳐 보았습니다. 마치 JVM의 건강검진 같았죠? 🩺 오늘은 새로운 챕터, '웹서비스와 데이터 기초'의 첫걸음을 내딛습니다! 🚀

 

그 첫 번째 주제로, 우리가 매일 사용하는 인터넷과 웹은 무엇인지, 그리고 이 모든 것을 가능하게 하는 서버-클라이언트 모델에 대해 알아보겠습니다! IT 세상을 이해하는 데 가장 기본적이면서도 핵심적인 내용들이니, 오늘 강의도 힘차게 시작해 볼까요? 출발!

오늘 우리가 함께 살펴볼 핵심 내용은 다음과 같습니다:

  • 인터넷과 웹의 세계 🌐 (인터넷이란? 웹이란? 둘의 차이점은?)
  • 서버-클라이언트 모델 파헤치기 💻🤝📱 (웹사이트 접속 과정, 서버-클라이언트의 의미와 특징, 용어 오해 풀기, JD 속 개발자 역할)

자, 그럼 지금부터 웹서비스의 기초를 탄탄히 다져봅시다!

인터넷과 웹의 세계 🌐

우리는 매일 '인터넷 서핑'을 하고 '웹사이트'에 접속하지만, 이 둘을 명확히 구분하기는 쉽지 않죠. 한번 제대로 알아볼까요?

  • 인터넷 (Internet)이란?
    • 무엇인가요? 전 세계의 수많은 컴퓨터 네트워크들을 서로 연결하는 거대한 '네트워크들의 네트워크(Network of Networks)'입니다. ⛓️ 정보가 오가는 물리적인 통신망, 즉 정보의 고속도로라고 생각할 수 있어요.
    • 핵심은? TCP/IP라는 프로토콜(통신 규약)을 기반으로 컴퓨터들이 서로 대화할 수 있게 해주는 인프라 자체입니다.
  • 웹 (Web, World Wide Web)이란?
    • 무엇인가요? 인터넷이라는 거대한 통신망 위에서 작동하는 가장 인기 있는 서비스 중 하나입니다! 📄 우리가 웹 브라우저를 통해 보는 웹 페이지, 이미지, 동영상 등의 정보들이 하이퍼텍스트(링크)로 연결되어 있는 정보 공간이죠.
    • 핵심은? HTTP라는 프로토콜을 사용하고, HTML, CSS, JavaScript 같은 기술로 만들어진 콘텐츠를 URL을 통해 접근합니다.
  • 인터넷 vs. 웹: 뭐가 다를까요? 🤔
    • 가장 쉬운 비유! 인터넷이 '도로망'이라면, 웹은 그 도로 위를 달리는 '자동차(웹사이트, 웹서비스)' 중 하나입니다.
    • 인터넷 없이는 웹도 존재할 수 없어요. 하지만 인터넷에는 웹 외에도 이메일(SMTP), 파일 전송(FTP), 온라인 게임 등 다양한 서비스들이 존재한답니다.

 

서버-클라이언트 모델 파헤치기 💻🤝📱

우리가 웹사이트에 접속할 때, 그 뒤에서는 어떤 마법 같은 일들이 벌어질까요? 바로 서버-클라이언트 모델 덕분입니다!

  • 웹사이트 접속, 그 뒤에선 무슨 일이? 🕵️‍♀️
    1. 사용자 (나, 클라이언트): 웹 브라우저 주소창에 www.naver.com 같은 주소(URL)를 입력합니다.
    2. 웹 브라우저 (똑똑한 클라이언트 프로그램): 입력된 주소(도메인 이름)를 DNS 서버에 물어봐서 실제 서버의 IP 주소를 알아냅니다.
    3. 웹 브라우저: 알아낸 IP 주소로 해당 웹 서버에게 "네이버 메인 페이지 보여줘!" (HTTP 요청) 메시지를 보냅니다.
    4. 웹 서버 (네이버 서버): 요청을 받고, "알겠어! 여기 네이버 메인 페이지 관련 데이터(HTML, CSS, 이미지 등) 보낼게!" (HTTP 응답) 메시지와 함께 데이터를 전달합니다.
    5. 웹 브라우저: 서버로부터 받은 데이터들을 예쁘게 조립해서 우리 눈앞에 화면으로 보여줍니다. 짠! ✨
  • 서버(Server)와 클라이언트(Client)란?
    • 클라이언트 (Client): 서비스를 요청(Request)하는 쪽입니다. 🙋‍♂️ 우리들의 웹 브라우저, 스마트폰 앱 등이 대표적이죠. "데이터 좀 주세요!"
    • 서버 (Server): 클라이언트의 요청을 받아 서비스를 제공(Response)하는 쪽입니다. 👨‍🍳 웹 서버, 데이터베이스 서버, 파일 서버 등이 있어요. "여기 요청하신 데이터입니다!"
  • 서버-클라이언트 모델의 특징:
    • 명확한 역할 분담: 요청하는 쪽과 제공하는 쪽이 명확히 나뉩니다.
    • 양방향 통신: 요청과 응답을 통해 서로 데이터를 주고받습니다.
    • 확장 용이성: 요청이 많아지면 서버 성능을 높이거나 수를 늘리는 식으로 대응할 수 있습니다.
  • 용어의 오해: '서버'는 컴퓨터 이름이 아니에요! 🚫
    • 많은 분들이 '서버'라고 하면 고성능 컴퓨터 하드웨어를 떠올리지만, 사실 서버/클라이언트는 역할(Role)에 따른 구분입니다.
    • 내 노트북도 웹 서버 프로그램을 실행하면 '서버'가 될 수 있고, 데이터센터의 강력한 컴퓨터도 웹 브라우저를 실행하면 '클라이언트'가 될 수 있어요. 즉, 어떤 소프트웨어가 실행되어 어떤 역할을 하느냐가 중요합니다.
  • 채용공고 속 서버/클라이언트 개발자? 🧑‍💻👩‍💻
    • 그렇다면 채용 공고에서 말하는 '서버 개발자(백엔드 개발자)'와 '클라이언트 개발자(프론트엔드 개발자)'는 뭘까요?
    • 클라이언트 개발자: 주로 사용자가 직접 보고 상호작용하는 부분(예: 웹 페이지 화면, 앱 UI)을 개발합니다. (기술: HTML, CSS, JavaScript, React, Vue, Swift, Kotlin 등)
    • 서버 개발자: 사용자의 눈에는 보이지 않지만, 서비스의 핵심 로직, 데이터 관리, API 등을 개발합니다. (기술: Java, Python, Node.js, Spring, Django, 데이터베이스 등)
    • 엄밀히 말해 기술적으로 완벽히 정확한 용어라기보다는, 업계에서 주로 담당하는 역할과 사용하는 기술 스택에 따라 편의상 굳어진 표현이라고 이해하시면 좋습니다!

정리하며 📝

오늘은 새로운 챕터 '웹서비스와 데이터 기초'의 첫 시간으로 인터넷과 웹의 차이, 그리고 서버-클라이언트 모델에 대해 알아보았습니다!

  • 인터넷 & 웹 🌐: 인터넷은 거대한 네트워크 인프라(도로망), 웹은 그 위에서 동작하는 핵심 서비스(자동차)! 명확히 구분할 수 있겠죠?
  • 서버-클라이언트 모델 💻🤝📱: 요청(클라이언트)과 제공(서버)의 명확한 역할 분담! 우리가 웹사이트를 보는 모든 과정이 이 모델을 기반으로 합니다.
  • 용어 바로 알기: '서버/클라이언트'는 특정 하드웨어가 아닌 역할이며, 채용 공고에서의 개발자 구분은 주로 다루는 영역과 기술에 따른 관용적 표현이라는 점!

이 기본 개념들이 앞으로 배울 웹서비스와 데이터 관련 지식의 든든한 발판이 될 거예요.

 

 

오늘도 새로운 지식을 머릿속에 차곡차곡 쌓으시느라 정말 수고 많으셨습니다! 💪 새로운 챕터의 첫 단추를 잘 끼운 만큼, 앞으로 배울 내용들도 즐겁게 탐험해 나가시길 바랍니다. 다음 시간에도 흥미로운 내용으로 만나요! 즐거운 학습 되세요! 🚀

https://abit.ly/lisbva