1. for 문이 있는데 for ... in for...of 문법이 새로 나온 이유는 무엇일까요? 우리가 이것을 고르는 기준은 무엇일까요?
for.. in : 객체의 속성들을 반복하여 작업을 수행, 모든 객체에서 사용 가능, true값에 접근 → key, value 형태(객체)일때는 value값에 접근 → 배열 형태일때는 index값에 접근
→ this 가 지칭하는게 다름
→ for in 문 안에서 반복이 진행될때 element의 변경이 있으면 for in에서는 반영할지 안할지 모름
그치만 for 문 안에서는 반영이 됨
for.. of : ES6에 추가된 새로운 컬렉션 전용 반복 구문, 사용하기 위해서 컬렉션 자체가 [Symbol.iterator] 속성을 가지고 있어야함 → 배열 형태일때 index위치에 있는 원소 값에 접근 → 객체 형태일때 못받아옴
2. 자바스크립트에서 유사배열과 배열의 차이는 무엇일까요? 유사배열의 각 요소를 수정하고 싶다면 어떤 과정을 거쳐야할까요?
유사배열 : 배열이고 싶어하는 아이
예)
let likearry = {name : 정정길 , age : 31, map : 20}
likearry.map = 100
*map 이라는 키값의 value가 100으로 바뀜
배열 : 얘는 진짜 배열
예)
let arry = [ 10, 20 , 30, 40]
*arry.map((x) ⇒ x +20) 전체 arry에 20씩 더함.
유사배열은 Array에 내장된 함수를 사용 할 수 없다.
유사배열 요소 수정 : 특정 key 값을 가져와서 value를 수정
배열의 요소 수정: 보통 arry 전체에 영향을 주는 method를 사용해서 elements의 값을 변경
3. restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요?
Put : 자원의 전체를 교체, 자원 교체시 모든 필드가 필요, 일부만 할경우 모두 초기화 혹은 null
Patch : 자원의 부분을 교체, 자원 교체시 일부 필드가 필요
4. 몽고DB로 테이블 설계를 해봅시다. 회원가입을 한 유저가 게시판에 글을 쓰는 서비스입니다. 게시판 목록 페이지에서는 게시글 제목, 작성자 이름 등이 보이겠죠? 각각의 모델은 어떤 모양새이면 좋을까요? 게시판 글 리스트를 불러오는 api 에서는 몽구스 데이터를 어떻게 가져오면 좋을까요?
schema형식으로 테이블을 가져온다. schema에 들어갈 key는 제목, 작성자, 비밀번호, createdAt, _id, thumbnail등의 모양이다. 이 테이블(=schema)은 나중에 수정하려고 하면 까다로우니 처음에 신중하게 결정한다.
const postsAll = await Post- 웹서버 = AWS EC2s.find().sort({date: -1});
const [...posts] = postsAll.map((post) => {
return {
postsId : post.postsId,
title : post.title,
name : post.name,
data : post.data
}
})
res.json({
posts,
});
//schema
<script>
postsId: {
type: Number,
required : true,
unique: true
},
name: {
type:String,
required : true
},
password: {
type:String,
required : true
},
title: {
type:String,
required : true
},
data: {
type: Date,
default: Date.now
}
</script>
// routes
<script>
router.get("/posts", async (req, res) => {
const postsAll = await Post- 웹서버 = AWS EC2s.find().sort({date: -1});
const [...posts] = postsAll.map((post) => {
return {
postsId : post.postsId,
title : post.title,
name : post.name,
data : post.data
}
})
res.json({
posts,
});
});
</script
const postsAll = await Post- 웹서버 = AWS EC2s.find().sort({date: -1});
const [...posts] = postsAll.map((post) => {
return {
postsId : post.postsId,
title : post.title,
name : post.name,
data : post.data
}
})
res.json({
posts,
});
- DNS = 가비아
- 웹서버 = AWS EC2
- 웹서버 뒷단에 내 컴퓨터에서 웹서버로 DB를 넘겨주거나 bit bash로 명령을 내려줌
'9기 주차 팀과제 내용' 카테고리의 다른 글
[5주차] 팀 과제 (0) | 2022.10.19 |
---|---|
[4주차] 팀 과제 (0) | 2022.10.19 |