뷰의 장점 

- 복잡한 sql문을 매번 기술할 필요가 없다.

- 필요한 열과 행만 사용자에게 보여줄 수 있고, 갱신 시에도 뷰 정의에 따른 갱신으로 한정할 수 있다.

- 1,2의 이점을 데이터 저장없이 실현할 수 있다. 또한 뷰를 제거해도 참조하는 테이블은 영향을 받지 않는다. 

결합 - 내부결합과 외부결합 

내부결합 - 조건에 일치하는 행만을 2개의 테이블로부터 가져와서 결합 

SELECT 선택하고 싶은 열 리스트 FROM 첫 번째 테이블 명 INNER JOIN 두 번째 테이블 명 ON 결합 조건 ;

외부결합 - 한 쪽테이블을 기준으로 전체 행을 표시, 다른 테이블 값이 없어도 표시

SLEECT 선택하고 싶은 열의 리스트 FROM  첫 번째 테이블 명 LEFT OUTER JOIN 두 번째 테이블 명 on 결합 조건;

먼저

1. sudo apt-get update 입력

2. sudo apt-get upgrade 입력

3. sudo apt-get install mariadb-server 설치

4. 초기 환경설정으로 아이디와 비밀번호 설정

5. maria db root 접속방법 - sudo mariadb -u root -p

관리 명령어 입력

- 커넥션 상태 조사 - show status like 'Threads_connected';

- 가동된 시점부터 경과시간 - show statud like 'Uptime';

- 실행한 SQL의 문의 수 - show status like 'Queries'

- 나가는법 - quit

데이터베이스 구조(왼쪽부터 큰 순)

인스턴스(프로세스) > 데이터베이스 > 스키마(폴더,틀) > 테이블 순

(maria db는 데이터베이스와 스키마가 같음) - 3계층

 

- 데이터베이스에서 가용성을 높이는 기술은 '클러스터링'과 '리플리케이션'으로 크게 나눌 수 있다. 

- 클러스터링에는 'Active-Acitve'와 'Active-Standby'가 있다.

- 주로 저장소가 단일 병목 지점이 된다. 병목지점이란 주로 문제가 생기는 구간을 말한다. 병목지점을 해결하기 위해선 'Shared Nothing'  클러스터라는 선택지도 있지만 제한적이다.

- 리플리케이션은 데이터를 물리적으로 원격 보관하여 가용성을 높이기 위한 기술이지만, 부하 분산에 이용하면 성능 향상을 위해서도 사용할 수 있다. 

 

- 위 내용은 "데이터베이스 첫걸음 - 한빛미디어"의 책으로 공부한 내용을 정리한 글입니다.

*대부분 IoC컨테이너는 각 컨테이너에서 고나리할 객체들을 위한 별도의 파일 설정

서블릿 - web.xml 

EJB - ejb-jar.xml

스프링 - sts이용하여 web.xml의 설정

*스프링 컨테이너 설정 및 순서

1. 스프링 컨테이너 구동 - Spring Bean Configuration File 선택 후 "applicationContext"파일 생성 후 <bean>엘리먼트안에 클래스 파일 설정 (패키지 제대로 설정하는게 가장 중요) 그리고 applicationContext.xml을 로딩하면 스프링 컨테이너 구동은 끝난다.

2. 객체를 getBean()메소드 이용하여 요청

스프링 컨테이너의 동작 순서 

1. 클라이언트가 스프링 설정 파일을 로딩하여 컨테이너 구동

2.스프링 설정 파일에 <bean>등록된 객체 생성

3.getBean()메소드로 이름이 같은 객체를 요청(Lookup)

4.객체를 반환

*스프링 컨테이너의 종류  1. BeanFactory(객체관리) 2.ApplicationContext(객체관리, 트랜잭션 관리, 다국어 처리 등 다양한 기능 지원)       2.ApplicationContext유형의 컨테이너를 대부분 사용한다.                       

ApplicationContext유형은 다양하지만 가장 많이 사용하는 두 개의 클래스만 알고 있으면 된다.

1.GenericXmlApplicationContext - 파일 시스템이나 클래스 경로에 있는 XML 설정 파일을 로딩하여 구동

