용어 모음

AjaxAPIcdnCLICSSGUIDNSHTTPHTMLHTTPSIDEJSTLSDKUIUXSEO관계형 데이터베이스gitGitHubDBMS
avatar
2025.04.10
·
26 min read

Ajax (Async JavaScript And Xml)

  • 비동기적 자바스크립트와 XML의 약자로, 한 웹페이지를 로딩할 때 페이지의 일부 데이터만을 갱신하는 웹 개발 기법

  • 전체를 로딩할 필요 없이 일부분만 불러오기 때문에 웹페이지를 처리하는 속도가 빨라지고 코드의 양도 줄어든다는 장점

API (Application Programming Interface)

  • 응용 프로그램 인터페이스. 어떤 응용 프로그램에서 특정한 기능을 사용하기 위해 필요한 데이터를 주고받게끔 만든 도구나 방법을 뜻한다.

  • API가 규격에 맞게 데이터를 요청하고 받아볼 수 있도록 하는 중간 창구 역할을 하는 셈이다.

CDN (Content Delivery Network / Content Distribution Network)

  • 한국어로 옮기면 콘텐츠 전송 네트워크. 멀리 떨어진 사용자에게 콘텐츠를 더 빠르게 제공할 수 있도록 하는 기술.

  • 원 서버에서 사용자에게 직접 콘텐츠를 전송하는 대신, 사용자와 가까운 서버로 데이터를 분산시켜 제공하는 네트워크 시스템을 말한다.

CLI (Command-Line Interface)

  • 가상 터미널 또는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식

  • 작업 명령은 사용자가 툴바 키보드 등을 통해 문자열의 형태로 입력, 컴퓨터로부터의 출력 역시 문자열의 형태.

CSS (Cascading Style Sheets)

  • CSS는 Cascading Style Sheets의 약자로 HTML이나 XML로 작성된 문서에서 스타일을 표현하기 위해 사용하는 스타일시트 언어

DNS (Domain Name System)

  • 도메인을 도메인이 올라가 있는 웹 서버의 IP로 연결하는 시스템.

  • 웹페이지에 접속하기 위해 필요한 IP를 일일이 챙길 필요 없이 도메인과 IP를 변환해주는 역할

GUI (Graphic User Interface)

  • 그래픽 유저 인터페이스.

  • 사용자가 화면 안의 요소를 시각적으로 확인하고, 마우스로 아이콘을 클릭해 기능을 작동시키는 환경.

  • 도스처럼 문자로 된 명령어를 입력시켜야 하는 CLI(Command-Line Interface)에 반대되는 개념

HTML

  • HTML은 Hyper Text Markup Language의 약자로 웹에서 가장 단순한 형태의 웹 언어

HTTP, HTTPS

  • HTTP는 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)의 약자로 네트워크에서 HTML 문서를 주고받기 위한 통신규약이다.

  • HTTPS는 HTTP가 가진 보안 취약점을 암호화 및 인증 구조를 통해 개선하기 위해 만들어졌다.

IDE (Integrated Development Environment)

  • 프로그램을 개발하는 데 필요한 소스 코드 작성 및 편집, 컴파일, 디버깅 등 모든 작업을 한번에 할 수 있는 통합 개발 환경.

  • 비주얼 스튜디오(Visual Studio), 이클립스(Eclipse) 등...

JSTL (JavaServer Pages Standard Tag Library)

  • JSTL + EL의 조합

  • HTML 코드 내에 java 코드인 스크립틀릿 <%= student %>${student}로, <%=if %>문을 <c:if>, <%=for%>문을 <c:forEach>로 대체하여 사용

  • Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음

  • XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한 JSP 태그 라이브러리를 추가하여 JSP 사양을 확장

SDK (Software Development Kit)

  • 소프트웨어나 시스템을 만드는 데 쓰이는 개발 도구 키트.

  • SDK 안에는 개발에 필요한 샘플 코드, 코드 편집기 같은 툴이나 콘솔, 안내 문서, API 등이 포함

