Git
์ ์ฌ์ฉํ ํ ํ์
๊ณผ์ Trello
๋ฅผ ํ์ฉํ ์คํฌ๋ผ ๋ฐฉ์ ์๋ ํ๋ก์ ํธ ์งํReact.js
๋ฅผ ์ด์ฉํ ๋ผ์ธํ๋ ์ฆ์คํ ์ด ํด๋ก CRA(create-react-app)
๋ฅผ ์ฌ์ฉํ ์ด๊ธฐ ์ธํ
MockData
๋ฅผ ์ด์ฉํ์ฌ UI ๊ตฌํ ํ componentDidMount()
์ fetch()
๋ฅผ ์ด์ฉํด ๋ฐฑ์๋์์ ํต์ localStorage
์ token
์ ์ด์ฉํ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํquery string, path
๋ก ๋์ ๋ผ์ฐํ
๊ณผ Pagination ๊ตฌํPython
์ ์ด์ฉํ ๋ผ์ธํ๋ ์ฆ์คํ ์ด ํฌ๋กค๋งDjango
๋ฅผ ์ฌ์ฉํ ์ด๊ธฐ ์ธํ
Aquery
๋ฅผ ์ด์ฉํ ๋ผ์ธํ๋ ์ฆ์คํ ์ด ๋ชจ๋ธ๋งBcrypt
๋ฅผ ์ด์ฉํ ๋น๋ฐ๋ฒํธ ์ํธํ๋ก ํ์๊ฐ์
๊ธฐ๋ฅ ๊ตฌํDecorater
๋ก ํ ํฐ์ ์ฌ์ฉํด์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํMysql
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋คํCRUD
๊ตฌํFront-endReact
JavaScript
SASS
Git
Back-endPython
Django
MySQL
Linux
Git
์ํ ์์ธ์ ๋ณด ํ์ด์ง - ์ ์ํ, ์ด๋๊ธธ, ๊น์ฑ์ง
class InformationTab extends Component {
...
render() {
retrun (
...
<ul className="chart">
{SHIP_DATA.map((data, index) => {
const { id, option, count } = data;
let ratio = parseInt((count / getTotalCount()) * 100);
return (
<li key={id}>
<span className="option">{option}</span>
<div className="line">
<div
className={
getMaxInCount() === index
? 'activeLine max'
: 'activeLine'
}
style={{ width: `${ratio}%` }}
/>
<div className="backgroundLine"></div>
</div>
<span
className={
getMaxInCount() === index ? 'count max' : 'count'
}
>{`${count}๊ฑด (${count ? ratio : 0}%)`}</span>
</li>
);
})}
</ul>
...
)
}
}
function getTotalCount() {
let counts = [];
for (let data of SHIP_DATA) {
counts.push(data.count);
}
return counts.reduce((accumulator, count) => accumulator + count, 0);
}
function getMaxInCount() {
let max = 0;
const counts = [];
for (let data of SHIP_DATA) {
counts.push(data.count);
}
max = Math.max(...counts);
return counts.indexOf(max);
}
Reduce
๋ฉ์๋๋ฅผ ํ์ฉํ ํฉ๊ณ ๊ณ์ฐ์์ฝ๋๋ฅผ ์ฒ์ ๋ค์ด์์ ๊ฐ๋ฐ์์๊ฒ ๊ฐ์ฅ ์ค์ํ ๊ฒ ์ค ํ๋๋ ์ปค๋ฎค๋ํฐ ์์์์ ์ํต ๋ฅ๋ ฅ์ด๋ผ ๋ฐฐ์ ๋ค. ์ฌ์ค ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ์ฒ์ ๋ค์์ ๋๋ ์๋ก ํ์ฌ ์ํ์ ํ์ํ ํ๋์ ๋๋ชฉ์ ์ด์ผ๊ธฐํ๋ ๊ฒ์ด๋ผ ์๊ฐํ์๋๋ฐ ์ด๋ฒ ํ ํ๋ก์ ํธ์ ์งํํ๋ฉด์ ์ ๊ฐ๋ฐ์์๊ฒ ์ปค๋ฎค๋ํฐ๊ฐ ์ค์ํ ๊ฒ์ธ์ง, ํ์ํฌ๋ ๋ฌด์์ด๊ณ ๊ทธ ํ์ํฌ๊ฐ ๊ฒฐ๊ณผ์ ์ด๋ค ์ํฅ์ ๋ผ์น๊ฒ ๋๋์ง ๊ฐ์ด ๊น์ด ๋๋ ์ ์์๋ค.
์๊ตฌ๊ฐ ๋ญ์ฌ? ์๊ตฌ๋ ๋ง์ด์ฌ
๊ฐ์ด ๋ฐฅ๋จน๋ ์
๊ตฌ๋
์ด์ฌ~
์
๊ตฌ๋
ํ๋ ๋ ์
๋ท ๋ค์ฏ ์ฌ์ฏ ๋๊น์ง ์ผ๊ณฑ
ํผ์์ด๊ฒ ๋ค๊ณ ๋๊ฐ์ ๋ฐฅ๋จน๋๊ฑด ๋ญ์ฌ?
๊ทธ๊ฑด ์๊ตฌ๊ฐ์๋๊ณ ํธ๋ก์์ด์ฌ~ ๊ทธ๋ ์๊ทธ๋?
[์ํ ๋น์ดํ ๊ฑฐ๋ฆฌ ไธญ]
ํ์ด ์ ํด์ง๊ณ ์๋ฆฌ๋ฅผ ๋ฐฐ์ ๋ฐ๊ณ ๋์๋ถํฐ ์ด๋ฏธ ๋ด๊ฒ๋ ํฐ ๋ณํ๊ฐ ์๊ฒผ๋ค. ์ฌ์ค ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ ์ด์ ์๋ ์์ฝ๋์์ ๋ฒ๋ฆ์ฒ๋ผ ๋ฐฅ์ ๊ฑฐ๋ฅด๊ธฐ ์ผ์ค์๋ ๋์๋๋ฐ ๊ทธ๋ฐ ๋ด๊ฒ ๋งค ๋ผ๋๋ฅผ ํจ๊ปํ๋ ์๊ตฌ๊ฐ ์๊ฒผ๋ค๋ ๊ฒ์ด๋ค. ์ญ์ ํ๊ตญ์ธ์ ๋ฐฅ์ผ๋ก ํตํ๋ค๊ณ ํ๋๊ฐ, ๋ด๊ฐ ๋ฐฅ์ ๋จน๋๋ค๋ ์ด์ ํ๋๋ง์ผ๋ก๋ ์์์ง๋ ํ์๋ค์ ๋ฐ์๊ฐ์ฑ(?) ์์์ ์ด๋ฏธ ๋๋ ํ ์๊ตฌ์ ์ผ์์ด ๋์ด ์์๋ค.
๊ทธ๋ ๊ฒ ํ๋ก์ ํธ๊ฐ ์์๋๊ณ ์ฐ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ณ์๋ค์ ๋ง๋ ์ฒซ๋ ์ ๋๋ถ๋ถ์ ๊ธฐํ ํ์์ ํ ์ ํ๊ฒ ๋์๋ค. ๋์ ์๋ฌด๊ฐ ๋ถ๋ช ํด์ง ์ฒซ๋ ์ ๋์๋ฝ์ ๋ด๊ฐ ๋งก์ ์์ธํ์ด์ง๋ฅผ ๋ค์ ํ๋ํ๋ ๋ค์ฌ๋ค๋ณด๋ ์ ์ด๋ ๊ฒ ํ ์คํธ๋ ๋ง๊ณ ์คํ์ผ๋ค์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ฒ์ธ์ง ์์ด์ ๋ฅ์ํ์ง ์์ ๋๋ ๊ทธ ๋ง์ ํด๋์ค ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์ด์ผ ํ ๊น
์ข์ ํ๋ฉฐ๊ณ ๋ฏผํ๋ฉฐ ์ฒซ๋ ์ ๋ง๋ฌด๋ฆฌํ๊ฒ ๋์๋ค.ํ์ง๋ง ์ค์ง ์์ ๊ฒ ๊ฐ๋ ์ ๋ ๋์น์ฑ์ง ๋ชปํ ์ฌ์ด ์ฐพ์์ ๋๋ฅผ ์ ๋ค๊ฒ ํ ๊ฒ์ฒ๋ผ ํด๊ฒฐ์ฑ ์ ๋ค์ ๋ ์ ํ ์์์น ๋ชปํ ๋ฐฉ๋ฒ์ผ๋ก ๋ด๊ฒ ์ฐพ์์๋ค. ๋ค์ ๋ ์๋ฒฝ 6์, ๋์ ๋ ๋ณด๋ ์ฌ๋ ๋ฉ์์ง ํ ํต์ด ์์์๋๋ฐ
์ ์ฑ์ค๋ ํ๋ํ๋ ํด๋์ค ์ด๋ฆ์ ๊ณ ๋ฏผํด ์ฃผ๊ณ ํธ์งํด ์ฃผ์ ์ํ ๋์ ๋ฉ์์ง์๋ค. ์ ๋ง ์ด ์ฌ์ง ํ์ผ๊ณผ ์์ ๋ฉ์์ง๋ฅผ ๋ณด๋ ์๊ฐ์ ๊ฐ์ ์ ํ์ ์์ ์ ์์ ๊ฒ ๊ฐ๋ค. ์๋, ์๊ณ ์ถ์ง ์๋ค.
์ฌ๋ฌ ๊ฐ์ง ๊ฐ์ ์ด ํ๊บผ๋ฒ์ ํฐ์ ธ ๋์๋๋ฐ ์ฐ์ ๋๋ฌด๋๋ฌด ๊ฐ์ฌํ ๋ง์์ด ์์ฐ๊ณ ๋ด๊ฐ ๋๋ฌด ํฐ๋ฅผ ๋ด์ด ๋ค๋ฅธ ํ์๋ค์ ๋ถํธํ๊ฒ ํ๋ ๊ฒ์ ์๋์์๊น ํ๋ ํํ ์์ธ ๋ฐ์ฑ, ๋๋ ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๊ฒ ๋ค๋ ๋ค์ง, ์ด๋ค ๊ณต๋์ฒด์ ์ผ์์ด ๋๋ค๋ ๊ฒ์ ๋ํ ๊ฐ์ฌํจ ๋ฑ ๋ชจ๋ ๊ฒ์ด ํ๊บผ๋ฒ์ ๋ชฐ๋ ค์์๋ค.
๋ค๋ฅธ ์๊ฐ ์์ด ๋ฐ๋ก ์์ฝ๋๋ก ์์ ์์ ์ ์์ํ๋ค. ์ ๋ง ์ด์ฌํ ํ๊ณ ์ถ์๊ณ ๊ทธ ๋ง์์ด ์ ํด์ง ๊ฒ์ธ์ง ๋ชจ๋ ๊ฒ์ด ๋งํ์์ด ์งํ๋์๋ค. ๊ทธ๋ฌ๋ค ์๊ฐ์ด ์๊ธฐ๋ฉด ๋ด๊ฐ ๋์์ ๋ฐ์๋ ๊ฒ์ฒ๋ผ ๋ ๋ํ ๋ค๋ฅธ ์ด์ ๋์์ด ๋ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค๋๊ธฐ๋ ํ์๋๋ฐ ์ด์ด ์ข๊ฒ๋ ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๋ ์๊ฐ๋ค์ ๊ฒฝํํ๊ธฐ๋ ํ๋ค. ๋ค๋ฅธ ๊ฐ๋ฐ์์ ํจ๊ป ๊ณ ๋ฏผํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ ๋์ ์ง๋ฆฟํจ์ ๊ทธ ๋ฌด์๊ณผ๋ ๋ฐ๊ฟ ์ ์๋ ์์คํ ๊ธฐ์ต์ด ๋๊ณ ๋์ ์๋๋ ฅ์ด ๋์ด์ฃผ๋ ๊ฒ ๊ฐ๋ค.
๋ค์ ์ฒ์์ผ๋ก ๋์๊ฐ ์์ฝ๋๋ฅผ ์ฒ์ ๋ค์ด์์ ๊ฐ๋ฐ์์๊ฒ ๊ฐ์ฅ ์ค์ํ ๊ฒ ์ค ํ๋๋ ์ปค๋ฎค๋ํฐ๋ผ ๋ฐฐ์ ์๋ค๊ณ ํ๋ค. ์ด์ ๋ ์ ๊ฐ๋ฐ์์๊ฒ ์ปค๋ฎค๋ํฐ๊ฐ ์ค์ํ ๊ฒ์ธ์ง, ํ์ํฌ๋ ๋ฌด์์ด๊ณ ๊ทธ ํ์ํฌ๊ฐ ๊ฒฐ๊ณผ์ ์ด๋ค ์ํฅ์ ๋ผ์น๊ฒ ๋๋์ง ๋๊ตฌ๋ณด๋ค ๊ฐ์ด ๊น์ด ๋๋ ์ ์๊ฒ ๋์๋ค.
์ด ๊ธ์ ๋์ผ๋ก ๊ทธ๊ฒ๋ค์ด ๊ฐ๋ฅํ๊ฒ ํด์ค ์ฐ๋ฆฌ ํ์๋๋ค, ๋๊ธฐ๋๋ค, ๋ฉํ ๋๋ค์๊ฒ ์ ๋ง ๊ฐ์ฌํ๋ค๋ ๋ง์ ์ ํ๊ณ ์ถ๋ค.๐โโ๏ธ
์ ๊ฐ ํ๋ก์ ํธ ๊ธฐ๊ฐ ๋์ ๊ท์ฐฎ๊ฒ๋ ๋ง์ด ํ๊ณ ๋ฐฅํฌ์ (ใ ใ ใ )๊น์ง ๋ถ๋ ธ๋๋ฐ ์ธ์ ๋ ๋ฐ๋ปํ๊ฒ ์์ผ๋ฉด์ ๋ฐฐ๋ คํด ์ฃผ์๊ณ ์์ํด ์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋๋ถ์ ์ ๋ ๋ง์ ๊ฒ๋ค์ ๋ณด๊ณ ๋ฐฐ์ฐ๊ณ ๋๋ ์ ์์์ต๋๋ค. ๋ชจ๋ ๋ชจ๋ ๊ณ ์ํ์ จ์ต๋๋ค!