2.XmlWebApplicationContext - 웹 기반의 스프링 애플리케이션을 개발할 때 사용하는 컨테이너

* 스프링 XML 설정

1.<beans> 루트 엘리먼트 - 시작 태그에 네임스페이스를 비롯한 XML 스키마 관련 정보가 설정, <bean>.<description>,<alias>,<import> 등 4개의 엘리먼트를 자식 엘리먼트로 사용할 수 있다. 

2.<import> 엘리먼트 - 기능별 여러 XML 파일로 나누어 설정하는 것(효율적), 하나로 통합할 때 <import>엘리먼트 사용 

3. <bean> 엘리먼트 - 스프링 설정 파일에 클래스를 등록하려면 사용, id와 class속성을 사용, class속성은 필수이다. 다만 id는 <bean>객체를 위한 이름을 지정할때 사용하는 속성이다. 반드시 속성의 이름은 유일한 값이여야 한다. (주로 카멜표기법 사용) - 자바 식별자 규칙을 따르지 않을때는 id대신 name을 사용한다.

4.<bean>엘리먼트 속성

- init-method 속성 : 멤버변수 초기화 작업이 필요할 때 사용

- destory-method 속성: 객체를 삭제하기 직전에 호출될 임의의 메소드 지정

- lazy-init 속성 : <bean>이 사용되는 시점에 객체를 생성하도록 init-lazy 속성을 제공, true로 설정하면 미리 생성하지 않고 요청시 생성

- scope 속성 : bean을 어느 범위에서 사용할 수 있는지를 지정, 예) 싱글톤 패턴(하나의 객체만 생성), 프로토타입(매번 객체 생성)

--위 글은 "스프링 퀵 스타트" 책을 통해 이해한 내용을 정리한 글입니다.

'프레임워크 > 스프링' 카테고리의 다른 글

스프링 DB연결 흐름도  (0) 2021.08.26
스프링 공부 시작!!! IoC와 AOP  (0) 2021.08.04

스프링 프레임워크의 특징 : "IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크"

IOC(Inversion of Control) : IoC(제어의 역행)는 낮은 결합도와 높은 응집도를 더 편리게 할 수 있으며 간단하게 말하면 소스의 의존관계가 명시되지 않으므로 결합도 떨어져서 유지보수가 편하다.

AOP(Aspect Oriented Programming): (AOP)관점지향 프로그래밍은 핵심 비즈니스 로직과 각 비즈니스 메소드마다 반복해서 등장하는 공통 로직을 분리함으로써 응집도가 높게 개발할 수 있도록 지원한다. 쉽게 이해하자면 자주 사용하는 메소드를 따로 파일을 만들어 다양한곳에서 사용하는 것이다.

 

 

위에 내용은 "스프링 퀵 스타트"의 책을 공부하며 이해한 내용을 바탕으로 작성한 글입니다.

'프레임워크 > 스프링' 카테고리의 다른 글

스프링 DB연결 흐름도  (0) 2021.08.26
스프링 공부 - 컨테이너-  (0) 2021.08.05

그동안 jsp페이지로만 만들며 로그인, 회원가입, 게시판 리스트 만들기를

서블릿을 통해 호출하고 보내는 방식으로변경 

하루에 한가지에서 많으면 두가지 기능씩 추가하는데 생각보다 시간이 오래 걸린다.

 

게시판 틀 디자인 - css색 맞추다 보니.. 페이스북 같기도...

일자별로 올렸던 국비교육과정을  조금 더 뚜렷한 변화를 확인할 수 있게 프로젝트별로 올리도록하겠습니다.

 

'공지사항' 카테고리의 다른 글

티스토리 블로그 1일차 시작  (0) 2021.07.06

오늘 배운것

  1.  제이쿼리 맛보기
  2.  게시판 패스워드 변경 
  3. 홈페이지 로그인시 마이프로필 설정

로그인 화면(홈페이지)

2.myinfo(내정보)에 들어가기전 비밀번호 확인

3. myinfo(내정보)에서 비밀번호 변경기능 추가

 

+ Recent posts