flask - json_encoder 지정하기

API 상에서 JSON 으로 응답을 내보내기 위해서는 데이터를 Json Serialize(직렬화)를 해야한다. 그런데 json 에서 표현할 수 있는 데이터는 한정이 되어 있어서 각 프로그래밍 언어에 있는 모든 타입을 지원하지는 못한다. Decimal 형도 그런 예 중 하나인데 파이썬에서는 json.dumps()를 통해서 주로 직렬화를 하고 그 함수의 기능 중에 cls 인자를 통해서 JSONEncoder 를 구현한… Read More

(flask) jsonschema 를 이용해서 request.json 검사하기

API에서 파라미터의 유효성 검사는 필수적인 요소이긴 하지만, 개발자로서 여간 귀찮은 일이 아닐 수 없다. API의 양이 많을수록 할 일은 많아진다. 세세하게 체크할 부분은 해야하지만 기본적으로 파라미터 유무, 파라미터의 데이터 형을 체크하는 부분이 필요했다. API는 기본적으로 JSON 을 POST로 받는 식으로 구성되어 있어서 JSON을 검증하는 부분이 필요했다. JSON 검증을 위해서 jsonschema 를 활용할 수 있다는 것을… Read More

python json 기반 conf 파일 로드하기(object_hook)

conf 를 json 파일로 쓰는 경우가 있는데 주로 개인 프로젝트 할때 많이 쓰는 편인데 결국 conf 라는것을 환경설정 파일이기 때문에 파일로 가져와서 읽어야 하는 경우가 많다. 이 경우 json 을 바로 dict 으로 loads 해서 사용하게 되면 conf[“port”] 이런식으로 접근해야 하는데 object_hook 를 이용하면 객체의 형태로 접근할수가 있다. 좀더 코드가 깔끔해 진다랄까.  2015/… Read More

(iOS) JSONKit ARC 상에서 작업하기

다음 티스토리 API 연동중에 JSON 으로 연동하는 과정에서 JSONKit 라이브러리를 사용하고 있었는데 이 라이브러리는 아쉽게도 ARC로 작성되어 있지 않다. 하지만 JSONKit은 자기네들 말로는 Objective-C JSON 처리 라이브러리 중에서는 가장 빠르다고 하니 안 쓸수도 없는 노릇(성능평가자료).  StackOverflow에도 나와 같은 의문을 가지신 분들이 많이 계시는 지라, 찾아보니 답이 있다. 사용하는 방법을 아래와 같이 스크린샷으로 남긴다.  *1.… Read More

[Java] 간단 gson wrapping 하기

여러가지 라이브러리가 있겠지만 단연 json 라이브러리 중에 내가 가장 잘 쓰는 것은 gson 이다. 쓰기 편해서 일수도 있지만, 함수이름이나 그런것들이 잘 지어져있어서 직관적이다. wrapping 클래스를 만드는 이유는 여러 클래스에서 new 를 이용해서 Gson 객체를 생성하는데, 굳이 그럴 필요가 있을까 싶어서 만들게 되었다. wrapping 클래스에는 toJson()  함수 밖에 없는데 그 이유는 class to json String 기능만… Read More

[JAVA] Gson 라이브러리로 JSon 이용하기

최근에 회사에서 프로젝트를 하면서 쓴 것은 아니고 프로토타입핑을 하는 도중에쓴것이 있어서 소개하려고한다. 목적은그랬다. 데이터양이엄청많았는데서버에서가져오기벅차니까결과를캐쉬하자는목적이었다. 그런데메모리에올려져있는캐쉬를사용하자니서버에부담도되고, 그 사용량 역시 만만치 않다는 결론에이르렀다. 그래서 생각한것이 파일에저장하는것 이었다. 문제는 딱 2가지였다. 1. 각각의쿼리에대해서어떻게저장되어있는파일을고유하게구별할것인가? 2. 효율적인파일구조는무엇일까? 1번에대한답은MD5 키변환을통해서해결하고자했다. 즉, 어떤사용자가 어떤데이터를 요청할때, (데이터는사용자에종속된다.) 서버에 특정쿼리를 전달하면 그때의시간 혹은 테이블명 사용자ID 등의 고유한 문자열을 MD5키로 뽑아서 파일로만들고, 나중에 사용자가 쿼리를… Read More