개발일지
-
-
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 를 사용하라고 주석이 되어 있어서 이걸 사..