Event
20:00 특강
생활 계획표
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 취침
이번 주 목표 및 일정
월 : 노드 입문 1~16
화 : 노드 입문 17~ end
수 : 과제 / 20:00 후발대 수업 OT
목 : 과제
금 : ~ 13:00 과제 점검 및 제출 / 19:00 개인과제 해설 / javascript 문법 종합반 3주차
토 : javascript 문법 종합반 4주차
일 : javascript 문법 종합반 5주차
오늘 목표
노드 입문 1-17 ~ 끝까지 (분량 많음, 몰입!!!)
TIL 작성
TIL 리뷰
프로그래머스 1문제 풀기
오늘 한 것
노드 입문 1-17 ~ 끝까지
TIL 작성
TIL 리뷰
프로그래머스 풀기
2차원으로 만들기 : https://verdantjuly.tistory.com/202
1. Studio 3T
MongoDB를 위해 만들어진 MongoDB Client
2. super
부모 오브젝트의 함수를 호출할 때 사용
line 15에 super 사용 예시
3. URI
식별자도 URI이다.
/posts/:_postId 에서 _postId는 변수이기 때문에 URI가 아니다.
변수 이름은 마음대로 생성 가능하다.
4. mongoose
설치 : 프로젝트 내에서 npm install mongoose
Document : MongoDB에서 가지고 있는 데이터 하나
Collection : Document의 집합
Schema : Document에 어떤 종류의 값이 들어가는지 정의(null, String, Number ...)
Model : 데이터베이스에서 데이터를 저장할 때 데이터의 구조를 담당
5. node.js에서는 폴더의 이름만 지정해 줘도 안에 있는 index.js를 불러온다.
6. middleware
middleware app.use(express.json())가
app.use("/api", [goodsRouter]) 보다 위에 작성되어야 한다.
> 미들웨어는 순차적으로 거쳐가기 때문이다.
7. ../
상위 폴더로 이동
8.POST 요청이 되지 않음
문제
localhost:3000/api/goods 에서 POST 요청이 되지 않음
에러메시지 : connection was forcibly closed by a peer
시도
오타가 나면 해결이 되지 않는다는 조언을 받고 파일을 꼼꼼히 살펴 봄.
콜라 이미지 url을 찾기 귀찮아서 복사 했었는데 이번에는 JSON 을 수기로 작성함.
해결
schemas 의 스키마에는 goodsId가 아닌 defaultId가 들어있었다.
그리고 defaultId 의 required 가 true 여서 발생한 문제 같다.
알게 된 점
복사하지 말자. 오류 찾는 과정에서 걸리는 시간이 더 아깝다.
9. .gitignore
git의 변경사항에 속하지 않게 해 줌
node_modules 와 같은 파일을 넣는다!
10. git 배포
- 처음 배포하는 서버인 경우
git clone
npm install
서버 켜기
- 이미 배포했던 서버의 코드를 최신 코드로 재시작 하고 싶은 경우
git pull
npm install
서버 재시작
11. SSH (Secure SHell) 시큐어 쉘
네트워크 상의 다른 컴퓨터에 로그인하거나
원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는
응용 프로그램 또는 그 프로토콜
대표적인 사용 : 데이터 전송 (깃허브), 원격 제어 (AWS)
참고자료 : SSH란?
12. ls -la
ls -l (use a long listing format)
긴 리스트로
- filetype
- file permissions
- number of links
- owner name
- owner group
- file size
- time of last modification
- the name of the file or directory
ls -a (do not ignore entries starting with .)
.으로 시작하는 것들 무시하지 않기 (숨김 폴더 보여 주기)
위 두 개의 명령어가 합쳐진 것이 ls -la이다.
참고자료 : https://askubuntu.com/questions/517229/what-does-ls-la-do
정리
Studio 3T : MongoDB를 위해 만들어진 MongoDB Client
super : 부모 오브젝트의 함수를 호출할 때 사용
식별자도 URI이다.
/posts/:_postId 에서 _postId는 변수이기 때문에 URI가 아니다.
변수 이름은 마음대로 생성 가능하다.
mongoose
설치 : 프로젝트 내에서 npm install mongoose
Document : MongoDB에서 가지고 있는 데이터 하나
Collection : Document의 집합
Schema : Document에 어떤 종류의 값이 들어가는지 정의(null, String, Number ...)
Model : 데이터베이스에서 데이터를 저장할 때 데이터의 구조를 담당
node.js에서는 폴더의 이름만 지정해 줘도 안에 있는 index.js를 불러온다.
middleware
app.use(express.json())가
app.use("/api", [goodsRouter]) 보다 위에 작성되어야 한다.
> 미들웨어는 순차적으로 거쳐가기 때문이다.
../
상위 폴더로 이동
코딩을 배우는 기간 만큼은 복사 붙여넣기를 자제하자.
git 배포
- 처음 배포하는 서버인 경우
git clone
npm install
서버 켜기
- 이미 배포했던 서버의 코드를 최신 코드로 재시작 하고 싶은 경우
git pull
npm install
서버 재시작
SSH (Secure SHell) 시큐어 쉘
네트워크 상의 다른 컴퓨터에 로그인하거나
원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는
응용 프로그램 또는 그 프로토콜
대표적인 사용 : 데이터 전송 (깃허브), 원격 제어 (AWS)
ls -l (use a long listing format)
긴 리스트로
- filetype
- file permissions
- number of links
- owner name
- owner group
- file size
- time of last modification
- the name of the file or directory
ls -a (do not ignore entries starting with .)
.으로 시작하는 것들 무시하지 않기 (숨김 폴더 보여 주기)
위 두 개의 명령어가 합쳐진 것이 ls -la이다.
체크리스트
[ ... ] 예쁜 말로 협업하였는가?
팀 안에서는 예쁜 말을 잘 사용하였으나 친한 동기와는 정말 솔직한 표현을 많이 하였다.
[ O ] 12시간 동안 몰입하였는가?
오늘은 몰입해서 하였다. 완강 축하합니다!
[ ... ] 코딩 시 복사 + 붙여넣기를 하지 않았는가?
최대한 복사 붙여넣기를 하지 않았다고 생각하였으나 그렇지 않았다. 기준을 조금 바꿔야겠다.
[ O ] 친절한 개발자였는가?
친절한 다영 씨.
[ O ] 오늘을 평가하였을 때 주니어 개발자가 될 수 있겠는가?
완강을 못할 줄 알았는데 완료해서 기쁘다. 희망이 보인다.
소감
완강 축하합니다~ 이제 개인과제 진입!
'verdantjuly > Today I Learned' 카테고리의 다른 글
TIL 20230615 (0) | 2023.06.15 |
---|---|
TIL 20230614 (0) | 2023.06.14 |
TIL 20230612 (0) | 2023.06.12 |
TIL 20230611 (0) | 2023.06.11 |
TIL 20230610 (0) | 2023.06.10 |