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

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

(93)
[ Git / pull ๋ฎ์–ด์“ฐ๊ธฐ ] ๋กœ์ปฌ์— origin ๊ฐ•์ œ ๋ฎ์–ด์“ฐ๊ธฐ. 1. ๋‚˜์˜ ๋กœ์ปฌ์— pull ๋ฐ›์„ ์›๊ฒฉ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ. $ git fetch --all 2. git reset --hard ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์›๊ฒฉ์—์„œ pull ๋ฐ›์„ (๋ฎ์–ด ์”Œ์šฐ๊ณ  ์‹ถ์€) ๋ธŒ๋žœ์น˜ ๋ช… ์ž…๋ ฅ. ( git reset ๋ช…๋ น์–ด์—๋Š” --soft, --mixed, --hard ์˜ต์…˜์ด ์กด์žฌํ•œ๋‹ค. --hard๋Š” ๊ฐ•์ œ๋กœ reset ํ•˜๋Š” ์˜ต์…˜.) $ git reset --hard origin/master // git reset --hard 3. git pull ๋˜๋Š” git status ๋ฅผ ํ†ตํ•ด ์ƒํƒœ ํ™•์ธ. $ git pull $ git status
[ iOS / ์•ฑ ๋“ฑ๋ก ] Appstore ์•ฑ ๋“ฑ๋ก ์ „ ํ•„์š” ์‚ฌํ•ญ ๋ฐ ๋ฐฉ๋ฒ• ์ด ์ •๋ฆฌ. ํ•„์ˆ˜* ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘ฌ์•ผ ํ•  ๊ฒƒ๋“ค. - ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๊ณ„์ • (์œ ๋ฃŒ) - 2022๋…„ 4์›”๋ถ€ํ„ฐ App Store์— ์ œ์ถœํ•˜๋Š” ๋ชจ๋“  iOS ๋ฐ iPadOS ์•ฑ์€ Xcode 13 ๋ฐ iOS 15 SDK๋กœ ๋นŒ๋“œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค!! ์•ฑ์Šคํ† ์–ด ๋ฐฐํฌ ๊ด€๋ จ ํ•„์š” ์‚ฌํ•ญ ์ •๋ฆฌ โœจ IOS์•ฑ ๋ฒ„์ „ ์ •๋ณด ์•ฑ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฐ ์Šคํฌ๋ฆฐ์ƒท ํ”„๋กœ๋ชจ์…˜ ํ…์ŠคํŠธ ์„ค๋ช… ํ‚ค์›Œ๋“œ ์ง€์› URL ๋งˆ์ผ€ํŒ… URL ์•ฑ ํด๋ฆฝ ํ—ค๋” ์ด๋ฏธ์ง€ ๋ถ€์ œ๋ชฉ ์ž‘์—… โœจ ์ผ๋ฐ˜์ •๋ณด ์•ฑ ์ •๋ณด ์•ฑ ์ด๋ฆ„ ๋ถ€์ œ ์•ฑ ์นดํ…Œ๊ณ ๋ฆฌ ์ฝ˜ํ…์ธ  ๊ถŒํ•œ ์—ฐ๋ น ๋“ฑ๊ธ‰ ๊ฐ€๊ฒฉ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๊ฐ€๊ฒฉ ๋ณ€๊ฒฝ ์ผ์ • ์„ธ๊ธˆ ์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์ „ ์ฃผ๋ฌธ ์—ฌ๋ถ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ Apple Silicon Mac์—์„œ iPhone ๋ฐ iPad ์•ฑ ์‚ฌ์šฉ ์•ฑ ๋ฐฐํฌ ๋ฐฉ๋ฒ• - ๊ณต๊ฐœ / ๋น„๊ณต๊ฐœ , ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์ตœ๊ทผ ๋ฒ„์ „ ์„ค์ • ์•ฑ์ด ์ˆ˜์ง‘ํ•˜๋Š” ๊ฐœ์ธ์ •๋ณด ๊ฐœ..
[ React Native ] ios ๋นŒ๋“œ ์˜ค๋ฅ˜ PhaseScriptExecution ํ•ด๊ฒฐ echo $(brew --prefix nvm ์Šคํ„ฐ๋”” ๊ณผ์ œ๋ฅผ ์ž‘์—…ํ•˜๋ ค๊ณ  ์˜ค๋žœ๋งŒ์— react-native๋ฅผ ์ž‘์—…ํ•˜๊ฒŒ ๋๋Š”๋ฐ, npx react-native run-ios ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ios ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋นŒ๋“œํ•˜๋‹ค๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ** BUILD FAILED ** The following build commands failed: PhaseScriptExecution [CP-User]\ Generate\ Specs /Users/asha/Library/Developer/Xcode/DerivedData/harmony_app-fhptqlhkykmbvnaqxgqutziqjggh/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/FBReact..
[ Flutter / State ] Flutter์˜ ์ƒํƒœ๊ด€๋ฆฌ ํ›‘์–ด๋ณด๊ธฐ. * Flutter ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์˜ State management ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด์„ & ์ •๋ฆฌ ํ•œ ๊ธ€. Flutter UI์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ๋‹ค๋ฅธ UI ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ นํ˜• ๋ฐฉ์‹๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ˜• UI๋ผ๋Š” ์ ์ด๋‹ค. ๋ช…๋ นํ˜• ๋ฐฉ์‹์˜ UI ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ UI๊ฐœ์ฒด๋ฅผ ์ผ์ผ์ด ๊ตฌ์„ฑํ•˜๊ณ , ๋‚˜์ค‘์— UI๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋ฉ”์„œ๋“œ์™€ setter๋“ค์„ ์ด์šฉํ•˜์—ฌ ๋ณ€๊ฒฝํ•˜๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ์ต์ˆ™ํ•œ ๋ฐฉ์‹์ด๋‹ค. ์ด์™€ ๋ฐ˜๋Œ€๋กœ Flutter๋Š” ํ˜„์žฌ์˜ UI ์ƒํƒœ๋งŒ ๋ฌ˜์‚ฌํ•˜๊ณ , ๋ณ€ํ™”๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์— ๋งก๊ธฐ๋„๋ก ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ Flutter์—์„œ UI๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ๋Š”์ง€์— ๋Œ€ํ•ด ์‚ฌ๊ณ  ์ „ํ™˜์ด ํ•„์š”ํ•˜๋‹ค. Flutter์˜ ์ƒํƒœ ์†Œ๊ฐœ. - ์ˆ˜๋ช…์ด ์งง์€ ์ƒํƒœ ( Ephemeral State ) - ์•ฑ ์ƒํƒœ ( App State ) 1. ์ˆ˜๋ช…์ด ์งง์€ ์ƒํƒœ ( Ephemeral..
[ AWS / MFA ] AWS์˜ ๋ฃจํŠธ์‚ฌ์šฉ์ž, MFA ๋””๋ฐ”์ด์Šค ๊ต์ฒด ํ›„ ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€..๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•. ์ €๋ฒˆ ์ฃผ ๋ชฉ์š”์ผ๋ถ€ํ„ฐ ์˜ค๋Š˜๊นŒ์ง€ ์‹ฌ๋ฆฌ์ ์œผ๋กœ ๋‚  ๊ดด๋กญํžŒ ใ… ใ… ใ…  AWS ๋ฃจํŠธ ์‚ฌ์šฉ์ž MFA ์ธ์ฆ ๋ถˆ๊ฐ€...ํ˜„์ƒ...์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ , ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!! ์‚ฌ๊ฑด์˜ ์ „๋ง์€ ์ด๋Ÿฌํ•˜๋‹ค. ๋‚˜๋Š” 2019๋…„๋ถ€ํ„ฐ ์ด๋ผ๋Š” ํŒ€์„ ๊ฒฐ์„ฑํ•˜์—ฌ App ๊ฐœ๋ฐœ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” AWS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉ ์ค‘์ด์—ˆ๊ณ , AWS์˜ ๋ฃจํŠธ ์‚ฌ์šฉ์ž๋Š” ๋‚˜์˜€๋‹ค...!! (๋‹ค๋ฅธ ๋ถ„๋“ค์€ IAM์‚ฌ์šฉ์ž.) ํ•˜์ง€๋งŒ ์ง€๋‚œ๋‹ฌ ๋‚˜๋Š” ์‚ฌ์šฉํ•˜๋˜ ํœด๋Œ€ํฐ์„ ์ƒˆ ํฐ์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค. (AWS์˜ MFA๋Š” ๊นŒ๋งฃ๊ฒŒ ์žŠ์€ ์ฑ„....) ๊ทธ๋ฆฌ๊ณ  AWS ์ฝ˜์†” ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ–ˆ์œผ๋‚˜ ์‹คํŒจ.ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ์‹คํŒจ ์ด์œ ๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์„ค์ •ํ•ด๋†“์€ MFA(๋ฉ€ํ‹ฐ ํŒฉํ„ฐ ์ธ์ฆ)์„ ๋ชปํ•˜๊ฒŒ ๋œ ๊ฒƒ...!!!!!!!!!! ์ฃผ๋ฅด๋ฅต...๐Ÿ˜‚ MFA๋Š” ์‚ฌ์šฉ์ž ๊ณ„์ • ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ ๋ณดํ˜ธ ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•˜๋Š”..
[ Firebase / Flutter ] Error: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•! ๋‚˜์˜ ์•„์ด๋งฅ์œผ๋กœ flutter App์˜ Android ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ์„ธํŒ…์„ ํ•˜๋˜ ์ค‘ ๋งŒ๋‚œ ์˜ค๋ฅ˜. ๋‚˜์˜ ๊ฒฝ์šฐ๋Š”, // Mac OS ๊ธฐ์ค€!! 1) ์•ˆ๋“œ๋กœ์ด๋“œ ํฐ์œผ๋กœ flutter run - Android phone ์„ ์„ ํƒํ•˜์—ฌ ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋๊ณ , 2) ํ”Œ๋Ÿฌํ„ฐ ์•ฑ์˜ ๋ฃจํŠธ ํŽ˜์ด์ง€์—์„œ Google ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ํ–ˆ๋Š”๋ฐ ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. PlatformException( sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null) !!!!!!! ๋‹นํ™ฉํ•˜์—ฌ ์ผ๋‹จ ์ข…๋ฃŒ ํ›„ IOS๋กœ ์•ฑ์„ ๋นŒ๋“œํ•˜์—ฌ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋‹ˆ ๋„ˆ๋ฌด ์ž˜๋œ๋‹ค...ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ์–ด.. ๋ญ์ง€?๐Ÿค” ์•ˆ๋“œ๋กœ์ด๋“œ firebase์ชฝ ์„ธํŒ…์ด ๋ญ”๊ฐ€ ์•ˆ๋๊ตฌ๋‚˜...!! ๋ฅผ ๋Š๋ผ๊ณ  ๊ตฌ..
[ Mac OS / Terminal ] zsh ์…ธ์—์„œ Vim์„ ์ด์šฉํ•˜์—ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•. ๐Ÿ“ VIM ์†Œ๊ฐœ - vim.org Vim์€ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ UNIX ์‹œ์Šคํ…œ ๋ฐ Apple OS X์— "vi"๋กœ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ๊ณ  vim ๊ณต์‹ ํŽ˜์ด์ง€์— ์†Œ๊ฐœ๊ฐ€ ๋‚˜์˜จ๋‹ค. ๊ณต์‹ ํŽ˜์ด์ง€๊ฐ€ ์ •๋ง.... ๋ ˆํŠธ๋กœ ๊ฐฌ์„ฑ์˜ ์‚ฌ์ดํŠธ... ๐Ÿ˜… ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ„ํ‚คํ”ผ๋””์•„๋ฅผ ํ†ตํ•ด ์ฐพ์•„๋ณธ vim ๋ชจ๋“œ ์„ค๋ช…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ๊ณ  ๋„˜์–ด๊ฐ€์ž-! ์ผ๋ฐ˜ ๋ชจ๋“œ (Nomal Mode) ๊ธฐ๋ณธ ๋ชจ๋“œ์ด๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ ESC๋ฅผ ๋ˆŒ๋Ÿฌ ์ผ๋ฐ˜ ๋ชจ๋“œ๋กœ ๋Œ์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ํ™”์‚ดํ‘œ ํ‚ค ๋˜๋Š” h, j, k, lํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋น„์ฃผ์–ผ ๋ชจ๋“œ (Visual Mode) ์ผ๋ฐ˜ ๋ชจ๋“œ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ํ…์ŠคํŠธ ์˜์—ญ์„ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ ํƒ ์˜์—ญ์„ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ..
[ Flutter ] ๊ธธ์ด์— ๋”ฐ๋ผ Text ์ž๋™ ์ค„๋ฐ”๊ฟˆ / Flexible Text Flutter์—์„œ ์ž‘์—…์ค‘ Text๋ฅผ ๋‚ด๊ฐ€ ์ •ํ•œ Width ๊ธธ์ด ๋ฐ ์ค„์„ ์„ค์ •ํ•˜์—ฌ ๊ทธ ์ดํ›„์˜ ํ…์ŠคํŠธ๋“ค์€ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•.๐Ÿฅณ ๋‚˜๋Š” ์ƒ์„ธ ํŽ˜์ด์ง€ ์ด์ „์— ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํŽ˜์ด์ง€์—์„œ ํ…์ŠคํŠธ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ๋‹ค๐Ÿ˜„ !! ์œ„์™€๊ฐ™์ด Container์— width๋ฅผ ์ •ํ•ด์ฃผ๊ณ , maxLines๋ฅผ ์ •ํ•˜๋ฉด, ๋‚ด๊ฐ€ ์ •ํ•ด๋†“์€ ๊ฐ’์„ ๋„˜๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ์•„์ฃผ ๊ต‰์žฅํžˆ ์œ ์šฉ์“ฐ ํ•˜๋‹ค.๐Ÿ‘ * 10000 Container( width: 150, child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Flexible( child: RichText( overflow: TextOverflow.ellipsis, maxLines: 5, strutStyle: StrutSt..