Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 JUnit Rules은 테스트 케이스를 실행하기 전후에 추가 코드를 실행할 수 있도록 도와줍니다. @Before와 @After로 선언된 메서드에서도 실행 전후처리로 코드를 넣을 수 있지만, JUnitRules로 작성하면 재사용하거나 더 확장 가능한 기능으로 개발할 수 있는 장점이 있습니다. JUnit에서 기본적으로 제공하는 Rules은 다음과 같습니다. Rules설명TemporaryFolder테스트 전후로 임시 폴더 및 파일을 자동으로 생성하고 삭제한다ExternalResource외부 리소스에 대한 전후처리를 한다ExpectedExceptio..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 들어가며 회사에서 Zencoder API을 사용하게 되어 자바에서 작업을 시작하려는데, 아래와 같이 SSLHandshakeException이 발생해서 뭔가 문제인지 구글링을 하게 되었습니다. 이미 아시는 분들도 많지만, 다시 한번 정리를 해봤습니다. Zencoder API 작업 요청 주소https://app.zencoder.com/api/v2/jobs Exception 발생 화면 2. 개발 환경 실제 작성한 코드는 많지 않고 테스트를 쉽게 하려고 간단하게 유닛 테스트로 작성했습니다. github에 올린 코드를 참조해주세요. OS : Mac OSIDE:..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다.감사합니다. http://blog.advenoh.pe.kr 1. 어노테이션이란스프링 프레임워크를 사용하면 어노테이션을 자주 사용하게 됩니다. 아래는 스프링 웹 MVC를 사용한 예로 GET HTTP 요청(/helloworld)이 있으면 “Hello World”를 담아서 뷰에 전달되는 코드입니다. 이런 어노테이션은 내부적으로 어떻게 코드화되어 사용되는지 알아봅시다. @Controllerpublic class HelloWorldController { @RequestMapping(value="/helloworld", method=RequestMethod.GET) public ModelAndView example..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다.감사합니다. http://blog.advenoh.pe.kr 자바 개발을 하다 보면 하나의 JDK 버전이 아니라 여러 버전을 설치해야 할 때가 종종 있습니다. 진행하는 프로젝트마다 개발하는 JDK 버전이 조금씩 다를 수 있고 새로 릴리스한 버전을 설치해서 스터디하고 싶을 때 여러 버전이 존재하게 됩니다. 한 시스템에 여러 버전이 존재하지만, 쉽게 한 버전에서 다른 버전으로 변경할 수 있는 명령어를 JDK에서는 제공하지는 않습니다. 개발자가 알아서 수동으로 변경해야 합니다. 본 포스팅에서는 맥 환경을 대상으로 어떻게 여러 버전의 JDK로 쉽게 변경할 수 있는지 알아보겠습니다. 1. 여러 JDK 버전 설치하기 일단, 먼저 여..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 개요final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있습니다. final을 클래스, 메서드, 변수에 선언하면 조금씩 할 수 있는 부분들이 제안됩니다. 너무 당연한 내용이지만, 시간이 지니니까 기억에서 사라져버려서 이번에 다시 한번 상기하기 위해 정리를 해보았습니다. 자바에서 final 키워드는 여러 컨텍스트에서 단 한 번만 할당될 수 있는 entity를 정의할 때 사용됩니다. (위키피니아) final 키워드는 총 3가지에 적용할 수 있습니다. 각각에 대해서 세부적으로 알아보죠. final 변수원시 타입객체 타입클래스 필드메서드 인자fina..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바10언어JEP 286: Local Variable Type InferenceJVM/CompilerJEP 304: Garbage-Collector InterfaceJEP 307: Parallel Full GC for G1JEP 316: Heap Allocation on Alternative Memory DevicesJEP 317: Experimental Java-Based JIT Compiler기타 변경 및 개선사항JEP 296: Consolidate the JDK Forest into a Single RepositoryJEP 310: Application C..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바BeyondJEP 301: Enhanced Enums - 현재 보류중 JEP 302: Lambda Leftovers - Candidate JEP 305: Pattern Matching - CandidateJEP ???: Data ClassesJEP 312: Switch Expressions - Proposed to Target (JDK12)JEP 326: Raw String Literals - Candidate 자바의 릴리스 주기가 6개월로 변경되면서 새로운 기능, 개선사항들이 빠르게 반영될 것으로 기대하고 있습니다. 아직 반영되지는 않았지만, 추후 자바 버..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바11JEP 181: Nest-Based Access ControlJEP 309: Dynamic Class-File ConstantsJEP 315: Improve Aarch64 IntrinsicsJEP 318: Epsilon: A No-Op Garbage CollectorJEP 320: Remove the Java EE and CORBA ModulesJEP 321: HTTP Client (Standard)JEP 323: Local-Variable Syntax for Lambda ParametersJEP 324: Key Agreement with Curve255..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바9Java Platform Module System JEP 222: Jshell - REPLJEP 158: Unified VM logging JVM component에 대한 공통 로깅 시스템 제공 (-Xlog) HTML5 Javadoc HTML5 형식의 API를 생성할 수 있는 도구 Language Update try-with-resources 개선private interface method interface에서는 항상 public로 정의해야 했는데, private도 가능하도록 함 diamond operator 익명 내부 클래스에서도 diamond opera..