UI (User Interface)

  • 사용자가 서비스를 이용하는 환경.

  • UI는 사용자 경험(UX)에 큰 영향을 미침.

UX (User eXperience)

  • 사용자가 서비스를 이용하며 느끼고 얻는 경험.

SEO (Search Engine Optimize)

  • 검색 엔진 최적화

  • 웹 페이지를 구글 등 검색 엔진이나 포털사이트의 기준에 맞춰 구성하는 작업

  • 사람들이 많이 검색할 만한 관련 키워드를 배치하고, 웹 표준을 지키며, 스팸으로 분류되지 않게끔 하는 등 웹 페이지 링크가 더 많이 노출되도록 처리.

  • 온라인 마케팅의 필수 요소로도 꼽히는데, SEO가 잘 적용된 웹 페이지는 검색 시 상단에 오를 수 있기 때문

관계형 데이터베이스(Relational DataBase)

  • 데이터베이스에서 키(key)과 값(value)의 관계(Relationship)로 이루어진 표(table)로 데이터를 구성하는 방식으로, 줄여서 RDB.

  • 오라클(Oracle), MySQL, Microsoft SQL Server 등 가장 널리 쓰이는 데이터베이스 관리 시스템이 관계형 데이터베이스 모델을 따르고 있다.

깃 (Git)

  • 프로젝트 결과물을 버전별로 백업, 관리하는 툴인 버전 관리 시스템(VCS, Version Control System)의 한 종류.

  • 프로젝트를 유지보수하면서 발생할 수 있는 문제를 미연에 방지하고 해결하는 역할

깃허브, 깃헙 (Github)

  • 깃을 기반으로 소스 코드를 온라인에 저장하고, 공유할 수 있게끔 하는 소스코드 관리 서비스.

  • 언제 어디서나 깃허브를 통해 협업 프로젝트를 쉽게 관리할 수 있으며, 뷰(Vue.js), 도커(Docker), 판다스(Pandas) 등
    전세계의 다양한 오픈소스 프로젝트가 깃허브를 통해 공개중.

  • 개발 직군에서 취업하거나 이직할 때 깃허브 계정 링크를 제출하는 경우도 상당수.

데이터베이스 (Database, DB)

  • 데이터의 집합. 서버를 통해 넘어오는 데이터를 저장하고 관리하는 일종의 창고 역할을 한다.

DBMS (Database Management System)

  • 데이터베이스 관리 시스템

  • 데이터베이스를 통해 데이터를 저장, 수정, 추출할 수 있도록 관리하는 프로그램.

도메인 (Domain)

  • 숫자로만 이루어진 IP와 달리 naver.com 처럼 문자로 지정된 인터넷 주소(URL).

동기 방식 (Sync)

  • 기능에 대한 요청을 보내고 응답을 받아야만 동작이 순차적으로 처리되는 방식

  • 브라우저 리프레시 필요

동적 웹 페이지 (Dynamic Web Page)

  • 서버에 저장된 데이터를 그대로 보여주는 것이 아니라 스크립트를 통해 가공을 거쳐 출력하는 웹페이지.

  • 사용자의 인터랙션에 따라 같은 페이지라도 각기 다른 결과를 받아볼 수 있게 된다.

디버깅 (Debugging)

  • 디버깅 또는 디버그(Debug).

  • 프로그래밍 과정에서 발생하는 버그를 찾아 바로잡는 작업.
    단순히 버그를 없애는 것뿐만 아니라 문제가 발생한 근본적인 원인을 찾아 해결하는 과정

라이브러리 (Library)

  • 프로그램을 개발하는 데에 필요한 여러 기능을 활용할 수 있도록 묶어놓은 함수 또는 기능의 집합.

  • 자바스크립트에서는 리액트(React)와 제이쿼리(jQuery)가 대표적임

