전체 글 221

TIL 220817 - 새로운 기능 습득

미니 프로젝트의 중간 정도가 지나고 있는데 서버에서는 기능을 다 끝내서 프론트에서 힘든 일이 있거나 에러가 있을 땐 프론트와 얘기를 하면서 오류를 해결하고 남는 시간에는 개인 공부? 다른 기능들을 추가할 수 있도록 혼자 공부하고 연습해보고 있다. 지금 내가 공부하고 있는 거는 swagger는 api 명세서를 다른 파일에서 보통 작성해서 공유를 하는데 서버에서 api를 보기 좋은 UI로 만들어서 모두가 확인하고 공유할 수 있도록 도와주는 프레임워크이다. 어제 자기 전에 잠깐 찾아보고 오늘 아침부터 어제 찾은 자료들을 제대로 보고 하나씩 시도해 보고 있다. 처음 설치하고, 설정까지는 그대로 따라 하면서 쉽게 따라갔는데 swagger를 적용하는 것부터 조금 어렵더니 중간에 토큰을 사용하는 것에서 애를 많이 먹..

일지/TIL 2022.08.17

swagger 설치 및 설정 기본 사용법

swagger란 API 명세를 설계하고 문서화를 해주는데 도움을 주는 기술(협업할 때 유용) Open API Specification(OAS)를 위한 프레임워크 간단한 설정으로 프로젝트에서 지정한 URL들을 HTML 화면으로 확인할 수 있게 해주는 프로젝트 api명세가 필요한 이유 - 협업을 진행하거나 이미 만들어져 있는 프로젝트에 대해 유지보수를 진행하기 위해서 구축되어 있는 API가 어떤 스펙을 갖고 있는지 알아야 한다. - API 명세서가 없다면, 코드를 전부 확인하는 과정에서 개발 시간이 너무 오래 걸린다. - 프론트는 백앤드에게 API가 어떻게 동작하는지 물어보면서 개발해야 한다. - 개발할 때는 시간이 적게 걸릴 수 있지만, 유지 보수를 할 때, 시간이 상당히 오래 걸린다. api 명세를 작성..

coding/Node.js 2022.08.17

TIL 220815

주말에 늦잠을 자서 월요일 새벽은 항상 잠이 안 온다. 뭐 덕분에 게더에서 공부도 좀 하고, 프로젝트 정리도 하고, 만들었던 코드 보수도 하면서 새벽까지 공부를 했다. 프론트 팀원들도 몇 분 오셔서 같이 질문하면서 로그인 쪽에 대해서 얘기를 많이 했다. 아무래도 토큰에 대한 개념이나 req, res에 대한 것에 익숙하지 않으셔서 어려워하셨다. 최대한 쉽게 설명드리고 싶은데 나도 많이 부족하지만, 설명을 들어서 조금씩 진전이 있는 것 같다. 리액트에 대해서 모르고 내가 직접 코드를 만지는 게 아니다 보니 힘들었다. 콘솔 로그를 내 마음대로 찍어볼 수가 없어 저렇게 해주세요 이렇게 해보시겠어요? 말 밖에.. 좀 죄송스러웠지만, 뭐 이것도 다 과제의 일부니까 하면서 생각했다. 어느 정도 작업이 끝나곤 팀원들이..

일지/TIL 2022.08.15

WIL 220814

이번 주는 주특기 심화 주차의 마무리와 미니 프로젝트의 시작을 보낸 한 주였다. 개인과제가 아닌 팀 과제로 진행하다 보니 여러 사람들과 많은 얘기를 할 수 있는 기회가 되었고, 협업을 하면서 의논도 정말 많이 했다. 주특기 때는 팀원들의 실력이 모두 좋아서 모르는 부분이 있으면 많이 물어보면서 배울 수 있었고, 분위기도 좋았다. 그중 하루는 모기 때문에 잠을 못 자서 컨디션이 많이 안 좋은 날도 있었지만, 팀원들이 이해해 주셔서 조금 편하게 공부를 할 수 있었다. node를 이용해 서버를 구축하고, 계속해서 보완하는 작업을 했고, 테스트 코드를 통해 코드의 안정성을 검증하는 주였는데 매우 어려웠다. 그래도 팀원들이랑 역할을 나누고 진행해서 마무리까지 잘 해냈다. 이후 미니 프로젝트가 시작되었고, 이번에도..

일지/WIL 2022.08.14

CORS 사용방법

cors란 Cross Origin Resource Sharing의 약자 클라이언트와 다른 origin을 가진 서버가 서로 통신할 수 있도록 허용하는 프로토콜이다. 자신이 속하지 않는 다른 도메인, 다른 프로토콜, 다른 포트에 있는 리소스를 요청하는 cross-origin HTTP 요청 방식이다. 기본적으로 도메인 혹은 포트가 다른 클라이언트가 서버에 api요청을 보냈을 때, 브라우저가 보안상의 이유로 api를 차단한다. 이를 cors를 통해 허용하여 정상적인 api요청을 주고받을 수 있도록 한다. 즉, cors를 설정하지 않으면 기본적으로 허용하지 않은 다른 도메인, 다른 포트로부터의 api요청은 받을 수 없다. 왜냐하면, 특정 서버 리소스에 다른 임의의 웹 사이트들이 api 요청을 보내서 악의적으로 특..

coding/Node.js 2022.08.14

