[스프링 부트 3 백엔드 개발자 되기] Chap.01

minhyeok·2023년 10월 4일
0
post-thumbnail

서버와 클라이언트

클라이언트

서버로 요청하는 프로그램을 모두 일컬어 말함. 웹 브라우저가 대표적인 클라이언트 중 하나.
정보를 요청하는 행위를 '서버에 요청한다'. 그러면 서버는 그에 맞는 화면으로 응답.

서버

클라이언트의 요청을 받아 처리하는 주체.
클라이언트가 데이터를 요청하면 데이터, 서버 내에서 처리만 해달라는 요청을 하면 해당 요청만 처리.

데이터베이스

여러 사람이 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소.
MySQL, 오라클, postgreSQL 등은 데이터베이스 관리 시스템.
클라이언트에서 SQL(데이터베이스를 조작하기 위한 언어)로 데이터베이스 관리 시스템에 데이터를 요청하면 데이터베이스 관리 시스템은 데이터베이스에서 데이터를 꺼내 응답.

RDB

Relational Database의 약자로, 관계형 데이터베이스 라는 뜻.
RDB가 아닌 데이터베이스를 NoSQL 또는 NewSQL로 구분.
RDB는 데이터를 행 과 열로 이루어진 테이블로 관리, 기본 키(Primary Key)를 사용해 각 행을 식별.
또한 각 테이블 간의 관계를 지을 수 있음.

SQL

Structured Query Language의 약자.
쿼리, 즉 데이터 검색을 하는 언어.

NoSQL

SQL을 안 쓴다는 의미로 사용되기도 하지만, 최근에는 Not Only SQL의 의미로도 쓰임.
RDB는 데이터 저장, 질의, 수정, 삭제가 용이하지만 반면에 성능 개선이 쉽지 않음.
데이터베이스의 성능을 높이기 위해서는 머신의 성능을 좋게 하는 스케일 업 또는 머신을 여러 대로 분리하는 스케일 아웃이 필요.
스케일 업은 장비를 업그레이드 하면 되지만, 스케일 아웃은 데이터베이스를 분산하고, 이때 트랜잭션을 사용하면 성능이 떨어지게 됨.
RDB의 이러한 문제를 해결하기 위해 NoSQL이 등장.
데이터 모델링을 어떻게 하느냐에 따라 다이나모디비, 카우치베이스, 몽고디비등이 존재.

아이피와 포트

아이피는 인터넷에서 컴퓨터 또는 기기들이 서로를 식별하고 통신하기 위한 주소. 아이피를 통해 서벌르 찾음.
포트는 그 서버에서 운용되고 있는 서비스를 구분하기 위한 번호.

라이브러리와 프레임워크

라이브러리

애플리케이션 개발에 필요한 기능인 클래스, 함수등을 모아놓은 코드의 모음을 뜻함.
개발자가 소프트웨어를 만들 때 필요에 따라 원하는 기능을 구현하기 위해 코드의 모음을 가져다 쓸 수 있는 일종의 도구 역할.

프레임워크

소프트웨어 개발을 수월하게 하기 위한 소프트웨어 개발 환경.
프레임워크는 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용, 라이브러리는 개발을 하는 과정에서 필요한 기능을 구현하기 위해 사용.

백엔드 개발자 업무

  1. 과제 할당
  2. 과제 분석
  3. 개발
  4. 테스트(리뷰)
  5. QA 및 버그 수정
  6. 배포
  7. 유지 보수

자바 어노테이션

자바로 작성한 코드에 추가하는 표식을 말함. 보통 어노테이션은 @ 기호를 사용하며, JDK 1.5 버전부터 이용 가능.
어노테이션은 다양한 목적으로 사용하지만 보통은 메타 데이터로 사용하는 경우가 많음.

0개의 댓글