• Sequelize 쿼리 미세먼지 꿀팁

    콘솔에 뜨는 쿼리 로그가 보기 싫을 때 SELECT `attribute_id`, `name`, `createdAt`, `updatedAt` FROM `attributes` AS `attribute` WHERE `attribute`.`attribute_id` = '1'; 데이터 탈취나 리소스 절약을 위해서 위같은 쿼리는 개발모드일 때에만 콘솔에 찍히는게 좋을겁니다. config 파일에 logging 옵션을 작성합니다. "development": { "database": "database", "username": "root", "password": "root", "host": "127.0.0.1", "dialect": "mysql", "logging":...

  • Sequelize 환경변수 관리 및 CLI명령어 관리하기

    서론 sequelize-cli를 사용할 때에도 .env로 환경변수를 관리할 수 있게 하는 방법과 src/db디렉토리까지 올라가서 sequelize명령어를 입력하지 않고 루트에서 바로 명령을 실행할 수 있게 하는 방법을 설명하려고 합니다. 우선 ORM을 통해 개발하는건 SQL별로 쿼리가 약간씩 다른 부분을 해결해 주는데 큰 도움이 되었습니다. 이 ORM을 더 편하게 CLI환경에서 사용할 수 있게 해주는 sequelize-cli는...

  • Jekyll 블로그 빌드속도 개선하기

    마크다운으로 글을 작성하면서 VSC플러그인으로 미리보기를 할 수도 있지만 Jekyll서버를 켜놓고 브라우저에서 글을 미리보기하는게 훨씬 편하더라구요. live-reload까지 바라지도 않지만 html파일 빌드가 조금 빨라졌으면 하는 마음에 몇가지를 알아냈습니다. 효과가 적은 것부터 큰 순서로 작성했으니 참고해주세요. 작업순서 liquid-c jekyll-include-cache google analytics 파일로 분리하기 liquid 조건, 반복문 사용 줄이기 실행시 --incremental 플래그 붙이기 실행시...

  • Netlify에서 api서버 정보 읽어오기

    netlify는 정적페이지를 정말 편하게 배포해주는 서비스입니다. 대신에 프론트와 백에서 설정을 하나씩 해줘야 합니다. 그렇지 않으면 오류가 날거에요. 작업환경 netlify node.js 작업순서 프론트엔드 그냥 create-react-app에서는 그저 package.json에서 proxy설정만 해주면 알아서 api서버에 요청을 보낼때 설정값이 바인딩됩니다. 하지만 netlify에 배포된 환경에서는 그것만으로는 부족합니다. _redirects과 _headers이 있습니다. _redirects를 먼저 살펴보겠습니다. 아래와 같은 예제가 있습니다....

  • React에서 HashRouter를 사용해 redirection 막기

    영문이 많이 들어가니 제목이 보그체같군요. 작업환경 create-react-app react react-router v4 netlify 작업순서 SPA인 리액트는 라우터에 상관없이 항상 같은 index.html만 보여줍니다. 그래서 새로고침을 하면 404 Not Found 오류가 납니다. netlify 위에서 돌아가는 페이지의 경우 코드 내부에서 proxy설정을 해놓았더라도 아래 _redirects파일을 build파일에 포함시켜주지 않으면 api서버에서 데이터를 가져오지 못합니다. _redirects에 관한 문서를 확인하시려면...

  • 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'),...