Java App 배포용 Docker Base Image 만들기

Docker로 Java App를 배포를 할 때마다 매번 JDK 설정과 파일을 복사하는 것이 낭비인 것 같아서 별도로 이미지로 만들기로 했다.
기본 JDK와 설정만 되어 있는 이미지를 만들어 놓으면, 차후 배포용 앱 이미지를 만들때 반복 작업을 하지 않아도 된다. 추가로 이미지 생성에서 발생할 수 있는 실수도 줄어 들것이다.

Underscore. Scala의 마법.

Scala에서 Underscore(_)의 자주 사용하게 된다. _ (Placeholder)라는 표현을 쓰는 것 같은데 맞는지 모르겠다. 이하는 내용에서는 Underscore(_)이라고 일반화해서 이야기하겠다. 용도는 “그때그때 달라요!”다. 쓰이는 곳에 따라 완전히 다른 의미를 가진다.

다양한 쓰임새 중에 본인이 알고 있는 수준에서 정리해보았다.

Type Classes. Scala의 Implicit 마법의 결정체

본인은 Java를 주력 개발언어로 사용하는 개발자이다. 새로 Scala로 공부하면서 가장 힘든 부분 중에 으뜸은 Implicit 인 것 같다. 하지만 Implicit를 이해하고 나면 Type Class라는 멋진 패턴을 만날 수 있다. Type Classes에 대해서 잘 모르지만 여기저기 자료를 찾아보고 이해한 수준으로 정리하고자 한다.

이 글은 읽기 전에 Implicit에 대해서 먼저 이해하기 바란다. Scala에서는 Implicit 키워드를 이해하지 못하면 Type Classes 코드 자체를 이해할 수 없다. 반드시 이해하고 진행하자.

그리고 여기서 Type Classes 패턴은 Scala 기준으로 설명한다. Type Classes 패턴이 하스켈에서 유래됐다고 한다. 하스켈은 잘 몰라서 Scala에서 본인이 학습한 기준으로 설명하겠다. 더 깊게 알고 싶으신 분들은 다른 글을 참고하길 바란다.

Implicit. Java Programmer가 본 Scala의 마법같은 기능.

본인은 주로 Java 개발을 주업무로 하고 있다. Java 개발자로서 Scala 학습하면서 몇 가지 마법 같은(?) 기능을 접할 때마다 놀라움과 당혹감을 감출 수가 없다. 옮고 그름을 넘어 신비로울 정도이다.
본 글에서는 본인이 이해한 수준의 Implicit에 대해서 정리해보고자 한다.

AWS VPC 간단 구성 정리

이 글은 네트워크망에 대한 기본 지식이 있다고 전제로 작성하였다. 세부적인 설정은 제외하고 큰틀에서 VPC를 생성하는 방법을 순서대로 다른다. 디테일 설정은 AWS 관련 문서를 참조 바란다.

GraalVM. Reboot JDK.

Reboot JAVA = GraalVM

1995년 JAVA 발표되고 이제 햇수로 27년이 되었다. 사람 나이로 27살이면 이제 청년이다. 여러 버전의 JAVA가 출시됐고 계속해서 새로운 기술이 추가되고 있고 있지만 어느 순간 정체되었다는 느낌을 떨칠 수가 없다. 한창이어야 할 청년이 급 늙어 버린 것 같은 느낌이다. 다이내믹하게 변하고 있는 NodeJS가 나온 JavaScript 진영이나 네이티브 개발에 쓰이는 GO, 하물며 JVM에서 돌아가는 Scala 같은 언어들에 비해 점점 죽어가는 느낌이다. 이런 상황에 변화를 가져올 것 같은 하나의 플랫폼을 오늘 소개하고자 한다.

블로그 오픈

개발을 배우고 개발로 먹고살면서 개인적으로 여러 목적으로 웹사이트 열었다 닫았다를 반복해왔다. 초기에 엄청난 열의로 사이트를 열었다가 시간이 지남에 따라 열의가 사라져 없어진 경우도 있고, 사이트 목적 자체가 사라져 같이 사라진 경우도 있다. 그래서 20년 “전산쟁이” 인생에서 개인 웹사이트에 대한 개똥철학 같은 것이 생겼다.
그런 개똥철학으로 이번에 난생처음 블로그란 것을 오픈해보았다.

시작하며...

글쓰기를 시작하며…

학창 시절에 정리 목적으로 열심히 개인 WIKI를 운영한 적 있었다. 개인적으로 유용했던 것 같다.
사회에 나와서 바쁜 업무와 정리보단 스크랩 위주로 변한 학습 패턴 때문인지 지금은 운영했던 소스조차 찾을 수가 없다.

요즘 조금 시간이 나면서 다시 잘 알지는 못하지만, 요즘하고 있는 일들이나 흥밋거리에 대한 팁들을 정리해보고자 한다.