이상을 꿈꾸는 몽상가.. 프로그래밍을 좋아함..


  • Java Random - ThreadLocalRandom, SplittableRandom, SecureRandom


    https://openjdk.java.net
    ( 이미지 출처 : https://openjdk.java.net )

    Java에서 제공하는 Random 라이브러리에 대해서 알아봅니다.



  • Java Date - Instant, LocalDateTime, ZonedDateTime


    https://openjdk.java.net
    ( 이미지 출처 : https://openjdk.java.net )

    JDK 8부터는 Instant, LocalDateTime , ZonedDateTime 등이 추가됐다. 이 들은 immutable하고 thread-safe 하기 때문에 더 편하고 안전하게 날짜와 시간을 다룰 수 있게 되었습니다.

    Date의 대부분의 기능은 JDK 1.1부터 deprecated 되었고 JDK 7까지는 Calendar 혹은 GregorianCalendar를 이용해서 날짜와 시간을 다뤄왔지만 JDK 8부터는 그럴 필요가 없어졌습니다.



  • Java Validation - null check, Optional


    https://openjdk.java.net
    ( 이미지 출처 : https://openjdk.java.net )

    생성자 혹은 public/protected method는 입력 파라미터에 대해서 제약사항을 지키는지 확인해야합니다.

    오류는 가능한 한 빨리 (발생한 곳에서) 잡아야 한다.
    매개변수 검사를 제대로 하지 못하면 몇가지 문제가 발생할 수 있다.
    첫 번째, 메서드가 수행되는 중간에 모호한 예외를 던지며 실패할 수 있다.
    더 나쁜 상황은 메서드는 문제없이 수행됐지만, 어떤 객체를 이상한 상태로 만들어 놓아서 미래의 알수 없는 시점에 이 메서드와 관련없는 오류를 낼 때다.

    • 참조 : Effective Java 3/E 한글판 298 page, 아이템49

    이번 글에서는 가장 대표적인 검사대상인 null에 대한 체크 방법을 알아볼 예정입니다.



  • All Properties Of Spring Boot, Spring Cloud


    https://spring.io/
    ( 이미지 출처 : https://upload.wikimedia.org )

    Here’s links that have the properties you need to use Spring Boot, Spring Cloud.



  • Spring Boot, Spring Cloud의 설정정보 모음


    https://spring.io/
    ( 이미지 출처 : https://upload.wikimedia.org )

    Spring Boot, Spring Cloud의 설정정보들을 가진 공식 사이트 링크를 모아봤습니다.

    Spring Boot의 auto configuration을 통해 다양한 솔루션들을 쉽게 사용할 수 있습니다.
    튜토리얼 정도의 사용 수준에서는 입력할 설정정보가 몇개 안되지만 운영을 하는 과정에서는 그렇지 않습니다.

    솔루션들의 기능을 보다 더 잘 사용하기 위해서는 각각의 운영환경에 맞게 기본 설정값들을 변경할 필요가 생깁니다.



  • How to initialize Java variables - Array, List, Set, Map


    https://openjdk.java.net
    ( 이미지 출처 : https://openjdk.java.net )

    This post describes how to initialize a variable at the same time as declaring that.



  • Spring Boot Auto Configuration 설정과 원리


    https://spring.io/
    ( 이미지 출처 : https://upload.wikimedia.org )

    Spring Boot에서 제공하는 auto configuration을 설정하는 방법과 그 원리에 대해서 간략히 설명합니다.



  • Spring Boot Starter & Parent 로 간단히 의존성 설정하기


    https://spring.io/
    ( 이미지 출처 : https://upload.wikimedia.org )

    굉장히 쉽고 빠르고 정확하게 의존성 설정을 할 수 있도록 도와주는 spring-boot-stater와 spring-boot-stater-parent에 대해서 설명합니다.



  • 네트워크 연결여부 테스트 - 성공, 실패 케이스 기록


    시스템을 연동을 하기 전에 항상 두 시스템간의 네트워크 연결에 대해 체크가 필요합니다.
    간단하게 출발지 OS에서 telnet 명령어로 연결여부로 체크할 수 있습니다.

    하지만 프로토콜에 따라 성공 응답도 다르고 상황에 따라 실패 응답도 다양하기 때문에
    잠시 혼란을 가지게 되는 경우가 종종 있습니다.

    특히 시스템 운영 중에 문제가 생겼고 네트워크가 원인이라고 의심이 들 때 잘 못 판단할 가능성이 굉장히 높아집니다.
    그래서 케이스별로 기록을 시작해봅니다.



  • Ubuntu 18.04 LTS


    Ubuntu
    ( 이미지 출처 : https://upload.wikimedia.org )

    Ubuntu 18.04 LTS을 설치하고 설정하면서 겪은 문제점과 해결방안들을 기록해봅니다. (2019년도 4월 21일 기준)

    Ubuntu 14.04 LTS의 EoSS(End of Standard Support) 일정이 2019년도 4월이고 이제 10일도 남지 않았습니다. 저는 정말 알차게 EOSS 직전까지 사용한 것 같군요.

    Ubuntu 18.04 LTS도 2018년 4월 26일에 출시되어 벌써 1년 이상의 시간이 지났으니 한글입력에 대한 어려움 같은 신규버전 초기 문제점들이 많이 해결되었길 기대해봅니다.