C/C++ 에서 GLSL 코드를 쉽게 포함해 보자.

C/C++ 에서 GLSL 코드를 삽입하려면 “” 와 \n의 남발로 코드가 아래처럼 지져분해 진다.

매크로를 정의해서 아래처럼 쉽고 예쁘게 넣어보자. 물론 버전은 사용하는 GLSL 버전에 알맞게 수정한다.

URL 인코딩

URL을 인코딩할 때 아래와 같이 URLEncoder를 많이 사용한다. 그러나 귀차니즘으로 전체 URL 을 한번에 인코딩할 때 아래와 같이 http:// 등이 인코딩되어 원하는 결과가 아닐 경우가 있다.

Double 형 데이터 주고 받기

Double 형 데이터를 주고 받는 예제를 작성해 보자. double 형 수치값을 전달하면 해당 수치의 제곱근값을 반환하는 함수를 작성한다.

Int 데이터 값 주고 받기

앞으로 몇 개의 튜토리얼을 통해서 데이터를 자바 레이어에서 네이티브 레이어로 전달하고 어떤 연산을 거친 후 되돌려 받는 예제를 작성할 것이다. 우선 Int 형을 주고 받는 예제를 작성해 보자.

자바 8 람다의 힘

  연휴를 맞아 ‘자바8 람다의 힘’이란 책을 읽었다. 함수형 프로그래밍 패러다임에 좀 더 익숙하고자 읽은 책이었다. 함수형 프로그래밍에서 무엇을 중심으로 생각해야는지에 대한 길잡이 책이라 할 수 있을 것 같다. 책의 후반부는 약간 어렵게 느껴지기도 한다. 다 읽고 난 후에 드는 생각은 ‘사고의 세계는 무한하구나. 생각의 버릇을 다시 고칠 때가 되었다’ 였다. 명령형 프로그래밍 스타일에 익숙한… Read More »

메서드 등록

네이티브 라이브러리를 만들기 위해서 항상 javah로 자바의 클래스 파일을 사용해 헤더 파일을 뽑아 내야 하는 것은 아니다. 네이티브 라이브러에서 자바 클래스를 조사하여 네이티브 라이브러리를 등록할 수 있다. 이 방법을 사용하면 지저분한 패키지명+함수명을 담은 헤더 파일과 함수 이름이 필요없게 된다. 코드를 좀 더 깔끔하게 유지할 수 있다. 더 편하게 읽기 : http://skyfe79.gitbooks.io/jni-tutorial/content/chapter2.html 메서드를 등록하려면 JNI_OnLoad 함수에서 JavaVM을… Read More »

Swift에 Go언어의 장점을 더해보자

따끈한 오픈소스 소식. goswift! Go언어의 장점을 Swift언어에 더해 iOS/Mac 프로젝트에서 Go언어의 장점을 사용할 수 있다. 추가한 Go언어의 기능은 아래와 같다.

HelloJNI

맥에서 Hello JNI!를 출력하는 자바 응용프로그램을 개발해 보자. 단 이 응용프로그램은 문자열을 출력하는 부분을 C++ 로 작성할 것이다. 네이티브 라이브러를 사용하는 자바 클래스 작성하기 더 편하게 읽기 : http://skyfe79.gitbooks.io/jni-tutorial/content/chapter1.html

JNI 튜토리얼

안드로이드 NDK 프로그래밍을 하기 전에 Java와 C/C++을 잇는 JNI에 먼저 익숙해 지는 것이 먼저일 것이다. 틈나는 대로 예제 중심의 JNI 튜토리얼을 만들어 봐야 겠다. 생각나는 대로 적기에 올바른 순서는 없다. 개발환경은 MacOSX 이다.

Swift를 스트립트 언어로 사용하기

Swift는 컴파일형 언어이지만 스트립트 언어로 사용하는 일도 가능하다. 아래처럼 파일을 만들고 스크립트 파일을 실행해 한다.

실행해 보면  Hello world 문자열이 화면에 출력된 것을 볼 수 있다. Swift 스크립트 프로그램이 커맨드라인 인자를 받을 수 있다면 좀 더 유용할 것이다. Swift에는 아래와 같은 커맨드라인 인자를 위한 변수를 제공한다. C_ARGC : 전달되는 인자의 갯수 C_ARGV… Read More »

