분류 전체보기
-
2019-10-23 개발일지개발일지 2019. 10. 23. 18:20
# 오늘의 TODO (마이그레이션 프로젝트) 메인화면 API 개발 총 광고 수익금 조회 API 최근 7일 광고 수익 차트 조회 API 공지사항 목록 5행 조회 API FAQ 목록 5행 조회 API 게임 결과 조회 API [프론트팀 테스트용] 백엔드 서버 구축 # (마이그레이션 프로젝트) 메인화면 API 개발 진행 내용 1. 개발 목적 Java / Spring Boot 프로젝트를 Node (TS) / Express 프로젝트로 마이그레이션이 목적으로 기존에 만들어진 API를 구현했다. 어려운 기능이 아니었기 때문에 문제가 발생한 건 없었다. 게임 결과 조회 기능에서 동일한 로직을 처리하는 코드가 있어서 해당 로직들을 공통 함수로 분리시키는 리팩토링을 했다. 내일부터 휴가라서 프론트팀이 목요일, 금요일 2틀간..
-
2019-10-22 개발일지개발일지 2019. 10. 22. 18:17
# 오늘의 TODO 모바일 통신 API 수정 공지사항, 업데이트 글 상세보기에 이전 글 번호, 다음 글 번호 응답 데이터에 포함 (마이그레이션 프로젝트) 메인 화면 API 개발 월 별 총 광고 수익금 조회 7일 광고 수익금 조회 # 모바일 통신 API 수정 진행 내용 1. 개발 목적 공지사항, 업데이트 글 상세보기 API는 요구사항에 없었던 내용이었는데, 다 만들고 나서 클라이언트 팀에 API 문서 전달하니까 요구사항이 추가되었다. 요구사항은 다음과 같다. 모바일 게임 앱 화면에서 공지사항이나 업데이트 글의 상세보기 화면에 이전 글 컴포넌트와 다음 글 컴포넌트가 존재한다. 그래서 이전 글이나 다음 글 버튼을 클릭 했을 때 이전 혹은 다음 글을 볼 수가 있어야 한다. 2. 개발 내용 기능 조건 사항 공지사..
-
expect.anything()테스팅/JEST 2019. 10. 21. 12:53
anything()은 null이나 undefined을 제외한 모든 값들과 일치한다. 이게 무슨 말이냐면 null, undefined외의 모든 값과 비교했을 때 동일하다는 결과를 기대한다는 것이다. 이는 null, undefined를 제외한 모든 값의 상태를 허용할 때 사용한다. # 리터럴 값 아래의 코드를 보자. test('map calls its argument with a non-null argument', () => { const mock = jest.fn(); [1].map(x => mock(x)); expect(mock).toBeCalledWith(1); }); 길이가 1인 배열에 map()을 통해 익명함수를 정의했다. 익명함수 안에서 mock()을 호출하는 코드를 작성했다. 만약 이것이 실행된..
-
2019-10-18 개발일지개발일지 2019. 10. 18. 18:18
# 오늘의 TODO 모바일 통신 API 기존 기능 추가 개발 공지사항 목록 페이지 네이션 추가 개발 업데이트 목록 페이지 네이션 추가 개발 게임 가이드 목록 페이지 네이션 추가 개발 JEST 학습 # 모바일 통신 API 기존 기능 추가 개발 진행 내용 1. 개발 목적 현재 사내 모바일 AOS 게임을 개발한 클라이언트 팀에서 공지사항과 업데이트 내역, 게임 가이드 내용들을 볼 수 있는 기능을 만드려고 하고 있다. 이에 웹 사이트에 있는 내용들을 읽어다가 클라이언트로 전달하는 API를 만들었었다. 기획자에게 물어봤을 때 게임 내 목록 기능에 페이지 네이션 처리가 안되어 있다고 해서 페이지 네이션 처리를 안하고 전체 리스트를 전달하도록 만들어서 API 문서와 함께 클라이언트 팀에 내용을 전달했다. 막상 작업 ..
-
expect.extend()테스팅/JEST 2019. 10. 18. 15:58
1. expect.extend() extend()는 matcher를 구현할 수 있는 함수다. JEST가 제공해주는 matcher 중 내가 원하는 matcher가 없는 경우 직접 구현할 수가 있게 제공한다. 예를 들어서, 숫자 범위를 검증하는 테스트가 필요하다고 해보자. 이 경우, 기본 제공하는 matcher기능(toBeLessThan(), toBeGreatherThan())으로도 테스트를 해볼 수 있지만 2번의 matcher를 호출해야하므로 불편할 수 있다. 그러니 직접 범위를 검증하는 matcher를 만들어보자. 1. expectExtend.test.js 파일을 하나 만들고 아래의 matcher 생성 코드를 작성하자. expect.extend({ toBeWithinRange(received, floor..
-
기초테스팅/JEST 2019. 10. 18. 14:47
JEST는 자바스크립트로 작성된 프로젝트의 테스트 자동화를 위해 사용되는 테스팅 프레임워크다. React를 만든 페이스북 팀에서 Jasmine 기반으로 만들었으며, JEST는 프레임워크에 상관없이 자바스크립트 기반 언어라면 모두 사용할 수 있다는 장점이 있다. * Jasmine : 테스팅 프레임워크다. https://en.wikipedia.org/wiki/Jasmine_(JavaScript_testing_framework) Jasmine (JavaScript testing framework) - Wikipedia Jasmine is an open source testing framework for JavaScript.[4] It aims to run on any JavaScript-enabled plat..
-
2019-10-17 개발일지개발일지 2019. 10. 17. 18:42
# 오늘의 TODO 한 줄 광고 신청 로직 분리 입력받은 값에 대한 검증 로직 분리 한 줄 광고 내용 수정 기능 개발 # 한 줄 광고 신청 로직 분리 개발 진행 내용 1. 개발 목적 한 줄 광고 신청 로직의 데이터 검증 중 텍스트 컬러 설정 데이터와 광고 진행 기간 설정 데이터를 검증하는 로직이 있었다. 해당 로직을 추후 추가되는 기능이나 기능의 변경으로 인한 유지보수를 위해 공통으로 사용할 수 있게 따로 함수로 빼내는게 목적이다. 2. 개발 내용 기존의 로직은 다음과 같이 하나의 API 로직에 처리되어 있었다. export async function add() { const { colorValue, useDate } = req.params; const colorValueList: Array = [1, ..