본문 바로가기

JAVA

'Make JAR, not WAR.' - Josh Long Satyajit Nalavade 가 쓴 블로그를 번역한 내용입니다. 오역이 있을 수 있으니, 원본을 보시기 바랍니다. 실행 가능한 JAR는 자체적으로 실행 가능한 응용 프로그램을 패키지화하는 편리한 방법입니다. 이렇게 하면 종속성을 최소화할 수 있습니다. 클라우드 환경에 친화적이고 편리합니다. (자신의 컨테이너를 가져오세요). 여러 어플리케이션에 의해 어플리케이션 서버를 공유하는 것은, 여러 어플리케이션을 WAR로 포장하는 이유 중 하나였습니다. 스프링 부트는 메이븐 과 그레들로 빌드 됩니다. 애플리케이션 실행에 필요한 모든것을 버전관리 할 수 있습니다. 쉬운 확장이 가능 합니다. 다른 서버에서 인스턴스를 복사해서 실행만 하면 됩니다. TomEE, Wildfly. Websphere 등의 컨테이너를 위한 .. 더보기
유연한 솔루션보다 단순한 솔루션을 선택하자 들어가며 이 글은 thinkingsideways.net 에 올라온 글을 번역한 글입니다. 원 저작자의 번역 동의를 받지는 않았으며, 문제시 삭제 될 수 있습니다. 또한, 이 글의 내용에 대해 옳고 그름을 판단하지 않습니다. 오역이 충분히 발생할 수 있으니, 될수 있으면 원문을 보시기 바랍니다. 혹시, 오역된 부분을 알려 주시면 수정하도록 하겠습니다. 미리 감사합니다. 본문 내 경험상, 소프트웨어 개발은 단순성의 가치에 보다는 유연성에 중점을 두고 있습니다. 많은 개발자가 앞으로 발생할 수 도 있는 문제를 처리할 수 있도록 코드를 작성하려고합니다. 그들은 문제에 대한 해결책을 찾기 위해 점을 치는 것입니다. 예측이 옳다면 잘 해결 될 수 있습니다. 그러나 대부분의 경우 이러한 유연성은 코드에 불필요한 복잡.. 더보기
JAVA 8 핵심만 정리했다 들어가며 JAVA 12 가 나오는 마당에 아직도 어쩔수 없이(?) JAVA 8을 사용하지 못하는 사람들을 위해 JAVA 8 의 기본 사항만 짧게 정리해 봤다. 이런 강좌(?) 같은 글을 처음 써 보기 때문에 확신할 수 는 없지만, 대략, 자바 초보부터 전문가 까지 두루두루 읽고 이해할 수 있게 작성하는 것이 목표다. 새로운 기능 JAVA 8 은 JAVA 의 중요한 릴리즈 버전 중 하나를 말한다. 2014년에 최초 릴리즈 되었으며, 다음의 기능을 지원한다. Lambda expression - 자바에서 Functional 프로그래밍이 일정 부분 가능해졌다. Method reference - 함수를 파라메터로 사용할 수 있다. Default method - 인터페이스에서 기본 메소드를 구현할 수 있다. New.. 더보기
ToStringBuilder 에서 null 값 제외하기 지금 담당하는 프로젝트에서 AOP 로 각 메소드의 인/아웃 정보를 출력하는 코드가 있다. public 으로 된 모든 메소드에 대해 인/아웃 정보를 출력하기 때문에, 서비스의 호출이 많아 질수록 로그도 급격히 늘어 나는 구조다. 여러 이유로 인/아웃 정보를 포기 할 수 없는 상황에서 null 인 값은 찍지 않아도 된다는 확답을 받아, 아래의 코드를 사용하여 null 인 데이터는 제외하도록 처리 했다. log.info("[ARGS] {} ", ToStringBuilder.reflectionToString(args, NotNullToStringStyle.NOT_NULL_STYLE)); class NotNullToStringStyle extends ToStringStyle { public static final.. 더보기
Migrate to Java9 Migrate to Java91995년 이래로 Java는 끊임없이 발전하여 세계에서 가장 많이 사용되는 프로그래밍 언어중 하나가 되었습니다. 그리고, 2017년 Java9 이 출시 되었습니다.각 Java 릴리스에는 크고 작은 기능이 추가 되었고 Java9도 예외는 아닙니다.현재 응용프로그램을 Java9로 마이그레이션 할 시기를 찾고 있다면 계획을 행동에 옮기기 전에 중요한 몇가지 사항을 고려해야 합니다. 여기서는 Java9로 마이그레이션 하기 위해 해결해야 할 일반적인 문제를 다룹니다.Java9로 마이그레이션을 진행할때 살펴볼 중요한 주제는 다음과 같습니다.Java8 에서 Java9 로 마이그레이션하는 방법 과 이를 보다 쉽게 수행하는 방법JDeps 도구를 사용하여 코드를 검사하는 방법Java Jigsa.. 더보기
오라클 : Java SE 8 비즈니스 사용자는 내년 1 월부터 라이센스를 구입해야합니다. 오라클은 상용 라이센스를 구입하지 않는 한 Java SE 8의 비즈니스 사용자는 2019 년 1 월 이후 더 이상이 소프트웨어에 대한 공개 업데이트를받지 못할 것이라고 경고했습니다. 개인적 용도로 Java를 사용하는 사람들은 적어도 2020 년 말까지 Oracle Java SE 8 업데이트와 동일한 액세스를 계속 유지할 것입니다. "대부분의 경우 실행하는 Java 기반 응용 프로그램은 오라클을 제외한 다른 회사 (예 : PC에서 게임하는 게임은 게임 회사에서 개발할 가능성이 높음) "라고 성명서를 통해 발표했습니다 . "이러한 애플리케이션은 Java 플랫폼에서 실행될 수 있으며 2020 년 이후의 Oracle Java SE 8 업데이트에 종속적 일 수 있습니다. 따라서 애플리케이션 지원을 계속 제공 할 .. 더보기
모든 레벨의 프로그래머를 위한 10가지 Java 블로그 Vlad MihalceaVlad Mihalcea는 세계 정상급의 Java 전문가이자 고도의 기술을 갖춘 멘토입니다. Vlad는 2014년부터 블로거이자 선생님으로 활동 해 왔으며, 현재 한 달에 약 75,000 명이 방문합니다. 가장 최근에 Vlad는 Hibernate를 살펴보고 새로운 팁, 트릭 및 베스트 프랙티스를 올리고 있습니다. 다양한 기사를 통해 모든 수준의 개발자가 사용할 수 있는 정보가 있습니다.Vlad의 블로그는 큰 성공을 거두었고, 그는 기존 기사를 활용하고 새로운 콘텐츠를 작성하여 고성능 Java 지속성(High-Performance Java Persistence) 이라는 책을 쓸 수 있었습니다. 이 책에서 Vlad는 Java의 데이터 액세스 성능 튜닝과 연결 관리, 배치 업데이트, 패.. 더보기
육각형 아키텍처(Hexagonal architecture) 개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다. 원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 원문보기 : http://alistair.cockburn.us/Hexagonal+architecture 육각형 아키텍처(Hexagonal architecture)UI 또는 데이터베이스없이 작동하도록 응용프로그램을 작성하여 응용프로그램에 대해 자동 회귀 테스트를 실행할 수 있습니다. 데이터베이스를 사용할 수 없어도 작동하며, 사용자의 개입 없이도 응용프로그램들을 연결할 수 있습니다.(http://blog.tai2.net/hexagonal_architexture.html에서 이 기사의 일본어 번역을 볼 수 있습니다.) (.. 더보기