purplely88's home

개요

2019년 8월 말부터 시작한 신규 프로젝트에서 웹 프로그래밍 쪽에 프레임 워크를 스프링 부트로 선택한 후 2019년 12월에 릴리스를 완료했습니다.

 

지금까지 프레임 워크 스트럿츠 2 위주로 개발을 했던 저로써는 여러 가지 당황하면서 안절부절못했던 점이 있었습니다만, 여하튼 현재로써는 잘 마무리되어 한편으로는 뿌듯함이 남습니다.

 

이번 기회에 스프링 부트를 잘 정리하여 기초적인 마무리를 짓기 위해 이 글을 작성하였습니다.

 

애플리케이션 구성

이번에 개발해 볼 웹 애플리케이션의 구성은 다음과 같습니다.

 

스프링 : 5

스프링 부트 : 2.0.4

DB : H2

* 스프링 시큐리티, JDBC, Mybatis와 같은 건 필요시에 즉시 추가하는 구성으로 진행합니다.

 

스프링이란?

스프링은 자바 개발에 있어서의 하나의 프레임 워크입니다.

프레임 워크는 개발을 효율적으로 하기 위한 하나의 툴, 즉 도구입니다. 

프레임 워크를 이용하면 개발에 있어서 너무나도 편리해지기 때문에, 현장에서 프레임 워크를 이용하는 것이 대부분입니다.

 

한 가지 예를 들어보겠습니다.

데이터 베이스에 액세스 하기 위해 매번 새로운 클래스를 작성하는 건 상당히 고된 일입니다. 

이러한 자주 사용하는 기능들을 사용하기 쉽게 정리해둔 것이 프레임 워크입니다.

 

스프링은 이 외에도 여러 가지 특징을 가지고 있습니다.

 

스프링 특징

1. 변경(갱신)에 강하다.

DI(의존성 주입)을 사용함으로써, 각 클래스의 독립성을 높여줍니다. 

이러함에 있어서 클래스에 코드 내용 수정량도 극히 적어지게 됩니다.

(독립성이 높다는 말을 간단히 풀어보면, 다른 클래스와의 연결고리가 약해 해당 클래스만 수정하면 된다는 것입니다.)

 

2. 코드 가독성이 높다.

AOP(에스팩트 지향 프로그래밍)을 이용하여, 공통 처리를 모으는(정리하는)것이 가능합니다.

예를 들어, 로그 출력이나 시큐리티 설정과 같은 것을 하나의 클래스로 정리하는 것이 가능합니다.

이로 인해 본질적인 처리만 작성한 코드가 되어, 가독성을 높입니다.

 

3. 재이용성이 높다.

AOP(에스팩트 지향 프로그래밍)를 이용하면, 공통 처리와 본질적인 처리를 분리하는 것이 가능합니다.

이로 인해 공통 처리만 재이용하는 것이 가능할 뿐만 아니라 본질적인 처리만 재이용하는 것도 간단하게 가능합니다.

 

스프링의 이미지

[ 스프링 부트 ]

[ 시큐리티(스프링 부트), 데이터 액세스(스프링 데이터 JDBC), Web(스프링 MVC), 배치(스프링 배치) ]

[ 스프링 코어(스프링 DI, 스프링 AOP) ]

 

1. DI

DI는 Dependency Injection(의존성 주입)의 약어로, 간단히 말해 인스턴스 관리를 해주는 것이라고 생각하시면 됩니다. 여기가 스프링의 핵심 코어가 되는 부분입니다.

(상세 설명은 추후)

 

2. AOP

AOP는 Aspect Oriented Programming의 약어로, 에스팩트 지향 프로그래밍이라고 불립니다. 

공통 처리를 정리해두는 것이 가능하기 때문에, 본질적인 프로그래밍만 전념할 수 있습니다.

(상세 설명은 추후)

 

3. 스프링 MVC

웹 개발에 설계 방법에 있어 MVC 모델이라는 것이 있습니다.

MVC 모델을 이용하여, 웹 애플리케이션 개발이 가능하도록 하는 것이 스프링 MVC입니다.

 

4. 스프링 부트

스프링 MVC를 이용하여 웹 애플리케이션을 개발하려고 하면, 사전에 많은 설정이 필요합니다.

그 설정이 생각보다 복잡하고, 상당 부분 지식도 필요하기에 개발 시작단계부터 개발 속도가 상당히 떨어지게 됩니다.

 

이러한 문제점을 해소한 것이 바로 스프링 부트입니다.

 

스프링 부트를 이용하면, 처음부터 설정이 잘 되어있기 때문에 바로 개발을 진행할 수 있습니다.

또한, 설정을 변경하여도, 하나의 설정 파일을 수정하는 것만으로도 완료됩니다.

 

스프링으로 웹 개발을 할 때는, 스프링 부트를 이용하는 것이 일반적이라고 생각하시면 될 거 같습니다.

 

5. 스프링 시큐리티

웹 애플리케이션에 있어서 시큐리티 설정을 간단히 코딩하는 것이 가능합니다.

그 안에 내용은 인증과 허가입니다.

인증이란 로그인 기능, 허가는 유저 권한에 있어 기능 제한이라고 생각하시면 될 거 같습니다.

(상세 설명은 추후)

 

6. 스프링 데이터 JDBC

스프링 데이터란 데이터 베이스 제품별로 다른 조작을 간단히 사용할 수 있도록 하기 위한 프로젝트입니다.

이 스프링 데이터 프로젝트 안에 JDBC를 스프링에 합쳐서 이용할 수 있게 한 라이브러리가 바로 스프링 데이터 JDBC입니다.

 

JDBC란 자바를 사용하여 데이터 베이스에 액세스 하기 위한 표준 API입니다.

JDBC를 사용하면, Select문 하나만을 실행하기 위해도 상당수의 코드가 필요합니다. 

여기서 스프링 데이터 JDBC를 이용하면 SQL문 실행이 간단하게 가능합니다.

 

스프링 데이터에는 JDBC 외에도 JPA, MongoDB 등의 라이브러리도 있습니다.

 

마무리

다음 글부터는 웹 애플리케이션을 직접적으로 작성해보겠습니다.

 

こんにちは。purplely88です。


今回はXperia Z3 Teblet Compact(Z3TC)でpsリモートを最適化する方法を

紹介しようと思っております。



現在Xperia Z3 Tablet Compact(Z3TC)のpsリモートの現状

Xperia Z3 Tablet Compact(Z3TC)でpsリモートをしたら、なぜかDelayがあり、

操作しづらい状況になっております。



Xperia Z3 Tablet Compact(Z3TC)のpsリモートの最低方法

まず、Xperia Z3 Tablet Compact(Z3TC)のOSバージョンをチェックしてみましょう。

で、OSバージョンが5.0以上(Lolipop)の場合は対象になります。


Xperia Z3 Tablet Compact(Z3TC)のpsリモートを最適にプレイする方法はOSバージョンを4.4.4(Kitkat)に

ダウングレードすればオッケーです!

(ダウングレードする方法はネット常に結構あるので,それを参考して頂ければ幸いです。)


まとめ

Xperia Z3 Tablet Compact(Z3TC)のpsリモートを最適にプレイするためには,

OSバージョンが4.4.4(Kitkat)になればオッケー!