클라이언트
: 서버로 요청하는 프로그램서버
: 클라이언트의 요청을 받아 처리하는 주체데이터베이스
: 데이터 저장소
클라이언트 <-> SQL(데이터베이스 조작하기 위한 언어) <-> DBMS <-> DB
데이터베이스 관리 시스템(DBMS)
에 데이터를 요청
하면, 데이터베이스 관리 시스템은 데이터베이스에서 데이터를 꺼내 응답RDB
: Relational Database, 계형 데이터베이스
반대 : NoSQL(NewSQL)
행과 열 -> 테이블 관리
Primary key -> 각 행 식별
테이블 간 관계 만들기
SQL
: Structured Query Language
데이터를 검색하는 언어 == 쿼리
NoSQL
: RDB의 문제들을 해결하기 위해서 등장
BUT 성능 향상 힘들다
Scale Up(머신 성능 향상)
or Scale Out(DB 여러대로 분리)
가 필요Scale Out
의 경우 DB를 분산하기 때문에, 트랜젝션의 성능 감소
IP
: 인터넷에서 컴퓨터 또는 기기들이 서로를 식별하고 통신하기 위한 주소Port
: 그 서버에서 운용되고 있는 서비스를 구분하기 위한 번호IP == 롯데백화점 / Port == 내부의 샤넬, 디올, 구찌...etc
라이브러리
: 애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음프레임워크
: 소프트웨어 개발을 수월하게 하기 위한 소프트웨어 개발 환경프레임워크 == 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용
하는 것
라이브러리 == 개발을 하는 과정에서 필요한 기능을 구현하기 위해 사용
하는 것
프레임워크 == 정사각형 100평짜리 공원 / 라이브러리 == 해당 공원 내부의 미끄럼틀, 철봉, 뱅뱅이
과제할당 -> 과제분석 -> 개발 -> 테스트 -> QA -> 배포 -> 유지보수
CI/CD
: 지속적인 통합, 지속적인 배포 (Continuous Integration / Continuous Delivery & Continuous Deployment)새로운 코드 변경 사항
이 정기적으로 빌드 및 테스트되어 저장소에 통합되는 것
실제 프로덕션 환경까지 변경된 코드가 반영
되는 것