gizmo - A Microservice Toolkit from The New York Times
A Microservice Toolkit from The New York Times
MySQL
MongoDB
Oracle
AWS (SNS, SQS, S3)
Kafka
Gorilla's securecookie
Gizmo Servers
나중에 써 먹어봐야겠다. 유용할 듯

Janaina Medeiros

JBB: An Artblog!
🪼
No title available
Today's Document
almost home

祝日 / Permanent Vacation
he wasn't even looking at me and he found me
Jules of Nature

Origami Around
DEAR READER
Aqua Utopia|海の底で記憶を紡ぐ
tumblr dot com

roma★

ellievsbear
Keni
No title available
Cosmic Funnies
PUT YOUR BEARD IN MY MOUTH

No title available

seen from United States
seen from Poland

seen from Australia
seen from United States

seen from United States

seen from Japan

seen from Germany

seen from Switzerland

seen from Germany

seen from Hungary
seen from South Korea
seen from United States
seen from Netherlands
seen from United States
seen from Morocco

seen from Brazil
seen from United States

seen from United States

seen from United States
seen from United States
@tech-heshed
gizmo - A Microservice Toolkit from The New York Times
A Microservice Toolkit from The New York Times
MySQL
MongoDB
Oracle
AWS (SNS, SQS, S3)
Kafka
Gorilla's securecookie
Gizmo Servers
나중에 써 먹어봐야겠다. 유용할 듯
dingo - An easy-2-use, distributed task framework for #golang
http://www.celeryproject.org/ 를 대체할만한 Golang 기반 distributed task framework.
Let’s Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG). ISRG is a California public benefit corporation, and is recognized by the IRS as a tax-exempt organization under Section 501(c)(3) of the Internal Revenue Code.
Web-based memory profiler for Go services (Official Fork)
Web-based memory profiler for Go services (Official Fork)
gitbucket - The easily installable GitHub clone powered by Scala
https://about.gitlab.com/
https://bitbucket.org/
private git server
docker
MINIMALIST OPERATING SYSTEMS
http://blog.docker.com/2015/02/the-new-minimalist-operating-systems/
RancherOS
https://github.com/rancherio/os
http://www.infoq.com/news/2015/03/rancher-os?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
CoreOS (August 2013)
https://github.com/coreos
Project Atomic (April 2014)
https://github.com/projectatomic/
Snappy Ubuntu Core
https://github.com/openhab/openhab/wiki/Ubuntu-Snappy
cf. - http://osv.io/ : non-docker-specific light OS
jenkins OSX
brew install jenkins
To have launchd start jenkins at login: ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
Then to load jenkins now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
Or, if you don't want/need launchctl, you can just run: java -jar /usr/local/opt/jenkins/libexec/jenkins.war
나중에 윈도우즈에서 x-window 연결할일 있을때 유용할 듯.
요즘 유행하는 word2vec 코드를 가지고 간단한 웹서비스로 만들어보았다.
web-word2vec
바이너리가 던져주는 stdout을 간단히 뿌려주기만 함.. 아무런 성능/에러처리 이런거 없..
multiprocessing.Pool을 가지고 word2vec 바이너리들을 미리 띄워두려고 했으나 동작이 잘 안되어 내일 한번 더 살펴보고 마쳐야겠다.
python difflib 라이브러리에 HtmlDiff 클래스는 diff 내용을 html 테이블 코드를 반환해 준다(두번째 이미지)
모양이 별로 예쁘지 않아 bootstrap으로 감싸보았다 (첫번째 이미지)
코드는 대략 아래처럼
import difflib
...
hd = difflib.HtmlDiff()
table = hd.make_table(compare_list, original_list, 'Compare', 'Original', False, True)
...
table = table.replace('class="diff"', 'class="table table-condensed diff"')
table = table.replace('<table border=""', '<table class="table table-condensed"')
table = table.replace('<td nowrap="nowrap"><span class="diff_add">', '<td class="success" nowrap="nowrap"><span class="success diff_add">')
table = table.replace('<td nowrap="nowrap"><span class="diff_chg">', '<td class="warning" nowrap="nowrap"><span class="warning diff_chg">')
table = table.replace('<td nowrap="nowrap"><span class="diff_sub">', '<td class="danger" nowrap="nowrap"><span class="danger diff_sub">')
http://konlpy.org 라이브러리를 이용한 한국어 형태소 분석기 데몬
konlpy, twisted 를 이용해서 간단히 데몬을 만들어보았다.
해당 라이브러리의 KKma이라는 클래스를 이용해 봤는데 초기 사전 로딩시간이 꽤 길었다. Hannanum, MeCap 클래스는 연산시간이 훨 짧다는데 귀찮아서 사용하지 않았다.
OSX (10.9.5)버전에서 twisted를 띄우고 쿼리를 한번 날려보니 python 프로세스가 죽어버린다.... 작업 끝.
opentsdb timeseries 데이터 삭제
tsdb scan --delete 30y-ago sum metrics tag=val [tag=val]
metricsr값 자체를 삭제하는 방법은 없음(2.0 현재..)
프론트 개발이 영 어려운 나..
우울한 가운데서도 CRUD grid를 만들었다.
http://plnkr.co/edit/xxiVeKbxz9E1LoDTuUul?p=preview
Server side의 rest api 구축을 위해 django rest framework를 이용하였고, CORS를 위해 corsheaders 를 적용하였다. (첨엔 jsonp callback을 적용했었다가 전환했다)
내부 db는 심플하게 sqlite
이걸 만들기까지 상당한 삽질을 경험했다(나의 선택장애 기질이 더욱 가중시켰다..)
0. 가장 오래되고 숙성한 jqgrid를 이용..
1. angularjs + jqgrid => edit 이후에 grid에 뿌리는 data의 binding을 해결하지 못해 포기
2. angularjs + ng-grid 는 ng-grid 3.0개발이 되고 나서야 해볼 수 있을듯. 2.0으로는 별로.. 3. extjs, kendoui 등은 아주 좋아보이나 유료라서 패스..
4. plunker가 프론트 개발시에 꽤 편리하다 바로 옆창에 결과를 볼 수 있으니. vim 에디팅 모드를 지원해줬음 더 좋을건데.
5. jqgrid에서 dynamic scroll 모드도 지원을 하지만 버그가 있어 포기 jqgrid가 jquery-ui만 기본적으로 지원하기 때문에 룩이 별로 예쁘진 않다.
하지만 대부분의 코딩은 intellij에서 했다.
다음엔 subgrid 기능을 추가할 예정이다.
python-patterns
https://github.com/faif/python-patterns
This is a collection of design patterns which gets implemented (by other people) using Python.
아직 파악 중이긴한데..
celery - python asynchronous task queue 라이브러리이고 웹서버 상에서 백그라운드에서 돌려야할 작업이나 분산환경으로 작업을 걸어야할 일이 있을때 사용하면 괜찮은 솔루션이다.
task queue는 내부적으로 AMQP를 이용하여 통신하고 있고, RabbitMQ, Redis 를 사용할 수 있다(BROKER_URL로 지정해주면 된다, Redis는 안정화되었다고는 하는데 최근까지 비정상 종료시에 task를 손실하는 경우가 있는것 같다.) 그외에도 여러 NoSQL, DB를 지원하긴 하나 Remote Ctrl, Monitoring등을 지원하지 않는 상태라 권장하진 않는다.
Celery가 task를 push하면 worker가 받아서 처리를 하는데 이때 Queue와 worker를 연결해주는 Router가 필요하다. 기본설정은 자동 라우팅(CELERY_CREATE_MISSING_QUEUES) 인데 특정 Queue로만 전달하고 싶으면 named Router를 만들어 매뉴얼하게 등록해줄 수도 있다.
동작방식은 작업을 수행할 서버에 celery worker를 띄워두고(app, broker_url등의 celeryconfig.py또는 설정인자가 필요, 원하는 머신에서 원하는 개수대로 띄우면 되겠다)
celery instance를 생성하고, 원하는 task를 만들어서(tasks.py) broker에 밀어넣으면된다.
task를 다 수행한뒤 callback을 걸어주고 싶을땐 chord를 이용하면 되겠다(성능상 이슈로 문서에서는 권장하지는 않고 있다)
사실 python으로 돌리는 웹서버에서 시간이 걸리는 작업들을 asynchornous 하게 처리하려면 multiprocessing.Pool로 돌려도 된다(로컬에서만 돌릴 수 있다는제 제약이겠네, 예전에 만들어 본 코드가 있다)
scale도 celery worker 수를 조절하면 되고, AMQP 서버도 scale out을 지원하는 DB를 사용하니 production모드에서 운영에 편리함이 있겠다.
음 그런데 celery + fabric 조합으로 worker 서버에 celery를 띄우지 않아도 되지 않을까? .. 그러려면 auto routing, scale sizing를 별도로 관리를 해야하니 운영비용이 좀더 들것 같다.
사실 만들어보고 싶은건 task의 state, log, 결과등을 django-activity-stream이나 workflow 류하고 결합해서 비주얼, interactive하게 보여주고 싶은건데.. 능력이 딸린다.. 학습시간이 더 필요할 것 같은데 시간이나 환경이 기다려줄지 모르겠다.
Best Practice Recommendations for Angular App Structure
https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub