본문 바로가기
반응형

전체글458

SpringBoot 1.4.0 Test 적용하기 (2) 2. @WebMvcTestDataJpa 어노테이션이 Repository (Dao) 에 대한 테스트라면 WebMvcTest는 Controller을 위한 테스트 어노테이션이다.Scan 대상은 아래와 같다.@Controller@ControllerAdvice@JsonComponentFilterWebMvcConfigurer and HandlerMethodArgumentResolverMockMvc를 자동으로 지원하고 있어 별도의 HTTP 서버 없이 Controller 테스트를 진행할 수 있다.사용법 역시 간단하다.@RunWith(SpringRunner.class) @WebMvcTest(HomeController.class) public class WebMvcTest { @Autowired private MockMv.. 2016. 9. 8.
SpringBoot 1.4.0 Test 적용하기 (1) 공식문서를 참고하며 기록하는 SpringBoot Test 적용하기TDD를 기반으로 프로젝트를 시작하는 예제 테스트 코드를 통해 Entity와 Dao 구현 테스트 코드를 통해 Controller 구현 테스트 코드를 통해 Oauth 인증 구현 TDD로 실전 프로젝트를 해본적이 없어 개인적으로 만들 서비스의 예행연습으로 보고 진행함을 먼저 얘기한다.1. @DataJpaTestSpringBoot에서 JPA만 테스트할 수 있도록 제공하는 어노테이션개발의 첫 단계인 Entity 설계 단계에서 불필요한 코드 작성 없이, Entity간의 관계 설정 및 기능 테스트가 가능해졌다.예를 들자면 View를 만들거나, Controller를 작성하는 것 등등 Entity 설계 확인을 위한 코드 작성이 필요없어졌다.사용법은 간단하.. 2016. 9. 8.
2016/09/01 JSCON 2016 참석 후기! 작년에 JSCON2015를 참석하고 굉장히 재밌었던 경험이 있어 (회사지원으로 공짜라서 더 그런걸까!?) 올해도 개최만 기다리다가 바로 신청했다. 경력관리 세미나와 같이 토크보다는 기술전달이 대부분이라 관심없으신 분들은 크게 재미를 못느낄수도 있을 후기임을 먼저 말씀드린다. (혹시나 다른 세미나 정보도 알고 싶다면 제 Github를 star 하시거나, 블로그를 feed 받으시면 됩니다. 꾸준히 세미나 참석하여 후기를 남기고 있습니다.) (사진속에 남자들만 있지만 여성분들이 굉장히 많이 참석하셨다. 역시 프론트엔드분야는.. 좋다!?) PyCon의 열기를 이어 2016년 09월 01일 JSCON2016 개최! (둘의 관계는 1도 없다는것은 함정) 회사차원에서 지원받아 공짜 + 꽁연차로 참가! 행사 관련 내용.. 2016. 9. 1.
Swagger로 API 문서 자동화하기 일반적으로 여러명이서 개발하는 웹 서비스에서 단일 프로젝트가 DB에서 데이터를 가져오고, 화면을 그려주고, 회원정보를 저장하는등 모든것을 담당하진 않는다. 아무리 간단한 구조라해도 아래와 같은 형태정도는 유지한다. (웹구조)이런 구조로 처음 개발하거나 혹은 유지보수를 진행 중인 경우, 해당 API서버가 어떤 Spec을 가진 데이터를 주고 받는지에 대한 문서작업이 꼭 필요하다. 하지만 이런 문서작업은 굉장히 시간이 많이들고, 매번 기능이 추가되거나 변경될때마다 작업하기가 여간 귀찮은게 아니다. 그러다보니 이런 API Spec 문서를 자동화 하는것이 나오게 되었다. SwaggerSwagger는 간단한 설정으로 프로젝트에서 지정한 URL들을 HTML화면으로 확인할 수 있게 해주는 프로젝트이다. 백마디 말보다는.. 2016. 8. 28.
Freemarker(프리마커) 안전하게 사용하기 Freemarker(프리마커)는 현재 Java 진영에서 가장 대중적인 View Template Engine이다. (공식사이트) JSTL이나 Velocity같은 경우 업데이트가 이미 2~3년 전에 정지된 상태이고, Handlbar.java나 Thymeleaf는 아직까지 널리 퍼지진 않아서 많은 회사에서 사용중이다. (JSP 사용중이라면... 신규 프로젝트는 Freemarker로 바꾸자 아니면 Handlebar.java도 괜찮다) 공식 레퍼런스가 굉장히 잘되어있고, 기능도 좋아 거의 모든 프로젝트에서 Freemarker를 사용중인데 실제 서비스에서 사용하려면 몇가지 안전장치가 필요하여 소개한다. (문법이나 소개글이 필요하다면 여기를 참고하자) 모든 코드는 Github에서 관리중이니 코드를 보면서 읽으면 더욱.. 2016. 8. 5.
IE 7/8에서 Mysq timestamp/datetime값으로 Date 생성하기 보통 DB의 timestamp 값을 Javascript의 Date로 만들때 가장 쉽게할 수 있는 방법이 Date의 생성자에 문자열을 넣는것이다.예를 들면 var date = new Date('2016-08-03 12:00:00'); 이렇게 생성해주면 가독성에도 좋고 (누가봐도 2016-08-03 12:00:00의 Date 값을 얻을려는것인지 알수있으니), DB의 값 그대로를 넣으면 되니 코드 작성도 편해서 생각 없이 만들었다가 IE 7/8에서 안되는 문제가 발생했다 ㅠㅠㅠ...해당 형태의 생성자를 IE 7/8에성 지원을 안하는 문제인데 그럼 다른 방식의 생성자를 써야하게 생겼다. 아래 W3C에서 가이드하는 Date의 생성자들을 보자. 가독성의 문제가 있어 milliseconds 타입이나 dateStrin.. 2016. 8. 3.

728x90