Spring

DI (Dependency Injection)외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮춘다.스프링은 특정 위치부터 클래스를 탐색하고, 객체를 만들며 객체들의 관계까지 설정해준다. = 제어의 역전(IoC)어떠한 객체를 사용할지에 대한 책임은 프레임워크에게 넘어갔고, 자신은 수동적으로 주입받는 객체를 사용.한 객체가 어떤 객체에 의존할 것인지는 별도의 관심사이다.스프링은 의존성 주입을 도와주는 DI 컨테이너로써, 강하게 결합된 클래스들을 분리하고, 애플리케이션 실행 시점에 객체 간의 관계를 결정해줌으로써 결합도를 낮추고 유연성을 확보해준다. = 상속보다 훨씬..


Static vs DynamicStatic Pages : 데베에서 정보를 가져오거나 등 별도의 서버에서의 처리가 없어도, 사용자들에게 보여줄 수 있는 페이지어떠한 사용자가 오던간에 동일한 페이지를 보여준다.ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들Dynamic Pages서버에서 데베에서 정보를 가져와서 처리하는 것처럼, 어떠한 요청에 의하여 서버가 일을 수행하고 해당 결과가 포함된 파일을 보여주는 페이지사용자들마다 다른 페이지가 보여질 수 있다. Web Server vs WAS(Web Application Server)Web Server웹 서버는 클라이언트가 요청한 정적인 콘텐츠를 HTTP 프로토..


REST API(Representational State Transfer Application Programming Interface) - 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다. 구성 자원(Resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) : JSON, XML ,TEXT, RSS 등의 표현이 존재한다. 특징 Uniform(유니폼 인터페이스) : URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일. Stateless(무상태성) : REST는 무상태성 성격을 갖는다. 즉, 작업을 위한 상태정보를 따로 ..


SQL에 의존적인 개발 문제점 데이터 접근 계층을 사용해서 SQL을 숨겨도 어쩔 수 없이 DAO를 열어서 어떤 SQL이 실행되는지 확인해야함. 진정한 의미의 계층 분할이 어렵다 엔티티를 신뢰할 수 없다 SQL에 의존적인 개발을 피하기 어렵다. JPA(Java Persistence API) 자바 ORM 기술에 대한 API 표준 명세이다. 데베 설계 중심의 패러다임을 객체 설계 중심으로 역전시킬 수 있다. RDB는 같은 기능도 벤더마다 사용법이 다른 경우가 있다. EX 페이징 처리. 결국 애플리케이션이 데베에 종속되어 변경하기 어렵다 JPA는 추상화된 데이터 접근 계층을 제공해서 애플리케이션이 특정 데베 기술에 종속되지 않도록 가능하다. 특정 기능을 하는 라이브러리가 아니고, ORM을 사용하기 위한 인터페이..