웹개발 용어 정리 1

Jiwoo·2024년 3월 12일
0

내일배움캠프

목록 보기
1/65

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

서버(Server)

  • 네트워크 상에서 다른 컴퓨터나 장치에 서비스를 제공하는 컴퓨터 또는 프로그램
  • 데이터, 파일, 웹 페이지, 응용 프로그램, 인쇄 서비스, DB 등을 저장하고 관리

클라이언트(Client)

  • 네트워크 상에서 서비스 요청, 서버로부터 응답 받는 컴퓨터 또는 프로그램
  • 사용자가 직접 상호작용하는 장치 (노트북, 스마트폰 등) 나 그 장치에 설치된 프로그램 (웹 브라우저, 이메일 클라이언트 등)
  • 웹 브라우저는 사용자가 입력한 URL을 서버에 요청하여 해당 웹 페이지를 받아와 사용자에게 표시

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

프론트엔드(FE)

  • 사용자가 직접 상호작용하는 부분, 웹 애플리케이션의 시각적인 요소와 사용자 인터페이스 담당
  • HTML, CSS, JavaScript 등을 사용해 웹 페이지 디자인, 개발
  • 사용자 경험을 크게 좌우하며 반응성, 직관성, 시각적인 아름다움 등 담당

백엔드(BE)

  • FE와 상호작용하여 웹 애플리케이션의 핵심 기능과 데이터 처리 담당
  • 사용자의 요청 받아들이고, DB에 접근해 데이터 읽거나 저장, FE에 필요한 정보 제공
  • 보안, 데이터 처리, 사용자 인증, 비즈니스 로직 등을 담당해 웹 애플리케이션의 핵심적인 부분 처리

3. 풀스택(Full-Stack)

  • 전체적인 웹 개발 과정에서 FE와 BE 모두 다루는 개발자
  • 즉, 웹 애플리케이션의 모든 부분을 이해하고 개발할 수 있는 능력을 갖춘 개발자를 의미
  • 웹 개발 프로젝트를 효율적으로 이끌고 전체 시스템을 이해하고 유지보수할 수 있는 능력 제공
  • 역할: FE 개발, BE 개발, DB 관리, 서버 및 인프라 관리

4. 프레임워크(Framework)

  • SW 개발에서 사용되는 구조화된 틀이자 도구 모음
    특정한 문제를 해결하기 위해 필요한 기본 구조, 코드, 라이브러리, 템플릿 등을 제공해 애플리케이션 보다 쉽게 구축 가능
  • 구조화된 툴: 개발에 필요한 기본적인 구조와 규칙 제공 → 일관성 유지, 효율적인 작업
  • 재사용 가능한 코드와 라이브러리: 흔히 사용되는 기능이나 패턴을 구현한 미리 작성된 코드나 라이브러리 포함 → 재사용 가능, 시간과 노력 절약
  • 자동화된 작업: 개발 작업 중 자주 발생하는 일부 작업 자동화 (ex. DB 연동, 사용자 인증, URL 라우팅, 폼 처리)
  • 확장성: 필요에 따라 확장하거나 커스터마이징 가능 → 개발자가 자신의 요구사항에 맞게 프레임워크 조정하고 확장해 원하는 기능 추가 변경 가능

5. 라이브러리(Library)

  • SW 개발에서 재사용 가능한 코드와 기능의 모음. 특정한 기능을 수행하는 함수, 클래스, 모듈 등으로 구성
  • 재사용성: 자주 사용되는 기능을 구현한 코드 포함 → 개발 시간 단축, 코드 일관성 유지
  • 모듈화: 기능별로 모듈화. 라이브러리 전체를 가져오지 않고도 필요한 부분만 사용 가능
  • 커뮤니티 지원: 많은 라이브러리는 개발자들 사이에서 공유되고 유지보수되며 오픈소스로 제공 → 개발자들이 서로 코드를 공유하고 협업해 더 나은 SW 개발 가능

