본문 바로가기
임시 글/Backend(Java)

[BE(Java)] 백엔드 기본 지식

by cogito21_cpp 2024. 12. 28.
반응형

학습목표

- 키워드: 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