기본 콘텐츠로 건너뛰기

7월, 2017의 게시물 표시

Springframework 5에서 바뀌는 것들에 대한 간단 정리 및 생각

Spring framework 5 에 대해 많은 분이 기대와 두려움을 가지고 계시지 않을까 생각합니다. 특히 기대를 하고 계신 분들은 Reactive Programming 지원을 기대하고 계시지 않은가 생각이 드는데요. 7월 초에 John Thompson 이란 분이 D-Zone에 아주 깔끔하고 멋지게 정리를 잘해서 글을 쓰셨더라구요. 해당 글은  https://dzone.com/articles/whats-new-in-spring-framework-5 에서 확인을 하실 수 있습니다. 혹시 Spring framework 5에서 달라지는 내용의 좀 더 자세한 내용이 필요하신 분들은 Spring framework github의 wiki 를 참고하시면 됩니다. 본 포스트는 언제나 그렇듯이 윗글에 대한 번역이 아닙니다. 그저 윗글을 다시 정리하면서 제 생각을 한번 정리해 놓은 포스트입니다. Spring framework 5는 현재 5.0.0.RC2(2017.07.23일 기준)까지 릴리즈된 상황입니다. Spring framework 5에서 크게 변화하는 내용을 John Thompson은 8가지로 깔끔하게 정리해주고 있습니다. 1. JDK 지원 버전의 업데이트 5버전은 원래 JDK 9 버전의 지원을 위해서 시작됐던 프로젝트로 알고 있는데 맞는지는 모르겠네요. JDK 9의 Release가 늦어져서 Spring framework 5가 먼저 Release 될 것으로 보이지만, JDK 9가 Release가 되면 언제건 적용할 수 있다고 합니다. 좀 아쉬운 부분은 JDK의 최소 버전은 JDK 8이라는 부분이 아닐까 싶네요. 이 때문에 Spring framework 5에 무관심한 분들도 많으실 거라고 생각합니다. 지금 진행하는 프로젝트는 JDK 8을 기반으로 합니다만, 최근까지 다니던 회사의 경우는 JDK 7까지가 업그레이드 한계였던 회사였습니다. 아마도 JDK 업그레이드를 쉽게 못 하시는 회사들이 많으니 "나랑은 관계없는 얘기군"

Docker Container OS Timezone 설정

정말 오랜만에 글을 올리는 것 같습니다. 오랜만에 쓰는 포스트인데 정말 단순한 내용이라 좀 쑥스럽네요. 그동안 집안일과 여러 가지 일이 겹치면서 개인 작업도 진행을 거의 못했고, 역시나 블로그에 글을 올릴 여유도 없었네요. 역시 가화만사성인가 봅니다. 오늘 포스트는 정말 간단한 내용입니다. 최근 그동안 작업하던 프로젝트의 테스트 서버 설정이 있었습니다. 테스트 서버는 Google의 Compute Engine을 이용했고 OS는 Ubuntu xenial을 이용했습니다. 사실은 Google Container Engine을 쓰고 싶었는데, 역시나 가격 문제를 무시할 수 없으므로 하나의 Instance에 여러 개의 Docker container를 docker-compose를 이용해서 실행하기로 했습니다. 설정을 끝내고 docker-compose up -d를 하고 이런저런 테스트를 진행하다 보니 timezone 설정이 UTC라 서버 시간이 다르게 들어가는 문제가 발생했습니다. 철저히 국내용 프로그램이다 보니 작업할 때 굳이 UTC를 고려하지 않고 프로그램을 짰거든요. 뭐 제 실력이 미천하기 때문이기도 하고요. 일단 Docker Container OS의 timezone을 맞추면 매우 간단히 해결되는 단순한 문제였습니다. 보통 검색을 통해 찾게 되는 내용은 다음과 같습니다. # Set timezone as specified in /config/etc/timezone echo "Asia/Singapore" > /etc/timezone dpkg-reconfigure -f noninteractive tzdata 또는 다음과 같습니다. ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime echo "Asia/Seoul" > /etc/timezone 뭐 비슷한 내용입니다. 그래서  Dockerfile에 아래와 같은 라인을 넣어봤습니다. ...