TIL 220813

미니 프로젝트 2일 차 어제까진 백앤드에서 공통으로 사용할 모델을 정의하고, 마이그레이션으로 DB를 생성했다. 오늘 아침부터 내 역할인 게시물 CRUD 만들기 위해서 코드를 치기 시작했는데 바로 문제가 생겼다. 분명 어제 새벽까지 관계 설정을 했는데 제대로 되지 않았던 거다... 사실 마이그레이션을 사용해서 관계 설정까지는 잘해줬는데 디비에 접근하고 사용하는 거는 모델을 기준으로 하기 때문에 그 안에서 외래 키 이름을 설정해주지 않아서 이상한 오류가 났었던 거다 몇 시간을 고민하다 비슷한 오류를 만났던 크루원 한분이 외래 키의 이름을 설정해주지 않아 임의로 칼럼 이름을 사용해서 오류가 나는 것 같다고 힌트를 주셔서 그 부분을 가지고 모델에서 외래 키의 이름까지 설정을 해주니 잘 동작했다. 그 후 오후 동..

일지/TIL 2022.08.14

외래키 설정

씨퀄라이즈로 관계형 DB를 만들어 사용하는데 마이그레이션으로 테이블을 만들고, 관계를 설정해주고, 모델을 기준으로 디비에 접근해서 데이터를 사용하는 것이라고 대략 개념을 잡았다. 관계 설정을 해줬으니 디비를 사용하면 바로 관계 맺은 데이터를 사용할 수 있는 줄 알았는데 데이터에 접근해보니 라는 오류가 생겼었다. 나는 userId라는 칼럼을 만들어서 외래 키로 사용하려고 했는데 쿼리문을 보니 UserUserId라는 칼럼을 찾을 수가 없다는 오류가 생겼다. 처음엔 뭐지.. 했는데 전에 비슷한 오류를 본 사람이 말해주기를 외래 키의 이름? 을 설정해주지 않으면 참조해주는 테이블과 칼럼을 토대로 임의로 이름을 지어주기 때문에 생기는 오류라고 했다. 그래서 모델에서 hasmany, belongsto 같이 관계 맺..

coding/Error 2022.08.14

TIL 220812 - 미니프로젝트 시작(마이그레이션 관계 설정 성공)

미니 프로젝트가 시작되었다. 이번엔 프론트랑 백앤드가 같이 협업을 하면서 간단한 사이트를 만들어서 api요청과 응답을 주고받는 것이 주된 목표로 프로젝트를 시작했는데 일단 팀원들은 좋으신 분들을 만난 것 같다. 모두 분위기도 밝고 의견도 잘 내주시고 열심히 하시는 분들이 많은 것 같아 심적으로는 다행이다 라는 생각이 든다. 이제 기술적인 부분에서 내가 맡은 일만 잘하면 좋을 것 같다. 모르는 게 있으면 도움을 받고 내가 알고 있다면 알려드리면 서로 윈윈하고 좋은 분위기로 잘 이어나갈 수 있을 것 같다. 오전에 만나서 간단히 얘기를 하고 점심 먹고 주제를 선정했다. 처음엔 이것저것들이 나왔는데 정리를 하고 다시 만나서 얘기를 해보니 이번 주차에선 지금까지 배운 것을 정리하고, 프론트 백앤드가 처음 만나는 ..

일지/TIL 2022.08.13

Sequelize 시작, migrate 사용 관계 설정

Sequelize 사용법 1. 설치 npm i sequelize mysql2 -S npm i sequelize-cli -D sequelize는 Node.js 코드에서 sequelize를 사용 mysql2는 node.js에서 Sequelize를 이용해 MySQL을 더욱 쉽게 조작할 수 도록 도와주는 패키지 sequelize-cli는 우리가 Sequelize를 조금 더 쉽게 사용하도록 도와주는 도구를 설치하는 명령어 2. Sequelize 사용 전 설정 npx sequelize init 위와 같이 폴더와 파일들이 생성 index.js : 구현할 sequelize 모델을 편리하게 사용할 수 있게 해주는 파일 config.json : 데이터베이스에 연결하기 위한 설정 데이터가 JSON 형식으로 들어가 있음(DB..

coding/Node.js 2022.08.13

TIL 220811 - 주특기 마무리

오늘 주특기 심화 주차가 끝났다. 이번 주차는 팀 과제로 협업을 해야 해서 걱정이 많았는데 다행히 팀원들이 너무 좋으신 분들을 만나서 무사히 잘 끝낼 수 있었다. 어려운 부분이 많았지만, 아키텍처는 엄청 빨리 마무리가 돼서 바로 테스트 코드로 들어갔는데 여기가 정말 어려웠다. 테스트 코드가 개념조차 잡기 어려웠는데 매일 학습자료를 보고, 구글링을 해서 자료들을 찾았다. 웬만해선 공식문서를 보고 따라 해보고 싶었으나 그건 아직도 어려운 것 같고, 누군가가 정리해놓은 개념들을 보거나 예시 코드들을 보면서 아 이래서 저렇게 되는 건가? 하면서 추측도 해가면서 했어야 했다 다행히 단위 테스트를 하고, 작은 E2E 테스트를 하고(통합 테스트인 줄 알았는데 오늘 매니저님이 E2E테스트라고 해주셨다) 팀원들과 모든 ..

일지/TIL 2022.08.11