๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(93)
[ JavaScript ] var, let, const ํŒŒํ—ค์น˜๊ธฐ. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ๋Š” var, let, const ์ด๋ ‡๊ฒŒ ์ด 3๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. 1. var var ํ‚ค์›Œ๋“œ๋Š” ES6 ์ด์ „( let, const๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ด์ „ )์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋˜ ํ‚ค์›Œ๋“œ์˜€๋‹ค. var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์ด์ „์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์˜ํ•ด ์•”๋ฌต์ ์œผ๋กœ "์„ ์–ธ"๋‹จ๊ณ„์™€ "์ดˆ๊ธฐํ™”"๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค. ์„ ์–ธ ๋‹จ๊ณ„์—์„œ๋Š” ์Šค์ฝ”ํ”„์— ๋ณ€์ˆ˜ ์‹๋ณ„์ž๋ฅผ ๋“ฑ๋กํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ๋ณ€์ˆ˜์˜ ์กด์žฌ๋ฅผ ์•Œ๋ฆฌ๊ณ  ๊ทธ ์ฆ‰์‹œ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ undefined๋กœ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. var ํ‚ค์›Œ๋“œ๋Š” ๋ณ€์ˆ˜ ๋ธ”๋ก์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ , ํ˜„์žฌ ํ•จ์ˆ˜(var ํ‚ค์›Œ๋“œ๋ฅผ ์„ ์–ธํ•œ ํ•จ์ˆ˜)๋˜๋Š” ์ „์—ญ ์Šค์ฝ”ํ”„ ์–ด๋””์—์„œ๋‚˜ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. // ๋ณ€์ˆ˜ a์— ๋Œ€ํ•ด ์„ ์–ธ. var a; ์ด๋ ‡..
[ ReactNative / iOS ] iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋””๋ฐ”์ด์Šค ๋ณ€๊ฒฝํ•˜๊ธฐ. React Native๋กœ iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œ๋ฅผ ํ•˜๋Š”๋ฐ, ๊ณ„์† ๋‚ด๊ฐ€ ์„ค์น˜ํ•˜์ง€ ์•Š์€ iOS ๋ฒ„์ „์˜ iPhone ํƒ€๊ฒŸ์ด ์žกํ˜”๋‹ค.ใ… ใ…  ๋‹ต๋‹ตํ•ด์„œ ์„œ์น˜๋ฅผ ํ•ด๋ณด๋‹ˆ ๊ณต์‹ ํŽ˜์ด์ง€์— ์นœ์ ˆํžˆ ๋‚˜์™€์žˆ๋‹ค! 1) ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ device ์ •๋ณด ํ™•์ธํ•˜๊ธฐ xcrun simctl list devices ๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚ด๊ฐ€ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ iOS ๋ฒ„์ „๊ณผ ๋””๋ฐ”์ด์Šค ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค. 2) ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””๋ฐ”์ด์Šค ์ค‘ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค ๋ฐ iOS ๋ฒ„์ „ ์„ ํƒ. npx react-native run-ios --simulator="iPhone 13 (15.5)" ์ด๋ ‡๊ฒŒ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค์˜ ์›ํ•˜๋Š” iOS ๋ฒ„์ „์œผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค-!! ์ฐธ๊ณ  ์ž๋ฃŒ ) React Native ๊ณต์‹ ..
[ JavaScript / Error ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ Error ๊ฐ์ฒด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Error ๊ฐ์ฒด๋ฅผ ๋˜์ ธ์ฃผ๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋ฅผ ํ†ตํ•ด ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ๋””๋ฒ„๊น…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. Error์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์—๋Ÿฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. Error ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์—๋Ÿฌ ๊ฐ์ฒด๋Š” message ํ”„๋กœํผํ‹ฐ(Error ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€)์™€ stack ํ”„๋กœํผํ‹ฐ(์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ์ฝœ์Šคํƒ์˜ ํ˜ธ์ถœ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด)๋ฅผ ๊ฐ–๋Š”๋‹ค. ์•„๋ž˜์˜ ํ‘œ๋ฅผ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ ๋‚ด์žฅ ์˜ค๋ฅ˜ ์œ ํ˜•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์œ ํ˜•(์ƒ์„ฑ์ž ํ•จ์ˆ˜) ์ธ์Šคํ„ด์Šค EvalError ์ „์—ญ ํ•จ์ˆ˜ eval()์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๊ฐ์ฒด RangeError ์ˆซ์ž ๋ณ€์ˆ˜๋‚˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๊ฐ์ฒด ReferenceError ์ž˜๋ชป๋œ ์ฐธ์กฐ์— ๋Œ€ํ•ด ๋ฐœ์ƒํ•˜๋Š” ..
[ ReactNative / M1 ] Pod install ๊ด€๋ จ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•. ๋‚˜์˜ ๋งฅ๋ถํ”„๋กœ(M1์นฉ)์—์„œ react native ( ios / macOS ) ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํ”„๋กœ์ ํŠธ ํด๋”์˜ ios ํด๋”์—์„œ 'pod install' ์„ ์ง„ํ–‰ํ•ด ์ฃผ์—ˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์•ˆ๋‚ด๋Œ€๋กœ `pod install --repo-update` ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œ์ผฐ์ง€๋งŒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค...ใ… ใ… ... pod install ์ด ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ...๐Ÿ˜ญ Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65 React Native ๊ณต์‹ ํŽ˜์ด์ง€์˜ Guide์™€ stackOverflow๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. 1. react native ํ”„๋กœ์ ํŠธ ํด๋”..
[ JavaScript / ์ •๊ทœํ‘œํ˜„์‹ ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๊ทœํ‘œํ˜„์‹ ์ •๋ฆฌ <2> 1ํŽธ ์ฐธ๊ณ  [ JavaScript / ์ •๊ทœํ‘œํ˜„์‹ ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๊ทœํ‘œํ˜„์‹ ์ •๋ฆฌ ์ถœ์ฒ˜: MDN Web Docs ์ •๊ทœํ‘œํ˜„์‹ (์ •๊ทœ์‹) - Regular expression ์ •๊ทœ ํ‘œํ˜„์‹์€ ๋ฌธ์ž์—ด์— ๋‚˜ํƒ€๋‚˜๋Š” ํŠน์ • ๋ฌธ์ž ์กฐํ•ฉ๊ณผ ๋Œ€์‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด์œผ๋กœ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹ ๋˜ํ•œ ๊ฐ์ฒด์ด๋‹ค. ์ด d-dual.tistory.com ์ •๊ทœํ‘œํ˜„์‹ 1ํŽธ์—์„œ๋Š” MDN์—์„œ ์„ค๋ช…ํ•˜๋Š” ์ •๊ทœํ‘œํ˜„์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. 2ํŽธ์—์„œ๋Š” ์‹ค์ œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ ํ™œ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹์€ ์ผ์ •ํ•œ ํŒจํ„ด์„ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ˜•์‹ ์–ธ์–ด๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ณ ์œ  ๋ฌธ๋ฒ•์ด ์•„๋‹ˆ๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์ฝ”๋“œ ์—๋””ํ„ฐ์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค. * ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํŽ„(Perl)์˜ ์ •๊ทœ ํ‘œํ˜„์‹ ๋ฌธ๋ฒ•์„ ES3..
[ React / Select ] Select์˜ defaultValue ๋ฅผ state๋ฅผ ์ด์šฉํ•˜์—ฌ ๋™์  ๋ณ€๊ฒฝ ์‹œํ‚ค๊ธฐ. โ—๏ธ ์ด์Šˆ ๋ฐœ์ƒ React ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—… ์ค‘์— ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ๋ฅผ state๋กœ ๊ด€๋ฆฌํ•ด์„œ ํ•„ํ„ฐ๋ง ์˜ต์…˜์„ ์„ ํƒํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋™์  ํ•„ํ„ฐ๋ง ๊ตฌ์กฐ๋กœ ์ž‘์—… ์ค‘์— ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋“ค์€ ๋™์  ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์ด ์ž˜ ์ ์šฉ๋˜๋Š”๋ฐ, Select์˜ defaultValue๋Š” ์ด์ „ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๊ฐ–๊ณ  ๋™์  ํ•„ํ„ฐ๋ง์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ์˜ˆ์‹œ ์ฝ”๋“œ import React, {useState, useEffect} from 'react'; // UI Library๋Š” Antdesign์„ ์‚ฌ์šฉ. import { Select } from 'antd'; const { Option } = Select; const data = [ {name: "Lee", isStudent: false}, {name: "Kim", isStude..
[ Git ] ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ธŒ๋žœ์น˜ git push ํ•˜๊ธฐ ์˜ˆ์ „์—๋Š” ์†Œ์ŠคํŠธ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ปค๋ฐ‹์„ ํ•˜๊ณ  push๋ฅผ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ, ์†Œ์ŠคํŠธ๋ฆฌ ํŠ•๊ธฐ๋Š” ํ˜„์ƒ๋„ ์žฆ๊ณ  ๋˜ ์‹œ๊ฐ„ ์ ˆ์•ฝ์„ ์œ„ํ•ด์„œ ๋‚˜๋Š” ๋ณดํ†ต ์ปค๋ฐ‹๊ณผ push๋ฅผ ๋ช…๋ น์–ด๋กœ ์ง„ํ–‰ํ•œ๋‹ค. ์ด์ œ๋Š” ์Šต๊ด€์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์šฉํ•œ ๊นƒ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ฐธ๊ณ  git-scm.com 1. git status๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์ž‘์—… ์ƒํƒœ๋ฅผ ํ™•์ธ git status ์ฐธ๊ณ  $ git status git status๋Š” ์ธ๋ฑ์Šค ํŒŒ์ผ๊ณผ ํ˜„์žฌ HEAD ์ปค๋ฐ‹ ์‚ฌ์ด์— ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ ๋ฐ ์ž‘์—… ํŠธ๋ฆฌ์˜ ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” git commit์„ ์‹คํ–‰ํ•˜์—ฌ ์ปค๋ฐ‹ํ•  ๋‚ด์šฉ์ด๊ณ , ๋‘ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ๋Š” git commit์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 2. git์— ์ปค๋ฐ‹ํ•  ์‚ฌํ•ญ ์ถ”๊ฐ€ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆด ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์„ ์ง€์ •ํ•˜๋Š” ๋‹จ๊ณ„ ์ด๋‹ค..
[ Javascript ] ์›์‹œ ๊ฐ’๊ณผ ๊ฐ์ฒด์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ. ์›์‹œ ๊ฐ’ (Primitive) MDN - ์›์‹œ ๊ฐ’ ์„ค๋ช… ์›์‹œ ๊ฐ’ - ์šฉ์–ด ์‚ฌ์ „ | MDN JavaScript์—์„œ ์›์‹œ ๊ฐ’(primitive, ๋˜๋Š” ์›์‹œ ์ž๋ฃŒํ˜•)์ด๋ž€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋ฉด์„œ ๋ฉ”์„œ๋“œ๋„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์›์‹œ ๊ฐ’์—๋Š” 7์ข…๋ฅ˜, string, number (en-US), bigint (en-US), boolean, undefined, symbol, ๊ทธ๋ฆฌ๊ณ  null์ด developer.mozilla.org ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์›์‹œ ๊ฐ’์€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๊ณ , ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ด 7๊ฐ€์ง€์˜ ์ข…๋ฅ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. - string - number - bigint - boolean - undefined - symbol - null ์›์‹œ ํƒ€์ž…์˜ ๊ฐ’์€ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’์œผ๋กœ, ๋ณ€์ˆ˜์— ์›์‹œ ๊ฐ’์„ ์žฌํ• ..