ํ๋ก์ ํธ ์์ ์ด์
๋ถํธ์บ ํํ๋ฉด์ CS ๋ํ๊ต ์์ ๋ ๋ฃ๊ณ 7-8์์ ๊ฐ์ธ์ ์ผ๋ก ์ ๋ง ํ๋ ์ผ๋ ๊ฒน์น๋ฉด์.. ๋ถํธ์บ ํ ๊ณผ์ ์ ์จ์ ํ ๋ชฐ๋ํด๋ ๋ถ์กฑํ ์๊ฐ๋ค์ด์์์๋ ๋ถํธ์บ ํ ์ฝ์ค์ ์จ ๋ง์๊ณผ ์ ์ ์ 100% ์ ๋ ํ์ง ๋ชปํ์ฑ๋ก ํ๋ก์ ํธ ๊ธฐ๊ฐ๊น์ง ์ด๋ป๊ฒ ์๋ค.
5-6์์ ์น์ 2๋ฅผ ๋ฐฐ์ธ๋ ์ฌ๋ฌ ํ์ด๋ค์ ๋ง๋๊ณ ์๊ธฐํด๋ณด๋ฉด์ ๊ฒฐ๊ณผ๋ฌผ๋ก ๋ง๋ค์ด๋ด์ผ๋๋ "ํ๋ก์ ํธ"์ ๋ํด์ ๋ถ๋ด/๋ถ์๊ฐ์ด ๊ฐ์ฅ ์ฌํ๊ณ , ๋์ ๊ฐ๋ฐ output์ ๋ํด, ํต๊ณผ๊ฐ ์๋๋ ๋ช๊ฐ์ ํ ์คํธ๋๋ฌธ์, ๊ตฌํ ์๋๋ ๋ช๊ฐ์ง ๋๋ฌธ์ ๊ฐ๋ฐ ๊ณต๋ถ๊ฐ ์ ๋ง ํ๋ค์๊ณ ์ค์ค๋ก๋ฅผ ํ๋ค๊ฒ ํ๋ค. ์ด๋ ํ์ฐจ๋ฅผ ์ ๋ง ์ง์งํ๊ฒ ๊ณ ๋ คํ์๋ค...
๊ทธ ์ดํ๋ก ๋ง์์ ๊ณ ์ณ๋จน๊ณ , ๊ฐ๋ฐ ๊ณต๋ถํ ๋์ ๊ด์ ์ ์กฐ๊ธ ๋ฐ๊พธ๊ณ , ๋ด ๋ง์์ ์ฌ์ ๋ฅผ ๋๊ณ ๋ ์ดํ๋ถํฐ๋ ํ๋ก์ ํธ? ์ด์ฐจํผ ๋จ๋ค์ ์๋ฌด๋ ๊ด์ฌ์์. ์์งํ ๊ตฌํํ๋ ๊ธฐ๋ฅ์ ๋ค ๋น์ท. ์ ๋ถ๊ฐ ์๋. ๋ ๋๋ก ๋๋ผ~~ ๋ผ๊ณ ๋ง ํธํ ๊ฐ๊ณ ๋ถ๋ด๊ฐ์ ๊ฑฐ์ ์๋ ์ฑ๋ก ํ๋ก์ ํธ ๊ธฐ๊ฐ์ด ์์๋์๋ค. ์์งํ ๋ค๋ฅธ ๋ช๋ช ์๊ฐ์ ๋ถ๋ค์ ํ๋ก์ ํธ ์์ ์ ๊น์ง D-day๋ฅผ ์ฒดํฌํ๋ฉด์ ๋ฆฌ์กํธ๋ก ์ด๊ฒ์ ๊ฒ ๋ง๋ค์ด๋ณด๊ณ ํ๋ก์ ํธ๋ฅผ ์์ฒญ ๋๋นํ๋ ๊ฒ ๊ฐ์ ๋ณด์์ง๋ง.. ๋๋ ๋ด๊ฐ ์ ํํ ๊ฒ์ธ๊ฑธ... ๋ค๋ฅธ ๊ฑธ ๊ฐ์ด ์ค๋นํ์ด์ ์ด์จ๋ ํ์ฐจ ์ํ๊ณ ๋ด๊ฐ ์ค์ ํ ๋ชฉํ๋ ๋๋ด๊ณ , (์ด์จ๋ ๋ด๊ฐ ๋ฆฌ์กํธ์ ๋ณด๋ธ ์์ ์๊ฐ์ ์ ํด์ง ์๊ฐ์ ์ด๋์์ ํฌ๊ธฐ๋ฅผ ๋ง์ด ํด์ผํ์ง๋ง) ํ๋ก์ ํธ๊น์ง ์จ ๊ฒ๋ง ํด๋ ๊ทธ๋๋ ์ ํด์ค๊ณ ์๋ค๊ณ ์ค์ค๋ก์๊ฒ ์๊ธฐ ํฉ๋ฆฌํ๋ฅผ ํ๋ฉด์ ํ๋ก์ ํธ๋ผ๋ ์๋ก์ด ํ๊ฒฝ์ ๋์ฌ์ก๋ค.
Pre-project ์์
์ด์ ๋ฐฐ์ฐ๋ ์ฝ์ค๋ ๋ชจ๋ ๋ง๋ฌด๋ฆฌ๊ฐ ๋๊ณ ๋ณธ๊ฒฉ ํ๋ก์ ํธ ๊ธฐ๊ฐ์ผ๋ก ๋ค์ด์ค๋ฉด์ ์ ๋ง ์น์๋น์ค๋ฅผ ๋ง๋ค์ด๋ณด๋ ์ค์ ์ด ํผ์ณ์ง๊ฒ ๋์๋๋ฐ, ์ฐ์ Pre-project๋ก๋ ๋ชจ๋ ํ์ด Stack Overflow ์ฌ์ดํธ ํด๋ก ์ ๊ตฌํํ๋ ์ฌ์ ํ๋ก์ ํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค.
ํ์ฅ์ ๋งก๊ฒ๋์ด ๋ถ๋ด๋ ๋ง์ด ๋๊ณ ์ฒ์ ๊ตฌํํด๋ณด๋ ๊ฒ๋ค์ด ๋ง์ด ๋ง๋งํ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฉด์ ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ์ฒ์ ํด๋ณด๋ ๊ฑฐ๋ค ๋ณด๋ ๋ฐฑ์๋ ํ์ ๋ถ๋ค์ด๋๋ ์ํตํ๋๋ฐ ์ ํํ ์ด๋ค ๋ง์ธ์ง ๊ฐ์ด ์ ์กํ๊ณ ๋ฐฐํฌ๋ ์ ํํ ์ด๋ป๊ฒ ํ๋ ๊ฑธ ์ง๋ ๋ชจ๋ฅด๊ฒ ๊ณ .. ๊ฑฑ์ ์ด ์ ๋ง ๋ง์๋ค.
์ ๋ง ํ๋ฆฟํ ์๊ฐ์์์ ์ ํด์ง ๋ชฉ์ ์ง๋ฅผ ์๊ฐ ๋ด์ ๊ฐ์ผ ๋๋ ๋๋์ด ๋ง์ด ๋ค์๋ค.
๊ฒฐ๋ก
https://github.com/codestates-seb/seb39_pre_052
๊ทธ์น๋ง ํ๋ฆฌํ๋ก์ ํธ๋ฅผ ๋๋ธ ์ง๊ธ ์์ ์ ํ๊ณ ํ๋ฉด์ ๋ด๋ฆฌ๋ ๊ฒฐ๋ก ์ ์ผ๋จ...
์ ๋ง์ ๋ง ์ธํ ์คํ ๋๋ ๋ค์ด์๊ณ ํด๋ด๊ฐ๋ ์ฌ๋ฏธ๋ ๋ง์ด ๋๊ผ๋ค.
๊ทธ๋ฆฌ๊ณ ์ง์ฌ ๋๋ ๋ถํธ์บ ํ ๋ค์ด์์ ์์ ๋ฐฐ์ด 4๊ฐ์๋ณด๋ค ํ๋ฆฌํ๋ก์ ํธ๋ก ์ฝ๋ ์ง๋ณด๋ฉด์ ๋ฐฐ์ด๊ฒ ๋ ๋ง์ ๋๋....
๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฒ. ๋๋ ์ ๋ง ํ์ ์ด์ด ์ข๋ค..! ์ ๋ง ์ข์ ํ์๋ค์ ๋ง๋์ ๋ง์ ๋์์ ๋ฐ์๊ณ , ๊ทธ ๋๋ถ์ ๋ด๊ฐ ์ ๋ง ํ๋ฆฌํ๋ก์ ํธ๊น์ง ์ ์์ฃผํ ์์์๋ค. ๋๋ฌด ๊ฐ์ฌํ๋ค. ๐ฃ
์ด๋ฒ ํ๋ฆฌํ๋ก์ ํธ์์ ์ฌ์ฉ์์๊ตฌ์ฌํญ ๋ช ์ธ์, ํ๋ฉด์ ์์๋ฅผ ๊ทธ๋ ค๋ณด๊ณ ํ์ ์ก๋ ์๊ฐ์ ์ ์ธํ๊ณ ๋ ์ค์ ๊ฐ๋ฐ์ ํ ๊ธฐ๊ฐ์ 8/25 ~ 9/6 ์ด์๋ค. ๋ฐฑ์๋ ํ๋ฐํธ ๋ค๊ฐ์ด ๋งจ๋ ๋ชจ์ฌ ๊ฐ๋ฐํ๊ฑด ํ์ผ๋ง ๋ฐ์ง๋ฉด ์์ 8์ผ์ด๋ค. (ํ์๋ถ๋ค์ 9์ผ์ด์ง๋ง ๋๋ ์ด๊ธฐ์ ์ ํด์ง ํด๊ฐ๋ฅผ ํ๋ฃจ๊ฐ์ด์ ๋ํํ 8์ผ..)
๋ฌผ๋ฐ ๊ฑฐ์ ์ ๋ ์๋ ์ถ์ด์... + ์ฃผ๋ง์๋ ํ๋ฃจ๋ ๋ด๋ด ์ปดํฐ๋ฅผ ๋ถ์ก๊ณ ์๋ ์ ์ด ๋ง์ง...
ํ๊ณ
์ข์๋ ๋ถ๋ถ
- Redux toolkit์ ์ ๋ง ๊ฑฐ์ ํผ์ ๋ค๋ค๋ณธ์ ์ด ์์ด์ ์์ ์ด 1๋์๋ ์ํ์์ง๋ง ์์ง๋์ด ๋ก๊ทธ์ธ ์ํ์ ๊ธ(questions, answers, comments) ์ ์ํ๋ก ๊ด๋ฆฌํ๋ฉด ๋ ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ํด์ฃผ์ ์ open-mind๋ก ๋ฐ์๋ค์ด๊ณ ์ค์ ๋ก Redux๋ก ์ํ๊ด๋ฆฌ๋ฅผ ํ๋๋ฐ ๋ก์ง์ด ๋ ๋ณต์กํด์ง๋ ๊ฒ ๊ฐ์ ์ข์๋ค.
- ์ฐ๋ฆฌ ํ์ด '์'์ผ๋ก ์ ํด๋ ํ์ ๊ตฌํ ๊ธฐ๋ฅ์ ๊ทธ๋๋ ํ๋ฐํธ ์ชฝ์์ ๋ชจ๋ ์๊ฐ๋ด์ ๊ตฌํ์ ํ ์ ์์๋ค.
- catch up ๋ฏธํ ๋ ๋ฌธ์ ์ ์ ๋ ๊ณต์ ํ๊ณ ๋ชจ๋ฅด๋ ๊ฒ์ ๋ํด ๊ฐ๋งํ ์์ง ์์๋ค.
- ์ฐ๋ฆฌํ์ ์งํฅ์ ์ด over communication์ด์๋๋ฐ ํ๋ก์ ํธ ํ๋ฉด์ ๊ทธ ์ ์ ์ ์งํจ ๊ฒ์ด ์ข์๋ค.
์์ฌ์ ๋ ๋ถ๋ถ
- Merge๋ฅผ ์์ง ์ ๋ชปํ๋ ๊ฒ.. ์์ง Merge์ ๋ํ ๋๋ ค์์ด ์กฐ๊ธ ์๋ค. ์์ง๋ํํ ๋งจ๋ ๋ฌผ์ด๋ณด๋ฉด์ ์ฐ๋ฆฌ ๋์ ๋ค๋ฅธ git ๋ธ๋์น๋ฅผ ํ๋ฐํธ์๋ ํด๋์ ๋จธ์งํ๋๋ฐ.. ์์ง ํผ์ํ๋ผ๊ณ ํ๋ฉด ์ ๋ชปํ๋ค. ๋ฉ์ธ ๋ค์ด๊ฐ๊ธฐ ์ ์๋ ๊ผญ ์ต์ํด์ ธ์ผ ๋ ๊ฒ ๊ฐ๋ค.
- CSS๋ฅผ ์์ ์์ฌ๋ก ์ ํ์ฉํ์ง ๋ชปํ ๊ฒ
- ํ์๊ฐ์ ํ์ด์ง์์ ์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํด์ฃผ๋๋ฐ ๋น๋ฐ๋ฒํธ์ ์ ํ์ ์ค๋ช ํด์ฃผ๋ ์ ๋ฐ์ p ํ๊ทธ ๋ถ๋ถ์ด.. ํ๋ฒ์ ๋ณด์ด๋ฉด ์ข์ํ ๋ฐ ์๊พธ ์งค๋ ค์ ธ ๋ณด์๋๋ฐ ์๊ฐ๋ด์ ํด๊ฒฐํ์ง ๋ชปํ๋ค.
- ์์ธํ์ด์ง์ Header๋ถ๋ถ์ ์ ๋ชฉ๊ณผ ๊ธ์์ฑ ๋ฒํผ์ด ์๋ ํ ์ค์ด๋ ์์ธ Title Info ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ ์ค์ด ์๋๋ฐ flex๋ก ๋ฌถ์ฌ ์๋ค๋ณด๋ ์ ์ค์ justify-content: space-between์ ํ๋ ์๋ซ ์ค Title Info์ ์์๋ค๋ ๋ธ๋ผ์ฐ์ width ๊ธฐ์ค์ผ๋ก ๋์๋์ ๋ณด์ฌ์ก๋ค.
- ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ํ์ง ๋ชปํ ๊ฒ. ์๊ฐ์ ์ฌ์ ๊ฐ ์์ด ์์ง๋๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ๋ผ๋์ง, ๋ด ์ค์ค๋ก ์ฝ๋์ ๋ํ ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ํ ์๊ฐ์ด ์์๋ค.
๊ฐ์ ํด์ผํ ๋ถ๋ถ
- Redux toolkit ํ์ฉ
- ์ํ๊ด๋ฆฌ ํด์ธ ๋ฆฌ๋์ค ํดํท์ ๋ ๊ณต๋ถํด์ผ๋๋ค. ๊ฐ์ผ๋ก ๊ฐ์ ธ๋ค ์ด ๋๋
- ๊ณํํ๊ณ ์ปดํฌ๋ํธ ๊ตฌํํ๊ธฐ
- Component๋ก ๊ด๋ฆฌํ ์ ์๋ ๊ฒน์น๋ ์ฝ๋๊ฐ ๋ง์์์๋ ๋ถ๊ตฌํ๊ณ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ๊ธ๊ธํด์ ๋ณต๋ถ์ผ๋ก ์ปดํฌ๋ํธ ์ค๊ณ๋ฅผ ์ ํ์ง ๋ชปํ๋ค.
- ์คํ์ผ๋ ์ปดํฌ๋ํธ ๋ ์ต์ํด์ง๊ธฐ
- Styled components๋ก ๋ ์งง์ ์ฝ๋๋ก ์ค์ผ ์ ์์ ๊ฒ ๊ฐ์์ง๋ง classํ css์ ํผ์ฉํด์ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค.
- ์๋ฌ ํธ๋ค๋ง ์ธ๋ถํํ๊ธฐ
- ํ์๊ฐ์ ์ ์งค๋ ์๋ฒ์์ ๋ฐ์์ค๋ ์๋ต์ด ok์ด๋ฉด ๋ก๊ทธ์ธ ์์ผ์ฃผ๊ณ ok๊ฐ ์๋๋ฉด "์ด๋ฏธ ์กด์ฌํ๋ ์ด๋ฉ์ผ์ ๋๋ค"๋ผ๋ ๋ฉ์์ง๋ฅผ ๋์์ฃผ๋ ๊ฑธ๋ก ๋ถ๊ธฐ๋ฅผ ๋๋ด๋๋, ๋ฐฐํฌํ๊ฒฝ์์ ํ ์คํธํด ๋ดค์ ๋ ์๋ฒ์์ ์๋ต์ ๋ชป๋ฐ์ ์ค๋ ๊ฒฝ์ฐ(?)์๋ "์ด๋ฏธ ์กด์ฌํ๋ ์ด๋ฉ์ผ"์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ๋์์คฌ๋ค.
//Sign up ๋ฒํผ ๋๋ฅด๋ฉด POST ์์ฒญํ๊ธฐ
const handleSubmit = (event) => {
event.preventDefault();
let newUser = {
name: name,
email: email,
password: password,
};
// console.log(newUser);
if (email.length === 0) {
setEmptyEmailMsg("Email cannot be empty.");
}
if (password.length === 0) {
setEmptyPasswordMsg("Password cannot be empty.");
}
fetch("/signup", {
method: "POST",
headers: {
'Accept': 'application/json, text/plain',
'Content-Type': 'application/json;charset=UTF-8',
},
body: JSON.stringify(newUser),
})
.then((res) => {
//์ด๋ฏธ ์กด์ฌํ๋ ์ด๋ฉ์ผ๋ก ํ์๊ฐ์
์คํจ์
if (!res.ok) {
setPasswordMessage("The email already exists");
}
//ํ์๊ฐ์
์ฑ๊ณต์
else if (res.ok) {
navigate("/login");
}
return res.json();
})
.then((res) => console.log(res)) //{failureReason: '', success: true}
.catch(() => console.log("error"));
};
- ์ถฉ๋ถํ ํ
์คํธ ํ๊ธฐ
- ์ ์ ์ ๋ณด์ฌ์ฃผ๋ feedback์ ์ํด ์๋ฌ๋ฅผ ์ธ๋ถํํ๊ณ ํ ์คํธ๋ ์ถฉ๋ถํ ํด๋ด์ผ ์ ์ ๊ฐ ํผ๋ํ์ง ์๊ณ ์๋ง์ feedback์ ๋ฐ์ ui/ux ๋ฅผ ํฅ์์ํฌ ์ ์์ ๊ฒ ๊ฐ๋ค.
๋ฉ์ธํ๋ก์ ํธ์์๋ ๋ ๋ง์ด ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ์ผ๋ฉด ์ข๊ฒ ๊ณ ํ๊ณ ํ ๋๋ ์ข์๋ ๋ถ๋ถ์ด ๋ ๋ง์์ง๊ธฐ๋ฅผ ๋ฐ๋๋ค.
'ํ๊ณ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ฐํธ์๋ ๊ฐ๋ฐ์๋ก 6๊ฐ์ ํ๊ณ (0) | 2023.09.30 |
---|---|
3๊ฐ์ ํ๊ณ (0) | 2023.06.30 |
๊ฐ๋ฐ์๋ก ์ฒซ ์ถ๊ทผ (0) | 2023.04.10 |
์ฝ๋์คํ ์ด์ธ ํ๋ก ํธ์๋ ๋ถํธ์บ ํ๋ฅผ ๋ง์น๋ฉฐ ๐ (0) | 2022.10.20 |
Main Project | ์ฐ๋ฆฌํ์ด ๋ง๋ ์์ทจ์ ๋์ฅ๊ณ ์ฑ ํ๊ณ (0) | 2022.10.18 |