leehyeon-dv 님의 블로그

백엔드 개발자가 알아두면 좋은 지식 본문

spring/spring 이론

백엔드 개발자가 알아두면 좋은 지식

leehyeon-dv 2024. 12. 19. 11:14

✨목차

  1. 서버와 클라이언트
  2. 데이터베이스
  3. RDB
  4. SQL/ NoSQL
  5. ip와 포트
  6. 라이브러리와 프레임워크
  7. 백엔드 개발자의 업무
  8. 자바 애너테이션

 


✏️서버와 클라이언트 

  • 클라이언트 = 서버로 요청하는 프로그램을 모두 일컬어 말한다 (예 : 웹 브라우저)
  • 서버 = 클라이언트의 요청을 받아 처리

 

✏️데이터베이스 

  • 여러사람이 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소 
  • 데이터베이스를 관리하기 위한 시스템(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