All Posts

Kotlin - 중첩 클래스(Nested classes)에 대해서 알아보기

코틀린의 중첩(nested) 클래스는 클래스 안에 있는 클래스를 말합니다. 크게 Static nested class(정적 중첩 클래스)와 Non-static nested class(inner class라고 합니다, 비정적 중첩 클래스)로 나눌 수 있습니다. 자바와 코틀린의 코드를 비교하면서 중첩 클래스들에 대해서 설명하겠습니다.

kotlin24 Feb 2019

Kotlin - tailrec(꼬리재귀)에 대해서 알아보기

tailrec은 꼬리재귀(tail recursive)라는 의미로, 추가 연산 없이 재귀적으로 호출하다가 어떤 값을 리턴하는 함수를 의미합니다. 재귀함수를 루프로 변경하면 좋은 점은 재귀로 인해 소비되는 스택을 아낄 수 있다는 점입니다. 코틀린의 tailec 키워드를 이용하면 재귀를 루프로 변경할 수 있습니다.

kotlin23 Feb 2019

IntelliJ에서 스칼라 설치 및 사용하기

IntelliJ에서 스칼라를 플러그인으로 설치하여 코드를 빌드할 수 있습니다. IntelliJ의 메뉴 [File]->[Settings]를 열면 왼쪽 탭에 Plugins 메뉴가 있습니다. 여기서 스칼라 플러그인을 설치합니다. 그 이후에 스칼라 프로젝트를 생성하고 빌드를 할 수 있습니다.

etc23 Feb 2019

React와 Nginx를 Dockerizing하는 방법

React 앱을 개발하고 Nginx를 이용하여 배포하였다면, Docker도 적용해볼 때입니다. Docker로 앱을 배포하면 서버를 옮길 때 다시 서버를 세팅하기가 매우 편리합니다. 이 글에서 간단히 React 샘플 앱을 만들고, docker로 nginx로 배포하는 과정을 정리하였습니다.

etc20 Feb 2019

Pythonic은 무엇인가? (PEP 8 정리)

Pythonic은 파이썬답게 코드를 짜는 것을 말합니다. 파이썬다운 코드는 파이썬의 기능들을 잘 이용하여 작성된 코드이고, 그렇기 때문에 가독성이 좋은 코드를 말할 것입니다. 파이썬 커뮤니티의 사람들이 쓰는 패턴을 pythonic(파이썬다운) 코드라고 생각합니다. 파이썬다운 코드가 무엇인지 알아보겠습니다.

python17 Feb 2019

Nginx로 React를 배포하는 방법

React(리액트) 앱을 배포할 때 Nginx, Aphache와 같은 웹서버로 배포를 해야 합니다. Nginx는 오픈소스이며 매우 효율적인 웹서버입니다. 이 글에서 우분투 18.04환경에서 nginx로 React 앱을 배포하는 방법에 대해서 알아보겠습니다.

etc16 Feb 2019

BeagleBoneBlack의 리눅스 빌드 방법(툴체인, 부트로더, 리눅스 설치 및 빌드)

비글본 블랙 보드는 Arm 칩을 사용합니다. Arm에서 동작하는 Linux를 빌드하기 위해서는 먼저 Cross compile을 위한 Toolchain을 설치해야 합니다. 그리고 부트로더인 U-boot와 커널인 Linux를 다운받아 빌드를 하면 됩니다. 빌드 과정에 대해서 간단히 정리하였습니다.

linux10 Feb 2019

안드로이드 앱(apk)을 decompile하는 다양한 방법

Android apk를 decompile하는 방법을 소개합니다. Apk는 zip으로 압축된 파일입니다. 압축을 풀면 여러 리소스 파일들과 실행 파일인 dex(Dalvik Executable)파일이 있습니다. 몇개의 툴(Apktool, dex2jar, jd-cmd)을 이용하여 이 파일들을 decompile하면 사람이 읽을 수 있는 코드 형태로 변환이 가능합니다.

android08 Feb 2019