• Nginx로 프록시와 로드밸런싱 사용하기

    node.js 웹서버 포트를 숨기기 위해 프록시 서버를 사용하고 프록시를 이용해 다른 인스턴스에서 작동하는 각각의 서버를 사용해 서버에 가해지는 부하를 줄이는데 로드밸런싱을 사용합니다. nginx로 로드밸런서를 설정하는 방법을 정리해보고자 합니다. 작업환경 aws lightsail linux ubuntu 16.04 nginx 1.10.3 nodejs 8.11.3 작업순서 우분투 인스턴스를 발급받아서 쉘을 실행하고 아래와 같이 패키지 설치를 합니다. #...


  • Node.js에서 multer로 S3 버킷에 데이터 추가하기

    Node.js 웹서버에서 프로그래밍적으로 S3 버킷 데이터를 사용하기 위한 전처리 작업입니다. S3 버킷에서 데이터를 추가하는 작업을 할 예정입니다. 실제 데이터를 브라우저를 통해 POST요청을 보낼떄 버킷에 업로드함과 동시에 업로드된 이미지 url을 데이터베이스에 추가하기 위해 필요합니다. 작업환경 koa koa-router aws-sdk multer multer-s3 작업순서 S3 버킷을 만들었다면 accessKeyId와 secretAccessKey를 다운받기 위해 우측상단에 있는 내...


  • Jekyll 블로그 이미지 호스팅하기

    블로그에 코드만 올리다 점점 스크린샷을 찍어 올려야 할 일이 점점 많아집니다. 처음에는 티스토리 블로그에 호스팅을 해서 이미지를 가져와서 사용했습니다. 물론 현재도 사용하고 있는 블로그에 비공개로 해서 올려놓기 때문에 3자가 본다면 아무것도 안보이겠죠. 제 눈에는 너무 지저분해보이고 티스토리가 날아간다면 이 블로그에 있는 이미지들도 다 날아가겠죠. 그래서 생각해냈던 방법이 다음과 같습니다. 드롭박스...


  • Sequelize 테이블 컬럼 추가시 에러 해결하기

    작업환경 sequelize sequelize-cli mysql 테이블 정의 cli로 model:create 명령어를 사용하면 /migrations, /models, /seeders 폴더에 각각 파일이 하나씩 생성됩니다. 우선 우리가 다룰 파일은 /migrations, /models에 있는 파일들입니다. 우선 테이블 생성을 위해 다음과 같이 입력합니다. 테이블명은 단수로 입력하면 자동으로 복수로 저장됩니다. sequelize model:create\ --name ProductColor\ --attributes productId:integer,productColor:string &&\ seqeulize init:seeders &&\ sequelize...


  • 코드워즈 알고리즘 문제 JS, Java, Python으로 풀어보기

    문제해결능력의 부족함을 느껴 코드워즈 문제풀이를 시작했습니다. 제 정답과 베스트 솔루션을 비교해보니 코드양이 너무 비교되더라구요. 다음과 같은 조건에 부합하는 코드를 작성해야 합니다. 우선 Javascript로 먼저 작성해본 다음 Python과 Java로도 작성합니다. 조건 x와 o가 둘 다 적어도 1개 이상 포함되어야 하고 갯수가 같아야한다. 메서드는 불리언을 리턴해야만 한다. 테스트 케이스 Test.assertEquals(XO('xo'), true); Test.assertEquals(XO('XO'),...