사실, 언제부터인가 Python을 쓰다보니,,

그래도 가장 편했던 언어는 JAVA 언어였는데, 요즘 너무 어렵네요 


여러여러 관점에서 다른 원격지에서 생성되는(로그든 어떤거든) 데이터를 수집하기 위해서 API를 서버가 필요한 상황이였습니다(저 같은경우는 사용자 브라우저에서 생성된 로그 데이터의 경우 입니다.)


일단 제가 사용하는 조합은 


Python 2.7에서(Pyenv 로 3으로 올려서 사용했는데, 중간에 소스가 꼬여버리는 바람에) + Flask + Guicorn + Supervisor.d를 이렇게 사용하고 있습니다.


주변 케이스를 찾아보면 현 해당 케이스에서는  Node.js 를 기반으로 긍정적으로 평가하는것 같지만, 굳이 이걸 사용하는건 Python 이 편하기 때문에


먼저 SSL 키를 확보합니다.(확보되어 있다고 가정하고, 구입 또는 letsencrypt를 통해 무료로 발급받았다고 가정) 



먼저 필요한 패키지(?) 모듈들은 이거고 설치는 pip를 통해서 했습니다.

from flask import Flask, request, Response
from flask_cors import CORS, cross_origin
from OpenSSL import SSL


Flask 는 다음과 같이 사용합니다.

app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*"}})


여기서  CORS를 한이유는 , 저 같은경우 데이터가 브라우저들을 통해서 넘어오는 상황이여서 크로싱 브라우징 이슈를 해결하기 위해 사용하였습니다 


context = SSL.Context(SSL.SSLv3_METHOD)
cert = 'cert.pem'
pkey = 'privkey.pem'
context.use_privatekey_file(pkey)
context.use_certificate_file(cert)


그다음 HTTPS 사용하기 위해서 다음과 같이 하였습니다. 만약 이옵션을 제거하면 HTTP REST API 가 됩니다 


if __name__ == "__main__":
app.run(host='0.0.0.0', port='58080', ssl_context=(cert, pkey))

 

app.run 을 할때 ssl_context를 넣어주면 https로 작동하게 됩니다. 



@app.route("/", methods=['POST'])
@cross_origin()
def api(): data = str(request.get_data())

resp = Response(data)
resp.headers['Access-Control-Allow-Credentials'] = 'true'
return resp

request.get_data()와 같은 형태로 해당 api 주소의 /을 post로 넘겨온 데이터를 받습니다 이제 여기서 저 같은경우에 데이터를 좀더 수정하고 시간을 붙여서 다른 장소로 다시 넘깁니다


그리고 resp부분은 받은 내용에 대해서 그대로 다시 리턴합니다... 데이터를 보내오는 쪽에서 그렇게 해달라고 하더군요. 

사실 웹쪽을 잘모르는데, 제가 다시 보낸다고 해도, header를 저런식으로 안붙여주면 다른쪽에서 받지를 못하더군요.. 


사실 잡설이긴하지만,,, 저 같은 경우는 HDP 플랫폼으로 하둡 데이터를 처리하였는데, Cloudera CDH 쪽 하는 친구의 말을 들어보면 supervisor.d 가 데몬을 키고 끄고 이런 소리를 하길래 superviosr.d 가 클라우데라쪽의 어떤 프로젝트 인줄 알았습니다. 


