MPA,SPA ๋ถ€ํ„ฐ CSR, SSR ๊นŒ์ง€
๐Ÿ“” Studying/Web 2022. 7. 5. 21:07

๋“ค์–ด๊ฐ€๋ฉฐ ์ƒํƒœ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ๋ฅผ ๊ฒฐ์‹ฌ!.. ์–ด๋””์„œ๋ถ€ํ„ฐ ์ด๋ฏธ ๋จผ์ € ์ž‘์„ฑ๋œ ๋งŽ์€ ๊ธ€๋“ค์„ ๋‘˜๋Ÿฌ๋ณด๋‹ค ๋ณด๋‹ˆ ์Œ.. ๐Ÿคจ ๋จผ์ € ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ์ด๋ก ์ด..... ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ง€์‹์ด ์•„์ฃผ ์–•์€ ์ƒํƒœ์ธ ๊ฑธ ๊นจ๋‹ฌ์•˜๋‹ค. ์ง€๊ธˆ์˜ ๋‚˜.. ์–ด๋ ดํ’‹์ด ๋“ค์–ด๋ณธ CSR๊ณผ SSR์˜ ์ด๋ฆ„๋งŒ ์•Œ๊ณ  ์žˆ์„ ๋ฟ.. ๐Ÿ˜“ ๋ชจ๋ฅด๋ฉด ์ฐพ์•„๋ณด๋ฉด ๋˜์ง€!! ์ข‹์•„ ๊ทธ๋Ÿผ ์–ด๋””๋ถ€ํ„ฐ ์•Œ์•„๋ณผ๊นŒ~ ํ•˜๊ณ  ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋‹ค ๋ณด๋‹ˆ ๋จผ์ € ์—ด์‹ฌํžˆ ์ฐพ๊ณ  ์ฝ๊ณ  ๋ณด๊ฒŒ ๋œ ์ง€์ ์ด SPA๋ถ€ํ„ฐ CSR, SSR์ด๋ผ์„œ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. SPA๋Š” MPA์™€ ๋น„๊ต๋˜๋Š” ๋ฐฉ์‹์ด๋ผ ํ•จ๊ป˜ ์ž‘์„ฑ! ๐ŸฅŠ MPA vs SPA MPA (Multi Page Application) ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜. ์ „ํ†ต์ ์ธ ์›น ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ๋ฐฉ์‹์ด๋‹ค. MPA์˜ ๋ Œ๋”๋ง ๋ฐฉ์‹ ์ธํ„ฐ๋ž™์…˜์ด ๋ฐœ์ƒํ•œ๋‹ค. (ํด๋ฆญ ๊ฐ™์€)..

๊ฐ€์œ„๋ฐ”์œ„๋ณด ๋ฏธ๋‹ˆ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ
๐Ÿ“˜ Retrospect/Personal Projects 2022. 6. 27. 17:34

ํ”„๋กœ์ ํŠธ๋ฅผ ์–ผ์ถ” ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„๊ณผ ์ˆ˜์ •์ด ์–ด๋Š์ •๋„ ๋๋‚œ ์ƒํƒœ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ผ์ฐจ์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ๋Œ์•„๋ณด๋Š” ๊ธ€์„ ์จ๋ณผ๊นŒ ํ•œ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ํ›„๋”ฑ ๋งŒ๋“ค์–ด๋ณด์ž! ํ•˜๋Š” ์ƒ๊ฐ์—์„œ ์‹œ์ž‘ํ•ด์„œ, 5์ผ ์ด๋‚ด๋กœ ์›ฌ๋งŒํ•œ ์ž‘์—…์„ ๋‹ค ๋งˆ๋ฌด๋ฆฌ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์ฒ˜์Œ์—๋Š” ๋” ๊ฐ€๋ณ๊ฒŒ ๋งŒ๋“ค์–ด๋ณผ ์ƒ๊ฐ์ด์—ˆ์ง€๋งŒ ๊ธฐํš ๋‹จ๊ณ„์—์„œ๋„ ์•ฝ๊ฐ„์˜ ์š•์‹ฌ์ด ์ƒ๊ฒจ์„œ ์ง์ ‘ ๊ทธ๋ฆผ๋„ ๊ทธ๋ ค๋ณด๊ณ , ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ฒ˜์Œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐํšํ–ˆ๋˜ ๊ฒƒ ๋ณด๋‹ค ์กฐ๊ธˆ์”ฉ ๋” ์–น์–ด์ง„ ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. ๐Ÿ˜‡ ๊ธฐํš ์ด๋ฏธ์ง€ ์šฐ์„  ์ด๋ฏธ์ง€๋“ค์€ ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ์ฐพ๊ธฐ ์–ด๋ ค์šฐ๋ฉด ๋‚ด๊ฐ€ ๋งŒ๋“ค์ง€ ๋ญ.. ์‹ถ์–ด์„œ ํŠธ๋ ˆ์ด์‹ฑํ•ด์„œ ๊ทธ๋ฆฐ ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด. ๊ฒŒ์ž„์ด๋‹ค๋ณด๋‹ˆ ์ข€ ํ†ตํ†ต ํŠ€์—ˆ์œผ๋ฉด ํ•ด์„œ ๋„ค์˜จ์ปฌ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค. ๊ตฌ์ƒ ์ฒ˜์Œ ๊ตฌ์ƒํ–ˆ๋˜ ๊ฒƒ. ๊ฐ„๋‹จ ๊ทธ ์ž์ฒด!.. ๋žœ๋ค์œผ๋กœ ๊ณ„์† ๋Œ์•„๊ฐ€๋Š” ์ด๋ฏธ์ง€์—์„œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ŠนํŒจ๊ฐ€ ํŒ๊ฐ€๋ฆ„ ..

