리팩토링
-
[리팩토링] socket.js 코드 분리하기Project 2021. 8. 5. 01:49
socket.js 코드 좀 깔끔하게 만들고싶은것이 내 숙원이었음.. 한 두달 전에 짜 놓은 코드는 socke.io 문서 읽어가며 어영부영 작동시키느라 바빴지만 이번엔 잘 이해해서 좀 읽기 좋게 만들어보고싶었다. 인강과 몇번의 뻘짓으로 드디어 끝냈다. 해냇따구? socket.js에 무더기로 쌓인 코드 처리하기 이전의 코드는 이런식으로 실행이 됐다. app.js에서 app object을 이용해 server listen 실행 server listen하는 코드는 ` server ` 라는 변수명에 저장 socket.io를 require하여 app.js 내에서 ` server `를 인자로 사용해서 실행 socket.js는 인자로 받은 server를 통해 동작 여기서 socket.js의 코드는, socket.io 실..
-
[리팩토링] 챗봇 추가하기Project 2021. 7. 25. 01:45
처음에 오쿠의 채팅방은 거래 성사 이후 생성이 되도록 하는것이 목표였다. 그러나 정작 채팅기능을 만들고나니 첫 화면에 모든 사람들과 채팅을 할 수 있는 방이 생겼다. 원인은, 채팅방(room)의 정의를 productId-userId-userId 로 하였는데, 세가지가 undefined인 경우에 대해 예외처리를 하지 않아서이다. 즉, 아래 채팅방에서 리스트의 목록을 누르지 않은채로 있으면 room은 undefined-undefined-undefined가 되어버리고, 그럴 경우 모든 유저들은 undefined 방에 접속되어 말 그대로 아무나 채팅이 되어버리는 것이었다. 그런대로 나쁘지않은 기능이었지만, 의도하지 않은 기능을 그냥 두는것은 뭔가 .. 휘뚜루 마뚜루 오 됐지 뭐~! 이런 느낌이어서 해당 기능에 ..
-
[리팩토링] 유저 가입 코드 수정Project 2021. 7. 15. 23:34
오쿠 프로젝트의 코드를 리팩토링 중이다. 자바스크립트도 공부하고, CS공부도 하고있는데 배운걸 진짜 그냥 코드에 한번 발라보고싶었다.. 배운건 짧아도 다 써먹어보고싶은것이 자연의 이치이다. 분명 내가 짰는데 동작을 헷갈려서 엉뚱한 코드를 짰다. .... 내가 나 자신에게 당하다니.. 똑같이 userEmail, userNickname의 중복 여부를 체크하는 코드였지만, 하나는 클라이언트쪽에서 입력받자마자 확인할 수 있는 api였고 나머지 하나는 회원가입하면서 밸리데이션하는 코드였다. 그런데 이름을 둘 다 checkEmail,checkNickname으로 해놔서.. 한 번 엉뚱하게 코드를 작성해서 시간 버리기..! 취미이자 특기이다. userController.js파일이 너무 방대해졌다. 그래서 클라이언트쪽에..