profile
๊ทธ๋ƒฅํ•˜๊ธฐ.๐Ÿ˜Ž

[react] Auto slide ๋งŒ๋“ค๊ธฐ

\~~์ •๋‹ต์ด ์•„๋‹์ˆ˜ ์žˆ์Œ\~~ํด๋ฆญํ•˜๋ฉด ํƒญ์ฒ˜๋Ÿผ๋ณด ๋ณด์ด๊ณ , ๊ทธ๋ƒฅ ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” autoPlay๊ฐ€ ๋˜๋„๋ก ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค.์•„๋ž˜์˜ ์„ค๋ช…์€ ์ฑ—GPT๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด๋‹ค.setInterval์€ ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ๋งˆ๋‹ค ํŠน์ • ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.clear

5์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[TIL] NEXTJS Favicon๊ณผ Open graph ์ ์šฉ

NEXTJS ์—์„œ Favicon๊ณผ Open graph ์ ์šฉํ•˜๊ธฐ!

2024๋…„ 3์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[TIL]UTC์™€ ํ•œ๊ตญํ‘œ์ค€์‹œ(KST)

๊ตญ์ œ์ ์ธ ํ‘œ์ค€ ์‹œ๊ฐ„์˜ ๊ธฐ์ค€์œผ๋กœ ์“ฐ์ด๋Š” ์‹œ๊ฐ์ผ๋ณธ ํ‘œ์ค€์‹œ์™€ ๊ฐ™์€ ๋™๊ฒฝ 135๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜์—ฌ UTC ๋ณด๋‹ค 9์‹œ๊ฐ„ ๋น ๋ฅธ ํ‘œ์ค€์‹œ(UTC+9)์ด๋‹ค.์„œ๋ฒ„์—์„œ ๋‚ ์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ ๋ฐ›๋Š”๋ฐ String ๊ฐ’์œผ๋กœ ์ „๋‹ฌ ๋ฐ›์•˜๋‹ค.๋‚ ์งœ ๋ฐ์ดํ„ฐ๋Š” UTC๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ  ์žˆ์–ด ํ•œ๊ตญ์‹œ๊ฐ„์œผ๋กœ ๋‹ค์‹œ

2023๋…„ 11์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[react] ์นดํ…Œ๊ณ ๋ฆฌ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ์œ ์ง€

๋‚ด๊ฐ€ ์›ํ–ˆ๋˜ ๊ธฐ๋Šฅ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋”ฐ๋กœ localstorage ๋‚˜ sessionstorage ์— ์ €์žฅ ํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋”๋ผ๋„ ์œ ์ง€ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ฐธ๊ณ  ํ–ˆ๋˜ ๋ ˆํผ๋Ÿฐ์Šค ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ข…๋ฅ˜๋„ ๋‹ค์–‘ํ•˜๊ณ  ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜์˜€์„ ๋•Œ ์œ ์ง€ ๋˜๋ฉฐ localstorage ๋‚˜ sessions

2023๋…„ 10์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[์ฝ”ํ…Œ_์ž…๋ฌธ] ๋ฌธ์ œํ’€์ด2

2์ผ์ฐจ ์ž…๋ฌธ ๋ฌธ์ œ ํ’€์ด์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ‘ผ ๋ฌธ์ œ์™€ ๋‹ค๋ฅธํ’€์ด๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ 1 https://school.programmers.co.kr/learn/courses/30/lessons/120891?language=javascript ๋‚˜์˜ ํ’€์ด ๋‹ค๋ฅธํ’€์ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

2023๋…„ 9์›” 4์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[์ฝ”ํ…Œ_์ž…๋ฌธ] ๋ฌธ์ œํ’€์ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์‚ฌ๊ณ ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด 0๋‹จ๊ณ„๋ถ€ํ„ฐ ํ’€๊ณ  ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.https://school.programmers.co.kr/learn/courses/30/lessons/120831n๋งŒํผ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์„œ ์ง์ˆ˜๋ฅผ์ฐพ์•„์„œ ๋”ํ•ด์ค€๋‹ค.Array(n).fill(

2023๋…„ 8์›” 31์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[react]react-query ์ •๋ฆฌ

React-query๋ž€ ์„œ๋ฒ„ ์ƒํƒœ ๊ฐ€์ ธ์˜ค๊ธฐ ์บ์‹ฑ ๋™๊ธฐํ™” ๋ฐ ์—…๋ฐ์ดํŠธ ๋“ฑ ์„ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ํด๋ผ์ด์–ธํŠธ์ƒํƒœ์™€ ์„œ๋ฒ„์ƒํƒœ๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ๋‹ค. react-query์˜ ์ฃผ์š”๊ธฐ๋Šฅ > 1. ์บ์‹ฑ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์š”์ฒญ์„ ๋‹จ์ผ ์š”์ฒญ์œผ

2023๋…„ 7์›” 28์ผ
ยท
1๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[React]ํ”„๋กœ์ ํŠธ์‹œ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ ์ž‘์„ฑ๋ฒ•

์ปดํฌ๋„ŒํŠธ์™€ ์Šคํƒ€์ผ ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์žˆ๊ฒŒ ์ฝ”๋“œ ์งœ๋Š”๋ฒ•!

2023๋…„ 7์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[react] selectbox UL ๋กœ ๋งŒ๋“ค๊ธฐ

selectbox ๋งŒ๋“ค๊ธฐ

2023๋…„ 6์›” 30์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[react + ts] ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

ํŒŒ์ผ์„ ์„ ํƒํ•˜๋Š” input ์ฐฝ์ด ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๊ณ  ๋’ท ๋ฐฐ๊ฒฝ์„ ํด๋ฆญํ–ˆ์„ ๊ฒฝ์šฐ ๋œจ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

