HTML에서 이미지를 읽을 때 대부분의 경우 URL을 이용하지만,
때때로 Data URI Schema를 이용해야 하는 경우도 있다.
다음은 Python에서 이미지 데이터를 Data URI Schema로 얻는 코드이다.

from cStringIO import StringIO

from PIL import Image

import urllib, base64


# 이미지 객체에서 값 얻기

base = Image.new('RGBA', (w, h), (0, 0, 0, 0))

# do something on Image object

raw = StringIO()

base.save(raw, 'PNG')

b64png = 'https://t1.daumcdn.net/cfile/tistory/2362D34056EA60EB26"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">

file = urllib2.urlopen(url)

buf = StringIO(file.read()) 

b64png = 'https://t1.daumcdn.net/cfile/tistory/2623EE4156EA60EC25
|
Javascript는 기본형 이외의 대부분의 자료들을 'object'라고 표현한다.
자료구조 중 Array와 Dictionary도 typeof 연산자로 구별할 수 없다.
별로 중요한 것은 아니지만, 그냥 갑자기 궁금해져서 궁리해 보았다.

찾아낸 방법 중 가장 마음에 드는 두 가지는 아래와 같다.

> a = new Array()
> a instanceof Array
true
> a.constructor === Array
true 


 jQuery 1.7에서는 'isArray'라는 함수를 구현해 놓았는데,
toString.call(obj)를 통해 "[object Array]" 문자열을 얻은 뒤
class2type이라는 내장 Dictionary에 대입하여 "array" 문자열인지 비교하는 방식을 사용하였다.
왜 이렇게 복잡한 방법을 썼는지는 잘 모르겠음 ㅋ
|
어제 (2011/10/26) 개발용 Macbook-Air를 Lion으로 업데이트 했다.
뭐, 여러가지 향상된 UX라던가 iOS와 동질감을 느낄만한 요소들이 많이 생겼지만,
내게 그게 중요한 건 아니었고... ㅋ

문제는 현재 진행 중인 프로젝트와 관련하여 Python 환경이 전부 초기화 되었다는 것이다.
업데이트 된  Lion에는 Python 2.5/2.6/2.7이 설치되어 있었고 기본 버전은 2.5로 되어있었다. 
개인적으로 선호하는 버전은 2.6 인데...

구글링 등을 이용해 찾은 버전 변경은 아무리 해도 먹질 않았다.
다들 Lion에서도 된다고 써있었는데 왜 내겐 안되는지...
취향 상 root 권한으로 시스템에 손대는 것은 좋아하지 않지만,
이번은 어쩔수 없었다.

다음과 같은 방법으로 기본 Python 버전을 2.6으로 변경할 수 있다.

$ cd /opt/local/bin
$ sudo rm python
$ sudo ln -s /opt/local/bin/python2.6 python
$ sudo rm python-config
$ sudo ln -s /opt/local/bin/python2.6-config python-config
$ sudo rm pythonw
$ sudo ln -s /opt/local/bin/pythonw2.6 pythonw

여기서 문제가 한가지 더 발생 했는데,
Python package가 설치되는 site-packages 폴더와
Aptana가 기본으로 인식하고 읽어들이는 site-packages 폴더의  위치가 다르다.
아... 거지같아...
다음과 같이 문제를 해결했다.

$ cd /Library/Python/2.6
$ sudo rm -rf site-packages
$ sudo ln -s /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/ site-packages

이제 모든 것이 제대로 동작한다.
 
|

ghilbut's Blog is powered by Daum & tistory