๊ฐ๋ฐ์ 99% ์ปค๋ฎค๋ํฐ์์ ์๋ค ๋จ์ด์!
๊ฒฐ๊ณผ๋ฌผ URL :https://qhgus0174.github.io/SeriousMeme/
๋ฏธ๋ฆฌ๋ณด๊ธฐ ๐
์๋ ํ์ธ์ ์ด์ง์ ์ค๋น์ค์ธ ์ฃผ๋์ด ์น ๊ฐ๋ฐ์์ ๋๋ค!
ํ ์คํ ๊ฐ๋ฐ์์ด๊ณ java, c#, JQuery ์์ฃผ๋ก๋ง ๊ฐ๋ฐํ๋ค ์ผ๋ง ์ JQuery ํ๋ก์ ํธ๋ฅผ vue.js๋ก ์ด์ ํ๋ ์์ ์ ํ๋ฉด์ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ์ ๋งค๋ ฅ์ ๋๊ปด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก ์ ํฅํ ์ค๋น๋ฅผ ํ๊ณ ์์ต๋๋ค.
KBS1 ํ๋ก๊ทธ๋จ "์ธ๊ฐ๊ทน์ฅ" ์งค ์์ฑ๊ธฐ์ ๋๋ค! ์ฌ์ง์ ์ฒจ๋ถํ๊ณ ๋์ฌ๋ฅผ ์ ๋ ฅํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ญ๋๋ค.
์ด๊ธฐ ํ๋ฉด์ ๋๋ค. ๋ก๊ทธ์ธ ์์ด๋ ์ฝ๊ธฐ/์ฐ๊ธฐ๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์ฑ ํ๋ฉด๊ณผ ๋ฆฌ์คํธ ํ๋ฉด์ด ๋ณด์ฌ์ง๋๋ค.
ํ๋ฉด์ ๋ฐ์ผ๋ก ๋๋์ด ์ผ์ชฝ ํ๋ฉด์ ์งค์ ์์ฑํ๋ ๊ตฌ์ญ์ด๊ณ , ์ค๋ฅธ์ชฝ์ ์ฌ์ฉ์๋ค์ด ๊ณต์ ํ ์งค ๋ชฉ๋ก์ ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ด๋ป๊ฒ ์ค๋ช ํ ๊นํ๋ค ๋ํดํธ ์ด๋ฏธ์ง๋ก ์ค๋ช ์ ํด๋์์ต๋๋ค. ์ฌ์ง์ ์ฒจ๋ถํ๊ณ ์ผ์ชฝ ์๋ ๋ ์ง/์๊ฐ์, ํ๋จ์๋ ๋์ฌ๋ฅผ ์ ๋ ฅํ์ฌ ์งค์ ์์ฑํ๋ ๋ฐฉ์์ ๋๋ค.
๋ง๋ ์งค์ ์๋ํ ์ ์๋๋ฐ, ์ฌ๊ธฐ์ firebase database์ storage์ ์์ ๋๋ค.
๐ ๋ก๊ทธ์ธ
์ค๋ฅธ์ชฝ ์๋จ์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฌ ๋ก๊ทธ์ธํฉ๋๋ค. ๋ชจ๋ฌ์ฐฝ์ผ๋ก ๊ตฌํํ์ต๋๋ค. react portal์ ์ด์ฉํด app ๋ฐ๊นฅ์์ ๋ ๋๋ง ๋๋๋ก ํด๋ณด์์ต๋๋ค.
tab ํํ๋ก ๋ก๊ทธ์ธ, ๊ณ์ ์์ฑ์ ์ ํํ ์ ์์ต๋๋ค. SNS ๋ก๊ทธ์ธ์ ์ด๋ ํญ์ด๋ ๋ค ๋ฉ๋๋ค! ๋ก๊ทธ์ธ์ ํ๋ฉด ์์ ๊ฒ์๋ฌผ์ ์ญ์ ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๐ ์งค ์์ฑ
์๋ ํญ๋ชฉ๋ค์ ์ ๋ ฅ์ ํ๋ฉด ์ฒจ๋ถํ ์ฌ์ง ์์ ๊ธ์๊ฐ ๋ณด์ ๋๋ค!
๋ ์ง, ์์ผ, ์๊ฐ์ ์ค๋ ๋ ์ง๊ฐ ๋ํดํธ ๊ฐ์ผ๋ก ์ด๊ธฐํ ๋์ด์์ต๋๋ค.
๋ ์ง์ ์ง์
์ ์ฒดํฌ๋ฐ์ค๋ ๊ฐ ํญ๋ชฉ์ ๋ณด์ฌ์ค ์ง ๋ง์ง ์ ํํฉ๋๋ค.
๋์ฌ1 ์ ์ฒดํฌ๋ฐ์ค๋ ์ ํ ์ ๊ธ์๊ฐ ๋
ธ๋์(์ง๋ฌธ ํํ)๋ก ํ์๋ฉ๋๋ค.
์๋ก๊ณ ์นจ ๋ฒํผ ํด๋ฆญ ์ ์บ๋ฒ์ค๊ฐ ์ด๊ธฐํ ๋ฉ๋๋ค.
๋ค์ด๋ก๋ ์ ์ด๋ฏธ์ง ํ์ผ๋ก ๋ค์ด๋ก๋ ํ ์ ์๊ณ , ์๋ํ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ด ์งค์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
input text ์ปดํฌ๋ํธ๋ฅผ infield label๋ก ๊ตฌํํด๋ณด์์ต๋๋ค. ํฌ์ปค์ค ์ ํ ๋๋ฆฌ๊ฐ ๋ฐ๊ฒ ํ์๋ฉ๋๋ค.
๐ ๋ฆฌ์คํธ
์๋ํ๊ธฐ ๋ฆฌ์คํธ์ ๋๋ค. ๋ด ๊ฒ์๋ฌผ์ ๊ฒฝ์ฐ ์์ ,์ญ์ ๋ฒํผ์ด ํ์๋ฉ๋๋ค. ์์ ๊ธฐ๋ฅ์ ํ์ฌ๋ ์ ๋ชฉ๋ง ์์ ํ ์ ์๊ณ ์บ๋ฒ์ค ์์ ๊ธฐ๋ฅ์ ์ถํ ๊ตฌํ ํ ๊ฒ ์ ๋๋ค!
์ํ๋ช , ์ ์ ํ๋กํ ์ฌ์ง, ์ ์ ๋ช ์ผ๋ก ํ์๋ฉ๋๋ค! ํ์๊ฐ์ ์ ๋ฆฌํด๋๋ ์ ๋ณด๋ฅผ firebase user collection์ ๋ด์์ต๋๋ค. ๊ฐ์ด ์๊ฑฐ๋, ๋น๋ก๊ทธ์ธ ์ฌ์ฉ์์ธ ๊ฒฝ์ฐ์๋ ์๋์ ๊ฐ์ด ํ์๋ฉ๋๋ค.ย
์์ ์ ํ๋ฉด์ ๋๋ค.
๐ ํ๋กํ
ํ๋กํ ์ฌ์ง๊ณผ ์ด๋ฆ์ ์์ ํ ์ ์๊ณ ์์ ์ ๊ฒ์๋ฌผ์ ํ์ธํ ์ ์์ต๋๋ค.
1. canvas๋ก ์งค ๋ง๋ค๊ธฐ
์งค ์์ฑ์ canvas์ ๊ทธ๋ฆฌ๋ ๊ฒ์ผ๋ก ๊ตฌํ ํ์ต๋๋ค. ๋ฆฌ์กํธ๋ DOM์ ์ง์ ์ ๊ทผํ ์ ์์ด useRef hook์ ์ฌ์ฉํ์ต๋๋ค.
canvas๋ฅผ ์ปดํฌ๋ํธ๋ก ๋ฐ๋ก ๊ตฌํํ๋๋ฐ, ์๋ํ๊ธฐ ๋ฒํผ๊ณผ ๋ค์ด๋ก๋ ๋ฒํผ์ ์ปดํฌ๋ํธ ๋ด๋ถ์ ๋ฃ์์ง ๋ฐ๊นฅ์ ๋ฃ์ ์ง ๊ณ ๋ฏผํ๋ค ๊ฒฐ๊ตญ ๋ด๋ถ์ ๋ฃ์์ต๋๋ค. ์์ state๋ฅผ ๋ถ๋ชจ์๊ฒ ๋๊ธฐ๋ ๊ณผ์ ์ ์ดํดํ๋๋ฐ ์กฐ๊ธ ์๊ฐ์ด ๊ฑธ๋ ธ๊ณ useState๋ฅผ ์ฌ์ฉํด๋ณด์์ต๋๋ค!
2. ์ ์ญ state ๊ด๋ฆฌ
์ปดํฌ๋ํธ๊ฐ ๋ง์์ง๋ฉด์ ์ ์ ์ ๋ณด๋ฅผ ์์ํํ ๊ณ์ ๋ด๋ ค์ฃผ๋ค ํ ๋ฒ์ ๊ด๋ฆฌํ๊ณ ์ถ์ด์ก์ต๋๋ค. ์ ์ญ์ผ๋ก state๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํด์ก๊ณ , ์์ ํ๋ก์ ํธ๋ผ context api๋ฅผ ์ฌ์ฉ ํด ๋ณด์์ต๋๋ค. ๊ทธ ์ธ์๋ ๋ชจ๋ฌ, ๋ก๋ฉ ์คํผ๋๋ฑ์ ์ ์ญ state๋ก ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค.
3. ํ์ ์คํฌ๋ฆฝํธ ๋์
์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํด๋ ์๋ฌ ๋ฉ์์ง๋ ๋ถ์น์ ํ๊ณ , ์ด๋์ ์ด๋ค ์ค๋ฅ๊ฐ ๋ ์ง ์์ธกํ๊ธฐ๊ฐ ํ๋ค์์ต๋๋ค. ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉ ํด ๋ณด๋ ๋ฐํ์ ์ ์ค๋ฅ๋ฅผ ์ด๋ ์ ๋ ์ก์์ฃผ์ด ๋ฏธ๋ฆฌ ์ค๋ฅ๋ฅผ ๋ฐฉ์ง ํ ์ ์์๊ณ , ์์ค ์ฝ๋๋ฅผ ์ฝ์ ๋ ์๋ฏธ๋ฅผ ํ์ ํ๊ธฐ ์ฌ์ ์ต๋๋ค. ๊ท์ฐฎ๋ค๋ ์ ๋ง ๋นผ๋ฉด ์ข์์ด์ใ ใ ใ ...
4. ๋น๋ก๊ทธ์ธ ์ฌ์ฉ์ ๊ถํ ์ ์ด
๋ก๊ทธ์ธ์ ํ์ง ์์ ์ํ๋ก storage์ ์ฒจ๋ถ ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ค๊ณ ํ์ ๊ถํ ์ค๋ฅ๊ฐ ๋ฌ์ต๋๋ค. Rules ์ค์ ์์ read, write๋ ๋ชจ๋ ํ์ฉ์ผ๋ก ๋ฐ๊พธ์ด ํด๊ฒฐํ์ต๋๋ค. ์ด๋ ๊ฒ ๋ช ์ค ์ ๋ ฅ๋ง์ผ๋ก ๊ถํ ์ค์ ์ด ๋๋๋ค๋๊ฒ ๋๋ผ์ ์ต๋๋ค.
5. CSS
CSS ๋๋ฌด ํ๋ค์์ด์....๐ข ๋ฐ์ํ ๋ ์ด์์์ ๊ตฌํํ๋๊ฒ ๋ชฉํ์๋๋ฐ ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋ถ์กฑํด์ ์ฒ์ฒํ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํฉ๋๋ค! ๊ทธ๋๋ flex ๋ฐ์ค๋ก ๋ฐฐ์นํ๋ ์ฌ๋ฏธ๊ฐ ์์์ต๋๋ค!
6. NoSQL(ํ์ด์ง)
ํ์ด์ง ๋ฒํธ ์ ํ ์ ํด๋น ํ์ด์ง ๋ฒ์ ๋ด(4๊ฐ)๋ง ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋๋ฐ, query cursor์ startAt, endAt, limit์ ์ฌ์ฉํด ๋ดค๋๋ฐ, ๋ฐ์ดํฐ๋ก ํํฐ๋ฅผ ๊ฑธ๊ฑฐ๋ ์ ๋ ฌํ๋ ๋๋์ด๋ผ ์๊ฐ๋๋ก ์ ๋์ง ์์์ต๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์ง๋ง ๋ง์ ์์ ๋ฐ์ดํฐ๋ ์๋๋ผ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ํ์ด์ง์ ๊ตฌํํ์ต๋๋ค.
๋ฆฌ์กํธ๋ฅผ ์ฃผ ์ธ์ด๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ๋ณด๊ณ ์ถ์๋๋ฐ, ๋ง์นจ ์ธ์คํ์ ๋๊ผฌ์ค ๊ฐ์ ํด๋ก ์ฝ๋ฉ ์ปจํ ์คํธ๋ฅผ ๋ณด๊ณ ์ฐธ๊ฐํ๊ฒ ๋์์ต๋๋ค. ๋ฆฌ์กํธ ์์์ ๋๊ผฌ์ค ๊ฐ์๋ก ํ์๋๋ฐ, ์ด๋ฒ์ ๋ ๋์์ ๋ฐ๋ค์! ใ ใ ๋ฆฌ์กํธ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๊ธฐ์ ๋๋ฌด ์ข์ ๊ฒฝํ์ด์์ต๋๋ค!
ํฐํธ๊ฐ ๊ฐ๋ ์๋ถ๋ฌ์์ง๋ ๋ฒ๊ทธ๊ฐ ์๋๋ฐ ์์ ํ ๊ณํ์ ๋๋ค!๐ณ ์ถ๊ฐ ๊ธฐ๋ฅ์ผ๋ก๋ ์ฆ๊ฒจ์ฐพ๊ธฐ, ์์ , ์ฝ๋ ๋ฆฌํฉํ ๋ง, ๋ฐ์ํ css์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค!