분류 전체보기
-
2019-10-16 개발일지개발일지 2019. 10. 16. 18:39
# 오늘의 TODO 한 줄 광고 신청 기능 추가 사용자가 한 줄 광고 신청을 할 수 있는 기능 한 줄 광고 신청 부담 금액 조회 기능 추가 사용자가 한 줄 광고 신청 페이지 접속 시 신청 부담 금액 정보 조회 기능 # 한 줄 광고 신청 기능 개발 진행 내용 1. 개발 목적 한 줄 광고 기능은 앱 내에 사용자의 광고를 배너 형식으로 표현해줄 수 있는 기능이다. 신청은 웹 사이트를 통해 신청하게 되며, 관리자 승인 여하에 따라 소정의 포인트가 차감된다. 2. 개발 내용 기존에 Java / Spring Boot로 만들어져있는 기능이기 때문에 Node.js, TS / Express로 마이그레이션을 진행했고, 코드 진행도 크게 다른 부분이 없었다. # 한 줄 광고 신청 기능 개발 후 1. 별 생각 없음 뭐 이미 ..
-
2019-10-15 개발일지개발일지 2019. 10. 15. 17:56
오늘은 기존 서비스의 테이블 구조가 변경되어 해당 서비스의 쿼리 유지보수와 JEST 문서를 이어서 봤다. 자사 어플 게임의 결과를 보여주는 서비스인데 비슷한 구조의 테이블이 나뉘어져있어 하나의 테이블로 합치는 작업을 했다. 그리고 타입을 기준으로 게임 기록을 조회하도록 수정했다. 그리고 JEST인데... 요거 문서를 읽고 해도 도대체 어떻게 서버와 종속되지 않은 상태로 데이터 베이스 관련 테스팅을 해야할 지 모르겠다. 도대체 어떻게 하는거야 -_-... 아 머리아프다.
-
2019-10-14 개발일지개발일지 2019. 10. 14. 11:37
오늘은 마이그레이션 프로젝트를 잠시 멈추고 이전부터 해보고 싶었던 JEST 테스트 라이브러리 프레임워크를 공부해봤다. 자바 스프링 진영의 경우는 jUnit이 있는데, 백기선님이 인프런 강좌에서 사용하시는 걸 보면서 '해봐야지' 하다가 신입일 때 프로젝트 기간 쳐내고 하느라 테스트까지 공부하고 할 여력이 없었다...(응 핑계ㄴㄴ) 이번에 JEST 문법을 보면서 jUnit하고 크게 다른게 없어 보여서 프레임워크 하나만 깊게 숙지해놓으면 다른 테스트 프레임워크도 쉽게 접근할 수 있을 것 같다고 생각이 들었다. 설치 및 환경 설정을 해보자. JEST 설치 JEST를 프로젝트에 설치하자. 나의 경우엔 이미 프로젝트가 이미 진행 중이었는데, 문제없이 테스트 환경을 만들 수가 있었다. 이후 @types/jest도 설..
-
2019-10-11 개발일지개발일지 2019. 10. 11. 18:27
오늘은 앱 내에 보여주는 사용자의 한 줄 광고 기능에 연관된 API를 만들었다. 신청자는 자신이 신청했던 이력을 볼 수 있는 목록 화면이 있어 목록 API를 만들었다. 관리자는 모든 신청자들의 이력을 볼 수 있는 목록 API를 만들었다. 해당 데이터를 관리하는 DB는 MS-SQL 2005라 또 로우 쿼리를 직접 작성해야 했다. 혹여나 내가 아직 찾지 못한 방법이 있지 않을까 다시 한번 탐색을 진행했지만 MS-SQL 2005에 대한 지원은 어쩔 수 없는 모양이다. 결국 수동으로 offset next limit을 대체하기 위해 TOP()함수를 사용했다. 그리고 이번에 페이지 네이션 처리를 다르게 했다. 기존 offset 방식의 페이지 네이션 처리를 해왔었는데, 해당 페이지 네이션 대신 커서 방식의 페이지 네..
-
2019-10-10 개발일지개발일지 2019. 10. 10. 19:01
게임 결과 조회 API를 작업해서 마무리했다. 어려운 문제는 로우 쿼리에서 발생했는데, 아래와 같은 코드가 있었다. const query: string = `SELECT ~~~~ FROM ~~~~`; const replacements: object = { something: 'something' }; const model = await Model.sequelize!.query(query, { replacements }); model.forEach(row => { row.getDataValue(); // Error }); query() 함수를 통해 조회를 실행하여 받은 결과가 model에 담긴다. 이후 forEach까지 돌린 후 안에서 row.getDataValue()를 호출할 때 'unknown[], u..
-
2019-10-07 개발일지개발일지 2019. 10. 8. 00:44
오늘은 광고 관련 기능을 작업했다. 기존 자바 / 스프링부트로 작업했을 때, 하나의 서비스 메소드에서 모든 기능 처리를 다 작업해서 리팩토링하기가 굉장히 어려운 코드가 되었다... 하나를 수정하면 다른 하나가 문제가 생기고 이러는 상태의 코드였는데, 이번 Node.js & TS 마이그레이션 기회로 아예 section(프론트 용어로는 컴포넌트)별로 기능을 쪼개고 쪼개서 각각의 기능으로 작동하도록 리팩토링을 진행했다. 총 5개의 기능 중 4개의 기능을 완성했고, 나머지 하나를 작업 진행하고 있는 중이다. 이번 자바스크립트로 작업하면서 느끼는건데 자바스크립트의 배열은 정말 물건이다. Array.length = 20 이런 식으로 초기화해놓은 배열 길의를 임의로 조정할 수 있고, pop이나 push, reduce..