ㄴㅏ랏말ㅆ.ㅁㅣ
article thumbnail

서버와 클라이언트

인터넷 서비스

[ 클라이언트 ] (웹 브라우저)(관계 맺기)[ 서버 ] (스프링 부트)

 

클라이언트란?

서버로 요청하는 모든 프로그램

ex) 웹 브라우저에 주소를 입력한뒤 Enter → 서버에 요청한다 → 요청을 받은 서버가 응답한다

 

서버란?

클라이언트에서 한 요청에 따라 ‘요청’만 처리하면 되는지, ‘데이터’ 까지 보내줘야하는지

→ 새로운 화면을 그리기 위해 데이터를 달라!

 

데이터 베이스

RDB란?

관계형 데이터베이스의 약자로 행과 열로 이루어진 테이블로 관리

기본키를 사용해 각 행을 식별, 각 테이블간 관계 짓기 가능

ex) Oracle, MySQL, SQL Server등

 

SQL이란?

데이터 검색을 하는 언어, 표준 SQL과 각 DB별 SQL도 있다

 

NoSQL이란?

RDB는 CRUD는 유용하지만 성능 올리긴 쉽지 않음. DB성능을 높이기 위해서는 Scale up, Scale out을 해야 한다. Scale up 은 장비를 업그레이드 하면 되지만 Scale out 머신 분리는 DB를 분산하는데 트랜잭션을 사용하면 성능이 떨어진다. 이러한 문제 해결을 위해 NoSQL 등장

데이터 모델링을 어떻게 하는냐에 따라

다이나모디비, 카우치베이스, 몽고디비 같은 다양한 NoSQL베이스가 있음

 

아이피와 포트

ip : 서버를 찾기 위한 번호 (ex. 백화점)

port : 그 서버에서 운용하는 서비스 구분 번호 (ex. 매장)

ex) www.naver.com → 아이피 쉽게 알아보기 위한 이름표

http:// 서버의 443번 포트 사용을 위한 입력

스프링 부트 서버 (기본) : 8080

 

라이브러리와 프레임워크

라이브러리란?

애플리케이션 개발에 필요한 기능들을 모아놓은 코드 모음

 

프레임워크란?

소프트웨어 개발 환경

프레임워크 → 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용(사용 목적에 따라 차이가 있음)

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

백엔드 개발자의 업무

1. 과제 할당
2. 과제 분석
3. 개발
4. 테스트
5. QA
6. 배포
7. 유지보수

백엔드 프로그래밍 언어

python 프래임워크 : 플라스크, 장고, FastAPI

C++ : (성능이 중요한) 게임 서버 개발

java 프레임 워크 : 스프링, 스프링 부트

C# : 닷넷 프레임워크와 함께 미국에서 많이 사용(스택 오버플로우도 C#으로 만들어짐)

java-script 프레임워크 : Express, NestJS

자바 애너테이션

자바로 작성한 코드에 추가하는 표식 @

대표적 애너테이션

애너테이션 이름 설명
@Override 선언된 메서드가 오버라이드 되었음
@Deprecated 더 이상 사용되지 않음
@SuppressWarnings 컴파일 경고를 무시함

 

public class A extends B {
    @Override // 선언된 메서드 오버라이드 됨(상위 클래스가 가진 메서드 하위 클래스가 재정의
    public void print() {
        System.out.println("Hello, World");

    @Overload
    // 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
    }
}

'TIL > SprintBoot3 백엔드 개발자되기 Study' 카테고리의 다른 글

2. 스프링 부트3 시작하기  (1) 2023.11.30
profile

ㄴㅏ랏말ㅆ.ㅁㅣ

@동여우

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그