개발용어 정리

이지영·2024년 6월 26일

1. HTML

하이퍼 텍스트 마크업 언어(Hyper Text Markup Langauge, HTML)

HTML은 웹페이지 표시를 위해 개발된 마크업 언어이다.
제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내며,
링크, 인용 등 구조적 문서를 만들 수 있는 방법을 제공한다.

HTML은 아래와 같이 "태그"로 되어있는 HTML 요소 형태로 작성한다.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	<p> Don't Forget me</p>
	<a href="https://www.naver.com/"> 네이버 바로가기 </a>
</body>
</html>

2. CSS

CSS(Cascading Style Sheets)

CSS는 HTML등의 마크업 언어로 작성된 문서가 실제로 웹사이트에 표현되는 방법을 정해주는 스타일 시트 언어이다.
즉, 웹페이지를 꾸미려고 작성하는 코드이다.

아래와 같이 HTML문서에 있는 요소들에 선택적으로 스타일을 적용할 수 있다.

p{
	color: white;
}
a{
	text-decoration: none;
}

3. Backend

  • 정의
    Back-End는 클라이언트와 직접 대면하지 않고, Front-End 프로그램과 연동하여 기술적인 기능을 한다.
    즉, UI없이 프로세스 형태로만 존재하며,
    데이터 베이스의 설계와 비즈니스 로직의 구현을 한다.

  • 역할
    Back-End는 서버구성, 성능 최적화, 데이터 베이스 설계 등 다양한 기술을 수행한다.
    데이터를 어떻게 저장하고 관리할 것인지, 데이터 처리 시간은 어떻게 줄일 것인지,
    사용자의 수가 늘어났을 때에는 어떻게 대처해야할 것인지를 끊임 없이 고민하고
    지속적으로 서버를 개발하고 관리하는 기술을 담당한다.

  • 주요기술 & 도구
    Java, Python, .Net 등

4. Frontend

  • 정의
    Front-end는 사용자가 웹 페이지를 열었을 때 볼 수 있는 화면을 만드는 작업이다.
    웹페이지의 레이아웃, 메뉴, 디자인 요소, 버튼, 이미지 및 그래프와 같이 사용자가 직접 상호작용할 수 있는 사용자 인터페이스이다.

  • 역할
    사용자가 1차적으로 보는 인터페이스이기 때문에
    사용자의 경험을(UX)를 핵심 가치로 삼아 직관적이고 사용하기 쉬운 (UI)를 구축해야한다.

  • 주요기술 & 도구
    앵귤러(Angular), 리액트(React), 뷰(Vue.js) 등

5. DataBase

  • 정의
    여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다.
    자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높인다.

  • 장점
    데이터 공유, 데이터 중복 최소화, 최신의 데이터 유지, 보안성, 무결성, 일관성 유지, 데이터의 논리적, 물리적 독립성, 데이터의 표준화 가능, 데이터 저장 공간 절약, 용이한 데이터 접근

  • 단점
    많은 비용 부담, 데이터베이스 전문가 필요, 복잡한 시스템, 백업 및 복구의 어려움, 대용량 디스크로 집중되면 과부하 발생 등

6. SQL

SQL (Structured Query Language)
구조화된 질의 언어이다.

  • 정의
    데이터베이스에 저장된 정보를 찾아내고 관리하기 위한 통신 수단이다.
    SQL은 데이터베이스의 테이블에 저장된 수많은 데이터 중에서 원하는 조건에 맞는 데이터를 찾아내고, 그 데이터를 추가하거나 수정, 삭제하는 일을 한다.
  • 활용분야
    웹 개발에서는 사용자의 데이터 관리하고, 데이터 분석에서는 의사결정을 위한 인사이트를 도출하는데 사용된다. 또한 머신러닝 분야에서는 데이터를 추출하고 전처리하는 과정에 활용된다.

7. 버그(Bug)

프로그램 상의 결함에 의해 컴퓨터 오류나 오작동이 일어나는 현상을 버그라고 한다.
ex) 메모리 할당과 반환 또는 오버플로 등으로 인한, 구현상의 실수나 착각, 헛손질에 따른 오작동도 포함된다.
컴퓨터 프로그램의 실행 자체에 실패하는 오류와는 다른 개념이다.
즉 프로그래머에 의한 에러이다.