리눅스 (Linux)

  • 유닉스 계열에 속하는 오픈소스 운영체제. 서버 개발 및 구축, 수퍼컴퓨터, 임베디드 기기, 스마트폰 OS 개발 등 다양한 용도로 활발하게 사용되고 있다.

  • 리눅스를 개량해서 만든 배포판도 상당히 많음.

리팩토링 (Refactoring)

  • 이미 완성된 코드의 구조를 개선하는 일.

  • 결과값은 바뀌지 않지만, 코드 내부를 뜯어고쳐 다른 사람이 이해하기 쉽고 간결하게 만드는 행위.

  • 버그를 고치거나 새로운 기능을 만드는 건 아니지만, 코드의 생산성을 높이고 유지보수가 쉽게끔 만들어줌

마크업 언어 (Markup Language)

  • 태그 등을 이용해 문서나 데이터의 구조를 표시한 언어.

  • 프로그래밍 언어와는 다르며 HTML, CSS, XML이 대표적인 마크업 언어

매개변수 (parameter)

  • 함수 선언에서 활용하기 위하여 사용하는 변수

  • 인자의 값을 받아온다.

멀티쓰레드 (Multi Thread)

  • 하나의 프로세스가 두 개 이상의 스레드를 가지는 경우.

  • 프로세스 내에 있는 각각의 스레드가 프로세스 메모리를 공유하기 때문에 자원을 절약할 수 있고, 스레드간 정보교환이 쉽다는 장점이 있음.

  • 오늘날 대부분의 최신 운영체제는 멀티스레드 프로그래밍을 지원하며, 시스템 개발, 서버 개발, 응용 프로그램 개발 등 다양한 작업에 쓰이는 기술

모달 (Modal Window)

  • 웹페이지나 프로그램 화면에서 대화상자 형태로 나타나 사용자에게 동작을 요구하는 창.

  • 웹에서는 팝업(Pop-up) 창과 비슷하지만, 브라우저를 새로 띄우는 팝업과 달리 한 브라우저 화면 내부에서 레이어를 한 겹 얹듯이 새로운 창을 보여줌.

DOM (Document Object Model)

  • 문서 객체 모델

  • 구조화된 문서를 표현하는 형식

RWD (Responsive Web Design)

  • 반응형 웹

  • 디스플레이 비율과 크기, 해상도에 따라 유동성있게 변하는 웹사이트

백엔드 개발자 (Back-end Developer)

  • 프론트엔드 개발자의 반대 개념.

  • 웹 서비스의 뒷단을 담당하는 개발자.

  • 주로 유저에게 보이지 않는 DB와 API로 이루어진 서버 영역을 관리, 개발

버그 (Bug)

  • 소프트웨어에서 발생하는 예견치 못한 오류나 오작동. 있어도 이상하고 없어도 이상한 것.

비동기 방식 (Async)

  • 요청을 보내는 순서와 상관 없이 동작이 처리되는 방식

  • 브라우저 리프레시 불필요

세션 (Session)

  • 웹 브라우저를 통해 서버에 접속해 연결을 끊기 전까지(=브라우저를 종료하기 전까지) 한 브라우저를 통해 사용자가 요청하는 상태 정보를 서버에서 일정하게 유지하는 기술.

  • 한 사이트 내에서 페이지를 이동할 때마다 로그인이 끊기지 않도록 하는 게 대표적인 예

쓰레드 (Thread)

  • 프로그램을 실행하는 하나의 프로세스(Process) 내에서 실제로 작업을 처리하는 주체를 뜻한다.

  • 모든 프로세스는 반드시 한 개 이상의 스레드를 가진다.

스택오버플로우 (Stack Overflow)

  • 세계에서 가장 큰 개발자 웹 커뮤니티 중 하나.

  • 이름은 프로그래밍 과정에서 데이터가 할당된 메모리 공간을 초과할 때 발생하는 동명의 오류에서 따온 것.

  • 개발자 사이에선 ‘원인을 알 수 없는 버그가 발생하면 스택오버플로를 뒤져보라’는 말까지 돌 정도로 잘 알려진 사이트

