안드로이드 스튜디오 예제 3 – 이벤트 처리 4가지 방법

예제 1에서 버튼을 클릭했을 때의 이벤트를 처리하는 방법을 살펴보았다. 이벤트 리스너(event listener)를 이용한 방식이었는데, 이 외에도 다양한 방식으로 이벤트 처리를 할 수 있다. 본 예제에서는 예제 1에서와 동일한 방식을 포함해서 총 4가지 종류의 이벤트 처리 방법에 대해서 살표볼 것이다. ——————————————————————————————————–

Read More 안드로이드 스튜디오 예제 3 – 이벤트 처리 4가지 방법

안드로이드 스튜디오 예제 2 – 구글맵

본 예제에서는 구글 맵(Google map)을 사용하는 방법을 살펴볼 것이다.안드로이드 스튜디오에서 Google Maps Activity로 설정하여 프로젝트를 생성하면 필요한 기본 코드들을 자동생성해준다.  구글 맵 API를 사용하려면 키(key)를 발급받아야 하는데, 이 역시 안드로이스 스튜디오에서 제공하는 간단한 방법을 이용하게 될 것이다. 또한, 구글 맵

Read More 안드로이드 스튜디오 예제 2 – 구글맵

안드로이드 스튜디오 예제 1 – 프로젝트 생성, 클래스 추가, 이벤트 처리

첫 번째 안드로이드 스튜디오 예제이다. 안드로이드 앱을 개발하려면 안드로이드 스튜디오(Android Studio)라는 프로그램을 사용해야 하는데, 안드로이드 스튜디오는 비쥬얼 스튜디오의 마법사(wizard)와 같은 기능을 제공한다. 안드로이드 스튜디오를 실행시키고 일련의 설정들을 입력해 주면 쉽게 기본적인 프로젝트를 자동으로 생성해준다. 본 예제에서는 텅 비어 있는 화면(empty

Read More 안드로이드 스튜디오 예제 1 – 프로젝트 생성, 클래스 추가, 이벤트 처리

Handler, Looper, and Thread

프로그램(program)을 실행하게 되면 프로그램의 인스턴스(instance)가 생성되는데 이를 프로세스(process)라고 한다. 프로세스는 운영체제(OS)로부터 필요한 메모리 등의 리소스(resource)를 할당받고 이를 이용하여 특정 기능을 수행한다. 현존하는 대부분의 운영체제들은 동시에 여러 개의 프로로세스를 실행할 수 있는 멀티 프로세싱(multi-processing) 운영체제들이다. 하지만, 동시에 실행중인 프로세스들은 서로 리소스를 공유하지

Read More Handler, Looper, and Thread

android-22 Error

Android Studio에서 새로운 Import Module 등을 수행할 때 Error: Cause: failed to target with hash string ‘android-22’와 같은 에러가 발생할 때가 있는데, 해당 모듈에서 사용한 낮은 버선의 SDK가 설치되어 있지 않을 때 발생하는 에러이다. 에러 메시지 하단에 파란색으로 표시되어 있는

Read More android-22 Error

맥에서 안드로이드 개발 환경 설정하는 방법

Android Stduio는 Android App. 개발을 위한 통합 개발 환경(IDE)이다. Android Stduio는 Windows, Mac, Linux에서 모두 사용이 가능하지만 여기에서는 Mac에서의 개발 환경 설정에 대해서만 설명한다. Android SDK는 Java 언어를 사용하기 때문에 Android App.을 개발하기 위해서는 우선 Java JDK를 설치해야 한다. Java JDK는 다음

Read More 맥에서 안드로이드 개발 환경 설정하는 방법

Maya Context에 대하여…

Context란 마우스의 이벤트에 반응하여 어떠한 특정 작업 수행이 가능한 Maya의 특수 모드를 말한다. Maya에서 context는 tool과 동일한 개념으로 사용된다. 다만, graphical user interface 기준에서는 tool이라고 부르고, programming interface 기준에서는 context라고 부른다. setToolTo [context name]으로 특정 컨텍스트 모드로 들어갈 수 있다.

Read More Maya Context에 대하여…

When compute() of a custom node isn’t called right after loading scene file

Custom node가 있는 Maya scene file을 save한 후 다시 open했을 때, auto-update가 되지 않는 문제가 발생하는 경우가 있다. ASCII 형식(.ma) 파일로 저장한 후 내용을 보면 custom node의 output attribute가 이상한 값으로 저장되어 있는 경우에 이러한 문제가 발생한다. 예) setAttr “.output”

Read More When compute() of a custom node isn’t called right after loading scene file

How to install BLAS and LAPACK using source codes

