반응형

개발 330

[Spring] 제어의 역전(Inversion of Control)

제어의 역전(Inversion of Control)성격이 다른 책임이나 관심사는 분리해버려야 한다.팩토리 : 객체의 생성 방법을 결정하고 그렇게 만들어진 오브젝트를 돌려주는 것public Class DaoFactory { public UserDao userDao() { // 팩토리의 메소드는 UserDao 타입의 오브젝트를 어떻게 만들고, 어떻게 준비시킬지를 결정함 ConnectionMaker connectionMaker = new DConnectionMaker(); UserDao userDao = new UserDao(connectionMaker); return userDao; } } 위와 같은 코드를 작성해주었기에 Test 클래스에서는 이제 해당 팩토리 클래스의 메소드만 호출하면 되도록 바뀌었다.pu..

개발/Spring 2018.07.24

[Vue.js] Template Syntax

템플릿 문법Vue.js 는 렌더링 된 DOM 을 기본 Vue 인스턴스의 데이터에 선언적으로 바인딩 할 수 있는 HTML 기반 템플릿 구문을 사용한다. 모든 Vue.js 템플릿은 스펙을 호환하는 브라우저 및 HTML 파서로 구문 분석할 수 있는 유요한 HTML 이다.내부적으로 Vue 는 템플릿을 가상 DOM 렌더링 함수로 컴파일한다. 반응형 시스템과 결합된 Vue 는 앱 상태가 변경될 때 최소한으로 DOM 을 조작하고 다시 적용할 수 있는 최소환의 컴포넌트를 지능적으로 파악할 수 있다.가상 DOM 개념에 익숙하고 JavaScript의 기본 기능을 선호하는 경우 템플릿 대신 렌더링 함수를 직접 작성을 할 수 있으며 선택사항으로 JSX 를 지원한다.보간법(Interpolation)문자열데이터 바인딩의 가장 기..

개발/Front-End 2018.07.11

[Vue.js] vue instance

Vue 인스턴스Vue 인스턴스 만들기모든 Vue 앱은 Vue 함수로 새 Vue 인스턴스를 만드는 것부터 시작한다.var vm = new Vue({ // 옵션 }) MVVM 패턴과 관련이 없지만 Vue의 디자인은 부분적으로 그것에 영감을 받았다. 컨벤션으로, Vue 인스턴스를 참조하기 위해 종종 변수 vm(VieModel 의 약자) 를 사용한다.Vue 인스턴스를 인스턴스화 할 때에는 데이터, 템플릿, 마운트할 엘리먼트, 메소드, 라이프사이클 콜백 등의 옵션을 포함할 수 있는 options 객체를 전달해야한다. 전체 옵션 목록은 https://kr.vuejs.org/v2/api/ 여기서 찾을 수 있다.Vue 생성자는 미리 정의된 옵션으로 재사용 가능한 컴포넌트 생성자를 생성하도록 확장될 수 있다.Vue 앱은..

개발/Front-End 2018.07.10

[Vue.js] Vue.js introduction

Vue.js 란?프론트엔드 자바스크립트 프레임워크이다. Vue.js 는 View 에만 초점을 두기 때문에 다른 라이브러리와 프레임워크와 혼용하기 쉽다고 한다.Vue.js 를 불러오기 위해선 Vue.js 에서 제공하는 CDN 주소에서 unpkg 에서 제공하는 링크를 사용하면 된다. 선언적 렌더링Vue.js 의 핵심은 간단한 템플릿 구문을 사용해 선언적으로 DOM 에 데이터를 렌더링하는 것이라고 한다. {{ message }} var app = new Vue({ el: '#app', data: { message: 'vue 하이룽' } }) vue 하이룽 마우스 올리면 동적으로 바인딩 된 title 을 볼 수 있음 var app2 = new Vue({ el : '#app-2', data: { message: ..

개발/Front-End 2018.07.09

[Spring] Spring Pageable 사용법

Spring JPA 를 사용하면서 Pageable 이라는 것을 사용해보았는데 정말 편하다. 공식문서에 따르면 pageable 에서는 page, size, sort 라는 파라미터를 사용할 수 있다고 한다. 각 파라미터의 의미를 생각해보면 무척 쉽다. @GetMapping("/board") public List getAllBoard(Pageable pageable) throws Exception { return boardService.findAll(pageable); } 다음과 같이 controller 메소드에 파라미터로 Pageable 인터페이스를 받고, 해당 url 에 접속할 때 http://localhost:8080/board?size=3 와 같이 쿼리스트링으로 받으면 해당 사이즈만큼 리스트를 반환한다..

개발/Spring 2018.06.12

[Spring] Spring WebFlux reactive mongo PropertyReferenceException 해결

우선 필자는 Spring WebFlux 에 reactive mongo 를 사용 중이었다. 그리고 UserRepository 라는 인터페이스에 ReactiveCrudRepository 클래스를 상속 받게 해놓았다. package com.kjh.hojak.repository; import com.kjh.hojak.model.User; import org.springframework.data.repository.reactive.ReactiveCrudRepository; import reactor.core.publisher.Mono; public interface UserRepository extends ReactiveCrudRepository { Mono findByWriter_id(Mono writer_id..

개발/Spring 2018.06.02

[Spring] Spring 5, WebFlux Swagger 지원안함

Spring WebFlux 에 Swagger 를 적용해보려고 했는데 깃허브에 Springfox 프로젝트에 issue 를 보니까 지원을 하지 않는 것 같다. 물론 Spring 5도! 참조 링크 : https://github.com/springfox/springfox/issues/1773/ 해당 이슈에 마지막 쯤에 이런 코멘트가 달려있다. Recap:Sping 5 (spring-data-rest 3) dropped support for Javas older that Java 1.8.Spingfox projects are written and compiled in Java 1.6 (WTF?)Springfox can not support Webflux or spring-data-rest at all withou..

개발/Spring 2018.06.01

[Java] 특정 날짜 기간 출력하기

특정 날짜 기간에 대한 데이터를 조회하는 코드이다. 예를 들어보자~2018.04.10 ~ 2018.06.09 까지의 대한 날짜에 대한 데이터를 모두 출력하고 싶다. 데이터는 다음과 같이 출력이 되어야 한다. 2018.04.10 ㅎㅇ 2018.04.11 ㅂㅇ ~~~ 2018.04.30 ㅇㅈ ~~ 2018.05.01 ~~ 2018.05.31 ㅃㅇ ~~ 2018.06.09 ㄱㅁㄸ 우선 중간에 달에 대한 마지막 날짜를 알아야 하며, 연도가 다를 때도 생각해보야 한다. SimpleDateFormat currentDate = new SimpleDateFormat("yyyyMMdd"); Date date = new Date(); // 해당 월의 마지막 날짜를 구하기 위함 date = currentDate.parse(..

개발/Java 2018.05.31

[Web] Nginx 란

NGINX이번에는 NGINX 에 대해서 정리를 해보겠다.nginx 는 트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반 구조의 웹서버이다.Introduction우선 웹서버로 기존에 apache 가 존재했었다. apache 는 다양한 기능과 써드파티 확장기능과 함께 어떠한 웹 어플리케이션 개발에도 적용할 수 있는 웹서버가 되었지만, 클라이언트 접속 당 CPU 와 메모리 사용량이 증가함으로써 확장성이 떨어진다는 단점이 있었다.그래서 대량의 클라이언트를 관리하기 위한 웹서버가 필요시되었고, 그래서 나온 것이 nginx 였다.nginx 는 event 기반으로 동작하기 때문에 apache 와 같이 각각의 웹페이지 요청을 처리하기 위해 새롱누 precess or thread 를 생성하지 않는다..

개발/Web 2018.05.02

[Spring] Spring WebFlux 예제

Spring WebFlux 에 대한 간단한 예제 코드를 작성해보았다. 우선 이전에 WebFlux 에 대한 글을 작성했었지만, 다시 간단하게 WebFlux 가 무엇인지에 대해서 알아보고 가겠다. Spring WebFlux 는 비동기-논블록킹 리엑티브 개발을 할 수 있으며 효율적으로 동작하는 고성능 웹 어플리케이션 개발을 할 수 있는 서비스 간 호출이 많은 마이크로서비스 아키텍처에 적합한 프레임워크이다. (참고로 Spring WebFlux 는 기본적으로 tomcat이 아닌 netty 를 사용하고 있다.) 필자는 Spring Boot 2.0.1 버전을 사용하였다. org.springframework.boot spring-boot-starter-webflux org.springframework.boot spri..

개발/Spring 2018.04.30
반응형