leehyeon-dv 님의 블로그
백엔드 개발자가 알아두면 좋은 지식 본문
✨목차
✏️서버와 클라이언트
- 클라이언트 = 서버로 요청하는 프로그램을 모두 일컬어 말한다 (예 : 웹 브라우저)
- 서버 = 클라이언트의 요청을 받아 처리
✏️데이터베이스
- 여러사람이 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소
- 데이터베이스를 관리하기 위한 시스템(DBMS) = MySQL, 오라클, 포스트그레SQL ...
✏️RDB
- Relational DataBase (관계형 데이터베이스)
- 가장 많이 사용하는 데이터베이스 → REB가 아닌 DB = NoSQL, NewSQL
- 관계형 데이터베이스는 데이터를 행과 열로 이루어진 테이블로 관리하고 기본키를 사용해 각 행을 식별한다
- RBD에서 가장 유명한 DB = 오라클, MySQL, 포스트그레SQL, SQL server ..
✏️SQL / NoSQL
- SQL = Structured Query Language (쿼리 즉, 데이터 검색을 하는 언어)
- NoSQL
- SQL을 안쓴다라는 의미
- 데이터베이스의 성능을 높이려면 스케일업 ,스케일 아웃이 필요하다
- 스케일업 = 장비향상, 스케일아웃 = 데이터베이스 분산이 필요 → 이때 트랜젝션을 사용하면 성능이 감소한다
✏️ip와 포트
- ip = 인터넷에서 컴퓨터 또는 기기들이 서로를 식별하고 통신하기 위한 주소 (서버를 찾기 위한 번호)
- 포트 = 그 서버에서 운용되고있는 서비스를 구분하기위한 번호
✏️라이브러리와 프레임워크
- 라이브러리 = 애플리케이션 개발에 필요한 기능인 클래스, 함수등을 모아놓은 코드의 모음
- 프레임워크 = 소프트웨어 개발을 수월하게 하기위한 소프트웨어 개발 환경 (일하기위한 틀 제공)
프레임워크 : 개발 시에 전체적인 구조를 잡기 위함, 라이브러리 : 개발 과정에서 필요한 기능 구현하기 위함
📌백엔드 개발자의 업무
과제할당 → 과제분석 → 개발 → 테스트(리뷰) → QA 및 버그 수정 → 배포 → 유지보수
- 과제할당으로 시작
- 과제분석 = 제공할 성능과 사용할 기술을 검토 , 문제가 있으면 해결 방법도 분석 후 정리
- 개발 후 버그 수정
- 테스트 (개발자에따라 테스트를 먼저 작성하는 테스트 주도 개발 기법을 사용하기도 함)
- QA
- 배포 ( 기능이 추가 될때마다 배포)
- 롤링배포 = 특정 개수의 서버들을 돌아가며 배포
- 블루 그린 배포 = 똑같은 서버 인스턴스를 띄우고 로드밸런서 설정을 바꿈
- 카나리 배포 = 전체 서버의 특정 비율만큼 배포해보고 문제 없는 경우 점점 배포를 늘려가는 것
* CI/CD = 빌드부터 배포까지 과정을 자동화
- CI = 지속적인 통합, 새로운 코드 변경 사항이 정기적으로 빌드및 테스트되어 저장소에 통합되는 것
- CD = 지속적인 배포
✏️자바 애너테이션
대표적인 자바 애너테이션
@Override | 선언된 메서드가 오버라이드 됨 |
@Deprecated | 더 이상 사용되지 않음 |
@SupperssWarnings | 컴파일 경고를 무시함 |
'spring > spring 이론' 카테고리의 다른 글
스프링 부트 3 코드&구조 이해하기 (0) | 2024.12.21 |
---|---|
스프링 부트 3 둘러보기 (1) | 2024.12.20 |
스프링 부트 시작하기 (0) | 2024.12.20 |
테스트 코드 (4) | 2024.11.28 |
의존성 주입이란 무엇일까? (0) | 2024.11.28 |