๋ฐ˜์‘ํ˜•

๐ŸŽ  Front 8

[React] Component, Props๋ž€? ํด๋ž˜์Šคํ˜•/ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ, ์ปดํฌ๋„ŒํŠธ์— ๋ณ€์ˆ˜ ์ „๋‹ฌํ•˜๊ธฐ

๋ชฉ์ฐจ Components๋ž€? ์ปดํฌ๋„ŒํŠธ๋Š” ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. ๋ ˆ๊ณ ๋กœ ์ž๋™์ฐจ๋ฅผ ๋งŒ๋“ค ๋•Œ, ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๋ธ”๋Ÿญ์„ ์กฐ๋ฆฝํ•˜์—ฌ ๋งŒ๋“ค ๋“ฏ์ด ๊ณตํ†ต๋˜๋Š” UI๋ฅผ ์กฐ๊ฐ๋‚ด๊ณ  ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ์กฐ๋ฆฝํ•˜๋“ฏ์ด ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์ปดํฌ๋„ŒํŠธ์ด๋‹ค! //๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ //ํด๋ž˜์Šคํ˜• class App extends React.Component { render() { return Hello world! } } โ–ถ ์ปดํฌ๋„ŒํŠธ //ํ•จ์ˆ˜ํ˜• function Head(){ return ( ์ œ๋ชฉ1 ์ œ๋ชฉ2 ); } โ–ถ ์ปดํฌ๋„ŒํŠธ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด๋ดค๋‹ค. ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” HTML์— ์ •์˜๋œ ํƒœ๊ทธ๊ฐ€ ์•„๋‹Œ , ์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ด๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ React.Compone..

[React] Element. ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋ Œ๋”๋งํ•˜์ž

๋ชฉ์ฐจ Element const element = Hello, world; ๋ฆฌ์•กํŠธ์˜ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์ด๋‹ค. Component์™€๋Š” ๋‹ค๋ฅด๋‹ค! Element๋Š” Component์˜ ๊ตฌ์„ฑ์š”์†Œ์ด๋ฉฐ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•  DOM ์ •๋ณด๋ฅผ React์— ์•Œ๋ ค์ฃผ๋Š” ๊ฐ์ฒด์ด๋‹ค. Element๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ• ๊นŒ? JS์˜ ๊ฒฝ์šฐ ๋ณ€๊ฒฝ์ ์€ ์‹œ๊ฐ„ ๋ฟ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  root๋ถ€ํ„ฐ ๋ชจ๋“  ํƒœ๊ทธ๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ๋‹ค ๋ณ€๊ฒฝ๋œ๋‹ค. React์˜ ๊ฒฝ์šฐ //root ์•„์ด๋””๋ฅผ ๊ฐ€์ง„ ํƒœ๊ทธ๋ฅผ ์ฐพ์•„์„œ ๋ฃจํŠธ๋กœ ์„ ์–ธํ•œ๋‹ค const root = ReactDOM.createRoot( document.getElementById('root') ); //ํ˜„์žฌ ์‹œ๊ฐ„์„ ๋ณด์—ฌ์ฃผ๋„๋ก jsx ์ž‘์„ฑ function tick() { //ele..

[React] JSX(JavaScript XML) ๋ฌธ๋ฒ•

๋ชฉ์ฐจ ์ˆœ์ˆ˜ HTML ํŒŒ์ผ์—์„œ React๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž ์ผ๋‹จ์€ ์ˆœ์ˆ˜ HTML์—์„œ React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. CDN์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ๋ฌด์Šจ์—ญํ• ์„ ํ•˜๊ณ ์žˆ๋Š”๊ฑธ๊นŒ? React - ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. Babel - ๋ฆฌ์•กํŠธ๋Š” JSX๋ผ๋Š” ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด Babel์ด JSX๋ฅผ JS๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. - JSX๋Š” ๋‹ค์Œ์— ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์˜ˆ์ •. ์˜ˆ์ œ์—์„œ return Hello world! ๋ถ€๋ถ„์ด JSX๊ฐ€ ์‚ฌ์šฉ๋œ ๋ถ€๋ถ„์ด๋‹ค. React-DOM - ์ตœ์ข…์ ์œผ๋กœ Babel์„ ํ†ตํ•ด JS๋กœ ๋ณ€ํ™˜๋œ ์ฝ”๋“œ๋ฅผ HTML DOM์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. - ์ด๋Ÿฐ ํƒœ๊ทธ๋Š” HTML์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฐ ํŠน์ดํ•œ ํƒœ๊ทธ๋“ค์„ HTML DOM์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. Script ์„ค๋ช… render() : DOM ๋…ธ๋“œ ๋ Œ๋”๋ง ์‹œ ํ•„..

