Event
null
생활 계획표
AM 6:00 체조, 아침식사, 산책, 샤워, 설거지, 세탁
AM 8:00 입실, TIL 리뷰, 노드 시간표 및 오늘 목표 체크
AM 8:30 공부 시작
PM 1:00 ~ 2:00 점심 식사
PM 6:00 ~ 7:00 저녁식사
PM 7:00 TIL, WIL 제출
PM 9:00 퇴실 (카톡 확인)
PM 11:00 취침
이번 주 목표
일 - 노드 숙련
오늘 목표
TIL 작성
TIL 리뷰
프로그래머스 1문제 풀기
노드 4.express ~ 7. AWS배포하기 강의 자료 복습
노드 숙련 (1-10 Access Token 까지)
오늘 한 것
TIL 작성
TIL 리뷰
프로그래머스
세균 증식 : https://verdantjuly.tistory.com/223
다음에 올 숫자 : https://verdantjuly.tistory.com/225
노드 4.express ~ 7. AWS배포하기 강의 자료 복습
1. package.json package-lock.json
문제
강의를 허술하게 들었는지 둘 다 .gitignore 처리함.
다른 사람들 깃헙에 가 보니 다들 그렇게 하지 않음.
시도
강의자료를 다시 꼼꼼히 봄.
해결
다른 사람이 git clone시에 npm install 만 쳐도 된다는 것을 보고 의아해 했었는데 이제 알게 됨.
package.json이 있으면 설치할 파일들을 명시해 줘서 누군가와 프로젝트를 공유하거나 서버로 이동할 때 편하다!
package-lock.json은 기록이기 때문에 필요가 없다.
알게된 것
package.json
- package.json만 있으면 언제든 환경에 맞는 모듈들 설치 가능
- package.json 파일에 명시된 모듈 설치 npm install
package-lock.json
- npm으로 패키지를 설치, 수정, 삭제할 때마다 패키지들의 의존 관계를 package-lock.json파일에 저장합니다.
2. key 값을 잘 정하자
문제
key 값을 잘못 정하면 데이터 양이 많을 때 key에 대한 value를 자동화 시켜 가져오는 것이 불편해 진다.
key : value를 하드코딩 하는 게 빠르다 판단되는 순간이 올 수도 있다.
시도
데이터를 생성할 때 key값 앞이나 뒤에 구분자를 주어 분류가 용이하게 만든다.
실제 데이터는 인용하기 난처하므로 예시를 작성해 보겠다. 예시는 실례와 무관하다.
커피 프랜차이즈에서 지역과 매출액으로 특이사항을 분류하길 원한다면 다음과 같이 응용해 볼수 있을 것 같다.
key : value
지역번호_지점번호_일매출액 : 특이사항.
02_1_10000000 : 오피스권. 점심시간 피크. 인기 메뉴 아이스아메리카노L. 테이크아웃 많음.
이렇게 되면 구분자인 언더바 _를 기준으로 key를 잘라서 쓸 수 있다.
해결
나는 동기가 전해 준 하드코딩 캡처만 봐서 잘 모르지만 DB가 이미 json 방식으로 생성되어 있을 수도 있겠다 싶었다.
객체 하나 하나에 새로운 key:value를 삽입하는 것에 어려움이 있어 하드코딩을 선택한 것 같다.
그리고 해결은 아니지만 내 방식의 문제점도 알 수 있었다.
새로운 항목이 생겼을 때 key를 수정하기가 어렵다.
데이터 생성 시에만 사용 가능한 방법이고 유지보수는 어려울 수도 있겠다 싶었다.
베스트는 지금과 같은 새벽에 사용자에게 양해를 구하고 json에 새로운 key와 value를 넣는 게 좋을 것 같다.
알게 된 점
세상은 넓고 코딩의 방식은 무한하나 항상 자동화를 유념에 두고 계획하고 실천해야 한다.
3. 스키마를 중간에 변경하였을 때는 해당 콜렉션을 초기화
문제
노드 숙련 1-5 마지막에서 todo를 하나 더 추가하게 되면
ValidationError: Todo validation failed: order: Cast to Number failed for value 가 발생함.
시도
3T에 접속하여 todos라는 콜렉션을 전체 삭제한다.
해결
다시 저장이 잘 된다.
알게 된 점
스키마, 즉 컬럼들이 변동되면 해당 콜렉션을 초기화 해야한다.
정리
package.json
- package.json만 있으면 언제든 환경에 맞는 모듈들 설치 가능
- package.json 파일에 명시된 모듈 설치 npm install
package-lock.json
- npm으로 패키지를 설치, 수정, 삭제할 때마다 패키지들의 의존 관계를 package-lock.json파일에 저장합니다.
세상은 넓고 코딩의 방식은 무한하나 항상 자동화를 유념에 두고 계획하고 실천해야 한다.
체크리스트
[ O ] 예쁜 말로 협업하였는가?
[ O ] 12시간 동안 몰입하였는가?
[ ... ] 코딩 시 복사 + 붙여넣기를 하지 않았는가?
[ O ] 친절한 개발자였는가?
[ ... ] 오늘을 평가하였을 때 주니어 개발자가 될 수 있겠는가?
자신이 정한 규칙을 지키려고 조금 더 노력하자. 복사 붙여넣기 배우는 기간 동안 금지!
소감
누군가를 도울 수 있어서 뿌듯한 하루였다.
프로그래머스 다음에 올 숫자 문제에서 10점을 받았다~ 두 자릿수 점수가 오랜만이다!
'verdantjuly > Today I Learned' 카테고리의 다른 글
TIL 20230620 (0) | 2023.06.20 |
---|---|
TIL 20230619 (0) | 2023.06.19 |
TIL 20230617 (0) | 2023.06.17 |
TIL 20230616 (0) | 2023.06.16 |
TIL 20230615 (0) | 2023.06.15 |