달력

07

« 2017/07 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2012.10.03 18:08

Shader 코드 내부 변수의 Precision 2012/OpenGL2012.10.03 18:08

갤럭시 s2에서 OpenGL ES 2.0으로 영상처리 코드 구현중에 gl_FragCoord와 Viewport 사이즈를 이용해서 처리할 일이 생겼는데, 쉐이더 코드 내에서 대용량의 이미지를 처리할 경우에 연산 결과를 임시로 저장해야 할 필요가 있었다. 


근데 스펙상 precision을 mediump로 할 경우, float 의 크기가 고작 2^15 까지밖에 저장을 못하게 되어있다. 물론 highp로 precision을 높여도 되지만 여러가지 실험 결과, 갤럭시 s2의 OpenGL ES 의 스펙이 highp를 지원하지 않는 걸로 생각된다. 

크로노스의 스펙 문서에서도 highp 의 구현은 optional 로 지정되어 있으니 아마도 highp가 자동으로 downsizing 이 된게 아닌가 싶다.

 

문제는 컴파일은 이상없이 된다는 점이다. 그러다가 다른 오류 때문에 컴파일이 안될 경우 나오는 오류 메시지에

highp가 지원되지 않는다는 문구가 떡하니 포함되게 된다... 참으로 골때리는 NDK..


그러나 정작 해결은 전혀 엉뚱한 곳에서 됐으니.... 무려 2주간을 삽질로 날리는 결과 ㅠ 



저작자 표시
신고
TAG OpenGL ES
Posted by 에어림
2012.06.12 14:47

아이고 고민이 많다. 2012/Chat2012.06.12 14:47

공부해야할 건 산더미 같다.


현재 회사에서 필요한 기술에 대한 숙련도도 높여야 하고,

앞으로의 커리어를 위해서 새로운 기술들도 틈틈이 익혀놔야 하고,

단순 코더가 되지 않기 위해 이론적인 지식도 쌓아야 할 것 같다.


그래서 머신러닝이니, 빅 데이터니, 영상처리니, 새로운 프로그래밍 언어나 프레임웤들을 잡다하게 손대보고 있다.

근데 시간도 의지도 부족하다. 내가 정말 재밌어서 공부하기 보다는 필요하다는 압박감을 가지고 공부하다 보니 

쉽게 질리고, 계속 공부하고자 하는 의지도 막상 불타오르지도 않게 된다.


선택과 집중을 해야 하는데 뭔가 알아야 선택을 할 것 아닌가. 지도해줄 멘토도 없고, 스스로에 대한 자신감도 없다 보니

그냥 이거저거 간만 보다가 그만두는게 한 두가지가 아니다. 더 걱정되는 것은 지금이야 아직 젊어서 이거저거 건드려보더라도

나름 학습 효과가 있는 편이라고 생각하지만 40대만 되도 학습능력이 크게 저하된다고 하는데 그전까지는 전문가가 될 수 있을까 하는 점이다. 


"T"자 형 인재가 아니고 "ㅡ"자형 바보가 되가고 있다. 어느하나에도 깊이를 갖지 못하는 그냥 평범한 사람.


어떻게 화면 좋을까.


저작자 표시
신고
TAG 공부, 미래
Posted by 에어림
2012.05.31 00:09

2012년 하반기 목표 2012/Goal2012.05.31 00:09


1. 책 번역 

2. Flask 문서 번역 및 Flask를 이용한 사이드 프로젝트 1개 완성

3. Ray tracing 관련 책 1권 읽기

4. 오픈소스 프로젝트 참여


저작자 표시
신고
Posted by 에어림

올해 하반기는 Flask를 이용하여 간단한 웹 프로젝트를 만들어보려고 한다. 

이름은  English10thReading이라는 명칭이다..(물론 가칭)


독해의 기술이란 책에서 감명을 받은 영어 공부방법을 웹으로 구현하려 한다.

그 방법에 대해 간단히 설명하자면.


200자 내외의 영어 지문을 10번 읽으면서 점점 읽는 속도를 단축해나가는게 목표다.

이 때 모르는 단어가 나온다고 바로 사전을 찾아보는 것이 아니라, 일단 형광펜등을 이용해서 체크만 한다.

이러한 단어는 횟수가 늘어나면서 문맥으로 파악될 수 있는데, 만약 파악이 되지 않는다면 다시 다른색의 형광펜을 통해서

누적 표시를 해준다. 10번을 읽는 동안 계속 표시할 필요는 없으며 4~5번 읽어도 뜻이 짐작이 안된다면 그냥 사전을 찾아봐도 된다.


저자의 주장은 이렇다. 우리나라 사람의 영어 공부는 input이 너무도 부족하다. 따라서 input을 늘려야 하는데, 이를 위한 최선의

방법은 바로 읽기라는 것이다. 읽으면서도 뜻을 알 수 없는 단어나 문장은 들어서도 결코 이해할 수 없다는 것이 요지.