[JavaScript+SCSS] ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž… ํ™•์ธ, ์‚ฌํŒŒ๋ฆฌ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” SCSS
๐Ÿ“˜ Retrospect/Personal Projects 2022. 6. 27. 16:09

๋“ค์–ด๊ฐ€๋ฉฐ ์ง„ํ–‰ํ–ˆ๋˜ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ์ธ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์—์„œ ๊ฒŒ์ž„์‹œ์ž‘ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๋ฉด 3์ดˆ ์นด์šดํŠธ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‚ฌํŒŒ๋ฆฌ ๋ธŒ๋ผ์šฐ์ €์™€ iOS ๋””๋ฐ”์ด์Šค๋“ค์—์„œ๋Š” Audio.play ํ•จ์ˆ˜๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๐Ÿ˜ฑ ํฌ๋กฌ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋ธŒ๋ผ์šฐ์ € ์ •์ฑ…์ƒ ์‚ฌ์šด๋“œ ์ž๋™์žฌ์ƒ์ด ๋ฐ”๋กœ ๋˜์ง€ ์•Š๋„๋ก ๋ง‰ํ˜€์žˆ๋Š” ๊ฒƒ!... ๊ทธ๋ ‡๋‹ค๋ฉด ์ฒœ์ƒ ์ธํŠธ๋กœํŽ˜์ด์ง€์—์„œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ฐฐ๊ฒฝ์Œ์•…์ด ๋‚˜์˜ค๋„๋ก ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ, ์—ฌ๊ธฐ์„œ๋„ ๋ฌด์–ธ๊ฐ€ ๋ˆŒ๋ €์„ ๋•Œ ๊ฒŒ์ž„์ด ์‹œ์ž‘๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•˜๋Š”๋ฐ... (setTimout ๋ฉ”์„œ๋“œ๋„ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋‹ค.) ์‚ฌ์šฉ์„ฑ ๋ถ€๋ถ„์—์„œ๋Š” ์กฐ๊ธˆ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, iOS์™€ ์‚ฌํŒŒ๋ฆฌ ์ „์šฉ์œผ๋กœ ๊ฒŒ์ž„ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ๋ ˆ์ด์–ด๋ฅผ ๊น”์•„์ฃผ๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿผ ๋จผ์ € ํ˜„์žฌ ์ ‘์†ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ์•„๋ณด๋Š” ๊ฒƒ์ด ์šฐ์„ ! navig..

[JavaScript] ๋‹ค๋ฅธ ์š”์†Œ ํด๋ž˜์Šค ๋ชจ๋‘ ์ง€์šฐ๊ธฐ
๐Ÿ“” Studying/JavaScript 2022. 6. 22. 11:11

