학습목표
- 키워드: spring, spring boot, client, server, ip, port, library, framework, database, java annotation
1. 기본 개념
(서버/클라이어트)
- 클라이언트: 서버로 요청하는 프로그램. 대표적으로 웹 브라우저가 있음
- 서버: 클라이언트의 요청을 받아 처리하는 주체
(데이터베이스)
- 데이터베이스: 여러 사람이 데이터를 한 곳에 모아두고 사용할 목적으로 관리하는 데이터 저장소. MySQL, Oracle, postgreSQL은 DBMS
- RDB: 관계형 데이터베이스. 행과 열로 이루어진 테이블. 기본키를 사용하여 각 행을 식별. Oracle, MySQL, SQL Server, postgreSQL
- SQL: 데이터 검색을 하는 언어. ANSI표준 SQL, RDB별 SQL 존재
- NoSQL: RDB가 아닌 데이터베이스. couchBase, MongoDB, DynamoDB
(IP/Port)
- ip: 인터넷에서 컴퓨터 또는 기기들이 서로를 식별하고 통신하기 위한 주소
- port: 서버에서 운용되고 있는 서비스를 구분하기 위한 번호
(Library/Framework)
- library: application 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드 모음. 라이브러리는 독립적. 필요한 기능 구현
- framework: 소프트웨어 개발 환경. 정해진 틀에서 개발. 전체적인 구조 잡기 위해 사용
(백엔드 개발자 업무)
- 업무 과정: 과제 할당→과제 분석→개발→테스트(리뷰)→QA 및 버그 수정→배포→유지 보수
1) 과제 할당: 주어진 과제를 할당 받아 분석 시작
2) 과제 분석: 문제를 구체적으로 정의하고 제공할 성능과 사용 기술을 선정 등 세부사항 정의
3) 개발: 기능을 개발하고 버그를 수정. 코드 리뷰를 통해 코드 수정
4) 테스트: 실행 여부, 로직상 문제, 성능한계, 가독성 등을 고려하여 테스트
5) QA(quality assurance): 개발과 테스트가 마무리되었다면 품질 점검 수행
6) 배포 및 유지보수(CI/CD): 서버에 배포. 여러 기능을 통합 및 새로운 기능 추가시 배포. 문제 발생시 이전 상태로 복구 작업. 롤링 배포, 블루 그린배포, 카나리 배포.
+) 롤링 배포(특정 개수의 서버들을 돌아가며 배포), 블루 그린 배포(같은 서버 인스턴스를 띄우고 로드밸런서 설정을 변경), 카나리 배포(전체 서버의 특정 비율만큼 배포하고 이후 점차 배포를 늘림)
(Java Annotation)
- 자바로 작성한 코드에서 추가하는 표식. @를 사용. JDK 1.5부터 사용 가능. 주로 메타데이터로 사용
@Override
@Deprecated
@SuppressWarnings
'임시 글 > Backend(Java)' 카테고리의 다른 글
[BE(Java)] Spring/SpringBoot 기본 (0) | 2024.12.28 |
---|---|
[BE(Java)] 환경설정 (0) | 2024.12.28 |