2014년 6월 21일 토요일

20140621SAT - Google Drive 클라이언트 프로젝트 작업을 하다가 쓰는 넋두리?

나중에 이 글을 보면 고치고 싶은 부분이 많을 것 같다. 조금 정신없는 상태로 일단 쭉 써내려가는 
글이기 때문에...
---


1.
Go 언어가 나온지 좀 되었고 꽤 괜찮은 언어지만, 의외로 이 언어를 만든 회사인 Google의 App Engine에 서비스용으로 쓰인 사례나, 사용하려는 시도 자체가 적었던 것 같다.

Google API Client 라이브러리도 나온지 3년 이상 되었음에도 여전히 considered as alpha 이고 도움말 역시 Python에 비하면 거의 가뭄 수준이다.

Go 언어나 관련 라이브러리들은 괜찮은데, Google에서 만든 언어임에도 불구하고 GAE에서 사용하기에는 불편했다.

아직은 Python이 수천 수만 배 나은 것 같다. (성능은 제외)

결국 내가 직접 만든 GDrive 써드파티 API는 Python으로 구동되는 것으로...




2.
만들고 있는 프로그램을 cURL을 가지고 테스트하다가, Content-length가 포함되지 않았다는 에러가 발생했다. GAE에서 운영되는 서비스에 HTTP 요청을 보낼 때, POST/PUT 등 Body를 포함하는 요청을 보낼 때는 *반드시* Content-length가 제대로 포함되어야한다고.

Content-length 에러와 관련해서 구글링을 하다 보니 cURL 라이브러리를 이용해서 프로그램을 구현할 때에도 같은 사례가 있었고, 옵션 설정을 해 주어야한다는 답변을 보았다.

cURL '프로그램'도 Content-length를 제대로 안 보낸다. 심지어 옵션 자체가 존재하지 않는 듯.

결론: Python + httplib 로 간단하게 클라이언트 더미를 만들어서 테스트했다.



3.
Google OAuth 인증 관련해서 더 간단하게 사용할 수 있는 라이브러리는 없나 싶다. 음... 그냥 그러하다.



4.
golang에 go get이 있다면 python에는 pip install이 있다



5.
python2와 python3는 문법 차이보다도 라이브러리들이 많이 바뀐 듯.



6.
GAE에서는 백그라운드 처리 작업 등을 위해 Thread보다는 Task Queue를 사용해야...






댓글 없음:

댓글 쓰기