본문 바로가기

verdantjuly/Today I Learned

TIL 20230618

728x90

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