๐ Day 83(57)์ผ์ฐจ WE_MOTIVATION_DIARY
10658 ๋จ์ด MOTIVATION_DIARYMOTIVATION_DIARY
- ํ๋ก์ ํธ ์งํํํฉ
- ๋ฐฑ์๋ + ํ๋ก ํธ ๋ถ์ฌ๋ณด๊ธฐ
- ๋ถ์ฌ๋ณธ ๊ฒฐ๊ณผ๋ฌผ์ ํ ๋๋ก ํ๋ก ํธ ๋ฐ ๋ฒก์๋๋ฅผ ์์
- TODAY I LEARN ERROR ๐ฆ
- ํค์๋ฌ์ ํค์ ๊ฐ์ด ๋น์ด์๋ ๊ฒฝ์ฐ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด
์กฐ๊ฑด๋ฌธ์ ์จ์ ์๋ฌ๋ฅผ ๋ฐ์ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ์์
- HOW TO FIX MY ERROR ๐
- ERROR๋ฅผ ํด๊ฒฐํ
ํค์๋ฌ์ ํค์๊ฐ์ด ๋น์ด์ ธ์๋์ง๋ฅผ ํ์ธํด์ฃผ๋ ํจ์๋ฅผ ๋ชจ๋ํ์ฌ ์ด์๐
- checkvalidation.js ๋ชจ๋
<script>
// ํค์ ๊ฐ์ด ๋น์ด์ ธ์๋์ง๋ฅผ ํ์ธํ๋ ํจ์
export const checkEmptyKeyOfValue = (userInfo) => {
const userInputData = Object.entries(userInfo);
const userInputInfo = new Map(userInputData);
for (let data of userInputInfo) {
if (data[1] === '') return data[0];
}
};
// ํค๊ฐ ๋น์ฌ์ ธ์๋์ง๋ฅผ ํ์ธํ๋ ํจ์
export const checkEmptyKey = (KeyList, userInfo) => {
const keyArr = [];
let emptyKeyArr = [];
const userInputData = Object.entries(userInfo);
const userInputInfo = new Map(userInputData);
for (let key of userInputInfo.keys()) {
if (KeyList.includes(key)) {
keyArr.push(key);
const InputKeyAndListArr = keyArr.concat(KeyList);
const emptyKey = InputKeyAndListArr.filter((e) => !keyArr.includes(e));
emptyKeyArr = [...emptyKey];
}
}
return emptyKeyArr;
};
</script>
- signInController.js์์ ์๋ฌ ์บ์น
<script>
// ๋น์ด์ ธ์๋ ํค์ ๊ธธ์ด๊ฐ 0์ด ์๋๋ผ๋ฉด, ํ๋๋ผ๋ ๋น์ด์ ธ์๋ค๋ฉด
if (emptyKey.length !== 0) {
next(new AppError.keyError(`${emptyKey} ํค๊ฐ ๋น์ด์์ต๋๋ค`));
return;
}
const emptyKeyOfValue = checkEmptyKeyOfValue(userInfo);
// ๋น์ด์ ธ์๋ ํค์ ๊ฐ์ด ์กด์ฌํ๋ค๋ฉด
if (emptyKeyOfValue) {
next(
new AppError.valueOfKeyError(`ํค์ ${emptyKeyOfValue} ๊ฐ์ด ๋น์ด์์ต๋๋ค`)
);
return;
}
</script>
- ๋ชจ๋ฅด๋ ์
- ํค์ ํค์ ๊ฐ์ ๊ฐ์ง๊ณ ๋ก์ง์ ๋ง๋ค๊ธฐ์ํด์ map๊ณผ sep ๊ฐ๋
์ ๋ํด์ ์์๋ด
- ๋ฐฐ์ด์
- new Map()๋ฅผ ์์ฑํ๋ฉด keys(), values(), entry ๋ฑ ๋ค์ํ๊ฒ ํค์ ํค์ ๊ฐ ์์ ๋ฝ์๋ผ ์ ์๋ ๋ฉ์๋๋ค์ด ์กด์ฌํ๋ค๋ ๊ฒ
- ์ํ ์ ๊ณผ ๊ฐ์ ํ ์
- ๋ฆ๊ฒ๋ผ๋ ํ๊ณ ๋ก์ ๋๊น์ง ์ ์ ์ ~
- ๋๋ฌด ํ๊ณ ๋ก์ ๋ฆ๊ฒ ์ฌ๋ฆฐ์ ~
- ๋ชฉํ์ ๋ง๊ฐ๊ธฐํ: 2021-10-14
- ๋ฒก์๋ ํ๋ก ํธ ํฉ์ณ์ ๊ธฐ๋ฅ๊ตฌํ์ ๋ง๋ฌด๋ฆฌ์ง๊ธฐ
- ๋ฐฑ์๋ ๋ฆฌํฉํ ๋ง ์งํํ๊ธฐ
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Day 83(57)์ผ์ฐจ WE_MOTIVATION_DIARY), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://velog.io/@minj9_6/Day-8357์ผ์ฐจ-WEMOTIVATIONDIARY
์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์
๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
- ๋ฐฑ์๋ + ํ๋ก ํธ ๋ถ์ฌ๋ณด๊ธฐ
- ๋ถ์ฌ๋ณธ ๊ฒฐ๊ณผ๋ฌผ์ ํ ๋๋ก ํ๋ก ํธ ๋ฐ ๋ฒก์๋๋ฅผ ์์
- ํค์๋ฌ์ ํค์ ๊ฐ์ด ๋น์ด์๋ ๊ฒฝ์ฐ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด
์กฐ๊ฑด๋ฌธ์ ์จ์ ์๋ฌ๋ฅผ ๋ฐ์ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ์์
- ERROR๋ฅผ ํด๊ฒฐํ
ํค์๋ฌ์ ํค์๊ฐ์ด ๋น์ด์ ธ์๋์ง๋ฅผ ํ์ธํด์ฃผ๋ ํจ์๋ฅผ ๋ชจ๋ํ์ฌ ์ด์๐
- checkvalidation.js ๋ชจ๋
<script>
// ํค์ ๊ฐ์ด ๋น์ด์ ธ์๋์ง๋ฅผ ํ์ธํ๋ ํจ์
export const checkEmptyKeyOfValue = (userInfo) => {
const userInputData = Object.entries(userInfo);
const userInputInfo = new Map(userInputData);
for (let data of userInputInfo) {
if (data[1] === '') return data[0];
}
};
// ํค๊ฐ ๋น์ฌ์ ธ์๋์ง๋ฅผ ํ์ธํ๋ ํจ์
export const checkEmptyKey = (KeyList, userInfo) => {
const keyArr = [];
let emptyKeyArr = [];
const userInputData = Object.entries(userInfo);
const userInputInfo = new Map(userInputData);
for (let key of userInputInfo.keys()) {
if (KeyList.includes(key)) {
keyArr.push(key);
const InputKeyAndListArr = keyArr.concat(KeyList);
const emptyKey = InputKeyAndListArr.filter((e) => !keyArr.includes(e));
emptyKeyArr = [...emptyKey];
}
}
return emptyKeyArr;
};
</script>
- signInController.js์์ ์๋ฌ ์บ์น
<script>
// ๋น์ด์ ธ์๋ ํค์ ๊ธธ์ด๊ฐ 0์ด ์๋๋ผ๋ฉด, ํ๋๋ผ๋ ๋น์ด์ ธ์๋ค๋ฉด
if (emptyKey.length !== 0) {
next(new AppError.keyError(`${emptyKey} ํค๊ฐ ๋น์ด์์ต๋๋ค`));
return;
}
const emptyKeyOfValue = checkEmptyKeyOfValue(userInfo);
// ๋น์ด์ ธ์๋ ํค์ ๊ฐ์ด ์กด์ฌํ๋ค๋ฉด
if (emptyKeyOfValue) {
next(
new AppError.valueOfKeyError(`ํค์ ${emptyKeyOfValue} ๊ฐ์ด ๋น์ด์์ต๋๋ค`)
);
return;
}
</script>
- ํค์ ํค์ ๊ฐ์ ๊ฐ์ง๊ณ ๋ก์ง์ ๋ง๋ค๊ธฐ์ํด์ map๊ณผ sep ๊ฐ๋ ์ ๋ํด์ ์์๋ด
- new Map()๋ฅผ ์์ฑํ๋ฉด keys(), values(), entry ๋ฑ ๋ค์ํ๊ฒ ํค์ ํค์ ๊ฐ ์์ ๋ฝ์๋ผ ์ ์๋ ๋ฉ์๋๋ค์ด ์กด์ฌํ๋ค๋ ๊ฒ
- ๋ฆ๊ฒ๋ผ๋ ํ๊ณ ๋ก์ ๋๊น์ง ์ ์ ์ ~
- ๋๋ฌด ํ๊ณ ๋ก์ ๋ฆ๊ฒ ์ฌ๋ฆฐ์ ~
- ๋ฒก์๋ ํ๋ก ํธ ํฉ์ณ์ ๊ธฐ๋ฅ๊ตฌํ์ ๋ง๋ฌด๋ฆฌ์ง๊ธฐ
- ๋ฐฑ์๋ ๋ฆฌํฉํ ๋ง ์งํํ๊ธฐ
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Day 83(57)์ผ์ฐจ WE_MOTIVATION_DIARY), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@minj9_6/Day-8357์ผ์ฐจ-WEMOTIVATIONDIARY์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค