on
Podo - Dev Log (3)
Podo - Dev Log (3)
12월 6일 (월)
오늘은 어떻게 프로젝트에 기여했나요?
서버 배포 후 클라이언트 연결 테스트
계좌조회 및 카드결제 API 검색
아임포트, 이니시스 API 공부
API Docs에 Callback 삭제 및 Response 수정
코드 주석 추가
오늘의 프로젝트에서 힘든 점은 무엇인가요?
프로젝트 상 결제 API를 어떻게 구현해야 할 지 감을 잡는데 힘들었습니다.
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
아임포트 API 적용
12월 7일 (화)
오늘은 어떻게 프로젝트에 기여했나요?
이니시스 일반 결제 테스스
아임포트 API 이용 및 계좌실명조회 Function 구현
icon
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
기존에 나와있는 결제 관련 코드를 실행해보기 위해 ant-design library를 사용해야했습니다. 그런데 다음과 같은 에러가 있었습니다.
Attempted import error: 'Icon' is not exported from 'antd'.
다른 개발자들은 실행을 잘하는 것 같아 혹시 라이브러리 설치 문제인가 해서 재설치해주었습니다. 하지만 여전히 같은 에러가 발생했습니다.
한 댓글을 보니 Ant Design이 v4로 업그레이드 된 이후로 Icon 사용방법이 바뀌어 아이콘 하나하나를 직접 import를 해줘야 한다는 것을 알 수 있었습니다.
Before
import Icon from '@ant-design/icons'; ...
After
import { CaretDownOutlined } from '@ant-design/icons'; ...
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
카드결제 Function 구현
카드실명조회 Payment에서 활용
Headers Sent Error 처리
12월 8일 (수)
오늘은 어떻게 프로젝트에 기여했나요?
계좌 실명 조회 Function으로 변경 및 enrollCard, changeCard에 적용
enrollCard, changeCard에 적용 코드스테이츠 Codeplay 팀과 미팅: 진행 상황 및 개발하면서 힘들었던 점 공유
API document 수정
Client API test
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
async, await를 사용해서 Promise 형태로 계좌 실명 조회를 하는 구조로 Function을 만들었습니다. 이 function을 Controller인 enrollCard, changeCard에 적용하기 위해 Promise 안에 있는 값을 변수에 결과값을 할당해서 결과값을 사용하려고 하니 에러가 났습니다. .then을 활용하여 에러를 해결했습니다.
오늘의 프로젝트에서 힘든 점은 무엇인가요?
없었습니다.
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
Client API test
정산일 알고리즘 구현
12월 9일 (목)
오늘은 어떻게 프로젝트에 기여했나요?
Client API Test Party Payment User
Edge Case 처리 controller/party/joinParty: 동일 유저가 같은 파티에 중복 가입 못하도록 처리 controller/user/deleteUser: 유저가 탈퇴 요청 시 모든 파티에 탈퇴되었는지 확인 후 탈퇴
API Document 그에 맞게 수정
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
API Test에서 Party 테스트가 잘 진행되다가 점심시간이 지나고 시도하니 에러가 났습니다.
이전과 같은 요청을 해도 엔드포인트 /party가 들어가지 않는 에러였습니다.
코드에 문제가 생긴건 줄 알고 다양한 시도를 했는데 해결되지 않았습니다.
마지막으로 server를 껐다 다시 켜니 해결되었습니다.
오늘의 프로젝트에서 힘든 점은 무엇인가요?
없었습니다.
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
Node Schedule 활용해서 백단 정산 시스템 구현
12월 10일 (금)
오늘은 어떻게 프로젝트에 기여했나요?
Edge Case 처리: 이미 가입한 파티의 OTT 종류와 동일한 파티를 또 다시 가입하거나(join) 만들려고(create)할 때, 422 에러 처리
API Test시 response 및 error 메세지가 뜨도록 JSON.stringify( ) 추가
getAllParties, getFilteredParties, updateProfileImage API docs 반영 DB Schema column 추가 Wiki 반영 Model column 추가
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
클라이언트 배포 후 로그인 이후의 설정이 반영되지 않는 문제가 있었습니다.
원인은 로컬과 배포버전의 환경변수가 달랐기 때문이었습니다.
앞으로 매일 아침마다 배포를 새로 해줘야겠다는 생각을 했습니다.
원인은 로컬과 배포버전의 환경변수가 달랐기 때문이었습니다. 앞으로 매일 아침마다 배포를 새로 해줘야겠다는 생각을 했습니다. sequelize 사용으로 결과값이 Promise { }으로 출력됨 (#212 참고)
오늘 새로 배운 점은 무엇인가요?
prettierrc : json 형태임에도 제대로 메세지가 불려지지 않아 처음에 따옴표 문제라고 생각했습니다. 하지만 prettierrc 설정 때문에 아무리 저장해도 자동으로 따옴표가 사라졌습니다. 그 설정을 해제하기 위해 "quoteProps"를 preserve로 바꿔줘야 했습니다. 하지만 그래도 message는 불러와지지 않았습니다.
레퍼런스: prettierrc 설정
: json 형태임에도 제대로 메세지가 불려지지 않아 처음에 따옴표 문제라고 생각했습니다. 하지만 prettierrc 설정 때문에 아무리 저장해도 자동으로 따옴표가 사라졌습니다. 그 설정을 해제하기 위해 "quoteProps"를 preserve로 바꿔줘야 했습니다. 하지만 그래도 message는 불러와지지 않았습니다. 레퍼런스: prettierrc 설정 response 및 error message가 제대로 불려오게 하기 위해서는 JSON.stringify( )를 사용해야 했습니다.
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
getAllParties, getFilteredParties, updateProfileImage 각 controller 코드 변경 최종결과 반영해서 API docs 수정
12월 11일 (토)
오늘은 어떻게 프로젝트에 기여했나요?
getAllParties, getFilteredParties 수정
클라이언트 재배포
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
sequelize의 Op를 이용해서 쿼리문을 쓰려고 했지만 해당 쿼리가 잘 생성되지 않는 에러가 발생했습니다. 알고보니 일반 sequelize와 달리 Op와 같은 옵션을 추가적으로 쓰기 위해서는 const { Op } = require("sequelize");을 상단에 넣어줘야했습니다.
const { Op } = require("sequelize");을 상단에 넣어줘야했습니다. 당일 날짜를 자동으로 가져와야 하는데 Javascript 상에 기본 생성자 Date()에는 당일 날짜를 자동으로 생성해주는 기능이 없었습니다. 구글링을 통해 moment라는 라이브러리를 알게되어 다음과 같이 구현했습니다.
const date = moment().format("YYYY-MM-DD"); let allPartiesInfo = await Party.findAll({ where: { start_date: { [Op.gt]: date }, ott_id }, raw: true, });
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
updateProfileImage controller 구현
주석 추가
클라이언트 재배포
12월 12일 (일)
오늘은 어떻게 프로젝트에 기여했나요?
updateProfileImage 구현
클라이언트 API 테스트
클라이언트 재배포
오늘의 프로젝트에서 어떤 에러가 발생했고, 어떻게 해결했나요?
클라이언트 테스트 params 사용에서 에러가 발생했습니다. 기본적으로 옵션이 정해져있는 경우 query보다는 params를 사용하기 때문에 이를 반영하기 위해 나누어서 사용했지만 바로 잘 적용이 되지 않았습니다.. 이와 비슷한 에러가 어제부터 getAllParties나 getFilteredParties에서도 나서 공통점과 차이점을 파악해가며 에러 원인을 분석했습니다. 원인은 서버에서 req.params.id로 해야하는데 req.params.ott_id로 해놓았기 때문에 클라이언트의 요청을 제대로 받아들이지 못했기 떄문이었습니다. params 이름을 제대로 바꾸니 해결되었습니다.
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
정산시스템 구현
클라이언트 재배포
from http://high-developer.tistory.com/101 by ccl(A) rewrite - 2021-12-12 16:27:57