SPA (Single-Page Application)

  • 싱글 페이지 애플리케이션

  • 서버로부터 완전한 새로운 페이지를 불러오지 않고
    현재 하나의 페이지를 동적으로 다시 렌더링하여 페이지를 보여주는 웹 애플리케이션이나 웹사이트

알고리즘 (Algorithm)

  • 문제를 해결하기 위해 필요한 계산 절차.

  • 프로그래밍 언어를 통해 알고리즘을 프로그램으로 만들어가는 작업을 프로그래밍이라고 한다.

에러 (Error)

  • 유저가 입력한 내용이 잘못됐을 때 발생하는 문제.

  • 잘못 짠 코드처럼 내부 문제로 예상하지 못한 문제가 일어나는 버그와 달리, 외부에 있는 유저가 오탈자를 내거나 띄어쓰기를 실수하는 등 내부에서 정한 형식을 따르지 않을 때 주로 발생

오픈소스 (Open Source)

  • 누구나 제한 없이 쓸 수 있는 소스 코드 혹은 소프트웨어.

  • 오픈 소스로 배포된 코드는 열람, 수정, 복제, 재배포 등이 자유롭다.

  • 한국에서는 공공데이터포털(data.go.kr)을 통해 공개된 오픈 API를 내려받을 수 있다.

웹 접근성 (Web Accessibility)

  • 누구에게나 평등한 웹 환경을 구성하는 요소.

  • 웹 표준을 지킴으로써 장애를 가진 사람, 고령자, 어린이 등이 다른 유저들과 마찬가지로 웹에서 제공하는 정보를 원활하게 이용할 수 있도록 보장하는 것

웹 퍼블리셔 (Web Publisher)

  • 디자인 시안에 맞춰 웹 화면을 구현하는 웹 퍼블리싱(Web Publishing)을 담당하는 직무. (한국에서만 쓰이는 말)

  • 프론트엔드 개발에서 웹 화면과 관련한 시각적인 면을 담당하는 개념을 떼놓은 것

웹표준 (Web Standards)

  • 웹 제작 문서에 맞는 표준과 규격

유닉스 (Unix)

  • 기계어에 가까운 언어인 어셈블리어로 개발한 컴퓨터 운영 체제.

  • 주로 서버 개발이나 시스템 개발에 쓰이며, macOS나 리눅스(Linux), 안드로이드(Android) 등 오늘날 많은 운영 체제의 원형이 되었다.

인자 (argument)

  • 함수를 호출할 때 매개변수로 값을 넘기는 값

  • 전달인자를 뜻함

인터랙티브 웹 (Interactive Web)

  • 웹 페이지 내의 콘텐츠가 클릭, 스크롤, 입력 등 사용자의 동작에 따라 상호작용하는(interact) 웹 페이지.

인터프리터 (Interpreter)

  • 컴파일과 달리 프로그램을 실행할 때마다 고급 프로그래밍 언어로 작성된 코드를 한 줄씩 기계어로 번역해 주는 프로그램

인터프리트 (Interpret)

  • 컴파일과 달리 프로그램을 실행할 때마다 고급 프로그래밍 언어로 작성된 코드를 한 줄씩 기계어로 번역하는 방식

인터프리티드 언어 (Interpreted Language)

  • 한 줄 한 줄씩 코드를 실행해내려가기 때문에 실행 속도는 느리지만 디버깅은 쉽다.

  • Javascript, JAVA, Python, PHP 등이 인터프리티드 언어

임베디드 (Embedded, Embedded System)

  • 특정 기능을 수행하는 전자 시스템을 내장해놓은 것.

  • 일반적인 PC가 다양한 목적에 따라 범용적으로 쓰인다면,
    임베디드 시스템은 각종 가전제품, ATM, 개표기, 키오스크 등 특수한 목적에 따라 기능을 수행하도록 제작.

  • OS는 보통 간소한 형태(예: 임베디드 리눅스)로 탑재되거나 생략되며, 낮은 전력으로도 정교힌 기능을 실시간으로 처리할 수 있게끔 하는 게 핵심

