[✍️ Dev Log] 정송이 / 2021-05-17
@lovelysi0113 がすでに取り組んでいます。
2021年5月17日 から。
評価
この issue はまだ評価されていません。
説明
오늘은 어떻게 프로젝트에 기여했나요?
- #62 게시글 리스트에서 검색하는 로직 구현
post /filterRecruitList/:order/:sort: stack으로 게시글 검색- controller 생성 - filterRecruitList
- req.body, req.params로 어떤 데이터를 받을 것인지 고민 및 결정
- req.body:
searchStacksList- 검색할 때 포함할 stack들의 집합(베열) - req.params:
order- 검색 결과 갯수(infinite scroll을 위해 검색결과를 잘라서 보내줌)sort- 검색 순서(최신순, 오래된순) (이후 #23 에도 해당 parameter 추가)
- res.data에
isEnd값 추가 - 게시글 데이터가 더 존재하는지에 대한 여부(true, false)
- #19 middleware-authChecker 위치 변경
- 지금까지 구현한 로직에서 발생한 여러가지 에러 수정
- 필드명 고치기(업데이트된 필드명을 적용시키지 못한 부분 수정) #27
- 로직을 작성하는 과정에서 남아있는 주석, 예전 코드 정리
- #69 #71 #72 project+workspace에서 사용할 테이블들의 entity 생성
- Tasks 테이블: 칸반보드에 들어가는 일정 관리 카드(task)를 관리하는 테이블
- Checklists 테이블: task에 들어가는 체크리스트 데이터를 관리하는 테이블
- Task_comments 테이블: task에서 작성할 수 있는 댓글들을 관리하는 테이블
- #64 project 기능 관련 router, controller 생성
- route: projectRouter
- controllers: showProjectList, createProject, editProject, inviteMembers
- chat 기능 구현을 위한 socket.io 공부 + 어떻게 구현할 것인지 고민 및 회의
오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 검색 기능을 구현할 때 find() 함수에서 where을 사용하여 원하는 stack만 바로 filter될 수 있도록 작성하고 싶었는데 실제로 테스트한 결과, where 부분이 적용되지 않거나 자꾸 에러가 발생했다.
const allBoards = await getRepository(Recruits).find({ relations: ['writer', 'stacks'], where: { stacks: { name: searchStacksList, }, }, order: { createdAt: sort, }, });
방법을 찾기위해 검색하며 여러가지 글을 읽어본 결과, 처음에 entity를 작성할 때 뭔가 어설프게 만들었고 그 부분에서 join + where이 적용되지 않는다는 결론이 나왔다. 이를 올바르게 동작시키려면 entity부터 다시 작성해야할 것 같다는 생각이 들었다.
아직 앞으로 구현해야 할 기능들이 많기 때문에 우선 전체 게시글 데이터를 불러온 다음 하나씩 원하는 stack을 모두 가지고 있는지에 대해 검사하는 방법으로 검색 기능을 작성하였다. 다행히 검색 기능이 원하는대로 작동되긴 하는데 지금 코드보다 더 효율적인 방법이 있을 것 같다는 생각이 들었다. 나중에라도 계획한 기능들을 모두 구현 완료한 후에 시간이 남으면 천천히 여기 부분을 분석+수정&보완하는 방향으로 가고싶다.let filterResult = []; for (let idx = 0; idx < allBoards.length; idx++) { let requireStack = allBoards[idx].stacks.map(el => el.name); let isRight = true; for (let chk = 0; chk < searchStacksList.length; chk++) { if (!requireStack.includes(searchStacksList[chk])) { isRight = false; break; } } if (isRight) { const obj = { ...allBoards[idx], requireStack }; filterResult.push(obj); } }
내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- profile, recruit 기능 테스트 + 에러 수정하기
- API 문서 보완하기! 내일은 꼭 완료하자!
- 오늘 작성한 entity를 토대로 스키마 디자인 보완하기
- socket.io 공부하기
- project 기능 구현하기
- 프로젝트 리스트 조회
- 프로젝트 생성
- 프로젝트 수정
- 프로젝트 팀원 초대(nodemailer)
- workspace 구현 방법 회의하기
- 主要言語
- TypeScript
- スター
- 9
- フォーク
- 3
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
codestates/Reciper-server のほかの issue
-
[✍️ Dev Log] 정송이 / 2021-06-16対応中かも @lovelysi0113 が 1945 日前に担当しました。 オープン@lovelysi0113/기록은 성장의 밑거름 ❄️ Dev Log
codestates/Reciper-server#254 · 担当者 1 名 ·
-
[✍️ Dev Log] 정송이 / 2021-06-08対応中かも @lovelysi0113 が 1953 日前に担当しました。 オープン@lovelysi0113/기록은 성장의 밑거름 ❄️ Dev Log
codestates/Reciper-server#250 · コメント 1 件 · 担当者 1 名 ·
-
[✍️ Dev Log] 정송이 / 2021-06-07対応中かも @lovelysi0113 が 1954 日前に担当しました。 オープン@lovelysi0113/기록은 성장의 밑거름 ❄️ Dev Log
codestates/Reciper-server#245 · コメント 2 件 · 担当者 1 名 ·
-
[✍️ Dev Log] 정송이 / 2021-06-06対応中かも @lovelysi0113 が 1955 日前に担当しました。 オープン@lovelysi0113/기록은 성장의 밑거름 ❄️ Dev Log
codestates/Reciper-server#234 · 担当者 1 名 ·
-
[server] [Workspace] - webRTC initial feature再び着手できるかも @gatsukichi が 1955 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン3h Middle server Workspace
codestates/Reciper-server#233 · 担当者 1 名 ·
codestates/Reciper-server の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
NaturalIntelligence/fast-xml-parser#890 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
zsviczian/obsidian-excalidraw-plugin#3000 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
pnpm/get.pnpm.io#68 ·
-
[BUG] Cloudflare KV binding 模式下 kvDriver.list() 沿用 EdgeOne 语义,字段名不匹配导致 key 格式下初始化 500 并耗尽 list 配额対応中かも @wumingzhinu が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
OpenListTeam/OpenList-Worker#125 ·
メンテナーはふだん 2 日以内に返信
-
Android (vision-camera-location): HybridLocationManager never quits its HandlerThread on disposeオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
margelo/react-native-vision-camera#4217 ·
メンテナーはふだん 4 日以内に返信