제대로 이해한거면 supervisor.d는 파이썬의 프로젝트인것 같더군요 (http://supervisord.org/Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.)


보통의 경우 Flask 를 단독으로 띄워서 사용하지는 않는다고 하는것 같습니다. 사실 이번엔 제가 이건 처음이여서 다른것을 참고 하다보니요 아직 wsgi 의 개념은 잘이해는 안가는데 flask+guicorn 조합으로 사용하는것 같습니다.( http://flask.pocoo.org/docs/0.12/deploying/wsgi-standalone/)


그다음 supervisor.d 에는 다음과 같이 적용을 시켰습니다 


[program:api]

command = gunicorn -w5 --certfile=cert.pem --keyfile=privkey.pem api:app -b 0.0.0.0:58080 --pythonpath /root/api

;directory = /root/api

user = root

numprocs=1

autostart=true

autorestart=true



일단 이걸로 사용하다가 ,  다음에는 이걸 사용하다가 Node.js 로 해봐야겠네요.. 


Node.js가 그렇게 좋다는데....(멍)

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License


젠투가 요즘 하도 스트레스를 줘서 다른 리눅스 배포판좀 Vmware로 구경하고 있었습니다.
수세보고 깜짝 놀랐습니다. 설치과정이 화려할뿐더러 정말 쉽더군요.. 우분토보다 더요(요즘 우분트는 모르겠습니다. 현재 나온 버전보다 그 전버전을 제가 데비안 보면서 잠깐 사용해봤는데-

제 기억에 우분투도 정말 편리했는데.. 수세는 장난이 아니예요.. 알아서 해주는게..)

그런데.. 수세하고 레드헷은 다른 계열로 알고 있는데ㅣ. 레드헷에서 RPM 쓰잖아요.. 그런데 수세에서도 RPM을 사용하는것 같아서요..


이런.. 젠투ㅠ
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Working Late
Working Late by Thomas Rockstar 저작자 표시비영리동일조건 변경허락

어제, 친척형을 만났는데, ,, 사실 웹으로나 여러가지 경로를 통해서 아이폰에 대한 이야기라던지 포스팅한것은 많이 보고 들었었습니다.. 하지만 실제로 본적은 없었습니다.
단지. 제가 핸드폰을 생각할때는....어짜피 노트북도 있으니까. 그냥 통화만 잘되고..문자만 잘보내지면 되지 이정도?
였는데.. 그게 아니네요... 정말 경이로웠습니다. 

2년전에 만든,, 스마트폰인걸로 알고 있는데... 그걸 지금까지 팔아먹고 있는 잡스형을 보면.. 

스티브 잡스, 어도비 플래시 맹비난
스티브 잡스 애플 CEO “말썽 많은 플래시 앞으로도 지원하지 않을 것”
어도비 "아이패드, 플래시 지원하라" - Daum 미디어다음 - 뉴스

얼마전에 잡스형이,(잡스형..?ㅋㅋㅋ) 아이패드를 만들었다고 했고, 그때 몇몇 뉴스를 통해서 보면.
우회적으로 말하면 그렇다고 치지만, 대놓고 말하면 아주 갔습니다.(철자가 맞는지 갑자기 헷갈리네요..)

물론, 저야 완전 MS를 사랑(?)한다기 보다도, MS를 안쓴다고 가정하면 리눅스 (를 잘하는건 아니지만. 우분투같은경우는 완전 편해서)를 쓰겟죠.. 아 그러니까 전 애플하고는 상관없어요..(여러 블로그를 읽어보면,, 애플이 하나의 물건을 사면, 다른 물건을 못사고는 못배기게 만든다는 평가도 있고, 그만큼 상품가치가 있다는거겠죠.)

관련기사를 보면서, HTML5에 대한 이야기가 나오더군요, 그리고 파이어폭스와 연계해서, 검색해보니 파이어폭스도 3.6버전부터 html5를 지원한다고 하고요. IE는 9부터 지원한다는것 같고.. 

어떤건지도 궁금해서 html5를 대표적으로 밀고 있는 youtube html5모드를 보려고 했습니다.
youtube.com/html5 가면 html5 모드로 전환할수가 있습니다. 물론 저는 어떤건지 궁금했고,
소시 oh를 검색하고 재생했는데, 안타깝게 재생이 안되네요.. 크롬에서는 재생이 되고 있거든요. 





매우, 개인적인 생각인데,, 일단 제 노트북 사양이 문제인지는 모르겠는데. 약간은 동영상이 부자연 스러운 느낌은 있네요. (기술적인 내용을 말하는것은 아닙니다,.. 그냥 느낌상) 그런데 정말로 신기한건..제가 유튜브를 볼때 사용하는 bywifi가 안움직입니다(아마도 이프로그램의 경위 flv 기초로 하는 스트리밍에서 위력이 발휘가 되는것 같은데) 그럴경우,, 스트리밍이 되는 모습 모랄까.. 진행바에 분홍색?이 다 차여있는 모습이 안보여야 하는데.. 왜냐면, 이게 안돌아가면 서서히 스트리밍 되서 앞으로 그냥 넘기면 제대로 재생이 안되거든요.. 

그런데. 왠지 스트리밍이 없다고 느껴졌다? 물론, 아닐수도 있습니다. 제가 이미 제가 소시동영상을 본거고, 제컴퓨터 저장된게, 플레이가 될수도 있으니까요. 물론 정확한건 아니지만 느낌상 그렇습니다.


잡스형님께서 말씀하신대로, html5가 대새가 되면 재미있겠지만. html5특성인지 전체화면 재생은 안되는듯 합니다.

아. 약간 다른 이야기도 있다면, 저는 firefox3.6이 html5를 지원하다면서 유튜브가 왜 지원이 안될까 궁금해서 구글링을 해보니까. 
대강의 정보는 얻을수 있었습니다. 정독한건 아니였거든요 파폭이 ogg 를 사용하면 html5가 h.264등등 코덱과 관련된 여러가지 말같기도 하고.. 그런것 때문인것 같은데. html에서 지정하는 공식 코덱 이야기도 나오는데,

만약이지만, html5가 활성회되고(물론, 국내 환경의 경우는 특수한 케이스라. 급변하는 사태는 일어나지 않겠지만) 그럴경우, html5가 플래쉬보다 빨라진다면, 플래쉬가 광고하는데 밖에 안쓰여진다면, 약간 어도비쪽에도 곤란한 일이 생길것 같다는 생각이 드네요.

아 그런데 , 플래쉬가 동영상 지원을 위해 있는것도 아니고, 원래는 정적인 웹을 동적으로 바꾼것도 플래쉬 인것 같은데 - 얼핏 기억에,, 물론 앞으로의 환경에 플래쉬도 계속 진화하겠지만. 

약간의 패러다임이 바낄수도 있다는 생각도 잠깐드네요..


이글의 요점, 아이폰은 경이롭다. 플래쉬는 망할것 같지는 않다. 그냥 ActiveX,,, (물건 구매 또는 티켓팅 하려다가 ActiveX가 설치가 안되서 처음부터 다시 해야되는.. 사태들...)


이글을 보고 계시는 분들 즐거운 명절 되고 계시나요  ? 쌩뚱맞지만, 늦었지만 . 새해 복 많이 받으세요. 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

확대
 드디어. 오늘 티맥스 윈도우를 발표하는
날이였습니다. 파이어폭스를 키니까  트위터폭스에서 티맥스 발표회를 생방송으로 한다리게 바로 봤습니다.

개인적인 느낌이랄까, 소녀시대 크리의 경우 진행을 일부러 그렇게 한지는 모르겠지만.
소녀시대 크리, 상당히 오래된 게임에도 불구하고 로딩속도가 느리다, 그리고 리플레이밖에 안보여주었다.

매우 주관적인 견해, 즉 비전문가로서의 생각은 약간의 정비할수 있는 시간

이 더주어진다면, 대박날수도 있으니까요,, 프리젠테이션 할때 지루했지만, 가장 솔깃 했던거는 범용성이랄까, 대사가 잘 기억은 안나는데, 모라고 했었지, 리눅스에서 만든걸 티맥스에서도 돌릴수 있고 윈도우에서 만든것도 돌릴수 있다= 하여튼 제기억이 잘못된것이 아니라면,

아 저도 몰랐거든요; 티맥스란 회사; 트위터의 어느 분이 알려주셔서 알았는데; 꽤 오래된 회사더라고요;; DB만들고,, 미들웨어 만들고 또,,


일단 컴퓨터를 전공하고 배우는 입장이니까 왠지 모르게 솔깃하지 않을수밖에 없었습니다. 중심없이, 글을 썻는데,
제 노트북에서 윈도우 비스타를 날릴수 있도록 정말로 멋찐 OS를 만들어 주세요;;


저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://spadework.co.kr BlogIcon SpadeWork 2009.07.08 08:04 신고

    물론 티맥스가 훌륭한 OS로 성장하길 바라지만 개발자 입장에서는 다소 걱정스러운감도 없지않나 있네요...

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2009.07.08 15:52 신고

      물건 하나 만들어졌으면 하는 바램입니다.

      당장은 아니더라도 시간이 지난뒤 저의 컴퓨터들에 윈도우가 안보이기를 바라고 있습니다. ㅎㅎ

1

+ Recent posts

티스토리 툴바