[React] ํ”„๋กœ์ ํŠธ ์…‹ํŒ…

์ €๋Š” JS์™€ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์œผ๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋Š”๋ฐ ์Œฉ HTML, CSS, JS๋กœ ํ”„๋ก ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋‹ค๋ณด๋ฉด... ๋งŒ๋“ ์‚ฌ๋žŒ๋งŒ ์•Œ๊ฒŒ๋˜๋Š” ๊ตฌ์กฐ๊ฐ€ ๋˜๊ณ  ์‹ฌ์ง€์–ด ๋งŒ๋“ ์‚ฌ๋žŒ์กฐ์ฐจ ์ด๊ฒŒ ์–ด๋””์„œ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ธ์ง€ ์•Œ์ˆ˜์—†๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๊ตฌ์š” ๊ทธ๋ž˜์„œ.. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, React๋ฅผ ๋ฐฐ์›Œ๋ณด๋ คํ•ฉ๋‹ˆ๋‹ค! React๊ฐ€ ๋ญ˜๊นŒ?! ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•ด์„œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋™์ ์œผ๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๋ ค๋ฉด ์ˆ˜๋งŽ์€ ์ž‘์—…์ด ํ•„์š”ํ•œ๋ฐ, ์ด ์ˆ˜๋งŽ์€ ์ž‘์—…์„ ์Œฉ Javascript๋กœ๋งŒ ๊ด€๋ฆฌํ•˜๊ธฐ์—” ๋ณต์žกํ•˜๊ณ  ์–ด๋ ค์›Œ์„œ ๋‚˜์˜ค๊ฒŒ ๋œ๊ฒƒ์ด ๋ฆฌ์•กํŠธ์ž…๋‹ˆ๋‹ค. React ํ”„๋กœ์ ํŠธ ์…‹ํŒ…ํ•˜๊ธฐ 1. Node.Js ์„ค์น˜ https://nodejs.org/en/ ํ•ด๋‹น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด์„œ LTS ๋ฒ„์ „ ์„ค์น˜ (20..

[Swiper] ์Šค์™€์ดํผ ํ•œ ํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๊ธฐ. Multiple Swiper

์ด์ „ ๊ฒŒ์‹œ๊ธ€ [Swiper] ์Šค์™€์ดํผ ์˜ค๋ฅ˜ Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'E ๋‹ค์Œ ๊ฒŒ์‹œ๊ธ€ [Swiper] ์Šค์™€์ดํผ ํ•œ ํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๊ธฐ. Multiple Swiper ์ด์ „ ๊ฒŒ์‹œ๊ธ€ ํ˜ธ์ถœ๋ถ€๋ถ„ fragment ์ง€์ •๋ถ€๋ถ„ //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด ์ตœ์ƒ๊ธ‰ 10000์› //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด //โญID๋ช… ๋™์ ์œผ lotuus.tistory.com ํ˜ธ์ถœ๋ถ€๋ถ„ fragment ์ง€์ •๋ถ€๋ถ„ //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด ์ตœ์ƒ๊ธ‰ 10000์› //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด swiper-button-next-custom์€ ๋ฒ„ํŠผ์„ ์™ธ๋ถ€๋กœ ๋นผ๊ธฐ์œ„ํ•ด css..

๐ŸŽ  Front 2021.12.17

[Swiper] ์Šค์™€์ดํผ ์˜ค๋ฅ˜ Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.

