본문 바로가기
Spring boot/스프링 부트 3 백엔드 개발자 되기(자바편)

[1장] 자바 백엔드 개발자가 알아두면 좋은 지식

by 리버🐦‍🔥 2023. 7. 25.

1.1 서버와 클라이언트

 

    1.1.1 클라이언트란?
    - 서버로 요청하는 모든 프로그램

 

    1.1.2 서버란?  
    - 클라이언트의 요청을 받아 처리하는 주체

 

1.2 데이터베이스
- 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으록 관리하는 데이터 저장소
- (MySQL, Oracle, PostgreSQL 등은 DBMS. 즉, 데이터베이스가 아니다)


    1.2.1 RDB란?
    - Relational Database의 약자. 관계형 데이터베이스.

    - 행과 열로 이루어진 테이블로 관리하며, 기본 키(primary key)를 사용해 각 행을 식별.

    - ex) RDB, NoSQL, NewSQL 등..

 

    1.2.2 SQL이란?

    - Structured Query Language의 약자.

    - 데이터를 검색하는 언어

 

    1.2.3 NoSQL이란?

    - 기존에는 No SQL. 즉, SQL을 안쓴다는 의미로 쓰였다.

    - 최근에는 Not Only SQL의 의미로 많이 사용된다.

    - ex) 다이나모디비, 카우치베이스, 몽고디비 등..

 

1.3 아이피(IP)와 포트(Port)

- IP : 인터넷에서 기기들이 서로 식별하고 통신하기 위한 주소 (서버를 찾기 위한 번호로 사용)

- Port : IP로 찾은 서버에서 운용되고 있는 서비스를 구분하기 위한 번호

 

1.4 라이브러리와 프레임워크

 

    1.4.1 라이브러리란?

    - 애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음

    - 책들의 모음이라고 보면 이해하면 편함

    - 장점 : 코드의 모음을 쉽게 가져다 씀으로써 원하는 기능을 더 빠르게 개발 가능

 

    1.4.2 프레임워크란?

    - 틀(Frame)과 일하다(work)의 합성어로, 일하기 위한 틀을 제공

    - 장점 : 틀 안에서는 개발 효율이 굉장히 높아진다

    - 단점 : 정해진 틀 안에서 구현해야하기 때문에 틀 밖에 벗어난다면 사용이 불가능하다

 

 

<추가적인 정보>

CI : 지속적인 통합. 저장소에 코드가 반영되는 것을 의미

CD: 지속적인 배포. 실제 프로덕션 환경까지 변경된 코드가 반영되는 것을 의미

 

1.7 자바 애너테이션

- 자바로 작성한 코드에 추가하는 표식(주로 메타데이터를 위해 사용)

- ex) @Overide, @Deprecated, @suppressWarings 등...