๋ฆฌ์คํธํ ๋ชฉ๋ก ํ๋ฉด์์ ์ด๋ฆ์ด ๊ธด value์ ๋ํด์๋ ์ผ์ ๊ธธ์ด ์ด์์ด ๋๋ฉด ... ํ์ถ ํ tooltip์ผ๋ก value ๊ฐ์ ํ์ถํ๋ ๊ฒ์ ํ๋ค.์๋์์ ํต์ฌ์ ์๋์ด๋ค. ์๋๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด ๋ชจ๋ data๊ฐ ํ๋ฒ์ ๋จ๋ ์ค๋ฅ๊ฐ ์์๋ค.์์ ๊ฐ์ด ์ ์ฉํ๋ฉด ๊ธธ์ด๊ฐ ์งง
https://stackoverflow.com/questions/53253940/make-react-useeffect-hook-not-run-on-initial-render/63776262#63776262
insert ์ 2022-08-30 11:16:47.000 ์ด์ ๊ฐ์ ํ์์ด string์ผ๋ก ๋์ด ์์ ๋ DB๋ฑ๋ก ์ timestampํ์์ผ๋ก ๋ฐ๊ฟ์ผ ํ๋ค.
ํ์๋ค๊ณผ git์ผ๋ก ํ์ ํ๊ธฐ ๋๋ฌธ์ git push๋ฅผ ํ ์ํํด๋๋ช ๋ฐ ํ์ผ๋ช ์ camelCase๋ก ์์ฑํ์ง ์์ ๊ฒ ๋ฐ๊ฒฌlocal์์ ํด๋,ํ์ผ๋ช ๋ณ๊ฒฝlocal์์๋ ๋ณ๊ฒฝ๋์์ง๋ง git์๋ ๊ทธ๋๋ก ์ฐพ์๋ณด๋ git์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค๊ณ ํ๋ค. ๋ฐ๋ผ์ ๋ด๊ฐ ํ
์ผ๋จ ๋์ ๊ตฌ์กฐ๋ input์ ์ธํ ๋๋ ๊ฐ์ ๋ถ๋ชจ์์ ๋ฐ์์ค๋ ๊ฐ์ด๋ค.๊ทธ๋ฆฌ๊ณ input box ์ธํ ์ ์์์์ ํด์ค๋ค.์์ ํ๋ ํ๋ฉด์ input box์ ๊ธฐ์กด ๊ฐ์ ๊ฐ์ ธ์ค๊ณ onChangeHandler๋ฅผ ์ด์ฉํด ๋ณํ๋ ๊ฐ์ ํ์ถ์ํค๋ ๊ณผ์ ์์ ์๋ฌด๋ฆฌํด๋ ๋ถ๋ชจ์ ๊ฐ์ด ๋ฐ
์ ๋ ํธ๋ฐ์ค์ ์ซ์ ์ ํ ์ ๊ทธ ์ซ์๋งํผ ํ์ ๋์ ์ผ๋ก ์์ฑ์ํค๋ฉด ๋๋ค.๋์ ์ผ๋ก ํ์ ์์ฑํ๋ ค๋ฉด mapํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ๊ฒ ๊ฐ๋ค. ํ์ง๋ง map์ ์ด์ฉํ๋ ค๋ฉด ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ์ผํ๋๋ฐ ๋ด๊ฐ ์ด์ฉํ๋ ๋ฐ์ดํฐ๋ ์ซ์์ด๋ค. ์๋์ ๋ฐ์ดํฐ์ key๊ฐ์ numberOfP
๊ตฌํ ๊ธฐ๋ฅ ์ ์ฒด ์ฒดํฌ ๊ธฐ๋ฅ ๊ฐ๋ณ ์ฒดํฌ ๊ธฐ๋ฅ ๊ฐ๋ณ ์ฒดํฌ ๋ชจ๋ ์ฒดํฌ ์ ์๋์ผ๋ก ์ ์ฒด ์ฒดํฌ ์ ์ฒด ์ฒดํฌ์ผ ๋ ๊ฐ๋ณ ์ฒดํฌ ํ๋๋ผ๋ ๋ฏธ์ฒดํฌ์ ์ ์ฒด ์ฒดํฌ ๋ฏธ์ฒดํฌ ๊ตฌ์กฐ ๋ด๊ฐ ํ ํ๋ก์ ํธ์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ์ด ๋ถ๋ชจ ์ปดํฌ๋ํธ์ ์์ ์ปดํฌ๋ํธ๊ฐ ๋๊ฐ์ธ ๊ตฌ์กฐ์ด๋ค๐ ๋ถ๋ชจ ์ปดํฌ๋ํธ ์์
db์์ timestamp๋ก ๋์ด์๋ ์ปฌ๋ผ์ ๊ฐ์ ๋ฑ๋กํ ๋ client ๋จ์์๋ ์๋์ ๊ฐ์ด ํ๊ตญ ํ์ค์๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒผ๋ค. ํ์ง๋ง service๋จ์์ ๊ฐ์ง๊ณ ์จ ๋ฐ์ดํฐ๋ ํ๋ฃจ ์ ๋ ์ธ ์ฆ, -1์ผ์ธ ๋ฐ์ดํฐ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.์ฐ๋ฆฌ ๋๋ผ ํ์ค ์์ธ +9๋ฅผ ๋๊ฒผ์ง๋ง, ๋ฐ์
๋ฑ๋ก/์์ ํ๋ ์ฟผ๋ฆฌ ์์ฑ์์ ํ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋น๋ฒํ ๋ฐ์ํ๋ค.๊ฐ๊ฐ data type์ ์๋์ ๊ฐ์ด ์ค์ ํด๋์๋ค.postsql(db) : timestampdto : string์ํ๋ insert/update ์ปฌ๋ผ ํ์ : date(YYYY-MM-DD)xml : mybat
https://www.wake-up-neo.com/ko/mysql/mysql%EC%9D%98-%EC%97%AC%EB%9F%AC-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%97%90%EC%84%9C-count/970967252/
์๋ฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ณ์๋ช ์ Camel case ์ฌ์ฉ \- userIdsnake case๋ก ์ฌ์ฉ \- user_id xml ํ์ผ์์ select sql๋ฌธ์ ์์ฑํ์์ ๋, java์ Dto ๋ณ์๋ช ์ด ํด๋น DB ์ปฌ๋ผ๋ช ๊ณผ ๋ค๋ฅผ ๊ฒฝ์ฐ null ๊ฐ์ด ์ถ๋ ฅ๋๋ค. ํ์ง๋ง ๋ฐ๋
ํธ๋ฆฌํ ๋ฌธ๋ฒ์ ์ด์ฉํด์ css๋ฅผ ์์ฑํ๊ณ ์ถํ์ ๋ค์ ์์ css๋ก ๋ณํํด ์ฃผ๋ ๊ฒ๋ค์ ๋งํ๋ฉด ํ๋ ์์ํฌ์ ๋ฌธ๋ฒ์ ๋ง๊ฒ css๋ฅผ ์์ฑํ๋ฉด ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋ css๋ก ๋ณํ์ด ๋จ.๊ธฐ๋ณธ์ ์ธ CSS๋ง์ผ๋ก๋ ์ค๋ณต์ ์ผ๋ก ์์ฑํด์ผ๋จ๋ธ๋ผ์ฐ์ ํธํ์ฑ ์ํด ํ
๊ฐ์ธ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ค๊ฐ ๋ฐฐํฌํ๊ณ ์ถ๊ฑฐ๋ ํด์ผํ ์ผ์ด์๋ค. ์ด๋ ๋ด๊ฐ ํด๋ณธ ๋ฐฉ๋ฒ์ GitHub์ Netlify๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค.์์ฑํ repository์ Settings์์ GitHub Pages๋ก ์ด๋ํ๋ค.master Branch๋ก ๋ณ๊ฒฝํ๋ฉด ๋ฐฐํฌํ๋ฉด ์ป๊ฒ๋ ์ฃผ
Spread Operator๋ผ๊ณ ํด์ ...์ ์ด์ฉํ๋ฉฐ ์คํ๋ ๋ ์คํผ๋ ์ดํฐ, ์คํ๋ ๋ ์ฐ์ฐ์๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ES^์์ ์๋กญ๊ฒ ์ถ๊ฐ๋ ๋ด์ฉ์ผ๋ก ์ฐ๊ฒฐ, ๋ณต์ฌ ๋ฑ์ ํ์ฉ๋๊ฐ ๋๋ค. ๊ธฐ์กด์์๋ ๋ฐฐ์ด์ ๊ฒฐํฉํ๋๋ฐ ์์ด concat ๋ฉ์๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค. spread ์ฐ์ฐ์๋ฅผ ์ด
์ค๋ธ์ ํธ๋ key์ value์ ์งํฉ์ฒด์ด๋ค.new class ํค์๋ ์ฌ์ฉ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ์ผ๋ก ํ์ ์ด runtime(ํ๋ก๊ทธ๋จ์ด ๋์ํ๊ณ ์์ ๋)๊ฒฐ์ ๋๋ฏ๋ก ์ค๋ธ์ ํธ ์์ฑ ํ property๋ฅผ ํ์ ์ถ๊ฐ ๋ฐ ์ญ์ ํ ์ ์๋ค. ๋ณ์์ ์์ํ ๋ฐ์ดํฐ (๋ฌธ์์ด, ์ซ์)๋ฅผ ํ
render() ์์ ๋ก๊ทธ๋ฅผ ํ์ธํ์ฌ Component์ ์ด render ํจ์๊ฐ ์ธ์ ํธ์ถ๋๋์ง ํ์ธํ ์ ์๋ค. ์ฝ๋์ console.log()๋ฅผ ์ฐ๊ณ ํ๋ฉด์ refresh ํด์ฃผ๋ฉด ๋ก๊ทธ๋ค์ด ๋๋ฒ์ฉ ์ฐํ๋ค. index.js์์ StrictMode๋ฅผ ์ฌ์ฉํ์ฌ์์ด๋ค.St
HTML์ ์์ฑํ ๋, DOM ์์์ ์ด๋ฆ์ ๋ถ์ผ ๊ฒฝ์ฐ <div id ="testId"> ์ ๊ฐ์ด id ๊ฐ์ ์ค๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํด๋น id๊ฐ ์๋ DOM ์์์๋ง ์คํ์ผ์ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์กํธ์์๋ DOM์ ์ ํํด ์ง์ ์ ๊ทผํ๊ธฐ์ํด ref๋ฅผ ์ฌ
๋๋์ ๋ฐ์ดํฐ๋ฅผ db์ insertํ ๋ ์์ ๋ก ๋ณดํต ์๋ฃ๋ฅผ ๋ฐ๋๋ค๊ณ ํ๋ค.ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค ๐ฒ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด data๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ ์ฒซ๋ฒ์งธ ํ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ค๋ค.์ด๋ number" ์ ๋ฒํธ "varchar๋'" ์ ๋ฒํธ "'์ฒซ๋ฒ์งธ ์
ํ๋ก์ ํธ๋ง๋ค ๋ค๋ฅธ node ๋ฒ์ ์ด ํ์ํด์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค.A ํ๋ก์ ํธ - node v10.24.1B ํ๋ก์ ํธ - node v13.14.0Node Version Manager๋ ธ๋ ๋ฒ์ ์ ์ ๋ฐ์ดํธํ๊ธฐ ์ํ ํจํค์ง๋ก ์ฝ๊ฒ Node.js ๋ฒ์ ์ ๊ด๋ฆฌํ ์ ์๋ค. nvm
git์ ์ฌ์ฉํ๋ฉด ์ด๋ฐ error์ ๋ณด๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.์ด๋ mac ๋๋ linux๋ฅผ ์ฐ๋ ๊ฐ๋ฐ์์ window ๊ฐ๋ฐ์๊ฐ Git์ผ๋ก ํ์ ํ ๋ ๋ฐ์ํ๋ whitespace ์๋ฌ์ด๋ค.๋๋ํ macOS๋ฅผ ์ฌ์ฉํ๋ ๋ถ์ ์ฝ๋๋ฅผ clone ์ํค๊ณ ๋์ windowOS์์