๋‹ค์Œ ๊ฒŒ์‹œ๊ธ€ [Swiper] ์Šค์™€์ดํผ ํ•œ ํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๊ธฐ. Multiple Swiper ์ด์ „ ๊ฒŒ์‹œ๊ธ€ ํ˜ธ์ถœ๋ถ€๋ถ„ fragment ์ง€์ •๋ถ€๋ถ„ //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด ์ตœ์ƒ๊ธ‰ 10000์› //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด //โญID๋ช… ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด swiper-button-next-custom์€ ๋ฒ„ํŠผ์„ ์™ธ๋ถ€๋กœ ๋นผ๊ธฐ์œ„ํ•ด css ์ ์šฉํ•œ ๊ฒƒ์ด lotuus.tistory.com //fragmentํ˜ธ์ถœ๋ถ€๋ถ„ //fragment์ง€์ •๋ถ€๋ถ„ ์ตœ์ƒ๊ธ‰ 10000์› ๋‚˜๋Š” swiper๋ฅผ fragment๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ํƒ€์ž„๋ฆฌํ”„๋กœ swiperName์„ ๋ฐ›์•„์„œ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒŒ๋”ํ–ˆ๊ณ , ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋ฒ„ํŠผ์„ ์™ธ๋ถ€๋กœ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด swiper-cover๋ผ๋Š” div๋กœ ํ•œ๋ฒˆ ๋” ๊ฐ์‹ธ์ฃผ์—ˆ๋‹ค ๊ทธ๋ฆฌ๊ณ  ํ•œ ํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ ์Šฌ๋ผ์ด๋“œ๊ฐ€ ๋“ค์–ด๊ฐ„ ์ƒํƒœ์ด๋‹ค (swi..

๐ŸŽ  Front 2021.12.17

[thymeleaf ํƒ€์ž„๋ฆฌํ”„] ๋‹จ์ˆœ, ๊ฐ์ฒด ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉํ•˜๊ธฐ

th:each : ํƒ€์ž„๋ฆฌํ”„์˜ ๋ฐ˜๋ณต๋ฌธ ๊ฐ์ฒดList ์ค‘์—์„œ ๊ฐ์ฒด ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด๊ธฐ Onions 2.41 yes #numbers ์ˆซ์ž ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ฐœ์ฒด .sequence(from, to) : from๋ถ€ํ„ฐ to๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ .sequence(from, to, step) : from๋ถ€ํ„ฐ to๊นŒ์ง€ step์”ฉ ์ฆ๊ฐ€ each๋ฌธ์˜ ์ƒํƒœ๋ณ€์ˆ˜ index ์ƒํƒœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์žํ•œ๋‹ค๋ฉด "๋ฐ˜๋ณต๋ณ€์ˆ˜๋ช…+Stat+.index" ์ด๋ ‡๊ฒŒ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค - index : 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค - count : 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค - size : ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋œ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ - even : ํ˜„์žฌ ๋ฐ˜๋ณต์ด ์ง์ˆ˜์ธ์ง€ ํ™•์ธ. true/false ๋ฐ˜ํ™˜ - odd : ํ˜„์žฌ ๋ฐ˜๋ณต์ด ํ™€์ˆ˜์ธ์ง€ ํ™•์ธ. true/false ๋ฐ˜ํ™˜ - first : ํ˜„์žฌ ๋ฐ˜๋ณต์ด..

๐ŸŽ  Front 2021.12.12

CSS Selector ์„ ํƒ์ž ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ : CSS Diner

https://flukeout.github.io/ CSS Diner A fun game to help you learn and practice CSS selectors. flukeout.github.io CSS ์„ ํƒ์ž๋ฅผ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ์ด๋‹ค. ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™”๋ฉด์ด ๋œจ๋Š”๋ฐ, ์ƒ๋‹จ์˜ ๋ฌธ์ œ์— ๋งž๊ฒŒ Editor์— ์ž‘์„ฑํ•˜๋ฉด๋œ๋‹ค. ํƒœ๊ทธ๋ช…์ด plate์ธ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ, css editor์— plate๋ผ๊ณ  ์“ฐ๋ฉด ์„ฑ๊ณต์ด๋‹ค ใ…Žใ…Ž ์˜ค๋ฅธ์ชฝ html์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ’€์–ด๊ฐ€๋ฉด๋œ๋‹ค! ์•„๋ž˜๋Š” 1๋ฒˆ~32๋ฒˆ์˜ ์ •๋‹ต์ด๋‹ค. 1 plate ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ 2 bento ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ 3 #fancy id์„ ํƒํ•˜๊ธฐ 4 plate apple ํƒœ๊ทธ(plate) ์•ˆ์˜ ํƒœ๊ทธ(apple) ๋ชจ๋‘ ์„ ํƒํ•˜๊ธฐ 5 #f..

๐ŸŽ  Front 2021.11.16
๋ฐ˜์‘ํ˜•