2023๋…„ 6์›” 30์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[react] head ๋ฐ”๊พธ๊ธฐ

react head ๋ณ€๊ฒฝ

2023๋…„ 6์›” 28์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

web Storage API

web storage API๋Š” ๋ถ€๋ผ์šฐ์ €์—์„œ ํ‚ค/๊ฐ’ ์Œ์„ ์ฟ ํ‚ค๋ณด๋‹ค ํ›จ์”ฌ ์ง๊ด€์ ์œผ๋กœ ์ €์žฅํ• ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. (sessionStorage, localStorage)

2023๋…„ 6์›” 28์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[react] img ๊ฒฝ๋กœ ์„ค์ • / ์ƒํ™ฉ์— ๋งž๋Š” className ์ง€์ •

process.env.PUBLIC_URL ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ๊ณณ์— ์žˆ๋˜ /public ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค.public ํด๋”๋ฅผ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด ์ด๋‹ค.

2023๋…„ 6์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Next.js]IMAGE

<img> ๋‚˜ <IMAGE> ํƒœ๊ทธ lazy๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํƒœ๊ทธ ์˜์—ญ์—์„œ ๋ถˆ๋Ÿฌ์™€ ๋„คํฌ์›Œํฌ ๋น„์šฉ์„ ์ค„์ผ์ˆ˜ ์žˆ๋‹ค. (์ด๋ฏธ์ง€๋ฅผ ๋ฏธ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ํ•˜์ง€ ์•Š๋Š”๋‹ค) <IMAGE>ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰ ์ดˆ์ ํ™”๋ฅผ ํ•ด์ค€๋‹ค.quality๋ผ๋Š” ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด์„œ

2023๋…„ 6์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

๋กœ๊ทธ์ธ ๊ตฌํ˜„

getCookieExpiration ํ•จ์ˆ˜๋Š” ์ฟ ํ‚ค์˜ ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ encodeURIComponent ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉํ•œ ํ›„, document.cookie์— ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์„ค์ •๋ฆฌ์ฝ”์ผ์— ์ €์žฅํ•˜๊ธฐ์œ ์ € ์ •๋ณด ์—…๋ฐ์ดํŠธํ•˜๊ธฐ:์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธ ์„ฑ๊ณตํ•˜๋ฉด

2023๋…„ 6์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[ts] props ์—๋Ÿฌ..

LectureItem ์ปดํฌ๋„ŒํŠธ์—์„œ data prop์„ ์ „๋‹ฌ ๋ฐ›๋Š”๋ฐ, LectureDataItem ํƒ€์ž…์— dataํ•„๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ.LectureItem ์ปดํฌ๋„ŒํŠธ์—์„œ data prop์„ lecture์™€ ๊ฐ™์ด LectureDataItemํƒ€์ž…์— ๋งž๊ฒŒ ํ•„๋“œ ์ด๋ฆ„์„

2023๋…„ 4์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

๊ณตํ†ต ์Šคํƒ€์ผ ์†์„ฑ ๊ด€๋ฆฌ

๋งค ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์Šคํƒ€์ผ ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด ์ง„๋‹ค. -> ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์˜ ์ฆ๊ฐ€์Šคํƒ€์ผ ์†์„ฑ๊ฐ’๋“ค์ด ์ค‘๊ตฌ๋‚œ๋ฐฉ์ด๋ผ ์–ด๋–ค ์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€ ์ฝ”๋“œ๋กœ ํ™•์ธ์ด ์–ด๋ ต๋‹ค. -> ํ˜‘์—…์—์„œ์˜ ๋ฌธ์ œ์Šคํƒ€์ผ๋งˆ๋‹ค ๋‹ค๋ฅธ ์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ์–ด์„œ ์žฌ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค -> ๋น„ํšจ์œจ์„ฑ ์ฆ๊ฐ€์ด๋Ÿฐ ๋ฌธ

2023๋…„ 4์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

HTML ์˜ inline ์š”์†Œ์™€ block ์š”์†Œ์˜ ์ฐจ์ด์ ๊ณผ ์˜ˆ์‹œ

HTML ์˜ inline ์š”์†Œ์™€ block ์š”์†Œ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. ์˜ˆ์‹œ๋„ ๋“ค์–ด์ฃผ์„ธ์š”

2023๋…„ 4์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

<li>์š”์†Œ๋Š” ์™œ <ul>์š”์†Œ์˜ ์ž์‹ ์š”์†Œ์—ฌ์•ผ๋งŒ ํ•˜๋‚˜์š”?

ul์š”์†Œ ์—†์ด ์‚ฌ์šฉ ํ•˜๊ฒŒ ๋˜๋ฉด ํ™”๋ฉด์ƒ ๋ฌธ์ž๋Š” ์—†์ง€๋งŒ ์‹œ๋งจํ‹ฑ ๊ตฌ์กฐ๋ฅผ ์ง€ํ‚ด์œผ๋กœ์จ ํ™ˆํŽ˜์ด์ง€ ํ‘œ์ค€๊ธฐ์ค€์„ ์ง€ํ‚ค๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ˜‘์—…์„ ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ...

2023๋…„ 4์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Redux ์ƒํƒœ๊ด€๋ฆฌ์˜ ์ฃผ์š” ๊ฐœ๋…๋“ค๊ณผ ์—ฐ๊ฒฐ ๊ด€๊ณ„

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฌ๊ณ ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค

2023๋…„ 4์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท