행복의 비결은 더 많은 것을 찾는 것이 아니라
더 적은 것으로 즐길 수 있는 능력을 키우는데 있다.
- 소크라테스 -
깃허브에 우리 mongodb 패스워드가 노출되어있어 재설정을 하려고 시도하다가 연결이 안되는 버그가 생겼다.
여러가지 시도해도 안되길래 log폴더와 data폴더까지 날려버렸다. (폴더도 지워버림)
https://jvvp.tistory.com/960 여기 보고 지우고, 폴더는 파일질라로 수동삭제 했다.
삭제 전에는 아래와 같은 명령어를 통해 혹시나 있을 오류를 대비했다.
# sudo service mongod stop
# killall -9 mongod
이후 다시 아래 명령어를 통해 mongodb를 재설치했다.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org
재설치 후
# sudo systemctl start mongod도 해보고,
# sudo service mongod start도 해본 다음
# mongo를 해봐도 아래와 같은 에러만 자꾸 떴다.
ps -ef에서 목록을 봐도 mongodb와 관련된 프로세스가 실행되지 않고 있었고, 동일한 문제를 해결한 사람을 찾아 열심히 구글링했다.
# sudo mongod --repair
# sudo mongod
# mongod
이렇게 해봐라는 사람의 말대로도 해보고,
brew services list | grep mongo 로 실행여부를 확인 후 어떻게 하라는 사람의 말도 해봤는데 실행이 안되고 있어 이건 진행이 불가능했다.
sudo systemctl start mongod으로 실행해보라는 말도 안됐다.
그러다가 3개의 좋아요를 받은 답변대로 하니 정상적으로 실행이됐다.
삭제하는 과정에서 data관련 폴더는 따로 백업해두는 게 좋았을 것 같은데 생각이 짧아 그냥 삭제해버렸다. 기존에 테스트용으로 만들었던 것들이 싸그리 증발되었다 ㅠㅠ 팀원분들께 죄송한 마음에 사과를 드렸다.
기존 팀원분이 만들었던 계정이 로그인이 잘 안되서 teampig.manager@gmail.com 으로 비즈니스용 계정을 새로 팠다.
가입만해도 뭐 10만원어치의 광고 크레딧을 주는 것 같은데 받으시겠습니까? 라는 문구에서 안받는다는 클릭을 했다. 걍 할걸...
myStatus가 memberStatus와 완벽하게 일치하는듯한 모습. 보통 const a = b라고 변수를 두면
아래에서 b = 'c'가 되더라도 console.log(a)의 결과는 b가 나올 것이다.(찾아보니 참조 할당이라고 한다.)
동일하게 위 사진의 경우에서도 const a(myStatus) = b(memberStatus) 로 변수를 선언하고
b에 대해서만 값이 바뀌어서 a는 그대로 b일 것이라고 예측했는데 그렇지 않고 a는 바뀐 b가 되었다. 마찬가지로 b도 바뀐 a가 되었다. a와 b가 완전히 동일시 된 것 처럼 나타났다.
생전 처음 보는 현상이라 많이 당황했다. 다행히 8조에서 해당 문제에 대해 아는 분이 계셔 원인과 해결방안을 알려주셔서 쉽게 해결했다. 아래 링크를 보며 약간의 감을 잡았다.
https://junwoo45.github.io/2019-09-23-deep_clone/
https://codesource.io/how-to-deep-copy-array-using-lodash/
How to Deep Copy Array Using Lodash - CodeSource.io
In this article, you will learn how to deep copy an array using Lodash. Let’s say you have an array named 'a' with elements
codesource.io
위 링크글을 보고 lodash.cloneDeep 메소드를 사용하니 문제가 바로 해결됐다.
참조할당, 얕은복사, 깊은복사 자바스크립트의 메모리 할당방식, Immutability 등등 관련해서 더 공부하고 찾아봐야할 필요성을 느낀다. 이제 디자인패턴 개념이 슬슬 나오고 필요성이 느껴지는 것 같다.
어쩌다 가끔 이처럼 원래 알던 정보와 다를 때 많이 당황스러운데 해당 언어에 대해 너무 얕게 알고있어서 그런 것 같다.
https://poiemaweb.com/js-immutability 여기도 설명이 자세하게 되어있다. 더 알고싶으면 들어가서 보면 좋다.
하고싶은 게 진짜 많은데 이젠 정말 선택과 집중이 필요하다. 통합테스트, CI/CD 부하테스트와 쿼리 최적화 등등 많지만 진짜 하나라도 제대로 끝내는 게 더 좋아보인다.
'TIL' 카테고리의 다른 글
20210826(목) [항해 81일 차] 협업돼지 드디어 진짜 런칭! (0) | 2021.08.26 |
---|---|
20210825(수) [항해 80일 차] 협업돼지 런칭 D-Day 인줄 알았으나... (0) | 2021.08.26 |
20210823(월) [항해 78일 차] 협업돼지 배포 D-2 (0) | 2021.08.24 |
20210822(일) [항해 77일 차] (0) | 2021.08.22 |
20210821(토) [항해 76일 차] 통합 테스트코드 작성 중 (0) | 2021.08.22 |