8. 에러(Error)

버그와 달리 일반적으로 사용자에 의해서 발생한다.
예를 들어 사용자가 주민번호를 입력하는 란에 이상한 문자열을 입력하는 경우,
프로그래머가 이러한 경우를 대비하여 적절한 예외 처리를 하지 않았다면 에러가 발생한다.

9. 클라이언트

클라이언트는 사용자 자신을 지칭할 수도 있고, 사용자의 컴퓨터를 가리키기도 하며,
컴퓨터에서 동작하고 있는 프로그램이 될 수 있다.

10. API

Application Programming Interface(API) 응용 프로그래밍 인터페이스

  • 정의
    API는 응용 프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도록 화면 구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것을 말한다.
    즉, 어떤 프로그램이 다른 프로그램의 동작 코드에 접근하여 상호작용하거나 데이터를 주고받을 수 있는 [방법/규약]으로, "두 소프트웨어가 서로 상호작용하거나 데이터를 주고받는 것에 대한 중간 규칙"을 말한다.

11. 예외처리

예외 처리 또는 오류 처리는 실행 흐름상 오류가 발생했을 때 오류를 그대로 실행시키지 않고
오류에 대응하는 방법을 제시하는 개념이나 하드웨어 구조를 의미한다.

일반적으로 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것을 예외처리라고 한다.

  • 예외의 종류
    • 배열의 범위를 벗어나서 접근을 하는 경우
    • 런타임 시점에 존재하지 않는 메서드 호출
    • 잘못된 인자를 전달하는 경우
    • 메모리가 부족한 경우 등

12. 라이브러리(Library)

컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것이다.
언제든지 자유롭게 이용할 수 있도록 구성되어 있다.

13. 프레임워크(Framework)

목적에 필요한 것을 고민할 필요 없이 이용할 수 있도록 "일괄로 가져다 쓰도록 만들어 놓은 구조화된 틀"이다.

  • 사전적 정의
    FRAME(틀, 규칙) + WORK(일, 소프트웨어의 목적)
    어떠한 개발이나 소프트웨어든 일종의 규칙이 있고 그 규칙을 정하는 일

  • 프레임워크의 종류

    • 스트럿츠 프레임워크(STRUTS Framework)
      자바 가반의 JSP만을 위한 프레임워크
    • 스프링 프레임워크 (Spring Framework)
      엔터프라이즈급 애플리케이션 개발에 필요로 하는 경량형 프레임워크
    • 앵귤러 JS(AncularJS)
      자바스크립트 기반의 프레임워크

14. 컴파일(Compile)

고급언어로 작성된 프로그램을 기계어(컴퓨터가 이해할 수 있는 언어)로 번역하는 것을 컴파일이라고 한다.

15. 인터프리트(Interpret)

컴푸터의 언어 처리 프로그램에 있어서 그 언어로 쓰여진 프로그램을 각 문장마다 차례로 해석하고 실행하는 것

이런 종류의 언어를 인터프리터 또는 번역프로그램이라고 한다.

  • 인터프리터 장점: 컴파일러 시간이 없기 때문에 프로그램의 디버그에 극히 유용하고 짧은 프로그램이라면 처리 속도도 충분하다.

  • 인터프리터 단점: 각 문장마다 해석하고 실행도 하므로 처리 속도는 늦고 컴파일러를 행한 뒤에 실행하는것과 비교하면 수십 배의 처리 속도에 차이가 생긴다.

16. JSON

JavaScript Object Notation(JSON)
웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성 - 값의 쌍 형태로 표현하는 형식(경량의 DATA 교환 형식)

ex)

{
    "name": "paul",
    "age": 27,
    "address": {
    "Address": "11Ro Seoul Korea"},
    "phone": [
    { "type": "home",
    "number": "02-000-0000" },
    { "type": "cellphone",
    "number": "010-0000-0000" },
    ],
    "children": [],
    "spouse": null
}

0개의 댓글