분류 전체보기
-
2019-10-02 개발일지개발일지 2019. 10. 2. 18:12
오늘은 1:1 문의 목록 화면, 상세보기, 문의 등록 기능을 작업했다. 별로 크게 어려움은 없었는데, 한가지 재밌는 요소를 발견했다. Array.prototype.some() 이 기능은 배열 요소에 대한 검증을 하는 역할을 하는데, 검증 결과(true / false)를 리턴해준다. '검증하다가 true가 되는 순간 이후 검증을 진행하지 않고 중단하는 특징'이 있는데, 이상하게 true가 되었는데도 이후 false가 되는 검증을 진행하는 문제가 발생했다. 아래의 코드를 보자. const test = ['A', 'B', 'C', 'D'].some(v => { v === 'C'; }); console.log('test: ', test); /// test: false 이런 코드였는데 처음 봤을때 뭐가 문제인지 ..
-
2019-10-01 개발일지개발일지 2019. 10. 1. 17:45
오늘은 FAQ 기능을 만들고 1:1 문의 답변 기능에 대한 모델링을 작업했다. FAQ 기능도 게시판 기반이라 목록, 검색, 페이지네이션, 상세보기, 쓰기, 수정, 삭제 정도의 기능이라 어려움은 없었다. 오늘은 좀 한가지 배움이 있었는데, sequelize-typescript를 사용하면서 에러를 마주쳤기 때문이다. 1:1 문의 답변 테이블의 모델링을 정의하면서 문제를 발견했다. 1:1 문의 답변 테이블은 문의 테이블과 답변 테이블 2개가 존재한다. 이전에 JS로만 모델링을 정의하던 방식대로 하나의 파일에 2개의 모델링을 정의하려고 했는데, 이게 sequelize-typescript에선 불가능했다 sequelize.js로 하면 다음과 같이 하나의 파일에 두개의 모델링을 정의하고 연관관계를 맺을 수 있었다. ..
-
2019-09-30 개발일지개발일지 2019. 9. 30. 18:19
오늘 마이그레이션 프로젝트의 기능 하나를 만들었다. 공지사항 기능인데, 목록 보기, 검색, 페이지네이션, 상세 보기, 등록, 수정 삭제를 완성했다. 작업 하면서 생각이 든게 '코드 뿐만 아니라 DB 구조도 뜯어 고치고 싶은데...'라는 생각이 멈추질 않는다. 이전에 JPA를 제대로 알지 못하는 상태에서 만들었고, 마땅한 규칙도 없이 컬럼을 만들어서 정말 제멋대로 구조가 잡혀있다. 사실 DB 구조 보고 '아 그냥 때려치울까...'생각도 들었는데 일단 DB는 건드리지 않고 코드 기준으로 마이그레이션만 하기로 했다. DB 구조 건드렸다가 일 터지면 답이 없다.
-
2019-09-27 개발일지개발일지 2019. 9. 27. 18:49
어제에 이어서 마이그레이션을 시작했다. Node.js + Typescript + Express 환경을 만들고, prettier도 설정해서 TS 린트 설정도 해주고... 시퀄라이즈로 DB도 모두 연결 및 연결 테스트가 완료되었다. 패스포트를 통한 로그인 로그아웃 기능도 만들었다. 근데 별 거 아닌 곳에서 시간을 20분이나 사용했는데... 객체 디스트럭쳐링을 하고 그에 타입을 주는 것에서 시간을 날려먹었다. 아래와 같이 req의 params에서 값을 디스트럭쳐링하는 과정이었다. const { value1, value2, value3 } = req.params; 요로코롬 하고 이제 타입을 지정하기 위해서 아래와 같이 코드를 작성했는데 다음과 같은 에러가 발생했다. const { value1, value2, v..
-
2019-09-26 개발일지개발일지 2019. 9. 26. 17:41
오늘은 개인 프로젝트로 회원가입, 회원탈퇴, 비밀번호 변경 기능을 만들었다. 그리고 기존에 회사에서 Java / Spring Boot로 만든 프로젝트를 Node.js & TS / Express로 마이그레이션 하려고 한다. 마이그레이션 하려는 이유는 다음과 같다. 1. Front / Back으로 나뉘어지지 않고 개발된 상태이다. - 이것은 상당히 곤란한 상태다. 왜냐면 프론트 팀에서 작업한 내용을 내가 넘겨받아 html을 타임리프로 컨버팅하는 수작업을 해야하고, 무엇보다 프론트 팀에서 데이터를 확인하기 위해서는 백엔드 팀에게 의존할 수 밖에 없는 상황이기 때문이다. 문제가 발생했을 때나 새로운 기능을 추가해야할 때 등 유지보수 측면에서 굉장히 불편한 상황이라 프론트 / 백으로 프로젝트를 분리하는 것이 향후..
-