andrewlee
@tlagksshl46574
Reviews Written
7
Average Rating
5.0
Posts
Q&A
๋์์ฃผ์ธ์...
statics s๊ฐ ์๋ฌธ์๋ค์ ๋ฆ์ด์ ์ฃ์กํด์ฉ~
- 2
- 7
- 795
Q&A
์ง๋ฌธ์ ๋๋ค.
์์ธํ๊ณ ์น์ ํ ๋ต๋ณ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์กฐ๊ธ์ฉ ์ดํด๊ฐ ๋์ด ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. '๋ฅ์คํธ๋ ์ฒซ ํ๋ฉด๋ง SSR(ํ๋ก ํธ ์๋ฒ ๊ฐ์ )์ด๊ณ ๊ทธ ๋ค์๋ถํฐ๋ CSR์ด๋ผ๊ณ ๋ณด์๋ฉด(๋ธ๋ผ์ฐ์ -๋ฐฑ์๋ ๊ฐ ํต์ ) ๋ฉ๋๋ค.' ๋ผ๊ณ ๋ง์ํ์ ์ ๊ทธ ๋ถ๋ถ์ ๋ํ ์๋ฌธ์ ๋ ์ฌ์ญค๋ณด๊ณ ์ถ์ต๋๋ค. 1. ์ฒซ ํ๋ฉด๋ง ํ๋ก ํธ ์๋ฒ๊ฐ ๊ฐ์ ํ๊ณ ๊ทธ ํ์ ์ฒญํฌ์ ๋๋ง ์ฃผ๋ ๊ฒ์ด ์ญํ ์ ์ ๋ถ๋ผ๊ณ ํ์ จ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฒซ ํ๋ฉด ์ดํ์ ๋ฒก์๋ํ๊ณ ๋ง ํต์ ์ ํ๋ค๋ ๊ฒ์ธ๋ฐ ์ฝ๋ ์คํ๋ฆฌํ ์ ๋ํ ์๊ตฌ๋ ์ด๋ป๊ฒ ํ๋ก ํธ ์๋ ์๋ฒ๊ฐ ์ ์๊ฐ ์์ฃ ? ์์ ํ ๋ค๋ฅธ ํ์ด์ง๋ก ๋์ด๊ฐ ๋ ๋ ๋ค์ ๊ทธ๋๋ง ํ๋ก ํธ ์๋ ์๋ฒ์ ์ ์ํ์ฌ ๊ด๋ จ๋ ์ฝ๋ ์คํ๋ฆฌํ ๋ js๋ฅผ ์ป์ด์ค๋ ๊ฑด๊ฐ์? 2. '๋ธ๋ผ์ฐ์ ์์ Link ํ๊ทธ๋ฅผ ๋๋ฌ๋ ํ๋ฐํธ์๋ฒ๋ก ์์ฒญ์ด ๊ฐ๋๊ฒ ์๋๋ผ csr๋ก ๊ณ์ ๋์ํ๋ ๊ฒ์ ๋๋ค.' ์ ๋ํ ์ง๋ฌธ์ ๋๋ค. Front\server.js ์ ์๋ ๋ชจ๋ ์ฝ๋๋ค์ ํ๋ก ํธ ์๋ ์๋ฒ์์์ ๋์๊ฐ๋ ์ฝ๋๋๊น ์ฒซ ํ๋ฉด ๋ก๋ฉ ํ ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญ์ ํ์ง ์๋ ๊ฒ์ด๋ ์ฒซ ํ๋ฉด ๋ก๋ฉ ํ ๋ฌด์ธ๋ชจํ ์ฝ๋๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค. server.get('/hashtag/:tag', (req, res) => { return app.render(req, res, '/hashtag', { tag: req.params.tag }); }); server.get('/user/:id', (req, res) => { return app.render(req, res, '/user', { id: req.params.id }); }); server.get('*', (req, res) => { return handle(req, res); }); ์์ ๊ฐ์ ์ฝ๋๋ค์ ํ๋ก ํธ ์๋ ์๋ฒ์ ์ ์ํด์ผ๋ง ๋ฐ์ํ๋ ๊ธฐ๋ฅ๋ค์ผ ํ ๋ฐ ๋ธ๋ผ์ฐ์ ๋ ์ด์งํผ ์ฒซ ํ๋ฉด๋ง ๋ฐ์ ํ์ ๋ง์ํ์ ๋๋ก ๋ฒก์๋ํ๊ณ ๋ง ๋ํ๋ฅผ ํ ํ ๋๊น์. ์ ๋ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ '์ ์๋ฒ๋ผ๋ ๊ฒ์ get๊ณผ post์ ๊ฐ์ api ํธ์ถ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ๋ฐ๊ณ ์ด์ ์ ์ ํ ๋ฐ์ดํฐ๋ก์จ ํ๋ตํ๋ ๊ฒ์ด๊ตฌ๋' ๋ผ ์๊ฐํ๋๋ฐ ๋ธ๋ผ์ฐ์ ์์ ํธ์ถ๋ ์ํ๊ณ ๊ด์ฌ๋ ์๋ค๊ณ ํ๋ ์ ์ฝ๋์ ์กด์ฌ ์๋ฏธ๊ฐ ๋ญ์ง ์ดํด๊ฐ ์๊ฐ๋ค์.. ์ ์ฝ๋๋ ์ด๊ธฐ ssrํ ๋์๋ง ์ฌ์ฉํ๋ ์ฝ๋์ธ๊ฐ์? ๋์ ๋ผ์ฐํ ์ ๋๋๋ค๋ ์ค๋ช ์ผ๋ก๋ ์ ํํ ์ดํด๊ฐ ์๊ฐ๋ค์.. ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 5
- 639
Q&A
์ง๋ฌธ์ ๋๋ค.
๋ต๋ณ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ต๋ณ์ ์ ๋ถ๋ถ์ ์ดํด๊ฐ ๊ฐ์ผ๋ ๋ณธ ํ๋ก์ ํธ์์ Next๊ฐ ์๋๋๋ ์๋ฆฌ์ ๋ํด์๋ ์ ์ฐจ์ ๋ํด์ ์ดํด๊ฐ ๊ฐ์ง ์์ต๋๋ค.. ์น ํ์ด์ง ์ด๊ธฐ ์ ์ ํ, ํ๊ธธ๋์ด๋ผ๋ ํด์ํ๊ทธ๋ฅผ ํด๋ฆญํด์ ํด์ํ๊ทธ๋ฅผ ๊ฐ์ง ๊ฒ์๊ธ๋ค์ ๋ชจ์กฐ๋ฆฌ ๋ถ๋ฌ์ค๋ ํ์ด์ง๋ฅผ ๋ ๋๋งํ๊ธฐ๊น์ง ๊ณผ์ ์ ๋ง๋ก ์ค๋ช ํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ============================================= ํ์ฌ ํ๋ก ํธ ์๋ ์๋ฒ(express with next) , ๋ฒก์๋ ์๋ฒ( express ) ๊ฐ ๋์๊ฐ๊ณ ์์ (์น ํ์ด์ง ์ด๊ธฐ ์ ์ ) 1. ์น ๋ธ๋ผ์ฐ์ ๋ URL๋ก์จ ํ๋ก ํธ ์๋ ์๋ฒ์ ์์ฒญ 2. ํ๋ก ํธ ์๋ ์๋ฒ๋ ํด๋น ์์ฒญ์ ๋ง๋ ๋ฐ์ดํฐ๊น์ง ๋ฒก ์๋์์ ๋ค ๊ธ์ด ์จ ํ์, ์์ฑ๋ ํํ์ HTML ๋ฌธ์์ด๊ณผ ํด๋น ํ๋ ํ๋ฉด์ ๋ํ ์ฝ๋ ์คํ๋ฆฌํ ๋ JS๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ ๋ฌ. 3. ๋ธ๋ผ์ฐ์ ๋ SSR๋ HTML ๋ฌธ์์ด๊ณผ JS๋ฅผ ๋ค์ด๋ก๋ ๋ฐ๊ณ , HTML์ ๋ ๋๋ง ํ์ฌ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ( ์ฌ๊ธฐ๊น์ง๊ฐ ์น ํ์ด์ง ์ด๊ธฐ ์ ์ ๋, ์ด์ ๋ถํด CSR์ ์ฉ? ) 4. ๊ทธ ํ ์ํ๋ ํด์ํ๊ทธ๋ฅผ ํด๋ฆญ 5. ๋ธ๋ผ์ฐ์ ๋ user/:id/posts ์ ๊ฐ์ ํํ๋ฅผ ๋ฐฑ ์๋ ์๋ฒ์ ์์ฒญํด์ ๋ฐ์์ค๊ธฐ 5๋ฒ์์ ์ดํด๊ฐ ์๊ฐ๋๋ค. next(๋ฒ์ ผ 8๊ธฐ์ค)๊ฐ ๋์ ๋ผ์ฐํ ์ด ์๋์ express์์๋ค ๋๋ ธ๋ค๊ณ ํ๋๋ฐ, ๊ทธ๋์ ์๋ ์ฝ๋์ ๊ฐ์ ๊ฒ์ ์ด ๊ฒ ์ด์ฃ . server.get('/hashtag/:tag', (req, res) => { return app.render(req, res, '/hashtag', { tag: req.params.tag }); }); ๊ทธ๋ฐ๋ฐ ๊ฐ์ ์ค๊ฐ์ ํ๋ก ํธ์ ์์ฒญ์ ๋ณด๋ด๋ฉด app.render๋๋ฌธ์ ๋ฆฌ๋ก๋ฉ์ด ๋๊ธฐ๋๋ฌธ์ ์ ์ฝ๋๋ก ์์ฒญ์ ๋ณด๋ด์ง ์๋๋ค๊ณ ํ๊ณ Linkํ๊ทธ์ ์์ฑ์ ์์ ํ์ จ์ต๋๋ค. ์ด๊ฒ ๋ฌด์จ ์๋ฆฌ์ธ์ง ์ดํด๊ฐ ์๊ฐ๋๋ค. ๋์ ๋ผ์ฐํ ์ ํ๊ธฐ์ํด์ ๊ทธ ํต๋ก๋ก์จ ์ด ๋ถ๋ถ์ด ์กด์ฌํ๋ ๊ฒ ์๋๊ฐ์..? ์ ๋ ๋น์ฐํ ๋ธ๋ผ์ฐ์ ์์ user/:id/posts๋ฅผ ์์ฒญํ๋ฉด ๋น์ฐํ ์ด ๊ณณ์ ๊ฑฐ์ณ์ผ ํ๋ค๊ณ ์๊ฐ์ ํฉ๋๋ค. ์๋ ๊ทธ๋ฅ NEXT์ ์ ์ฒด์ ์ธ ์์๊ฐ ์ดํด๊ฐ ์๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.SSR CSR ๊ฐ๊ฐ์ ์ดํด๊ฐ ๊ฐ๋ ค๋๋ฐ ํ์ด๋ธ๋ฆฌ๋์ ๋์ ๋ผ์ฐํ ์ด๋ฐ ์ฃผ์ ๋ ์์ด๋ ๊ธฐ์กด์ ์ง์์ด๋ ์ฐ๋์ด ์๋๋ ๊ฒ ๊ฐ๋ค์.. ์กฐ๊ธ ๋ง ๋ ์ค๋ช ์ ํด์ฃผ์ค ์ ์์ ๊น์? ๊ฐ์ฌํฉ๋๋ค.
- 0
- 5
- 639
Q&A
๋์์ฃผ์ธ์...
userSchema.methods.findByToken= function(token,cb){ ๊ฐ ์๋๋ผ userSchema.Static.findByToken= function(token,cb){ ์ด์๋ ๊ทธ๋ซ์๊ฑฐ์์
- 2
- 7
- 795
Q&A
_app.js
์ ์๋ฒ๋ฅผ ๊ป๋ค ์ผ์ผํ๋ ๊ฑธ๊น์? ๋ฅผ ์๊ฐํด๋ณด๋ ๊ธฐ์กด์ ์๋ ๋ค๋ฅธ ํ์ผ์ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ด ์๋๊น ์๊ฐ์ ํ๊ณ ๋์ด๊ฐ๋๋ค. ์ด๋ฏธ ๋ง๋ค์ด์ง ํ์ผ์ ๋ด์ฉ์ ์ต์ ํํด์ฃผ๋ ๊ฒ์ ๊ฐ๋ฅํ์ง๋ง, ์๋ ๊ฑธ ๋ง๋ค์ด์ ์ต์ ํ ์์ผ์ค ์ ๋ ์์ผ๋๊น์
- 0
- 7
- 367
Q&A
์ง๋ฌธ์ ๋๋ค.
Accounts ๋ ์ ์ผ ์์ ๊ฒ ( not default )์ผ๋ก ํ๊ณ my apps & credentials ์ asdasd์ ๋๋ค. ์กด์๋ ์ฝ๋๋ก ๋๋ ค๋ ์ฌ์ ํ ๋๊ฐ์ ํ๋ฉด์ด ๋จ๋ค์ ใ (์ฌ์ง) (์ฌ์ง)
- 1
- 4
- 298
Q&A
์ง๋ฌธ์ ๋๋ค.
์์ธํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ์ ๋ฆฌํ์๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ํ๋์ JSํ์ผ์ธ ์ปดํฌ๋ํธ๊ฐ ๋์ํ ๋๋ useeffect๊ฐ ๋จผ์ ์ผ์ง ํ, ๋ ๋๋ง์ด ๋๋๋ฐ ์ด ๋ useeffect ๋ด์ ๋ก์ง์์์ ์ค๋น๋์ง ๋ชปํ ์น๊ตฌ๋ค์ ์ผ๋จ์ ๊ทธ๋ฅ ๋์ด๊ฐ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฐ๋ค์ด ์ค๋น๊ฐ ๋๋ค๋ฉด ( [prop.user.userData] ๊ฐ ์ ๊ฐ์ ์ฐพ๋๋ค๋ฉด ) ๋ค์ ํ๋ฒ ๋ฆฌ ๋ ๋๋ง์ด ๋์ ์ํ๋ ๊ฐ์ ์ฐพ๊ฒ๋๋ค. ์ ๊ฐ ์ดํดํ ๊ฒ์ด ๋ง๋์ง์? ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 245
Q&A
์ง๋ฌธ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค ^^
- 0
- 2
- 328
Q&A
์ ๊ธํด์!
๊ฐ์ ๋ท ๋ถ๋ถ๋ค์ผ์๋ฉด ๋ชจ๋ธ์ ๋๋ฅ ๋นผ๋จน์ ๊ฑฐ๋ ๊ท์ฝ๊ฒ ๊ณ ์น์ญ๋๋ค ใ ใ ใ ๊ทธ๋ฆฌ๊ณ ์ ๋ ๊ทธ ์ฝ๋๊ฐ ์ด์ํ๋ค๊ณ ์๊ฐํด์ ์ข ๊ณ ๋ฏผ ํด๋ดค๋๋ฐ button ์ onclick์ด ์์ด๋ ๋๋ค๊ณ ์๊ฐ์ ํด์. ์ด์งํผ formํ๊ทธ์์ ์ ์ถ์ ํ๋๊น์ ์ ๋ ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํด๋ ์ ์ถ์ด ์ ์ ๋์ํ์ต๋๋ค. button type="submit" > ํ์ธ button> ์๋ง ๋ค๋ฅธ ๋ถ๋ถ์์ ์ค๋ฅ๊ฐ ๋๋ ๊ฒ ๊ฐ์๋ฐ.. .git์ผ๋ก ์ฌ๋ ค์ฃผ์๋ฉด ๋ต๋ณํด์ค์์์๋ฏํฉ๋๋ค
- 0
- 4
- 313
Q&A
event.currentTarget.value
https://webisfree.com/2017-09-06/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-event-target-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EC%99%80-currenttarget-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80 ์์ ๊ธ ๋ณด์๋ฉด ์ ์ค๋ช ์ด ๋์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. target์ ์ฐ๋ ๊ฒฝ์ฐ์๋ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ์ตํ์๋ฅผ ๋ฐํํ๋ ํ์์ด๋ค๋ณด๋ Onclick์ ์์ด ์ ์ฒด ํ๊ทธ๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ์ด ์กํ ๊ฐ๋ฅ์ฑ์ด ์์ด์ ๊ท์ฐฎ์ ์ผ์ด ์๊ธธ์๋ ์์ ๊ฒ ๊ฐ๊ตฐ์. ๊ธ๋ฐ 2๊ฐ์ง ์ค ๋ญ์จ๋ ์ฝ๋๋ง ๋ช ํํ ์์ฑํ๋ค๋ฉด ๊ธฐ๋ฅ์ ๋์ผํ๋ค๊ณ ์๊ฐํด์ฉ
- 1
- 1
- 2.1K




