본문 바로가기

Develop

백엔드 개발자와 원활한 소통을 위한 디자이너 필수 용어

IT 업계에서 일하는 디자이너님들이 백엔드 개발자와 원활하게 소통하기 위해 알아두면 좋은 용어들을 설명해 드리겠습니다.

API (애플리케이션 프로그래밍 인터페이스)

  • 정의: 서로 다른 소프트웨어들이 상호작용할 수 있도록 해주는 인터페이스입니다.
  • 사용 예:
    1. "우리 앱에서 사용자 데이터를 서버에 보내기 위해 API를 사용합니다."
    2. "지도 API를 통해 위치 정보를 받아올 수 있습니다."
    3. "결제 시스템과 통합하기 위해 외부 API를 호출합니다."
  • 비유: API는 레스토랑의 메뉴와 같습니다. 고객(프론트엔드)은 메뉴(API)를 통해 요리(데이터)를 주문하고, 주방(백엔드)은 주문에 따라 요리를 준비해 고객에게 제공합니다. 또한, 메뉴에 있는 다양한 요리들(기능들)을 통해 여러 종류의 서비스를 받을 수 있습니다.

Database (데이터베이스)

  • 정의: 데이터를 체계적으로 저장하고 관리하는 시스템입니다.
  • 사용 예:
    1. "모든 사용자 정보는 데이터베이스에 저장됩니다."
    2. "상품 목록을 데이터베이스에서 불러옵니다."
    3. "로그 데이터를 데이터베이스에 기록합니다."
  • 비유: 데이터베이스는 도서관과 같습니다. 다양한 책(데이터)을 체계적으로 분류하여 원하는 책을 쉽게 찾을 수 있습니다. 각 책은 서가에 정리되어 있으며, 필요할 때 언제든지 접근할 수 있습니다.

REST (레스트)

  • 정의: 웹 서비스가 데이터를 주고받는 방식 중 하나입니다. RESTful API는 HTTP 요청을 통해 데이터를 주고받는 방식을 의미합니다.
  • 사용 예:
    1. "이 RESTful API는 GET 요청을 사용하여 사용자 정보를 가져옵니다."
    2. "RESTful API를 통해 데이터를 POST 방식으로 서버에 전송합니다."
    3. "RESTful API는 표준화된 방식으로 자원을 처리합니다."
  • 비유: REST는 우편 시스템과 같습니다. 편지를 보내고 받기 위해 규격화된 봉투와 주소 체계를 사용하는 것처럼, 데이터를 주고받기 위해 정해진 규칙을 따릅니다. 이는 각 편지(데이터)가 올바른 주소(엔드포인트)로 전달되도록 합니다.

Endpoint (엔드포인트)

  • 정의: API가 제공하는 기능에 접근하기 위한 URL입니다.
  • 사용 예:
    1. "사용자 정보를 얻으려면 /api/users 엔드포인트로 요청을 보내면 됩니다."
    2. "제품 목록은 /api/products 엔드포인트에서 불러올 수 있습니다."
    3. "주문 정보는 /api/orders 엔드포인트를 통해 조회할 수 있습니다."
  • 비유: 엔드포인트는 특정 방으로 가는 문의 주소와 같습니다. 어떤 방(기능)에 들어가려면 그 방의 주소(URL)를 알아야 합니다. 이는 특정 목적지를 향해 가는 길을 알려주는 표지판과도 같습니다.

CRUD (크루드)

  • 정의: 데이터베이스에서 데이터를 생성(Create), 읽기(Read), 수정(Update), 삭제(Delete)하는 기본 작업을 의미합니다.
  • 사용 예:
    1. "우리는 CRUD 작업을 통해 사용자 데이터를 관리합니다."
    2. "신규 게시글을 생성(Create)하고, 기존 게시글을 읽고(Read), 수정(Update), 삭제(Delete)할 수 있습니다."
    3. "CRUD 기능을 이용해 제품 정보를 유지 관리합니다."
  • 비유: CRUD는 도서관에서 책을 관리하는 것과 같습니다. 새로운 책을 추가하고(Create), 책을 읽고(Read), 정보를 업데이트하고(Update), 필요 없어진 책을 제거(Delete)하는 일련의 과정입니다. 이처럼 CRUD는 데이터의 생명 주기를 관리하는 기본 도구입니다.

Authentication (인증)과 Authorization (권한 부여)

  • 정의: 인증은 사용자의 신원을 확인하는 과정이고, 권한 부여는 특정 자원에 대한 접근 권한을 부여하는 과정입니다.
  • 사용 예:
    1. "로그인 시스템에서 사용자의 신원을 인증합니다."
    2. "관리자만 접근할 수 있는 페이지에 권한을 부여합니다."
    3. "사용자가 특정 데이터를 조회하려면 인증이 필요합니다."
  • 비유: 인증은 건물 입구에서 신분증을 확인하는 과정이고, 권한 부여는 특정 방에 들어갈 수 있는 키를 주는 것과 같습니다. 이는 놀이공원 입장권과 놀이기구 탑승권의 관계와도 비슷합니다. 입장권(인증)으로 공원에 들어가고, 특정 놀이기구를 타기 위해 별도의 탑승권(권한 부여)이 필요합니다.

Middleware (미들웨어)

  • 정의: 클라이언트와 서버 간의 요청을 처리하는 중간 소프트웨어입니다.
  • 사용 예:
    1. "미들웨어를 사용하여 모든 요청을 로깅합니다."
    2. "미들웨어가 인증 절차를 처리합니다."
    3. "미들웨어를 통해 데이터 변환을 수행합니다."
  • 비유: 미들웨어는 도서관의 사서와 같습니다. 사서가 책을 대출하기 전에 도서 대출 기록을 작성하고, 대출 자격을 확인하는 역할을 합니다. 또한, 사서는 대출한 책을 반납할 때 상태를 확인하고 기록합니다.

JSON (제이슨)

  • 정의: 데이터 교환 포맷으로, API를 통해 데이터를 주고받을 때 주로 사용됩니다.
  • 사용 예:
    1. "서버에서 JSON 형식으로 데이터를 받아옵니다."
    2. "API 응답은 JSON 형식으로 제공됩니다."
    3. "JSON 데이터를 파싱 하여 화면에 표시합니다."
  • 비유: JSON은 이해하기 쉬운 표 형식의 문서와 같습니다. 다양한 데이터를 규칙에 맞게 작성하여 다른 사람이 쉽게 읽을 수 있도록 합니다. 이는 레고 블록과도 비슷합니다. 각 블록(데이터)은 특정 형식에 맞추어 만들어지며, 이 블록들을 조립하여 다양한 구조를 만들 수 있습니다.

이러한 용어들을 이해하고 계시면 백엔드 개발자와 더욱 효과적으로 소통하고 협력하실 수 있을 것입니다. 이를 통해 프로젝트의 성공적인 완수를 도모할 수 있습니다.

마무리

백엔드 개발자와의 원활한 소통은 성공적인 프로젝트 완수를 위한 중요한 요소입니다. 디자이너님께서 위의 용어들을 잘 이해하고 활용하신다면, 협업 과정에서 발생할 수 있는 많은 문제를 예방하고, 보다 효율적으로 프로젝트를 진행하실 수 있을 것입니다. 앞으로의 프로젝트에서도 이 용어들을 잘 활용하시기를 바랍니다.

 

이외 다른 궁금하신 용어가 있으시면 댓글로 알려주세요.
반응형