Maven으로 Java프로젝트 build하는 방법 (리눅스)

오픈소스(Dagger)를 공부하던 중에, sample app을 maven으로 빌드해야 했습니다. pom.xml은 maven의 빌드 설정 파일로, 이 파일이 있으면 maven으로 빌드를 해야 합니다. 리눅스에서 maven으로 java 프로젝트를 빌드하는 방법을 소개합니다.

06 Oct 2019

Android - File-Based Encryption과 Direct Boot 이해하기

Encryption은 데이터를 암호화하는 과정을 말합니다. Full-Disk Encryption, File-Based Encryption가 있습니다. Direct Boot는 File-Based Encryption에 실행되는 앱을 지원하기 위한 정책입니다. Encryption와 Direct Boot에 대해서 알아보겠습니다.

05 Oct 2019

Java8 - Interface의 Default Methods 이해하기

Java8에서 인터페이스에 디폴트 메소드(Default methods)라는 것이 생겼습니다. 디폴트 메소드를 사용하여 인터페이스의 메소드를 선언뿐만 아니라 구현도 할 수 있습니다. 디폴트 메소드를 정의하는 방법과 implements, extends될 때 고려해야할 부분에 대해서 알아보겠습니다. 추상클래스(abstract class)와의 차이점도 알아보겠습니다.

04 Oct 2019

Java8 - 함수형 인터페이스(Functional Interface) 이해하기

함수형 인터페이스는 1개의 추상 메소드를 갖고 있는 인터페이스를 말합니다. Single Abstract Method(SAM)라고 불리기도 합니다. 함수형 인터페이스를 사용하는 이유는 자바의 람다식은 함수형 인터페이스로만 접근이 되기 때문입니다. 자바는 Runnable, Supplier, Consumer, Function, Predicate 등의 기본 Functional Interface를 제공합니다.

04 Oct 2019

Java8 - 메소드 레퍼런스(Method Reference) 이해하기

메소드 레퍼런스(Method Reference)는 Lambda 표현식을 더 간단하게 표현하는 방법입니다. 메소드 레퍼런스는 사용하는 패턴에 따라 다음과 같이 분류할 수 있습니다. Static 메소드 레퍼런스, Instance 메소드 레퍼런스, Constructor 메소드 레퍼런스가 있습니다.

04 Oct 2019

Selenium - 페이지 로딩이 완료될 때까지 기다리기 (python)

selenium에서 find_element_by_id 등으로 element를 찾을 때 페이지가 로딩되지 않으면 ElementNotVisibleException 에러가 발생할 수 있습니다. selenium은 implicitly wait과 explicitly wait을 제공하여 로딩이 완료되고 element를 찾을 수 있도록 도와줍니다. 언제, 어떻게 사용하는지 알아보겠습니다.

03 Oct 2019

Java8 - SummaryStatistics 예제 및 사용 방법 (count, min, max, average)

SummaryStatistics는 count, min, max, sum average 등의 statistics 정보를 계산해주는 클래스입니다. 그리고 스트림과 함께 사용할 수 있도록 디자인하였습니다. IntSummaryStatistics, LongSummaryStatistics, DoubleSummaryStatistics 클래스로 여러 자료형을 지원합니다.

03 Oct 2019

Java - Try-with-resources로 자원 쉽게 해제하기

try-with-resources는 try(...)에서 선언된 객체들에 대해서 try가 종료될 때 자동으로 자원을 해제해주는 기능입니다. 객체가 AutoCloseable을 구현하였다면 Java는 try구문이 종료될 때 close()를 호출해 줍니다. 코드를 간결하게 만들어 읽기 쉽고 유지보수가 좋은 코드를 작성할 수 있게 도와줍니다.

01 Oct 2019