뭐가 문제였나 필자는 현재 HMR(가정간편식) 커머스를 다루는 모 스타트업에서 백엔드 개발자로 재직 중이다. 말이 백엔드지 최근 변화되고 있는 트렌드에 맞춰 열심히 API 작성 셔틀을 하고 있다. API 개발에 주로 사용하는 HTTP 상태 코드는 주로 200 (정상), 400 (잘못된 요청), 401 (보안 토큰 에러), 403 (권한 없음), 404 (찾을 수 없음) 정도가 있었다. 문제는 여기에서 발생했는데, API를 계속 개발해 나가다 보니 API 요청 시 데이터가 없을 때 200 상태 코드에 빈 배열을 돌려주어야 하는지, 404 상태 코드를 돌려주어야 되는지 상황에 따라 다를 수 있겠다는 생각이 들었다. 만약 '데이터가 없을 수도 있는 상황'과 '데이터가 없으면 안 되는 상황'에서 404 Not ..
선 코드 후 코멘트 import config from 'getconfig';import knex from 'knex';import mongoose from 'mongoose';import { User, Log } from './domainObjects';import { Log as LogSchema } from './mongodbSchemas'; class MySQL { constructor() { this.driver = knex(config.DATABASE.MYSQL); } __findByIdx(table, idx) { return this.driver.select().table(table).where({ idx }); } __findByValue(table, params) { return this...
이 포스트는 2017년 1월에 작성된 글입니다. 안녕하세요. 플레이팅 개발자 이벤트 '이상한 나라의 스트링' 문제 출제자이자 플레이팅의 백엔드 개발자 요우입니다. 개발자 이벤트#1. 이상한 나라의 스트링 나름 폭발적인 관심을 받았는데요 :) 정말 많은 분들이 이벤트에 참여해주셨습니다. 페이스북 링크 : https://www.facebook.com/myplating/posts/1217862034916391 참여 해주신 모든 분들께 감사를 드립니다 ㅜㅜ 문제 해설 문제 페이지: https://goo.gl/BOi9Vb MDQ3IDA0MiA...중간생략...IDAxMyAwMTA=첫 문제 링크인 https://goo.gl/BOi9Vb 은 모두들 눈치 채셨겠지만 Base64로 Encode된 문자열이었습니다..! 이..
아아.. 블로그 포스팅을 할 건 많은거 같은데 회사 일이 바쁘다 보니 자꾸만 밀린다 ㅜㅜ.. 이건 API 서버 개발하다가 정말 유용하게 쓰고 있는 API 서버의 에러를 텔레그램 봇으로 받는 구현체 예제입니다. API 서버의 환경은 다음과 같습니다 Node.js 7.x Express.js ECMA2016 텔레그램 봇이 급하신 분들은 errorHandler.js 만 보세요. 테스트로 사용한 전체 소스코드는 Gist 를 참고 바랍니다. 선 스크린샷, 후 코드 구현체 Server.js import express from 'express';import occurError from './occurError';import errorHandler from './errorHandler' const app = expres..