서버와 클라이언트
클라이언트
서버로 요청하는 프로그램
서버
클라이언트의 요청을 처리하고 응답
데이터 베이스
- 방대한 데이터의 집합.
- 데이터를 한 군데에 모아놓고 관리하는 데이터 저장소
- MySql, PostgreSql 등의 시스템을 이용해 관리
- SQL로 DB 관리 시스템에 데이터를 요청
-> DB에서 데이터를 추출하여 응답
Relational Database
- table의 집합
- 각 table은 고유 이름을 가진다.
- 각 table은 관계를 정의한다.
- primary key를 이용해 데이터를 식별한다.
SQL(Structure Query Language)
- 데이터베이스의 데이터를 검색하고 관리하는데 사용되는 언어
IP and Port
IP
IP주소를 활용해 컴퓨터 끼리 통신할 수 있다.
- 컴퓨터는 고유의 IP주소를 갖는다.(global IP adress)
- 통신하기 위한 컴퓨터의 IP주소를 알아야 해당 컴퓨터와 통신할 수 있다.
Port 번호
프로세스를 구분하기 위한 번호
- 한 컴퓨터에서는 여러 프로세스를 돌릴 수 있다.
- 프로세스마다 통신하고자 하는 대상이 다르다.
- 프로세스를 구분할 수 있어야 한다.
- Port번호를 활용해 프로세스를 구분한다.
라이브러리와 프레임워크
라이브러리
클래스, 함수등 코드 들의 집합
- 개발할 때 원하는 기능을 구현하기 위해 코드의 모음을 가져다 쓸 수 있는 도구 역할을 한다.
- 개발자는 라이브러리를 활용해 복잡한 코드를 직접 짜지 않아도 된다.
- 라이브러리는 동적으로 사용할 수 있기 때문에 로딩시 큰 영향을 미치지 않는다.
프레임워크
개발에 편의성을 더해주는 frame
- 정해져 있는 틀에 맞추어 개발을 할 수 있게 도와줌
- 자유도는 떨어지나 이에 맞춰 개발을 하면 효율성이 증대함
백엔드 개발자의 업무

과제 분석
- 요구사항을 분석하여 어떻게 개발해야 할지 설계하는 과정
테스트
- 요구사항을 만족하는지 테스트
- 예외처리, 트랜잭션, db접근 에 문제가 없는지 확인하는 과정
배포와 유지보수
- 개발이 완료된 프로그램을 배포
- 개발이 완료된 경우, 새로운 기능이 추가된 경우, 오류에 대응한 경우 등 요구사항을 반영하면 배포를 함으로써 프로그램을 제공한다.