All Posts

Java8 - 함수형 인터페이스(Functional Interface) 정리

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

04 Oct 2019

Java8 - Interface의 Default Methods

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

04 Oct 2019

Java8 - 메소드 레퍼런스(Method Reference)

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

04 Oct 2019

Java8 - SummaryStatistics 예제

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

03 Oct 2019

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

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

03 Oct 2019

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

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

01 Oct 2019

X-Bows keyboard 구입 및 사용 후기

X-bows 키보드는 인체공학(ergonomic) 게이밍 키보드입니다. 키보드 소개 및 장점과 단점에 대해서 간단히 적었습니다. 하지만, 지금까지 한달 정도 사용해봤는데 장점보다는 단점이 더 많이 보이네요. 마이크로소프트 스컬프트 키보드와 비교를 많이 해보면서 골랐는데 스컬프트를 사는게 좋았을 것 같습니다.

03 Sep 2019

안드로이드 boot.img의 커널과 램디스크를 수정하는 방법

unpackbootimg와 mkbootimg를 이용하여 boot.img의 kernel 및 ramdisk를 수정할 수 있습니다. 디바이스에서 boot.img를 받고, 커널과 램디스크 영역을 수정하여 디바이스에 flash하는 방법을 정리하였습니다.

18 Aug 2019