자료 구조 (Data Structure)

  • 데이터를 효과적으로 접근할 수 있도록 만들어진 데이터 체제.

  • 코드상에서 자료를 저장하는 방법, 자료끼리의 관계 등을 구조적으로 표현하는 방식.

  • 어떤 자료구조를 쓰느냐에 따라 코드 효율이 달라짐

정적 웹 페이지 (Static Web Page)

  • 서버에 미리 저장된 데이터를 그대로 불러오듯 전달하는 웹 페이지.

  • 서버의 데이터가 바뀌지 않는 한 모든 사용자는 늘 고정된 웹페이지를 받아보게 된다.

  • 주로 서비스 소개페이지처럼 내용이 자주 변경되지 않는 경우 정적 웹 페이지를 이용하는 경우가 많다.

캐시 (Cache)

  • 데이터베이스, 서버, 세션 관리 등 다양한 장치에서 널리 쓰이는 개념으로, 사용자가 데이터에 빠르게 접근할 수 있도록 데이터를 임시로 저장해둔 장소.

컴파일 (Compile)

  • 사람이 이해할 수 있는 고급 프로그래밍 언어로 작성한 코드를 컴퓨터가 처리할 수 있는 기계어로 한꺼번에 번역하는 과정

컴파일드 언어 (Compiled Language)

  • 수정이 까다롭지만 프로그램 실행 속도가 빠르다는 장점이 있다.

  • C, C++이 대표적인 컴파일드 언어

쿠키 (Cookie)

  • 서버에 저장되는 세션과는 달리 사용자의 브라우저에 간단한 정보를 저장하는 작은 데이터 파일

  • 키(Key)와 값(Value)의 구조로 이루어진다.

  • 브라우저에 ID나 암호를 저장하거나, 사이트 방문 기록을 저장하는 데 주로 쓰인다.

쿼리 (Query)

  • 관계형 데이터베이스에서 데이터를 요청하고 관리하기 위해서는 SQL(Structured Query Language, 구조화 쿼리 언어)이라는 데이터베이스 언어를 써야함.

  • SQL을 이용하면 데이터베이스에 쿼리(Query), 즉 질의를 통해 원하는 조건에 맞는 데이터를 추출하거나 조작할 수 있다.

  • 관계형 데이터베이스에서 데이터를 조회, 추출, 조작하기 위해 쓰는 명령어 혹은 질의 자체를 쿼리라고 한다.

크로스브라우징 (Cross Browsing)

  • 웹 표준에 있어서 핵심이 되는 요소 중 하나.

  • 익스플로러, 크롬, 사파리, 파이어폭스 등 각기다른 브라우저에서 브라우저를 보아도 똑같은 화면과 똑같은 기능을 사용할 수 있도록 해주는 기술

트래픽 (Traffic)

  • 서버를 통해 전송되는 데이터의 양. 서비스 방문자 수가 많을수록, 접속이 잦아질수록 증가한다.

  • 트래픽이 너무 높아지면 서버가 먹통이 된다.

펌웨어 (Firmware)

  • 하드웨어를 제어하는 소프트웨어.

프레임워크 (Framework)

  • 프로그램을 개발하기 위한 구조를 제공하는 개발 환경.

  • 자바스크립트에서는 뷰(Vue.js), 앵귤러(Angular)

  • 자바에서는 스프링(Sprint)이 대표적임

프로토콜 (Protocol)

  • 컴퓨터나 서버, 통신 장비 등 장치 사이에서 서로 통신하기 위해 미리 정해놓은 규칙.

프론트엔드 개발자 (Front-end Developer)

  • 웹 브라우저를 통해 유저가 직접 마주하는 웹 서비스의 앞단을 담당하는 개발자

플러그인 (Plug-in)

  • 어떤 특정한 기능을 해결하는 데 쓸 수 있도록 미리 만들어 놓은 코드 및 데이터의 모음







- 컬렉션 아티클