JAVA [Kotlin] Kotlin으로 Java/Kotlin 모두 사용 가능한 유틸성 라이브러리 만들기 유틸성 라이브러리의 필요성 프로젝트를 진행하다 보면, 공통적으로 필요한 기능들이 정말 많다는 것을 알 수 있다. 그리고 이런 공통의 기능들을 사용하기 좋게 기능들을 모아둔 것을 '유틸성 라이브러리'라고 한다. 아마도 국내에서 많은 개발자들이 쓸법한 유틸성 라이브러리라 하면 스프링이나 전자정부 프레임워크에서 제공하는 유틸성 라이브러리일 것이다. 물론 대부분의 경우 이런 라이브러리를
Kotlin [Kotlin] lateinit 변수의 값이 세팅 되었는지 확인하기 Kotlin과 늦은 초기화 전략 kotlin 언어에서는 변수에 null이 들어오지 않았으면 하지만, 값을 초기에 설정할 수 없는 경우를 대비해 두 가지 '늦은 초기화' 방식을 제공한다. 그 중 하나는 lateinit, 그리고 나머지 하나는 lazy이다. 여기서는 lateinit 변수에 값이 세팅 되었는지 확인하는 방법에 대해 다루어보도록 하겠다. 이 변수, 값이 들어오긴 했나?
JAVA [JAVA] Bouncy Castle로 LEA/ARIA 블록 암호화 하기 C/C++ 예제는 많은데... 예전부터 국산 암호화 기술에 관심은 많았는데, 이상할 정도로 Java나 Kotlin으로 작성된 예제는 그렇게 많지 않았다. 심지어 KISA 공식 홈페이지에서도 LEA 블록 암호화 알고리즘 정도나 암호화 모드별로 샘플 소스코드가 제공되고 있고, ARIA는 엔진 코드만 제공되어 있을 정도로 Java 진영에서는 찬밥 취급이다. 아마도 국내에서는 해당 알고리즘들이 DRM 위주로만
JAVA [JAVA] 현명하게 예외처리하기 예외 처리의 중요성 대부분의 언어에는 예외 처리(혹은 오류 처리)라는 것이 존재한다. 예외 처리는 프로그래밍 시, 아주 중요한 작업이다. 시스템의 문제 여부를 빠르게 확인하고 어떠한 문제인지 파악하는데 도움을 받을 수 있기 때문이다. 또한 어플리케이션이 다시 정상적으로 동작할 수 있도록 도움을 줄 수도 있다. 예외의 종류 JVM 계열 언어(Java,
JAVA [JAVA] 자바 null 박살내기 개발자들의 영원한 적, null의 탄생 개발자들에게 프로그래밍 하면서 자신을 가장 괴롭히는 것을 몇 가지 꼽아보라 한다면, 보통 그 리스트에 null처리는 반드시 들어가게 될 것이다. 그만큼 null은 개발자를 괴롭히는 적이며, 그들은 이 null을 처리하기 위해 끝이 없어보이는 힘겨운 싸움을 하게 된다. null은 컴퓨터 과학자인 토니 호어(Tony Hoare)가 알골 W(
Programming 변수나 함수에 붙는 언더바(_)는 뭘까? 요상한 언더바 다른 사람들이 작성한 코드나 라이브러리를 보면, 변수나 함수의 이름 앞뒤에 _가 붙어 있는 걸 간혹가다 볼 수 있다. 대부분의 언어에서 _는 $와 함께 변수/함수명에 허용되는 유이한 특수문자다. 따라서 일반적으로 코딩 컨벤션에서 허용하는 경우가 아닌 이상(EX. 스네이크 기법) 해당 특수문자들이 변수명이나 함수명에 사용되는 경우는 흔하지 않다. 즉,