스파르타코딩클럽/내일배움캠프

[241007] 본캠프 5일차_학습 진행 팀

myinfo7091 2024. 10. 7. 21:02

타임라인

  • 미니프로젝트 팀 발표회
  • 강의 [JavaScript 문법 종합반] 1주차
  • 특강 [Web이란 무엇인가?]

자바스크립트(JavaScript)

 

JavaScript의 특징

  • 객체 지향 프로그래밍을 지원한다. 데이터와 함수를 객체라는 그룹으로 묶어서 처리하며, 객체는 상태와 행동을 가지고 있고 상태는 객체의 속성(property)라고도 한다. 재사용도 쉽고 현대에서 지향하는 프로그래밍 언어로 적합하다.
  • 동적 타이핑을 지원하고, 비동기 처리가 가능하다. 변수를 선언할 때 타입을 지정하지 않아도 된다. (변수의 타입은 런타임 시점에 결정된다.)
  • 함수형 프로그래밍을 지원한다. 근본적으로 JavaScript는 함수와 함수형 프로그래밍을 제대로 이해하지 않으면 제대로 다룰 수 없는 언어인 셈이다. 
  • 클라이언트와 서버 양측 모두에서 사용 가능하다. 개발자는 자바스크립트를 통해 많은 동적 액션들을 웹에서 구현할 수 있다. 사용자 친화적인 환경 설계를 돕는 자바스크립트는 높은 활용도를 바탕으로 많은 일을 수행할 수 있다. 

 

특강: 웹(Web)이란 무엇인가?

 

웹, 웹 서비스, 웹 서버

웹(Web, Wordl Wide Web)은 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미한다. 웹 서비스는 이 공간에서 제공되는 서비스이고, 웹 개발자는 그러한 웹 서비스를 설계하고, 제작하고, 관리하는 역할을 맡는다.

 

웹 서버의 구성과 기능
  • 웹서비스는 크게 프론트엔드와 백엔드로 구성되어 있다.
  • 웹 서버의 주요 기능은 페이지 제공 / API 제공 이다.
* API : 여러 소프트웨어 간 정보나 기능을 공유하게 하는 중간 매개체로, 일종의 약속이다. (ex. JSON)

 

프론트엔드, 백엔드, 서버, 클라이언트

서버 내에는 많은 프로그램이 존재하는데, 크게 서버의 해당 프로그램의 내부에 설계된 요청을 캐치하는 부분 / 각 요청에 따른 서비스를 실시하고 응답을 제공하는 부분으로 나눠 볼 수 있다.

  • 클라이언트: 브라우저라는 도구를 활용하여 웹 서버에 요청하는 주체
  • 사용자와 브라우저를 곧 클라이언트라고 볼 수 있다.
* Rest Api : REST(Representational State Transfer) Api. Rest 아키텍쳐 스타일을 따라 웹이라는 환경에서 요청하는 방법
더보기

Post : 실행 / 저장

Get : 정보 검색

Put : 전체 수정

Patch : 일부 수정

Delete : 삭제

웹 서비스를 구성하는 방법
  • 프론트엔드와 백엔드를 각각 구성하여 각각 배포하는 방법
  • 프론트엔드와 백엔드를 동시에 구성하는 방법
  • 백엔드만 구성하여 배포하는 방법
  • 프론트엔드만 구성하여 배포하는 방법

 

내일배움캠프에 참여하면서 처음 웹 개발에 대해 배우게 되었는데, 사실 이전까지는 웹을 제작한다는 것이 어떤 일인지 좀처럼 감을 잡기 어려웠다. '웹 개발, 웹 디자인, 그냥 인터넷 열면 보이는 웹 페이지를 그려내는 것 아닐까?' 라는 막연한 생각이 가장 먼저 들었는데, 사실 웹 사이트는 단순히 눈에 보이는 것만이 전부가 아니며, 페이지를 웹에 기재하고, 사용자가 보는 웹 사이트가 요청에 따라 어떠한 기능을 제공할 수 있도록 구성하는 모든 과정을 포함하며, 이를 만들어내는 것은 전부 웹 개발이라고 볼 수 있을 것이다.