또한 미국인이 1분동안 말하는 단어의 수가 대략 200자 내외인데 읽으면서도 이 정도 속도를 낼 수 없다면 결코 들어서도 그들의 

말을 이해할 수 없다는 것. 따라서 이 방법을 사용하면서 얻어야 될 성취는 바로 어떠한 텍스트도 1분내에 200자 단어의 속도로 읽어낼 정도로 영어 읽기에 숙달되는 것이겠다.



위와 같은 방법을 위해 웹프로젝트는 아래와 같이 구현하고자 한다.



사용자가 텍스트를 등록한 텍스트를 읽는다고 가정했을 때, 읽는 순간부터 페이지의 오른쪽 상단에 현재 흘러가는 시간을 보여준다. 그 아래의 Done버튼을 누른 순간의 시간이 현재 읽은 차수에 대응하는 시간으로 기록될 것이다. 또한 현재 화면에는 4번째의 읽기 라는 것이 보여지는데, 이전의 3번째의 기록도 함께 화면에 보여줄 것이다. 그리고 사용자가 읽다가 모르는 단어라고 체크한 것은 최초의 한번을 클릭했을때는 초록색, 두번째는 주황, 세번째는 빨강색으로 표시할 것이다.


위의 글을 정리하여 프로젝트에 필요한 기능을 나열해보겠다.


1. 사용자가 읽을 텍스트 등록 및 목록 조회

2. 텍스트 읽을 시, 소요시간을 측정하여 저장

3. 텍스트 읽을 시, 모르는 단어는 체크 횟수에 따라 차등하여 하이라이트 색상 부여

4. 이전에 읽었던 차수에 대해서 측정 시간 표시



몇 가지 추가됐으면 좋겠다는 기능도 있지만, 일단 최대한 빨리 초기 버전을 완성한다는 목표로 정말 필요한 기능을 우선 구현하는 방향으로 진행하고자 한다. 또한 구현시에 공부 겸 TDD를 적용하여 진행할 것이다.




저작자 표시
신고
Posted by 에어림
2012.05.30 11:24

Flask Installation 2012/Flask2012.05.30 11:24

출처 : http://flask.pocoo.org/docs/installation/#installation

설치

Flask는 두 개의 외부 라이브러리 WerkzeugJinja2에 의존적이다. WerkzeugWSGI를 위한 툴킷이며,  웹 서버와 웹 애플리케이션을 잇는 개발 및 배포에 쓰이는 표준 파이썬 인터페이스다. Jinja2는 템플릿 엔진이다.

 

Flask 개발에 필요한 모든 것을 재빠르게 설치하기  위해서 virtualenv를 살펴보겠다.

설치를 위해서는 파이썬 2.5 이상이 필요하다. 이 글이 작성된 시점에, 아직 파이썬 3를 위해 WSGI 스펙이 확정되지 않았으며 따라서 Flask(0.8)도 파이썬 3 이상을 지원하지 않는다.

 

Virtualenv

여러 프로젝트를 개발할 때 각각 다른 버전의 파이썬이나 외부 라이브러리 사용으로 인해 충돌이 일어나는 경우가 많다. 이로 인해 프로젝트의 의존성이 꼬이는 경우가 발생한다. 이런 문제를 해결하기 위해 virtualenv는 각각의 프로젝트마다 별개의 설정을 적용할 수 있도록 지원한다.

 

OS X나 리눅스를 사용한다면 아래와 같은 명령어를 통해 virtualenv를 설치할 수 있다.

 

$sudo easy_install virtualenv

$sudo pip install virtualenv

 

우분투에서는

$sudo apt-get install python-virtualenv

 

 윈도우 시스템에서는 easy_install이 없으므로 이를 먼저 설치해야 한다. 링(http://flask.pocoo.org/docs/installation/#windows-easy-install)를 통해 어떻게 설치하는지 알아보자. 설치후에는 위와 같은 커맨드를 sudo 명령 없이 실행하면 된다.

 

설치가 완료되면, 쉘을 실행하여 당신만의 환경을 만들어보자.

나는 보통 프로젝트 폴더안에 venv란 이름으로 설정 폴더를 만든다.

$ mkdir myproject

$ cd myproject

$ virtualenv venv

New python executable in venv/bin/python

Installing distribute............done.

 

앞으로 이 프로젝트에서 작업할때면 아래와 명령을 통해 상응하는 환경설정을 사용할 수 있다.

맥이나 리눅스는 아래의 명령을 실행하고

$ . venv/bin/activate

윈도우는 아래 명령을 실행한다.

$ venv\scripts\activate

 

환경선택이 끝나면, 아래 명령을 통해 Flask를 설치하자.

$ pip install Flask

 Flask 최신버전을 설치하는 방법(0.9)은 출처에서 확인하도록 하자. 본 블로그에서는... 정식 버전인 0.8을 사용할 예정이다.



© Copyright 2012, Armin Ronacher.


저작자 표시
신고
TAG flask
Posted by 에어림


티스토리 툴바