분류 전체보기
-
2019-08-09 개발일지개발일지 2019. 8. 10. 10:11
이 날은 시퀄라이즈의 자동 쿼리 지원 기능으로 인해 이슈가 좀 있었다. JPA로 개발할 때에는 겪어보지 못한 문제였기에 좀 헤맸었다. 우선 내 개발 환경은 PostgreSQL11 버전과 MS-SQL 2016을 도커를 통해 컨테이너를 띄워 구성했다. 개발 환경을 연결해서 테스트했을 때는 문제가 없었는데, 운영 서버에 테스트용으로 앱을 띄워서 테스트하다가 문제가 발생했다. 내용은 MS-SQL에서 OFFSET FETCH 구문을 지원하지 않는다라는 이슈였다. 앱에서 글 내용을 조회하는 기능이 있었고 여기의 쿼리에서 시퀄라이즈가 자동으로 OFFSET FETCH 구문을 작성하여 실행시키는데, 운영 서버는 MS-SQL이 2005버전이라 2008이후부터 지원하는 OFFSET FETCH 구문을 인식하지 못하는 것 이었다..
-
2019-08-08 개발일지개발일지 2019. 8. 8. 18:34
오늘은 몇가지 작업을 좀 했다. - 로그인 구조 뜯어고치기 - 로그아웃 기능 구현하기 - 공지사항 목록 조회하기 로그인 구조를 뜯어고친 이유는 다음과 같다. 기존의 로그인은 JWT 토큰을 생성하여 발급하는 형식으로 인증을 처리했는데, 이 때 토큰 탈취로 인한 취약점을 고려하여 데이터 베이스에 토큰 정보와 로그인 상태 값을 저장하는 로직으로 만들었었다. 그러나 토큰에 포함되는 사용자 정보나 유효기간을 생각하면 데이터 베이스로 관리하는 것이 현재 프로젝트에서는 배보다 배꼽이 더 큰 경우가 된다는 것을 알게 되었다. 그래서 데이터 베이스를 거치지 않고 로그인 및 로그아웃을 수행할 수 있도록 처리했다. 공지사항 목록 기능을 구현하기위해 시퀄라이즈로 findAll() 함수를 사용했는데, 이 때 정렬을 위해서 or..
-
2019-08-07 개발일지개발일지 2019. 8. 7. 21:55
회사에서 다음 프로젝트를 Node.js로 만들기로 했다. Node.js 개발자로 전향하기 위한 첫 걸음으로 삼는 기회를 가지기로 했다. 개발 환경은 다음과 같다. - Node.js - Express Framework - Sequelize ORM - PostgreSQL - MS-SQL 프로젝트 세팅 첫 날에는 ORM을 생각 못하고 pg 모듈과 mssql 모듈로 직접 pool을 생성해서 세팅을 했었다. 이후 오늘 ORM으로 구성하기 위해서 시퀄라이즈로 구성했다. 시퀄라이즈를 처음써봐서 고생을 좀 했는데... Model 객체를 만들때 분명 시퀄라이즈의 Model.ts에는 PostgreSQL10 이상의 버전에서는 자동 증가 설정을 autoIncrementIdentity 를 사용하라고 주석이 되어 있어서 이걸 사..
-
로우 레벨로 살펴보는 Node.js 이벤트 루프JavaScript/Node.js 2019. 8. 1. 12:52
Okky 사이트의 Tech 카테고리에서 좋은 글을 발견하여 필요할 때 복습하며 보고자 링크를 남긴다. https://evan-moon.github.io/2019/08/01/nodejs-event-loop-workflow/ 로우 레벨로 살펴보는 Node.js 이벤트 루프 1년 전, 필자는 setImmediate & process.nextTick의 차이점에 대해 설명하면서 Node.js의 이벤트 루프 구조에 대해 살짝 언급한 적이 있었다. 놀랍게도 독자 분들은 원래 설명하려고 했던 부분보다 이벤트 루프 부분에 대해서 더 많이 관심을 주었고, 필자는 그 부분에 대해서 많은 질문을 받았었다. 그래서 이번에는 Node.js evan-moon.github.io 해당 글은 Okky사이트의 "devEvan"님께서 원작..
-
[HTTP 통신] REST ClientIDE/VSCode 패키지 2019. 7. 31. 14:32
백엔드 작업을 하면서 HTTP API를 만들면 통신이 유효한지, 원활한지, 원하는 데이터를 주고 받는지 테스트하기 위해서 Postman이나 Advanced REST Client 프로그램을 비롯하여 다양한 HTTP 통신 툴을 사용한다. Advanced REST Client를 사용하고 있었는데 VSCode로 쉽게 통신 테스트를 할 수 있는 확장 프로그램이 있어 설치하여 사용해보고 글을 쓴다. 사용 방법이 간단하고 요청을 보내면 바로 응답 데이터가 VSCode에서 열리기 때문에 좋다! 가장 큰 메리트는 섹션별, 파일별로 저장하여 관리할 수 있어 깔끔하고 용이하다는 것이다. Advanced REST Client를 사용할 때 불편했던 점은 너무 많아지는 탭과 히스토리의 어마어마한 스크롤 양이었다. 사용할 수록 관..
-