코드스테이츠의 HIR 시험에서 백엔드 데이터베이스에서 결국 점수가 깍여서(내 생각엔) 결국 재시험을 보게 되었다.
아이러니하게도 2주, 4주 모두 서버, 백엔드만 진행 했었기에 지금은 벡엔드만 어느정도 수준이 되어있다.
그런데 프론트엔드는 스프린트 때 잠시 한 게 전부이다. 재시험은 react, mongoDB를 사용하라니.. 사실 리엑트는 아는 바가 정말 부족하고, 데이터 베이스도 mysql만 다루어서 mongoDB는 하나도 몰랐다.
어쨌든 벼락치기로 리엑트를 공부하고 재시험을 보았다.
codesplash를 클론하는 것인데, react의 ROUTES, link 그리고 spinner 등을 그자리에서 공식 document를 보고 실행해보았다. 블로그를 확인하지 못하니 꽤 불편했다.
라우트 같은 경우는 server에서 router랑 비슷한 느낌으로 진행할 수 있어서 이해가 쉬웠다.
경로를 설정해주는 부분도 서버와 어느정도 상통하는 부분이 있어서 이해도가 있기에 진행할 수 있었다. Spinner와 같은 경우에는 그냥 라이브러리에서 가져오는 거기에 어렵지 않았다.
어떻게 어떻게 5시 까지 프론트는 완성하였다. 원하는 대로 작동하는 걸 보니 역시 사람은 궁지에 몰리면 없던힘도 생기는구나 라는 걸 느꼈다.
하지만 남은 1시간에 복병은 mongoDB였다. mongoDB도 document를 보고 진행하는 데 꽤 어려움이 있었다.
거의 완성했는데…. 자꾸 결과값이 null값만 나오는 것이었다.
왜 그럴까? 이리저리 해 봤는 데 해결되지 않았다.
결국 시간 내 실패해서 제출했다.
후에 수료를 하기 위해 mongoDB관련 블로그등을 다 둘러보았다.
mongo DB 가 promise를 지원해준다는 부분을 알게 되었고 (마치 mysql의 sequelize 처럼) promise를 이용해서 짜보았다. 그랬더니 원하던 데로 데이터가 나왔다.
그리고 나서 리엑트와 연결하면서 Cors, Access-Control-Allow-Origin 등을 도입해야만 연결이 되었다. 콘솔창에 에러가 떠서 작동이 안되기에 이 부분을 해결하기 위해 도입했다.
겨우겨우 완성해서 올렸다.
코드스테이츠…. 수료 쉽지 않았다.