๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด

    ๊ฒฝ๋ ฅ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ฒซ ๊ฑธ์Œ : ์–ด๋–ค ์–ธ์–ด๋ฅผ ๊ณ„์† ๊ณต๋ถ€ํ•ด ๋‚˜๊ฐ€์•ผํ•  ๊ฒƒ์ธ๊ฐ€? (Flutter vs React Native)

    ๊ฒฝ๋ ฅ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ฒซ ๊ฑธ์Œ : ์–ด๋–ค ์–ธ์–ด๋ฅผ ๊ณ„์† ๊ณต๋ถ€ํ•ด ๋‚˜๊ฐ€์•ผํ•  ๊ฒƒ์ธ๊ฐ€? (Flutter vs React Native)

    ์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ํ˜„์žฌ ๊ฐœ๋ฐœ์ž๋กœ ๊ฒฝ๋ ฅ์„ ์Œ“๊ณ  ์žˆ๋Š” ๋‰ด๋น„์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ํ˜„์žฌ ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์–ธ์–ด์— ๋Œ€ํ•ด์„œ ๋ฆฌ์„œ์น˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด ์ด ๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.  ์œ„ ์Šคํฌ๋ฆฐ์ƒท์€ Google Trend ๋กœ ๊ฐ ํ”Œ๋žซํผ์— ๋”ฐ๋ฅธ ๊ด€์‹ฌ๋„ ๋ณ€ํ™”๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ๊ด€์‹ฌ๋„ ์ˆœ์œ„ 1์ˆœ์œ„๋Š” Flutter๊ฐ€ ์ฐจ์ง€ํ–ˆ๋„ค์š”. ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์ด ์งง์•„์งˆ ์ˆ˜ ์žˆ๊ฒŒ ์„ ์–ธํ˜• UI ๋ฐฉ์‹๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ• ๋•Œ ์œ„์ ฏ ํŠธ๋ฆฌ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žกํ•œ UI๋„ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ Flutter ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  iOS๋ฅผ ์„ ์–ธํ˜• UI ๋ฐฉ์‹์ธ SwiftUI๋„ ์žˆ์ง€๋งŒ, ์ ‘๊ทผ์„ฑ์ด ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— .. ํŒจ์Šคํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ถ”ํ›„, IDE์™€ ๋‹ค์–‘ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์—์„œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์Œ“๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฒฝ์Ÿ๋ ฅ์ด ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•  ๊ฒƒ ๊ฐ™๋„ค์š”. ..

    [Flutter] Dart์—์„œ static ์—ญํ• ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น

    [Flutter] Dart์—์„œ static ์—ญํ• ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น

    ๊ฐœ์š”Dart ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ static ํ‚ค์›Œ๋“œ๋Š” ํŠน์ • ํด๋ž˜์Šค์™€ ๊ด€๋ จ๋œ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ํด๋ž˜์Šค ์ž์ฒด์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด  ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋‚˜ ๋ณ€์ˆ˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์š”. static ๋ณ€์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์— ์ €์žฅ๋˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด ๋™์•ˆ ์ง€์†๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.  Dart์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋จผํŠธ๊ณผ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. Code Segment : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ์ €์žฅData Segment : ์ดˆ๊ธฐํ™”๋œ ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ static ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅBSS Segment : ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ static ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅStack : ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ๋กœ์ปฌ ๋ณ€์ˆ˜ ์ €์žฅ์— ์‚ฌ์šฉHeap : ..

    Github ๋ธŒ๋žœ์น˜ ์ „๋žต ์ด๊ฑฐ ํ•˜๋‚˜๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋œ๋‹ค.

    Github ๋ธŒ๋žœ์น˜ ์ „๋žต ์ด๊ฑฐ ํ•˜๋‚˜๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋œ๋‹ค.

    ์•ˆ๋…•ํ•˜์„ธ์š”. ๊นƒ ํ”Œ๋กœ์šฐ, Git flow์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ž ๊ฐœ๋ฐœํ• ๋•Œ ํ˜•์ƒ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ, ์–ด๋–ค ๋ธŒ๋žœ์น˜ ์ „๋žต ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”? ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฐœ๋…์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์ €ํฌ๋Š” ์‹ค๋ฌด์—์„œ ๊ฐ ํŒŒํŠธ์—์„œ ํ˜ผ์ž ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ, ๊นƒ ํ”Œ๋กœ์šฐ ์ •์ฑ…์ด ํ•„์š”์—†์ง€๋งŒ ๊ทธ๋ž˜๋„ ๊ฐœ๋…์€ ์ค‘์š”ํ•˜๋‹ˆ๊น์š”? ใ…‹ใ…‹ใ…‹  ์งœ์ž”. ๋ธŒ๋žœ์น˜ ์œ ํ˜•์€ ํฌ๊ฒŒ 5๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.  1. ๋ธŒ๋žœ์น˜ ์œ ํ˜•:๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ (ํ•‘ํฌ):๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•œ ์ƒˆ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜.develop ๋ธŒ๋žœ์น˜์—์„œ ํŒŒ์ƒ๋˜๋ฉฐ ์ž‘์—… ์™„๋ฃŒ ์‹œ develop์— ๋‹ค์‹œ ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค.๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜ (๋…ธ๋ž‘):์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜.์ตœ์‹  ๊ฐœ๋ฐœ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€๋งŒ ๋ถˆ์•ˆ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ธฐ๋Šฅ ..

    ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ”„๋ก ํŠธ์—”๋“œ์‹ค๋ฌด ์™„๊ฐ• ํ›„๊ธฐ

    ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ”„๋ก ํŠธ์—”๋“œ์‹ค๋ฌด ์™„๊ฐ• ํ›„๊ธฐ

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

    [Flutter] ๋ฒ„ํŠผ ์œ„์ ฏ(TextButton, ElevatedButton, OutlinedButton) ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ ํ•„์ˆ˜ ๊ฐœ๋…๋“ค

    [Flutter] ๋ฒ„ํŠผ ์œ„์ ฏ(TextButton, ElevatedButton, OutlinedButton) ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ ํ•„์ˆ˜ ๊ฐœ๋…๋“ค

    ์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜์€ Flutter์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํŠผ ์œ„์ ฏ์ธ TextButton, ElevatedButton, OutlinedButton์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ํ•ด๋‹น ์œ„์ ฏ๋“ค์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ํ”Œ๋Ÿฌํ„ฐ ๊ทœ์น™๊ณผ ์œ ์šฉํ•œ ์ฝ”๋“œ ์ •๋ฆฌ ๋‹จ์ถ•ํ‚ค๋„ ํ•จ๊ป˜ ์•Œ์•„๋ด…์‹œ๋‹ค. Button - TextButton TextButton์€ ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” TextButton์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. TextButton( onPressed: () { // ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‹คํ–‰ํ•  ๋™์ž‘ print('TextButton ํด๋ฆญ๋จ'); }, child: Text('TextButton ํ…์ŠคํŠธ'), ) - ElevatedBu..

    Flutter Wrap ์œ„์ ฏ ์‚ฌ์šฉ ํŒ: option(โŒฅ)+enter ๋‹จ์ถ•ํ‚ค ํ™œ์šฉํ•˜๊ธฐ

    Flutter Wrap ์œ„์ ฏ ์‚ฌ์šฉ ํŒ: option(โŒฅ)+enter ๋‹จ์ถ•ํ‚ค ํ™œ์šฉํ•˜๊ธฐ

    ๋”๋ณด๊ธฐ option(โŒฅ)+ enter : ๊ฐ์‹ธ๋Š” ๊ตฌ์กฐ(Wrap) ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ œ๊ฑฐํ• ๋•Œ ํ™œ์šฉ 1. Introduction Flutter์—์„œ๋Š” Wrap ์œ„์ ฏ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ™”๋ฉด์˜ ๋ชจ๋“  ์š”์†Œ ์ž์ฒด๊ฐ€ ์œ„์ ฏ์ด๋‹ค ๋ณด๋‹ˆ, ๋ฐฐ์น˜๋ฅผ ํ• ๋•Œ Column, Row, Container ๋“ฑ์„ ์ ์ ˆํ•˜๊ฒŒ ํ˜ผ์žฌํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ VS Code ๋˜๋Š” Android Studio๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กญ๊ฒŒ Wrap ์„ ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์‰ฝ์ง€ ์•Š์€ ์ž‘์—…์ด๋‹ค. ๊ด„ํ˜ธ๊ฐ€ ๋งŽ๊ณ  ์ž์นซ ์ž˜๋ชปํ–ˆ๋‹ค๊ฐ€ ์ฝ”๋“œ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ Wrap ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” option ํ‚ค์™€ enter ํ‚ค๋ฅผ ๊ฐ™์ด ๋ˆ„๋ฅด๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ์œ„์ ฏ์— ๋Œ€ํ•ด ์–ด๋–ค ์‹์œผ๋กœ ๊ฐ์Œ€ ๊ฒƒ์ธ์ง€, ๋˜๋Š” ๊ฐ์‹ธ์ ธ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•  ๊ฒƒ์ธ์ง€ ์„ ..

    ๋ฆฌ๋ˆ…์Šค์—์„œ virtualbox ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž..(vboxapi)

    ๋ฆฌ๋ˆ…์Šค์—์„œ virtualbox ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž..(vboxapi)

    ERROR: Could not find a version that satisfies the requirement vboxapi==1.0 (from versions: none) ERROR: No matching distribution found for vboxapi==1.0 ERROR: Could not find a version that satisfies the requirement vboxapi==6.1 (from versions: none) ERROR: No matching distribution found for vboxapi==6.1 ์•—, ์ฐธ๊ณ ๋กœ ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ์ ‘ํ•˜๋ฉด์„œ ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” virtualbox ์™€ ๊ฐ™์ด ๊ฐ€์ƒ๋จธ์‹  sw๋ฅผ python์—์„œ ์ œ์–ดํ•˜๋Š” ๋ชจ๋“ˆ๊ฐ™์€๊ฑฐ ์„ค์น˜์•ˆํ•˜๊ธฐ๋กœ ๋‹ค์งํ–ˆ๋‹ค. ๋ฒ„์ „1.0์ด ๊ตฌ..

    pywin32 ๋ชจ๋“ˆ ์—๋Ÿฌ - ํ•ด๊ฒฐ๋ฐฉ๋ฒ•(feat.Linux)

    pywin32 ๋ชจ๋“ˆ ์—๋Ÿฌ - ํ•ด๊ฒฐ๋ฐฉ๋ฒ•(feat.Linux)

    ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์— ํŒŒ์ด์ฌ 3.8 ์— ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š” ์ค‘์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค ์›๋ž˜ ๋„์ปค์— ์ด๋ฏธ์ง€ ํ•˜๋‚˜ ๊ตฌ์šด ๋‹ค์Œ ๊ฑฐ๊ธฐ ์•ˆ์—์„œ ํŒŒ์ด์ฌ ๊ทธ๋ƒฅ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ์ฝ”๋“œ๊ฐ€ ์ข€ ๋ณต์žกํ•ด์ง€๊ธดํ–ˆ๋Š”๋ฐ,, ๊ฐ์„คํ•˜๊ณ  ERROR: Could not find a version that satisfies the requirement pywin32==304 (from versions: none) ERROR: No matching distribution found for pywin32==304 ERROR: Could not find a version that satisfies the requirement pywin32==304 (from versions: none) ERROR: No mat..

    vue์—์„œ eslint ์‚ฌ์šฉํ•˜๊ธฐ(eslintrc.js)

    vue์—์„œ eslint ์‚ฌ์šฉํ•˜๊ธฐ(eslintrc.js)

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

    [f/e] ์บก์ณ๋ง๊ณผ ๋ฒ„๋ธ”๋ง

    1. ์บก์ณ๋ง๊ณผ ๋ฒ„๋ธ”๋ง ์บก์ณ๋ง(capturing)์€ ์ด๋ฒคํŠธ๊ฐ€ ๊ฐ€์žฅ ์ƒ์œ„์˜ ๋ถ€๋ชจ ์š”์†Œ์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์‹ค์ œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๊นŒ์ง€ ๋‚ด๋ ค์˜ค๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์—์„œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋กํ–ˆ๋”๋ผ๋„, ์ƒ์œ„ ์š”์†Œ์— ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋จผ์ € ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋ฒ„๋ธ”๋ง(bubbling)์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ƒ์œ„ ์š”์†Œ๋กœ ์ „ํŒŒ๋˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์—์„œ ๋“ฑ๋กํ•œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋จผ์ € ํ˜ธ์ถœ๋˜๊ณ , ๊ทธ ํ›„์— ์ƒ์œ„ ์š”์†Œ์— ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋กํ•  ๋•Œ, ์„ธ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ด๋ฒคํŠธ ์ „ํŒŒ ๋ฐฉ์‹์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ์—์„œ ์บก์ณ๋ง์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. document.getElement..