뭐가 문제였나 필자는 현재 HMR(가정간편식) 커머스를 다루는 모 스타트업에서 백엔드 개발자로 재직 중이다. 말이 백엔드지 최근 변화되고 있는 트렌드에 맞춰 열심히 API 작성 셔틀을 하고 있다. API 개발에 주로 사용하는 HTTP 상태 코드는 주로 200 (정상), 400 (잘못된 요청), 401 (보안 토큰 에러), 403 (권한 없음), 404 (찾을 수 없음) 정도가 있었다. 문제는 여기에서 발생했는데, API를 계속 개발해 나가다 보니 API 요청 시 데이터가 없을 때 200 상태 코드에 빈 배열을 돌려주어야 하는지, 404 상태 코드를 돌려주어야 되는지 상황에 따라 다를 수 있겠다는 생각이 들었다. 만약 '데이터가 없을 수도 있는 상황'과 '데이터가 없으면 안 되는 상황'에서 404 Not ..
JSON은 JavaScript Object Notation의 약자로서 다른 언어간에 객체를 전달하는 포맷으로 많이 사용된다. 주로 클라이언트 사이드에서 서버 사이드로 객체 정보를 전송할 때 쓰인다고 한다. JSON의 개념이 없는 상태면 어려울 수도 있지만 막상 공부해보니 하나도 안어렵다. 다음 소스코드는 일반적인 자바스크립트에서의 배열과 객체의 사용방법 예제다. JSON의 표현방법도 위와 크게 다르지 않지만 객체 자체를 문자열로 바꿀 수 있다는 특징이 있다. 이 객체 정보를 가진 문자열을 다른 언어나 서버로 던져 다시 사용할 수 있다. 다음은 기초적인 JSON 사용 예제다. 두개의 JSON 메소드가 사용되었는데 JSON.parse(str)와 JSON.stringify(obj) 두가지다. JSON.pars..
간혹 웹 서버, 혹은 DB 서버 구축시 PHP랑 MySQL의 인코딩 문제 때문에 귀찮을 때가 있다. 분명 둘 다 UTF-8 (유니코드)로 설정을 잘한 것 같은데, 한글 인코딩 문제가 발생하기 때문이다. 예를 들어 분명 웹에서는 잘 나타나는데 실제 DB를 확인해보면 깨진 한글이 입력되어 있거나 그렇다.이를 해결하기 위해 2가지 정도의 방법이 있다. 1. PHP에서 DB접속시 강제 인코딩 설정 이 방법은 DB Connection을 하는 각 페이지 마다 강제 인코딩 설정을 해주는 방법이다. PHP 파일에서 DB 연결하고 다음 쿼리를 날려주면 된다. set names utf8; 위 방법으로 안된다면 추가로 다음 쿼리도 날려줘보자. set session character_set_connection=utf8;set..