20200221 JSON, pandas, nginx&docker 관련

2020. 2. 21. 20:55개발/오늘의 소소한꿀팁

import json
j = json.dumps(dictionary)

위와 같은 상황일 때 dictionary에 한글이 들어가 있으면 깨지는 경우가 있다. 이 때 dumps 안에 argument에 ensure_ascii = False로 놓으면 된다.

 

import pandas as pd
df.to_csv('path')

위와 같은 경우에도 한글이 들어가면 깨지는 경우가 있는데, encoding='utf-8-sig'을 인자로 넣어주면 된다.

 

 

오늘 코드를 짜면서 사내 프로젝트에서 docker와 nginx 활용 관련 어려움을 겪어 꿀팁이라기보다는 경험담? 정도로 글을 남긴다.

1. docker-compose 짤 때 links 안해도 된다(docker compose version 3이상일 때) 알아서 container끼리 통신하는 것. 그렇다면 여기서 nginx container는 모든 외부 통신을 받아들인 후 request에 따라 적절한 contaienr에 요청하는 방식... 그리고 nginx는 새로운 웹서버인데 nginx 자체가 요청을 읽어 필요한 서버에 그 요청을 뿌려주는 방식(event drivven)이라고 한다. 덕분에 많은 수의 request가 들어와도 빠르게 처리할 수 있다고 한다..!

 

아 그리고 docker-compose에서 python log가 한발 느리게 출력된다는 느낌이 있는데(파이썬에서 출력버퍼가 디폴트로 작동하면서 로그를 붙잡고 있기 때문이라고 함), 그 때 필요한 container의 environment에 PYTHONUNBUFFERED=1(0이든 1이든 상관무)로 설정하면 된다고 한다.