Swift REPL

콘솔환경에서 swift를 REPL 할 수 있다. RELP는 Read Eval Print Loop 의 줄임말이다. 문자 그대로 표현식을 읽고 출력하는 것의 반복이라는 뜻이다. 이것을 좀 더 쉽게 그림으로 표현해보자.

From Left To The Right

안드로이드 프로젝트를 진행하면서 항상 고민했던 점은 Java가 안드로이드에 어울리는 언어인가? 였다. iOS를 개발하면서 즐겨 사용했던 “카테고리”, “null 객체에 메시지를 보낼 수 있음으로 해서 피할 수 있는  Null Pointer Exception(NPE)” 등이 그리웠기 때문이다. 또한 애플이 Swift를 발표하는 것을 보며 안드로이드에서도 좀 더 유연하고 간결한 언어가 있었으면 좋겠다라는 바램이 있었다. 처음에 살펴본 것은 Xamarin 이었지만 너무 비싼… Read More »

AnroidStudio 에서 Kotlin 으로 안드로이드앱 개발하기

Kotlin이 M11이 되면서 안드로이드 개발이 수월해 졌다. M11부터 여러개의 생성자를 만들 수 있어 커스텀뷰를 만드는데 아무런 불편함이 없다. 너무나 편리한 Kotlin. AndroidStudio에서 사용하려면 어떻게 해야할까? Kotlin의 개발사인 IntelliJ의 IDE 기반이라서 너무나도 쉽게 Kotlin으로 안드로이드 개발을 시작할 수 있다. 1. AndroidStduio를 실행한다. 2. Cofigure -> Plugins 를 선택한다. 3. Kotlin Plugin을 설치한다. 4. Blank Activity를 갖는… Read More »

I love Kotlin!

안드로이드 개발을 위해서 Kotlin 을 적극 사용하기로 했다. Scaloid를 이용해서 scala 기반으로 개발할 수 있겠으나 scala의 라이브러리 크기가 커서 일단 보류하였다. Kotlin을 선택한 이유는 아래와 같다. Relatively fast learning curve: compared to Scala for instance, we are moving in a much simpler scope. Kotlin is much more limited, but it´s easier to start if you´ve… Read More »

Silver! 모바일 앱 개발은 Swift로 대동단결!

RemObjects 사에서 Silver 라는 것을 내 놓았다. Xamarin 과 같은 방식으로 크로프플랫폼 앱 개발 도구 Silver를 내 놓았다. Xamarin 과 다른 점은 Apple의 Swift로 코드를 작성해서 iOS, Android, Windows Mobile App 등을 작성할 수 있다는 점이다. Silver용 전용 IDE도 제공한다. http://elementscompiler.com/elements/silver/ 에서 베타 버전 Silver를 받아 앱을 작성해 볼 수 있다. https://medium.com/@rom1_ubidreams/a-first-look-at-remobjects-silver-how-to-write-a-crossplatform-ios-android-app-in-swift-56fc358ebc37 에서 swift 로 iOS와 Android용… Read More »

폴리글랏 프로그래밍

      폴리글랏프로그래밍. 프로그래밍언어에 대한 흥미로운 책인 것 같아서 도서관에서 구해 읽어 보았다. 놀라운 것은 이 책의 인기가 정말 많아서 이 책을 읽으려고 두 달 반정도를 기다렸다는 것이다. 이 책을 다 읽고서 느낀 점은 현재 개발업에 종사하시는 분들이나 프로그래밍을 공부하는 사람들에게 프로개리밍 언어의 현재는 어떻고 미래는 어떻게 될 것가는 상당히 중요한 문제라는 것을 깨달았다.… Read More »

Xamarin for the Cross-Platform Mobile Development

Android, iOS 앱을 동시에 개발 할 수 있는 방법은 없을까? 고민하던 차에 Xamarin 3.0 이 나온지 얼마 안되었길래 살펴보았다. 주말 내내 문서를 읽어보며 맥에서 Xamarin Studio 를 가지고 놀아 보았는데 정말 만족스럽다. C# 언어를 바탕으로 펼쳐지는 멋진 권법을 배우는 듯한 느낌이었다. PCL – Portable Class Library Xamarin.Forms ( 아직 얼마 되지 않았지만 앞으로 발전 가능성이… Read More »