๐Ÿ‘จโ€๐Ÿ’ป Seungineer's GitHub Contribution

๐Ÿ› ๏ธ Tool/React 4

[React] input tag์˜ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ focus ์ด๋™ ์˜ˆ์ œ ๊ด€๋ จ ์˜๋ฌธ ์‚ฌํ•ญ ๐Ÿค”(#useEffect, #onChange)

์–ด๋–ค ์›น์‚ฌ์ดํŠธ์—์„œ form์„ ์ž…๋ ฅํ•  ๋•Œ ์ž…๋ ฅ์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋‹ค์Œ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋นˆ์นธ์œผ๋กœ ๋„˜์–ด๊ฐ€๋„๋ก ๊ตฌํ˜„๋œ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋งŽ๋‹ค. id์™€ pw๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ id๋ฅผ 10์ž ์ด์ƒ ์ž…๋ ฅํ•˜๋ฉด pw ์ž…๋ ฅ ์นธ์œผ๋กœ ๋ฐ”๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋˜ ์ค‘ React์˜ ๋ฐฐ์น˜ ์—…๋ฐ์ดํŠธ ํŠน์„ฑ์„ ์ž˜ ์‚ด๋ ค์„œ ๊ตฌํ˜„๋˜์—ˆ๋Š”์ง€ ์˜๋ฌธ์ด ๋“ค์—ˆ๋‹ค.๊ตฌํ˜„ App.js์˜ App() ์ปดํฌ๋„ŒํŠธ์—์„œ return ํ•˜๋Š” input tag๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.function App() { ... useEffect(() => { if (id.length >= 10) { pwRef.current.focus(); } }, [id]); return ( ์•„์ด๋”” : ..

[ํ”„๋ฆฌ์ฝ”์Šค] ์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„ ver.javascript - Cypress All Pass

๊ตฌํ˜„์„ ์œ„ํ•œ MEMOindex.html์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ์— ์ „์—ญ ๊ฐ์ฒด๋กœ ์ถ”๊ฐ€๋˜์–ด ์žˆ์Œ- ๋”ฐ๋กœ import ํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ// ex)const randomNumber = Random.pickNumberInRange(1, 9);import๋ชจ๋“ˆ์—์„œ ์—ฌ๋Ÿฌ ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์˜ import๋กœ ํ˜„์žฌ ๋ฒ”์œ„ ๋‚ด์— foo, bar ๋ฉค๋ฒ„๋ฅผ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.import { foo, bar } from "my-module.js";commit message convention(Angular JS)- ์ปค๋ฐ‹ ์ „์— ํ™•์ธํ•˜๊ธฐ!!๋”๋ณด๊ธฐSubject lineSubject line contains succinct description of the change.Allowed feat (featur..

๋ชจ๋˜ ์ž์Šค๋กœ ๋ฐฐ์šฐ๋Š” ๋ฆฌ์•กํŠธ ์ž…๋ฌธ2 - 2์žฅ ๋งˆ๋ฌด๋ฆฌ

2.1 const, let์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธvar๋ฅผ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๋ฌธ์ œ์ - ๋ฎ์–ด์“ฐ๊ธฐ ๊ฐ€๋Šฅ : ํ•œ ๋ฒˆ ์ •์˜ํ•œ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Œ(์˜๋„ํ•˜์ง€ ์•Š๊ฒŒ ๋ฎ์–ด์จ์งˆ ์ˆ˜ ์žˆ๊ธฐ์— ๋ฌด์กฐ๊ฑด ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์Œ)- ์žฌ์„ ์–ธ ๊ฐ€๋Šฅ : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ์–ด๋Š ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ•ด์„ํ•˜๊ธฐ ์–ด๋ ค์›€(var๊ฐ€ '๋ณ€์ˆ˜'๋ผ๋Š” ๋œป์ด๊ธฐ์— ๋‘˜ ๋‹ค ๋ณ€๋™ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐ, var๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ) let์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ- ๋ฎ์–ด ์“ฐ๊ธฐ ๊ฐ€๋Šฅ- ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ(let์ด 'OO์ด๋ผ ํ•˜์ž~'๋ผ๋Š” ๋œป์ด๊ธฐ์— ์„ ์–ธ์€ ํ•œ ๋ฒˆ ํ–ˆ๊ณ , ๋ฎ์–ด์“ฐ๊ธฐ๋Š” ๊ฐ€๋Šฅํ•œ var๊ฐ€ ์„ ์–ธ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐ)let v1 = 3;console.log(v1) // 3v1 = "๋ฌธ์ž์—ด๋กœ ๋ฎ์–ด์จ๋ฒ„๋ฆฌ๊ธฐ~~";console.log(v1) // ๋ฌธ์ž์—ด๋กœ ๋ฎ์–ด์จ๋ฒ„๋ฆฌ๊ธฐ~~t..

๋ชจ๋˜ ์ž์Šค๋กœ ๋ฐฐ์šฐ๋Š” ๋ฆฌ์•กํŠธ ์ž…๋ฌธ2 - 1์žฅ ๋งˆ๋ฌด๋ฆฌ

1.5 ๋ชจ๋“ˆ ํ•ธ๋“ค๋Ÿฌ, ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฆฌ์•กํŠธ์˜ 'create-react-app'์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“ˆ ํ•ธ๋“ค๋Ÿฌ, ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ ์˜์‹ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์ธ ๊ฒฝ์šฐ ์„ค์ • ํŒŒ์ผ์„ ์กฐ์ž‘ํ•  ํ•„์š”๊ฐ€ ์žˆ๊ธฐ์— ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ๊ฐœ๋…์„ ์•„๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.๋ชจ๋“ˆํ•ธ๋“ค๋Ÿฌ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ '์„ธ์„ธํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด' ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐœ๋ฐœํ•  ๋•Œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋กœ๋”ฉ ํšŸ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ธฐ๋„ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ํŒŒ์ผ์„ ๋‚˜๋ˆ„๊ณ , ํ”„๋กœ๋•์…˜ ์šฉ์œผ๋กœ ๋นŒ๋“œํ•  ๋•Œ๋Š” ํŒŒ์ผ ํ•˜๋‚˜์— ๋ชจ์œผ๊ธฐ ์œ„ํ•ด js ํŒŒ์ผ์ด๋‚˜ css ํŒŒ์ผ ๋“ฑ์„ ํ•œ๋ฐ ํ•ฉ์ณ์ฃผ๋Š” '๋ชจ๋“ˆ ํ•ธ๋“ค๋Ÿฌ'๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค(์„ธ์„ธํ•˜๊ฒŒ ๋‚˜๋‰˜์–ด ๊ฐœ๋ฐœ๋œ ๊ฒƒ์„ '๋ชจ๋“ˆ', ์ด ๋ชจ๋“ˆ์„ ๋‹ค๋ค„์ฃผ๋Š” ๊ฒŒ 'ํ•ธ๋“ค๋Ÿฌ'๋ผ๊ณ  ์ƒ๊ฐ).ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œ๊ธฐ๋ฒ•์„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹ค..