⌨️백엔드개발 용어모음
1. Server
Server
서버는 종종 클라이언트-서버 아키텍처에서 리소스, 서비스 또는 기능을 다른 컴퓨터나 장치에 제공하는 컴퓨터 또는 시스템을 의미합니다.
Client
클라이언트는 서버에서 리소스 또는 서비스를 요청하고 사용하는 컴퓨터 또는 장치입니다. 웹 애플리케이션의 맥락에서 클라이언트는 일반적으로 사용자의 웹 브라우저 또는 프런트엔드 애플리케이션을 나타냅니다.
API (Application Programming Interface,응용 프로그래밍 인터페이스)
API는 서로 다른 소프트웨어 응용 프로그램이 서로 통신할 수 있도록 하는 일련의 규칙 및 프로토콜입니다. 클라이언트와 서버 간의 상호 작용을 가능하게 하는 메서드, 데이터 형식 및 끝점을 정의합니다.
Endpoint
엔드포인트는 리소스 또는 특정 작업을 나타내는 API 내의 특정 URL 또는 URI(Uniform Resource Identifier)입니다. 클라이언트가 서버의 데이터에 액세스하거나 데이터를 조작할 수 있는 진입점입니다.
HTTP(Hypertext Transfer Protocol): HTTP는 인터넷을 통해 데이터를 전송하는 데 사용되는 프로토콜입니다. 클라이언트와 서버가 통신하고 리소스를 요청하고 응답을 보내는 방법을 정의합니다. GET, POST, PUT, DELETE 등의 HTTP 메소드를 통해 동작한다.
데이터베이스: 데이터베이스는 효율적인 검색, 수정 및 관리를 용이하게 하는 방식으로 구성되고 저장된 데이터의 구조화된 컬렉션입니다. 백엔드 개발자는 데이터베이스를 사용하여 애플리케이션에 대한 데이터를 저장하고 검색합니다.
SQL(Structured Query Language): SQL은 관계형 데이터베이스를 관리하고 조작하는 데 사용되는 프로그래밍 언어입니다. 이를 통해 개발자는 SELECT, INSERT, UPDATE, DELETE 등과 같은 문을 사용하여 데이터베이스를 생성, 수정 및 쿼리할 수 있습니다.
인증: 인증은 사용자 또는 시스템의 신원을 확인하는 프로세스입니다. 백엔드 개발자는 사용자 이름/암호 인증, 토큰 또는 OAuth와 같은 인증 메커니즘을 구현하여 승인된 사용자만 보호된 리소스에 액세스할 수 있도록 합니다.
권한: 권한은 인증된 사용자의 권한 및 액세스 권한을 결정합니다. 역할, 권한 또는 기타 정의된 기준에 따라 사용자가 수행할 수 있는 작업과 액세스할 수 있는 데이터를 지정합니다.
확장성: 확장성은 성능이나 응답성을 희생하지 않고 증가하는 작업, 트래픽 또는 사용자의 양을 처리할 수 있는 시스템의 능력을 의미합니다. 백엔드 개발자는 성장을 수용하고 높은 로드를 효율적으로 처리할 수 있는 확장 가능한 아키텍처를 설계하고 구현합니다.
캐싱: 캐싱은 자주 액세스하는 데이터를 임시 저장 영역에 저장하여 원래 소스에서 반복적으로 데이터를 가져올 필요성을 줄입니다. 백엔드 개발자는 캐싱 기술을 사용하여 성능을 개선하고 서버의 로드를 줄입니다.
로드 밸런싱: 로드 밸런싱은 리소스 활용을 최적화하고 성능을 개선하며 고가용성을 보장하기 위해 들어오는 네트워크 트래픽을 여러 서버에 분산시키는 프로세스입니다. 백엔드 개발자는 로드 밸런서를 설정하여 요청을 고르게 분배하고 단일 서버가 과부하되지 않도록 합니다.
디버깅: 디버깅은 코드의 문제나 버그를 식별하고 수정하는 프로세스입니다. 백엔드 개발자는 디버깅 도구와 기술을 사용하여 오류를 찾고 해결하여 애플리케이션의 원활한 작동을 보장합니다.
2. Frameworks
프레임워크는 소프트웨어 개발에서 사용되는 도구이며, 특정한 기능을 구현하기 위한 구조와 규칙을 제공합니다. 프레임워크는 개발자에게 제어 흐름을 제공하며, 개발자는 프레임워크가 제시한 구조에 따라 자신의 코드를 작성해야 합니다. 이는 프레임워크가 개발자에게 일종의 틀을 제공하고, 그 안에서 개발자가 코드를 작성하여 완성된 소프트웨어를 만들어내는 개념입니다.
3. Database
SQL(Structured Query Language): SQL은 관계형 데이터베이스를 관리하고 조작하는 데 사용되는 프로그래밍 언어입니다. 이를 통해 개발자는 SELECT, INSERT, UPDATE, DELETE 등과 같은 문을 사용하여 데이터베이스를 생성, 수정 및 쿼리할 수 있습니다.
4. RDBMS
RDBMS (Relational Database Management System)는 관계형 데이터베이스를 관리하기 위한 소프트웨어입니다. 다양한 RDBMS가 존재하며, 각각의 특징과 특수한 용도에 맞게 선택될 수 있습니다.
5.ORM
ORM(Object-Relational Mapping)
ORM은 객체 지향 코드를 관계형 데이터베이스 테이블에 매핑하는 기술 또는 프레임워크입니다. 개발자가 객체 지향 프로그래밍 개념을 사용하여 데이터베이스와 상호 작용할 수 있도록 하는 추상화 계층을 제공하여 원시 SQL 쿼리를 작성할 필요성을 줄입니다.
Last updated