2021-01-14 수업내용 정리 겸 복습
2021-01-21 추가.
SpringFramework 수업에 들어오면서 벽에 부딪친다라는 느낌을 많이 받았다.
처음에는 잘해보려고 했지만 뭔가 벽에 부딪치는 느낌에 거부감이 계속 들었던 거 같다
수업내용을 정리하다가도 계속 어려움에 처하니 멀리하기 시작했다.
수업내용도 무언가 계속 코딩을 따라가기는 하지만 무언가 구조에 대한 이해라던지
그런 부분에서는 이해를 거의 못하고 있었다. 그래서 계속 다른 길로 새고 그랬던 거 같은데
뭔가 예전의 내 모습 중 어려움을 만나면 일단 피하고 보는 그런 나를 다시금 보는 거 같아서
그러고 싶지 않아서 이해가 안 가도 어려워도 일단 계속 접해보려고 한다.
그래서 다시 내용을 보완한다고 하지만 완벽하진 않을 듯싶다 그래도 계속해보겠다.
스프링(Spring):
스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크이다.
스프링은 애플리케이션 프레임워크로 응용프로그램 개발을 빠르고 효율적으로 할 수 있도록
응용프로그램의 바탕이 되는 틀과 공통 프로그래밍 모델, 기술 API 등을 제공합니다.
스프링은 객체지향 언어의 특징을 살려서 개발할 수 있도록 도와주는 도구이며
가장 단순한 객체지향 개발 모델인 POJO프로그래밍을 지향한다.
스프링 컨테이너 :
Spring Container 또는 Application Context라고 불리는 스프링 런타임 엔진을 제공.
스프링 컨테이너는 애플리케이션의 기본 틀이며 설정 정보를 참고하여 애플리케이션을 구성하는 객체를 생성하고 관리한다. 스프링 컨테이너는 일반적으로 웹 모듈에서 동작하는 서비스나 서블릿으로 등록하여 사용하고 객체의 생성 소멸과 같은 생명주기 life cycle을 관리한다.
-웹 애플리케이션이란 :
웹 애플리케이션을 여러 사용자가 인터넷을 통해 데이터 베이스에 접근하고 안전하게 정보를 읽고 쓸 수 있게 만들어진, 웹브라우저와 RDB를 이용한 애플리케이션.
-JSP, Servlet의 등장 및 Servlet이란 :
멀티스레드로 실행되며, 개발자가 세션 관리를 의식하지 않을 수 있도록 세션을 관리해줌. 기존 CGI 기술로는 페이지 생성 로직과 비즈니스 로직 분리하기 곤란한 반면 JSP로 페이지를 생성하고 비즈니스 로직을 Servlet으로 처리하는 아키텍처도 큰 장점
Servlet이란 자바를 사용하여 웹을 만들기 위해 필요한 기술 좀 더 설명하면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램
-애플리케이션 아키텍처:
애플리케이션 아키텍처는 일반적으로 애플리케이션의 전체의 구조, 공통된 방식(메커니즘)이라 정의 가능
시스템의 애플리케이션이 공통으로 이용할 수 있는 사용자 인터페이스 구조나 데이터베이스 접근 방식 등 시스템의 기반이 되는 부분
-모듈 :
일반적으로 컴퓨터 분야에서의 모듈이라는 용어는, 독립되어 있는 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 데 사용된다.
IoC/DI :
객체의 생명주기와 의존 관계에 대한 프로그래밍 모델.
의존성 주입(DI :Dependency Injection)을 통해 각 계층이나 서비스들 간의 의존성을 맞춰줌
환경설정을 담당하는 XML 파일에 의해 설정되고 수행된다.
+ 스프링이 제공하는 모든 기술과 API, 컨테이너도 IoC/DI 방식으로 작성되어있다.
AOP (Aspect Oriented Programming) :
관점 지향 프로그래밍의 약자로써 스프링의 로깅이나 보안, 트랜잭션 등의 핵심적인 비즈니스 로직과는 관련이 없으나 여러 곳에서 공통적으로 쓰이는 기능들을 분리하여 개발하고 실행 시에 서로 조합할 수 있도록 해준다.
-로깅 :
시스템 동작 시 시스템 상태/작동 정보를 시간의 경과에 따라 기록하는 것을 로깅, 그 기록을 로그라고 함.
-트랜잭션(Transaction) :
데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위
상태를 변화시킨다는 것은? 간단히 말하면 SQL 질의어를 이용하여 DB에 접근하는 것을 의미
게시판을 예로 들어보자.
게시판 사용자는 게시글을 작성하고, 올리기 버튼을 누른다. 그 후에 다시 게시판에 돌아왔을 때,
게시판은 자신의 글이 포함된 업데이트된 게시판을 보게 된다.
이러한 상황을 데이터베이스 작업으로 옮기면, 사용자가 올리기 버튼을 눌렀을 시, Insert문을 사용하여
사용자가 입력한 게시글의 데이터를 옮긴다 그 후에, 게시판을 구성할 데이터를 다시 Select 하여 최신 정보로 유지한다
여기서 작업의 단위는 insert문과 select문 둘다를 합친 것 이러한 작업 단위를 하나의 트랜잭션이라 한다.mommoo.tistory.com/62
트랜잭션(Transaction)이란?
트랜잭션이란? 트랜잭션(Transaction 이하 트랜잭션)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 데이터베이스의 상태를 변화시킨다는 것은 무얼 의미하는 것일
mommoo.tistory.com
Library vs Framework
라이브러리란 자주 사용하는 코드를 함수나 클래스로 묶어 놓고 가져다 쓰는 것을 의미한다.
반면, 프레임워크는 프로그램을 어떻게 짜야한다는 규칙이 있다.
즉, 프레임워크는 이미 프로그램이 돌아가는 기반 틀이 만들어져 있고 개발자는 그 안에 코드를 작성함으로써 프로그램을 만드는 것 따라서 라이브러리와 달리 누가 하든지 간에 비슷한 코드 품질을 가질 수 있다.
2020/12/24 - [해야 할 일] - 2020-12-23 아몰랑 : API, 프레임워크
'JAVA & APP :국비지원 학원 복습 > Spring' 카테고리의 다른 글
스프링프레임워크로 JDBC와 mybatis (0) | 2021.01.25 |
---|---|
스프링프레임워크 사용전후 비교 간단 프로그램..? (0) | 2021.01.25 |
클래스 호출패턴 (0) | 2021.01.23 |
Maven을 이용해 Spring 시작하기 (0) | 2021.01.21 |
웹 애플리케이션(Web application) (0) | 2021.01.21 |