컴공생의 발자취

[스파르타코딩클럽] 데일리미션 - Lv.4 웹개발 용어 정리 1 본문

🤝 활동/스파르타코딩클럽

[스파르타코딩클럽] 데일리미션 - Lv.4 웹개발 용어 정리 1

MNY 2024. 3. 29. 15:35
728x90
반응형
 ✅ 중학생도 알아들을 수 있게 쉽게 정리해보세요!

 

서버(Server) vs. 클라이언트(Client)

  • 서버(Server) : 인터넷에 연결돼 있고, 정보를 저장하고 있다. 정보를 요청하는 사람들에게 정보를 보내준다.
  • 클라이언트(Client) : 서버에 정보를 요청하고 그 정보를 받는 사람들을 뜻한다.
  • 예를 들어, 인터넷으로 웹사이트를 보면, 웹사이트에 접속하는 우리가 클라이언트가 되고, 웹 사이트를 호스팅하는 게 서버가 된다.

* 호스팅이란?

 인터넷을 통해 웹사이트나 애플리케이션과 같은 온라인 서비스를 제공하는 과정을 말한다.

** 웹사이트를 호스팅한다는 것은?

 웹사이트의 파일과 데이터를 저장하고 관리하는 서버를 제공하는 것

 

프론트엔드 (Front-end) vs. 백엔드(Back-end)

  • 프론트엔드(Front-end) : 우리가 보는 화면이다. 
    • 예를 들어, 웹사이트의 디자인이나 버튼을 눌러서 동작하는 것들이 프론트엔드에 해당한다.
  • 백엔드(Back-end) : 보이지 않는 곳에서 일어나는 일이다.
    • 예를 들어, 우리가 정보를 입력하면 그 정보를 저장하고 다시 꺼내주는 일을 하는 곳이 백엔드에 해당한다.

 

풀스택(Full-Stack)

: 프론트엔드와 백엔드 모두를 잘 다룰 수 있는 사람이다. 

즉, 화면을 꾸미고 동작시키는 것부터 데이터를 저장하고 꺼내는 것까지 모두 할 수 있는 사람이다.

 

프레임워크(Framework)

: 개발할 때 사용하는 도구로, 기본적인 틀이나 구조를 제공해준다.

예를 들어, 집을 짓기 위해 필요한 철이나 블록을 프레임워크라고 할 수 있다.

ex) Spring Framework

 

* Spring Framework이란?

 Spring Framework는 애플리케이션의 구조와 흐름을 제어하는 역할을 한다.

의존성 주입(Dependency Injection), 관점 지향 프로그래밍(Aspect-Oriented Programming), 트랜잭션 관리 등 다양한 기능을 제공하여 개발자가 효율적으로 백엔드 애플리케이션을 개발할 수 있도록 도와준다.

 

라이브러리(Library)

: 필요한 기능들을 모아둔 상자라고 생각하면 된다.

개발할 때 필요한 것들을 가져다 쓸 수 있는데, 라이브러리는 그런 도구 상자이다.

ex) Hibernate, Spring Security

 

* Hibernate이란?

 데이터베이스와의 상호작용을 간단하게 만들어주는 ORM(Object-Relational Mapping)라이브러리이다.

개발자는 Hibernate를 사용하여 SQL 쿼리를 직접 작성하지 않고도 객체와 데이터베이스를 매핑할 수 있다.

* Spring Security이란?

 인증 및 권한 부여를 관리하기 위한 라이브러리이다.

Spring Security를 사용하면 보안 관련 작업을 쉽게 구현할 수 있다.

 

플러그인(Plug-in)

: 소프트웨어에 추가적인 기능을 더해주는 작음 부품이다.

예를 들어, 카메라 앱에 사진 효과를 추가하는 것이 플러그인을 사용하는 것이라고 할 수 있다.

ex) Spring Boot DevTools

 

* Spring Boot DevTools이란?

 Spring Boot 애플리케이션의 개발 생산성을 높여주는 플러그인이다.

개발 중에 자동으로 애플리케이션을 다시 시작하고, 코드 변경 사항을 반영하여 편리하게 개발 할 수 있다.

 

미들웨어(middleware)

: 사용자의 요청과 서버의 응답을 연결해주는 역할을 하는 프로그램이다.

요청한 내용을 서버가 처리할 수 있는 형태로 변환해주거나, 서버가 보낸 내용을 사용자가 볼 수 있는 형태로 만들어주는 역할을 한다.

 

마크업 언어(Markup Language)

: 문서의 구조를 정의하기 위해 사용하는 언어이다.

예를 들어, HTML이라는 마크업 언어를 사용해서 웹 페이지의 구조를 만들 수 있다.

 

검색 엔진 최적화(Search Engine Optimize)

: 웹사이트나 앱을 검색할 때 더 잘 찾아지도록 만드는 작업이다.

예를 들어, 내가 만든 웹사이트가 구글에서 더 잘 나오도록 만들려먼 검색 엔진 최적화 작업을 해야 한다.

 

버그(Bug) vs. 에러(Error)

  • 버그(Bug) : 소프트웨어의 코드에 있는 실수나 오류로 인해 발생하는 문제를 가리킨다.
    • 주로 개발자가 의도하지 않은 결과를 초래하는 프로그래밍 오류를 말한다.
    • 예를 들어, 잘못된 조건문이나 변수 초기화 등으로 인해 소프트웨어가 원하는 대로 동작하지 않는 상황을 버그라고 한다.
  • 에러(Error) : 프로그램의 실행 중에 발생하는 예외적인 상황을 가리킨다.
    • 주로 프로그램이 실행되는 동안 발생한 문제로, 컴파일 에러(코드 작성 시 발생하는 오류), 런타임 에러(프로그램 실행 중 발생하는 오류), 논리적 에러(잘못된 알고리즘 또는 로직 오류) 등으로 나뉜다.
    • 예를 들어, 사용자가 입력한 값에 대해 처리할 수 없는 경우나 파일을 찾을 수 없는 등의 상황을 에러라고 한다.
  • 요약하자면, 버그는 소프트웨어 코드의 실수로 인해 발생하는 문제를 가리키며, 에러는 프로그램 실행 중 예상치 못한 상황으로 인해 발생하는 문제를 의미한다.
  • 내가 생각한 버그는 게임하다가 버그 땜에 확률적으로 동작이 안되는 것이고 에러는 게임 만드는 과정 속에서 발생하는 것들?( ex : 컴파일 하면 뜨는 에러들 ) 이라고 생각한다... 누군가 이에 대한 정확한 정의를 내려줘야 한다. 찾아보니 더 헷갈린다...

 

예외(Exception)처리

: 프로그램 실행 중에 예상하지 못한 문제가 발생할 때 그 문제를 처리하는 방법을 말한다.

예를 들어, 인터넷 연결이 끊겼을 때 이에 대한 처리를 예외 처리한다고 할 수 있다.

 

트래픽(Traffic)

: 인터넷이나 네트워크를 통해 이동하는 데이터의 양을 가리키는 용어이다.

예를 들어, 유튜브에 동영상을 업로드하면 많은 사람들이 그 동영상을 보기 위해 접속하는데, 그렇게 많은 사람들이 접속하면 트래픽이 많아질 것이다.

 

728x90
반응형