본문 바로가기

전체글690

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.
ServletContainer? DI Container? Bean? POJO? 매주 월/목요일 저녁마다 박재성(a.k.a 자바지기)님의 Java 강의를 수강중이다. (현재 1기인데 다음 2기가 시작되면 꼭꼭 듣길 추천한다. 참고)매 시간마다 즐거운 깨달음의 연속이지만 특히나 어제 (2016년 7월 29일)의 경우 그동안 답답했던 내용들이 속시원하게 해결이 되어 기쁜 마음에 아침부터 정리를 하게 되었다. (풀렸다!!) SpringFramework는 웹 프레임워크가 아니다. Java기반의 프레임워크로서 여러 모듈로 구성되어 있는데, 이중 웹 어플리케이션을 만들고자 등장한게 SpringMVC 모듈이다SpringMVC를 사용중 이라면 자주 만나는 용어가 Servlet Container(서블릿 컨테이너) 와 DI Container (DI 컨테이너 혹은 Spring Container, IoC.. 2016. 7. 29.
@Bean vs @Component Spring으로 개발을 하다보면 @Bean과 @Component를 언제 써야할지 헷갈릴때가 있다.둘다 목적이 명확하지 않은 Bean을 생성할때 사용하는 어노테이션인데 왜 2개로 나누어져있나 궁금했었는데, 박재성님의 강의를 통해 둘의 차이를 알게 되었다. (@Bean) (@Component) 위 코드를 보면 알수있는데 @Bean의 경우 개발자가 컨트롤이 불가능한 외부 라이브러리들을 Bean으로 등록하고 싶은 경우에 사용된다. (예를 들면 ObjectMapper의 경우 ObjectMapper Class에 @Component를 선언할수는 없으니 ObjectMapper의 인스턴스를 생성하는 메소드를 만들고 해당 메소드에 @Bean을 선언하여 Bean으로 등록한다.) 반대로 개발자가 직접 컨트롤이 가능한 Clas.. 2016. 7. 29.