All Posts

React Adsense 라이브러리 소개(GatsbyJs에 adsense 광고 붙이는 방법)

react-adsense를 이용하여 React에서 Adsense 광고를 붙이는 방법을 소개합니다. 이 블로그는 GatsbyJS로 구현하였으며, React를 기반으로 만들어진 정적 사이트 생성기입니다. AdSense.Google 클래스에 몇몇 인자만 전달하면, 알아서 html 코드를 생성해 줍니다.

12 Nov 2019

AndroidX - MultiDex 적용하는 방법

AndroidX를 사용할 때 앱을 MultiDex로 설정하는 방법을 소개합니다. 안드로이드 코드는 dex라는 파일로 컴파일이 됩니다. dex는 65,535개의 메소드만 컴파일이 됩니다. 이를 초과하는 앱을 생성하면 MultiDex로 설정하여 Apk파일에 dex가 두개 이상으로 컴파일되도록 해야 합니다.

10 Nov 2019

안드로이드 - Platfom key로 App 서명(signing)하는 방법

signapk.jar, platform.x509.pem와 platform.pk8로 앱을 platform key로 서명할 수 있습니다. 안드로이드의 Platform key로 App을 Signing하면 플랫폼에서만 허용가능한 퍼미션을 얻을 수 있습니다. 안드로이드 시스템과 동일한 sharedUserId로 설정할 수 있습니다.

10 Nov 2019

Gradle - Jar 라이브러리에서 일부 클래스를 삭제하는 방법 (duplicated dependency 문제 해결)

gradle exclude를 이용하여 중복되는(duplicated) 클래스를 제거할 수 있습니다. 하지만 jar 파일은 Transitive Dependencies가 없기 때문에 이렇게 제거할 수 없었습니다. 저는 jar파일의 압축을 풀고 의존성 파일을 제거한 후 다시 jar로 압축하는 방법으로 구현하였습니다. gradle task로 자동화하였습니다.

10 Nov 2019

Java - FixedThreadPool(ThreadPoolExecutor) 사용 방법

newFixedThreadPool()로 고정된 쓰레드 개수의 쓰레드풀을 생성할 수 있습니다. ThreadPoolExecutor로 리턴되며, 이 Threadpool에 Task를 추가하여 병렬처리할 수 있습니다. shutdown(), shutdownNow(), awaitTermination() 등의 함수를 제공하여 작업이 완료되는 것을 기다릴 수 있습니다.

09 Nov 2019

clean-css로 CSS 파일을 경량화(minify)하는 방법

clean-css는 CSS 파일을 경량화(minify)하는 nodejs 기반의 프로그램입니다. CLI버전을 사용하면 쉘에서 파일을 minify할 수 있습니다. nodejs버전을 설치하면 자바스크립트에서 사용할 수 있습니다.

06 Nov 2019

Java - Runnable과 Callable의 차이점

Thread는 Runnable과 Callable의 구현된 함수를 수행한다는 공통점이 있습니다. 하지만 Runnable은 어떤 객체도 리턴하지 않지만 Callable은 특정 타입의 객체를 리턴한다는 차이점이 있습니다. Thread 외에 ExecutorService도 이 둘을 구현 메소드를 수행할 수 있습니다.

03 Nov 2019

Java - ScheduledThreadPoolExecutor 사용 방법

ScheduledThreadPoolExecutor는 작업을 일정 시간 뒤에 수행하거나, 일정 dealy 간격으로 주기적으로 실행할 수 있습니다. schedule, scheduleAtFixedRate, scheduleWithFixedDelay 등의 메소드를 제공합니다. Callable이나 Runnable을 인자로 받으며 람다식(Lambda)으로 전달할 수 있습니다.

02 Nov 2019