์„ ํƒ ์š”์†Œ ์™ธ์˜ ํ˜•์ œ์š”์†Œ ํด๋ž˜์Šค ๋ชจ๋‘ ์ง€์šฐ๊ธฐ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ ํ˜•์ œ์š”์†Œ๊ฐ€ ๋งŽ์€ ์ƒํƒœ์—์„œ ํŠน์ • ์š”์†Œ๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ๋งŒ is-active ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์š”์†Œ๋“ค์€ is-active ํด๋ž˜์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ง€์šธ ๊ฒƒ์ธ๊ฐ€...๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์—์„œ ๋ณด๊ณ  ์ฐธ๊ณ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ์ „์— ์ œ์ด์ฟผ๋ฆฌ๋กœ๋Š” ํ•œ์ค„๋กœ ์‰ฝ๊ฒŒ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฐ”๋‹๋ผ JS๋กœ๋งŒ ํ•˜๋ ค๋‹ˆ๊นŒ ์•„์ง ์˜ ์‰ฝ์ง€ ์•Š์€ ๊ฒƒ!!... ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ˜„์žฌ play-button ์ด๋ผ๋Š” ๋™์ผํ•œ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง„ ๋ฒ„ํŠผ์ด 3๊ฐœ ์žˆ๊ณ , ํด๋ฆญํ•œ ์š”์†Œ์—๋งŒ is-active๋ฅผ ์ถ”๊ฐ€, ๋‚˜๋จธ์ง€๋Š” ์žˆ์—ˆ๋”๋ผ๋„ ์—†์• ์ฃผ๋Š” ๊ฒƒ์„ ์›ํ–ˆ๋‹ค. ํ•ด๊ฒฐ function handlePlayerImage(e) { e.preventDefault(); const buttonGroup = this.pa..

JavaScript 30 Challeneges - Console Tricks
๐Ÿ“” Studying/JavaScript 2022. 6. 10. 21:37

console. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, ์ฝ˜์†”์„ ํ†ตํ•ด์„œ ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ์ผ์ด ๋งŽ๋‹ค. ์•„๋งˆ ์ฝ˜์†”์—์„œ ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” console.log ์ผ ๊ฒƒ์ด๋‹ค! ๊ทธ ์™ธ ํ˜„์žฌ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ€๋” ๊ฐ์ฒด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” console.dir ์™€ ๋กœ๊ทธ๋ฅผ ๋‹ค ์ง€์›Œ๋ฒ„๋ฆฌ๋Š” console.clear() ์ •๋„?.. ๋‚ด๊ฐ€ ์–•๊ฒŒ ์•Œ๊ณ  ์žˆ์—ˆ๋˜ console ๊ฐ์ฒด์˜ ๋ช‡๋ช‡ ๋ฉ”์„œ๋“œ๋“ค ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋“ค์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ด๋ฒˆ ์ฑŒ๋ฆฐ์ง€๋ฅผ ํ†ตํ•ด ์•Œ๊ฒŒ๋˜์–ด ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. console.log ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”, ๋กœ๊ทธ๋ฅผ ์ฐ๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๊ณ , C์–ธ์–ด์˜ printf์ฒ˜๋Ÿผ ์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ ์น˜ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค! ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์—๊ฒ ๋” ์ต์ˆ™ํ•œ ํ…œํ”Œ๋ฆฟ ์ŠคํŠธ๋ง ${..

[JavaScript] classList ํ”„๋กœํผํ‹ฐ
๐Ÿ“” Studying/JavaScript 2022. 6. 6. 17:47

classList DOM์„ ์กฐ์ž‘ํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ, class ๋ช…์„ ๋ฐ”๊ฟ€ ๋•Œ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” classList ํ”„๋กœํผํ‹ฐ. ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค classList ํ”„๋กœํผํ‹ฐ ์ค‘ ๊ทนํžˆ ์ผ๋ถ€์˜ ๋ฉ”์„œ๋“œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๋” ๊น”๋”ํ•˜๊ฒŒ ์งค ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋„ ์žˆ๊ณ  ํ•ด์„œ, ์ „์ฒด์ ์œผ๋กœ ์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ•œ๋ฒˆ ํ›‘์–ด๋ณด๋ ค ํ•œ๋‹ค. add, remove ํ‰์†Œ ์‚ฌ์šฉํ–ˆ๋˜ ์ผ๋ถ€์˜ ๋ฉ”์„œ๋“œ.. ๊ฐ€์žฅ ๊ฐ„ํŽธํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ๊ธฐ์–ต์— ์˜ค๋ž˜ ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์ธ๊ฐ€ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค. ๐Ÿค” ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๋Œ€๋กœ, ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜๋„ ์žˆ๋‹ค. let li = document.createElement('li'); li.class..

ํ•œ ๋‹ฌ ํšŒ๊ณ  : 5์›” ํšŒ๊ณ 
๐Ÿ“˜ Retrospect/๐Ÿ’ญ ํšŒ๊ณ  2022. 6. 1. 23:35

5์›” ํšŒ๊ณ  5์›”์˜ ๋งˆ์ง€๋ง‰ ์ฃผ ํšŒ๊ณ ๋Š” ์ด๊ฒƒ์œผ๋กœ ๋Œ€์‹ ํ•˜๋ฉฐ ์ž‘์„ฑํ•ด๋ณด๋Š” ํšŒ๊ณ . ์ƒ๊ฐ๋ณด๋‹ค ๋นจ๋ฆฌ ์ง€๋‚˜๊ฐ”๊ณ , ํ˜„์žฌ ์ง„ํ–‰ํ˜•์ด์ง€๋งŒ ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ–ˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ ์ผ๋“ค์ด ์žˆ์—ˆ๋˜ 5์›”. 5์›” ํ•œ ๋‹ฌ์„ ๋˜๋Œ์•„๋ณด๋ฉฐ ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ์ •๋ฆฌํ•ด๋ณด๊ณ , ๋‚˜๋ฅผ ๊ฒฉ๋ คํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ ค ํ•œ๋‹ค. ๐Ÿ™Œ 5์›”์˜ ๊ณต๋ถ€ leetCode ํ’€์–ด๋ณด๊ธฐ ๋ธ”๋กœ๊ทธ์— ํฌ์ŠคํŒ…ํ•œ๋‹ค๊ณ  ํ•ด๋†“๊ณ  ์ž๊พธ ๋ฏธ๋ฃจ๊ณ  ์žˆ๋Š” ~ ์•„์ง ๋ชปํ‘ธ๋Š” ๋ฌธ์ œ๋“ค๋„ ๋งŽ์ง€๋งŒ (์ฝ”ํ…Œ๋ฅผ ์ฒ˜์Œ ํ’€์–ด๋ณด๋Š” ๊ฒƒ์ด๋‹ˆ ๋‹น์—ฐํ•˜๋‹ค) ์ปดํ“จํŒ…์ ์ธ ์‚ฌ๊ณ  ๋Šฅ๋ ฅ์„ ํ‚ค์šฐ๋Š” ๋ฐ๋Š” ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค. ์—ฌ๋Ÿฌ ํ’€์ด ๋ฐฉ์‹์„ ๋ณด๋ฉฐ ๋‹ค๋ฅธ ๋ฐฉ์‹์˜ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์˜๋ฏธ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๊ณ . ํ•˜์ง€๋งŒ ๋ฐฉํ†ต๋Œ€์—์„œ ์Šต๋“ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก  ์ง€์‹์ด ์–•๊ฒŒ ์ž๋ฆฌํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€์ ์ธ ๊ฐ•์˜๊ฐ€ ํ•„์š”ํ•œ๋“ฏ ํ•˜๋‹ค. ๋“œ๋ฆผ์ฝ”๋”ฉ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋งˆ์Šคํ„ฐ๋ฆฌ ์™„๊ฐ• ์—˜๋ฆฌ์Œค ๊ฐ•์˜๋Š” ์œ ํŠœ๋ธŒ๋กœ๋„ ๋งŽ..

JavaScript 30 Days Challenge - Clock
๐Ÿ“” Studying/JavaScript 2022. 5. 26. 22:42

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋งŒ์œผ๋กœ ์•„๋‚ ๋กœ๊ทธ ์‹œ๊ณ„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋จผ์ € ์•„๋‚ ๋กœ๊ทธ ์‹œ๊ณ„๋ฅผ ๋งŒ๋“  ๋’ค ๋”ฐ๋กœ ๋””์ง€ํ„ธ ์‹œ๊ณ„๋„ ์ถ”๊ฐ€ํ•ด์คฌ๋‹ค. ์•Œ๊ฒŒ ๋œ ์  CSS์˜ ์†์„ฑ ์ค‘ transform-origin ์œผ๋กœ transform์˜ ๊ธฐ์ค€์ ์„ ์žก์„ ์ˆ˜ ์žˆ๋‹ค. ์นจ์„ ์กฐ์ ˆํ•˜๋Š” ๊ฐ๋„๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€. ์ฒซ ๋ฒˆ์งธ ์ด์Šˆ ์ฒ˜์Œ์— 12์‹œ ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋“  ์นจ์„ ๊ณ ์ •์‹œํ‚ค๊ธฐ ์œ„ํ•ด rotate๋ฅผ 90๋„๋กœ ์„ค์ •ํ•ด์ฃผ์—ˆ๋”๋‹ˆ, 12์‹œ ๋ฐฉํ–ฅ์— ๋„์ฐฉํ•  ๋•Œ ๋งˆ๋‹ค transform์ด ์š”๋ž€ํ•˜๊ฒŒ ์›€์ง์˜€๋‹ค๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. (๋„ˆ๋ฌด ๋นจ๋ผ์„œ ์บก์ณ ๋ถˆ๊ฐ€๋Šฅ..) ์ด๊ฑด ์•„๋งˆ 444๋„ ๊นŒ์ง€ ๋Š˜์–ด๋‚ฌ๋‹ค๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ 90๋„๋กœ ๋ณ€๊ฒฝ๋˜๋ฉฐ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ์นจ์ด 12์‹œ ๋ฐฉํ–ฅ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ transition ์†๋„๋ฅผ ์ž ์‹œ ์กฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ..

[JavaScript] leetCode : Single Number
๐Ÿ““ Algorithm/LeetCode 2022. 5. 26. 16:09

๋ฌธ์ œ Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. ์ •์ˆ˜์˜ ๋ฐฐ์—ด์—์„œ ๋™์ผํ•˜๊ฒŒ ์ง์ง€์–ด์ง€์ง€ ์•Š๋Š” ํ•˜๋‚˜์˜ ์ˆ˜๋ฅผ ์ฐพ์•„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ. ํ’€์ด let result = nums[0]; for (let i = 1; i < nums.length; i++) { result = result ^ nums[i]; } return result; ๊ฐ„๋‹จํ•ด๋ณด์ด๋ฉด์„œ๋„ ๋ฌ˜ํ•˜๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์•„์„œ ๊ฒฐ๊ตญ ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค..

[git] git rebase ์ด์ „์˜ ํŠน์ • ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ
๐Ÿ“” Studying/Git 2022. 5. 18. 18:00

์ด์ „ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•˜๋ ค๋‹ค๊ฐ€ ์ƒํ™ฉ์ด ์ข€ ๊ผฌ์˜€๋‹ค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ค์‹œ ๋ณต๊ตฌ... (๋ฒŒ์จ ๋‘ ๋ฒˆ์งธ ๐Ÿ˜‡) ํ•˜์˜€์œผ๋‚˜ ๊ฒฐ๋ก ์ ์œผ๋กœ ์ˆ˜์ •์€ ์‹คํŒจํ•ด์„œ !.... git rebase๋ฅผ ์ด์šฉํ•ด ํŠน์ • ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ˜„์žฌ์˜ ๊ฒฝ์šฐ๋Š” ์ด๋ฏธ ์˜คํƒ€ ์ˆ˜์ • ์ปค๋ฐ‹....์„ ํ•ด๋ฒ„๋ ธ๋Š”๋ฐ ๋˜ ์˜คํƒ€๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ•ด๋ฒ„๋ ธ๊ณ !... ๋” ์ด์ƒ์˜ ์˜คํƒ€ ์ปค๋ฐ‹์„ ํ•˜๊ณ ์‹ถ์ง„ ์•Š์•„์„œ rebase๋ฅผ ์จ๋ณด๋ ค ํ•œ๋‹ค. ์ด์ „์—๋„ rebase๋ฅผ ์ผ์Œ ์ข‹์•˜์„ ๊ฒƒ์„.. git rebase ํ•ด๋ณด๊ธฐ ํ„ฐ๋ฏธ๋„์˜ git log์—์„œ ๋ฐ”๊ฟ€ ์ปค๋ฐ‹์˜ ํ•ด์‹œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค git rebase -i ํ•ด์‹œ ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ฒ ์ด์Šค ํ•˜๋Ÿฌ ๋“ค์–ด๊ฐ„๋‹ค. ๊ทธ๋Ÿผ ํ˜„์žฌ ์ปค๋ฐ‹๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋Š”๋ฐ, pick ์ปค๋ฐ‹๋ฒˆํ˜ธ ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ ๋ถ€๋ถ„์˜ pick์„ edit์œผ๋กœ ์ˆ˜์ • ํ›„ ์ €์žฅํ•˜๊ณ  ๋‚˜์™€์ค€๋‹ค. (์ฐธ๊ณ ๋กœ..