1. Download lapack-3.5.0.tgz (http://www.netlib.org/lapack/#_lapack_version_3_5_0_2) 2. tar xvf lapack-3.5.0.tgz 3. cd lapack-3.5.0/BLAS/SRC 4. gfortran -c -o3 *.f 5. ar rv libblas.a *.o 6. cp libblas.a /usr/local/lib 7. cd ../../SRC 8. gfortran -c -o3 *.f 9. ar rv liblapack.a *.o 6. cp

Read More How to install BLAS and LAPACK using source codes

Git 설정 및 사용법

1. git 설치 및 계정 생성 (client->server) ssh root@11.22.33.44 #ssh로 원격 서버(여기서는 IP주소가 11.22.33.44라고 가정)에 접속 root@11.22.33.44’s password:  [server의 root 암호 입력] yum install git #git 설치 adduser git #git 계정 생성 (git이 아닌 다른 이름도 상관없음) passwd git #git 암호 변경 Changing password for user

Read More Git 설정 및 사용법

How to exchange rotation matrix between Zelos and Maya

[pre-multiplied system with row-major ordering] (ex) Zelos X: rotation matrix about x-axis Y: rotation matrix about y-axis Z: rotation matrix about z-axis R: rotation matrix in x->y->z axis order. q=(ZYX)p Therefore, R = ZYX [post-multiplied system with column-major ordering] (ex)

Read More How to exchange rotation matrix between Zelos and Maya

How to install thunderbird with RPMs on CentOS 7.x

1. Download a rpm file for thunderbird on internet accessible PC. yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm yumdownloader thunderbird 2. Install thunderbird. sudo rpm -ivh thunderbird-24.7.0-1.el7.x86_64.rpm 3. You may meet an error message like this: error: Failed dependencies: nspr >= 4.10.6 is needed

Read More How to install thunderbird with RPMs on CentOS 7.x

Installing Nvidia Driver on CentOS 7.x

CentOS 7.x에서 nVidia driver 설치시 Nouveau를 disable 시켜야 한다면서 설치가 안될 때, su yum update yum install kernel-devel kernel-headers gcc make uname -r을 이용하여 출력한 커널 버전과 rpm -q kernel-devel을 이용하여 출력한 커널 버전이 다르다면, yum -y upgrade kernel kernel-devel

Read More Installing Nvidia Driver on CentOS 7.x

MPxLocatorNode::draw()

Locator node를 사용하면 draw() 함수 안에서 custom data에 대한 OpenGL rendering을 구현하는 것이 가능하다. 그런데, MPxLocatorNode::draw() 함수 안에서 print를 해보면, Maya viewport에서 camera 정보가 변할 때 뿐만 아니라, viewport를 click하거나 marquee를 그리는 등의 조작을 할 경우에도 호출되는 것을 확인할 수 있다. Maya에서는

Read More MPxLocatorNode::draw()

Conflict problem between Cuda and Maya

Maya는 MTypes.h에 short2, short3, long2, long3, int2, int3, float2, float3, double2, double3, double4 등의 자료형을 정의하여 사용한다. 용감하게도 어떠한 prefix나 namespace도 사용하지 않는다. Cuda는 vector_types.h에 int2, int3, float2, float3 등의 자료형을 정의하여 사용한다. Cuda 또한 용감하게도 어떠한 prefix나 namespace소 사용하지

Read More Conflict problem between Cuda and Maya

워드프레스 수동 업데이트

1. 만약을 위해서 서버에 있는 모든 디렉토리들 및 파일들을 로컬로 백업한다. 2. 설정에서 모든 플러그인들을 비활성화 한다. 3. 새로운 버전의 파일을 로컬에 다운로드 받는다. 4. 서버에 있는 wp-admin, wp-includes 디렉토리를 삭제한다. 5. 로컬에 있는 새로운 버전의 wp-admin, wp-includes 디렉토리를 서버에

Read More 워드프레스 수동 업데이트

Hash

[ hash table (or hash map) ] – associated array: (key, value) 형식의 data를 저장하는 data structure – hash function을 사용하여 입력 key 값으로부터 hash value를 얻은 다음 이를 index로 사용하여 associated array의 형태로 저장하는 자료구조 – hash table의 각

Read More Hash

Uniform, Varying, and Attribute in GLSL

GLSL shader에서 input 또는 output으로 사용하는 변수 type은 3가지가 있다. 1. uniform rendering하는 동안 변하지 않는 변수이다. 마치 C 언에에서의 global extern variable의 개념이라고 생각하면 된다. OpenGL application으로 부터 값을 전달받을 수 있다. vertex shader와 fragment shader에서 모두 공유하여 사용하는

Read More Uniform, Varying, and Attribute in GLSL

GLSL

OpenGL에서 사용하는 shader를 작성하는 데 쓰이는 언어를 OpenGL Shading Language (GLSL)이라고 한다. GLSL은 GLslang이라고도 한다. GLSL은 C 언어와 유사한데, C언어를 기초로 만들어진 상위 레벨의 shading 언어이기 때문이다. C언어에서 source code가 compile되어 object 파일로 만들어진 후에 합쳐져서 하나의 프로그램이 되는 것과

Read More GLSL