스프링부트 독학-1장 자바 백엔드 개발자가 알아두면 좋은 지식

jaegeunsong97·2023년 8월 29일
0

출처

신서영개발자님의 스프링부트 책

간단 내용 정리

서버와 클라이언트

  • 클라이언트 : 서버로 요청하는 프로그램
  • 서버 : 클라이언트의 요청을 받아 처리하는 주체

데이터베이스

  • 데이터베이스 : 데이터 저장소

    • 예시 : MySQL, Oracle, postgreSQL (데이터베이스 관리 시스템)
  • 클라이언트 <-> SQL(데이터베이스 조작하기 위한 언어) <-> DBMS <-> DB

    • 데이터베이스 관리 시스템(DBMS)데이터를 요청하면, 데이터베이스 관리 시스템은 데이터베이스에서 데이터를 꺼내 응답
  • RDB : Relational Database, 계형 데이터베이스

    • 반대 : NoSQL(NewSQL)
    • 관계형 데이터베이스
      • 행과 열 -> 테이블 관리
      • Primary key -> 각 행 식별
      • 테이블 간 관계 만들기
      • RDB 예시 : Oracle, MySQL, SQLserver, postgreSQL
  • SQL : Structured Query Language

    • 데이터를 검색하는 언어 == 쿼리
  • NoSQL : RDB의 문제들을 해결하기 위해서 등장

    • RDB는 데이터 저장, 질의, 수정, 삭제 용이 BUT 성능 향상 힘들다
      • 성능향상을 위해서는 Scale Up(머신 성능 향상) or Scale Out(DB 여러대로 분리)가 필요
      • Scale Out의 경우 DB를 분산하기 때문에, 트랜젝션의 성능 감소
      • RDB의 이러한 문제를 해결하기 위해 NoSQL등장

IP, Port

  • IP : 인터넷에서 컴퓨터 또는 기기들이 서로를 식별하고 통신하기 위한 주소
  • Port : 그 서버에서 운용되고 있는 서비스를 구분하기 위한 번호

IP == 롯데백화점 / Port == 내부의 샤넬, 디올, 구찌...etc

라이브러리와 프레임워크

  • 라이브러리 : 애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음
    • 서로 독립적 -> 서로 영향 X
  • 프레임워크 : 소프트웨어 개발을 수월하게 하기 위한 소프트웨어 개발 환경

프레임워크 == 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용하는 것

라이브러리 == 개발을 하는 과정에서 필요한 기능을 구현하기 위해 사용하는 것

프레임워크 == 정사각형 100평짜리 공원 / 라이브러리 == 해당 공원 내부의 미끄럼틀, 철봉, 뱅뱅이

백엔드 개발자의 업무

과제할당 -> 과제분석 -> 개발 -> 테스트 -> QA -> 배포 -> 유지보수

  • 유지보수
    • 롤링배포
    • 블루그린배포
    • 카나리 배포
    • CI/CD : 지속적인 통합, 지속적인 배포 (Continuous Integration / Continuous Delivery & Continuous Deployment)
      • CI : 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 저장소에 통합되는 것
      • CD : 실제 프로덕션 환경까지 변경된 코드가 반영되는 것
profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글