6. 플러그인(Plug-in)

  • SW에 추가 기능이나 확장 기능을 제공하는 소프트웨어 컴포넌트
  • 다른 SW나 애플리케이션에 쉽게 통합되어 새로운 기능을 추가하거나 기존 기능 확장하는 데 사용
  • 사용자 정의 가능: 사용자가 SW를 자신의 요구에 맞게 조정하고 개인화 가능, 필요한 기능한 선택해 플러그인 설치하고 사용 가능
  • 호환성 확장: 서로 다른 SW 간의 상호작용이 가능하도록 확장 가능
  • 데이터 형식 확장: SW에 새로운 데이터 형식을 지원하도록 확장 가능

7. 미들웨어(middleware)

  • 양쪽을 연결해 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 SW

8. 마크업 언어(Markup Language)

  • 문서나 구조의 형식을 정의하는 언어 (텍스트 기반)
  • 일반 텍스트에 태그를 추가해 문서의 요소를 정의하고 표시 (<>)
  • HTML, XML

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

  • 웹 사이트나 웹 페이지를 검색 엔진의 검색 결과 페이지에서 상위에 노출되도록 최적화하는 프로세스
  • 검색 엔진에서 사용되는 알고리즘을 이해하고 활용해 웹 사이트의 컨텐츠, 구조, 링크 등을 최적화함으로써 검색 엔진의 랭킹 향상

10. 버그(Bug)

  • 컴퓨터 프로그램이나 시스템에서 발생하는 오류나 결함, 프로그래머가 의도한 대로 작동하지 않는 비정상적인 동작
  • 원인: 프로그래밍 오류, 환경 문제, 요구 사항 불일치
  • 버그 해결 위해 디버깅 과정 → 버그 찾아내고 수정하기 위해 소스 코드 검토하고 실행

11. 에러(Error)

  • 프로그램이 실행되는 동안 발생하는 오류
  • 구문 에러(Syntax Error): 프로그래밍 언어의 문법에 위해되는 코드 작성했을 때 발생
  • 런타임 에러(Runtime Error): 프로그램이 실행되는 동안 발생하는 에러. 프로그램이 실행 중에 예기치 않은 상황 발생했을 때 발생
  • 논리 에러(Logic Error): 프로그램이 컴파일되고 실행되지만, 의도한 대로 동작하지 않는 경우

12. 예외(Exception)처리

  • 프로그램이 실행되는 동안 예기치 않은 상황이 발생할 때 프로그램이 비정상적으로 종료되지 않도록 처리하는 메커니즘
  • try-catch 블록: try 블록 내에서 예외가 발생할 수 있는 코드 작성, catch 블록에서 예외 처리하는 코드 작성
  • finally 블록: try-catch 블록 이후에 항상 실행되는 코드 블록. 리소스 해제하거나 정리하는 작업 수행
  • throw 키워드: 예외를 강제로 발생시키기 위해 사용. 특정 조건이 충족되지 않거나 예상치 못한 상황이 발생할 때 프로그램에서 예외 발생시킬 때 유용

13. 트래픽(Traffic)

  • 네트워크를 통해 전송되는 데이터의 양
  • 웹 사이트나 서비스의 성능을 평가하고, 인터넷 회선이나 서버의 부하를 관리하는 데 중요한 지표
  • 입력 트래픽(Incoming Traffic): 수신되는 데이터의 양. 웹 페이지 방문하거나 서비스 요청 시 발생하는 데이터 양
  • 출력 트래픽(Outcoming Traffic): 전송되는 데이터의 양. 웹 페이지의 내용이 브라우저로 전송되거나, 서비스가 클라이언트에게 데이터를 전송할 때 발생하는 데이터의 양
  • 영향 받는 요소: 사용자 수, 페이지 뷰, 콘텐츠 크기, 다운로드 및 업로드, 인터넷 연결 속도

0개의 댓글