2022.02.14. 웹 개발 관련 개념

sshinohs·2022년 2월 14일
0

Today I Learn

목록 보기
1/1

'스프링 부트와 AWS로 혼자 구현하는 웹 서비스'로 학습을 진행하면서 잘 모르는 개념들을 모은다.

본 글을 작성하는 이유
1) 작성하는 과정에서 기억되는 효과
2) 이해가 어려운 개념을 한번에 확인할 수 있는 효과

[스프링]
자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크
http://melonicedlatte.com/2021/07/11/174700.html

[프레임워크]
소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다.
https://ko.wikipedia.org/wiki/소프트웨어_프레임워크

[스프링 부트]
스프링을 더 쉽게 이용하기 위한 도구
http://melonicedlatte.com/2021/07/11/174700.html

[라이브러리와 프레임워크 차이]
라이브러리는 개발자가 어떠한 기능을 가진 모듈이 필요할 때 해당 모듈을 호출하여 가져다 쓰는 개념이며, 프레임워크는 프로그램의 근간이 되는 구조를 잡는 것으로부터 시작하여, 각종 외부 요소(데이터베이스, 보안, 사용자 인터페이스)와 접하는 영역에 대한 구현 방식을 제안하는 역할까지 한다.
https://helloworld-88.tistory.com/45

[gradle]
그래들(gradle)은 그루비(groovy)를 기반으로 한 빌드 도구이다.
https://madplay.github.io/post/what-is-gradle

그래이들은 Groovy를 이용한 빌드 자동화 시스템이다. 빌드 자동화의 목적은 소프트웨어 개발자가 반복적으로 해야 하는 코딩을 잘 짜여진 프로세스를 통해 자동으로 실행하며, 믿을 수 있는 결과물도 생산해낼 수 있는 일련의 작업방식 및 방법을 말한다.
1) 빠른 기간동안 계속해서 늘어나는 라이브러리의 추가와
2) 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화 하기 위해 등장함
https://codecrafting.tistory.com/1

[소프트웨어 빌드]
소스 코드 파일을 컴퓨터나 휴대폰에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정을 말하거나 그에 대한 결과물을 일컫는다.
https://ko.wikipedia.org/wiki/소프트웨어_빌드

[build.gradle]
스프링 부트 버전 입력하고, 플러그인 의존성 관리 해주고, 의존성 (라이브러리)들을 어떤 원격 저장소에서 받을지 정한다.
이 파일에 기반하여 무언가를 받고 수정하는 것 같다.

[웹 어플리케이션 서버]
웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다. 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로 볼 수 있다. 웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다.

웹 애플리케이션 서버의 기본 기능 3가지

[미들웨어]
미들웨어는 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어이다.
https://ko.wikipedia.org/wiki/미들웨어

[트랜잭션]
트랜잭션이란, 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위
https://mommoo.tistory.com/62

[비즈니스 로직]
1번 정의) 일반적으로, 데이터베이스와 사용자 인터페이스 사이의 정보 교환을 처리하는 알고리즘을 설명
2번 정의) 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부를 말한다. 데이터 입력, 수정, 조회 및 보고서 처리 등을 수행하는 루틴, 좀 더 엄밀히 말하면 보이는 것의 그 뒤에서 일어나는 각종 처리를 의미한다. 대개 클라이언트 프로그램은 사용자 인터페이스와 비즈니스 로직으로 구성되며, 서버프로그램은 대부분 비즈니스 로직만으로 되어 있다. 특히, 클라이언트/서버 모델인 경우에는 이외에도 통신링크가 추가되지만, 통신과 관련된 인프라스트럭처는 사용자인터페이스처럼 비즈니스 로직의 일부는 아니다.
3번 정의) 하나의 프로젝트나 프로그램 중 업무와 관련된 처리를 하는 일부분을 뜻함. 프로젝트를 하면서 데이터베이스에서 어떠한 자료를 가져와 웹에서 출력을 할 때 데이터베이스 연결, 통신, 자료가공, 페이지 구성 등 여러가지 작업을 하지만 그 중에서 사용자가 원하는 자료의 가공 부분을 의미함.
예를 들어, 자료를 저장할 때는 부가세가 포함되지 않고 자료가 저장이 되어있는데, 최종적으로 사용자에게는 부가세가 포함된 자료를 디스플레이해야 하는 업무를 처리해야 한다고 할 때 이를 처리하는 과정.
https://m.blog.naver.com/anjdieheocp/20117559228

[API]
응용 프로그램 인터페이스는 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스.
https://dev-dain.tistory.com/50

[[[[스프링 부트와 AWS로 혼자 구현하는 웹서비스]]]]
IDE: IntelliJ Community
Web Framework: Spring Boot
Builder: Gradle
JPA
Mustache

profile
sshinohs

0개의 댓글