๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€32

React 2026 Future Outlook React๋Š” 2026๋…„์—๋„ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๋ฉฐ, ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์™€ ํ’€์Šคํ… ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์œผ๋กœ์˜ ์ง„ํ™”๋ฅผ ํ†ตํ•ด ๋”์šฑ ๊ฐ•๋ ฅํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ ์žˆ์Šต๋‹ˆ๋‹ค. Typescript์˜ ํ‘œ์ค€ํ™”, Nextjs์™€์˜ ํ†ตํ•ฉ ๊ทธ๋ฆฌ๊ณ  ์„ฑ๋Šฅ ์ตœ์ ํ™”์—๋Œ€ํ•œ ์ง€์†์ ์ธ ๊ฐœ์„ ์œผ๋กœ React๋Š” ํ˜„๋Œ€์ ์ธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ์—ฌ์ „ํžˆ ์„ ํ˜ธ๋˜๋Š” ์„ ํƒ์ง€๋กœ ๋‚จ์„ ์ „๋ง์ž…๋‹ˆ๋‹ค. Typescript๋Š” ํ•„์ˆ˜?์ด์ œ Typescript๋Š” ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜๊ฐ€ ๋˜์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. React๊ฐœ๋ฐœ์—์„œ๋„ ์˜ˆ์™ธ๋Š” ์•„๋‹ˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜ ์š”์†Œ๋กœ ์ž๋ฆฌ์žก์•˜์œผ๋ฉฐ, ์ด๋Š” ๋‹จ์ˆœํžˆ ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ์œ„ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ํ˜„๋Œ€์ ์ธ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์˜ ํ•ต์‹ฌ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์žฅ ์˜†์— ๋™๋ฃŒ์—๊ฒŒ ๋ฌผ์–ด๋ด๋„ ์•Œ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํฌ๊ฒŒ ์˜๋ฏธ๊ฐ€ ์—†๋Š”๊ฑด ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ.. 2025. 10. 13.
React native navigation (without props) ์„œ๋ฌธreact native์—์„œ component function์ด๋‚˜ hooks๊ฐ€ ์•„๋‹๊ณ ์„œ๋Š” hooks๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๊ฐ€ ๋œฌ๋‹ค.ํ•˜์ง€๋งŒ ์ผ๋ฐ˜ํ•จ์ˆ˜์—์„œ hooks๋ฅผ ์ ์šฉ์„ ํ•ด์•ผํ• ๋•Œ๊ฐ€ ์žˆ๋‹ค.๊ทธ๋•Œ ํ•„์š”ํ•œ ๋ฐฉ๋ฒ•์„ ์ ์–ด๋ณด์•˜๋‹ค. ๋ณธ๋ฌธreact ํ”„๋กœ์ ํŠธ์— axios๋ถ€๋ถ„์„ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ์ƒ๊ธด ๋ฌธ์ œ์ด๋‹ค. ์†Œ์Šค์—๋Š” ๋ณ„๋‹ค๋ฅธ ํŠน์ง•์€ ์—†์—ˆ์œผ๋‚˜ ์›น์—์„œ๋งŒ ์ž‘๋™๋˜๋˜ web api๊ฐ€ ์žˆ์—ˆ๋‹ค.๊ทธ๊ฑด ๋ฐ”๋กœ ์ด ๊ฒƒ์ด์—ˆ๋‹ค.window.location.href = /*router name*/ ์ผ๋‹จ ์†Œ์Šค์—๋Š” ํŠน์ • ์—๋Ÿฌ์ฝ”๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์œ„ ์†Œ์Šค๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด์ด์—ˆ๋‹ค. ํ•ด๋‹น ์†Œ์Šค ์‹คํ–‰ ์œ„์น˜๋Š” axos interceptor์ชฝ์ด์—ˆ๋‹ค.๋งŒ์•ฝ ํ•ด๋‹น interceptor์—์„œ hooks๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜ํƒ€๋‹จ๋‹ค.Uncau.. 2024. 10. 22.
react native ์˜ค๋ฅ˜ ๋ณด๊ณ ์„œ ์˜ค๋ฅ˜ ๋ฆฌ์ŠคํŠธ ๋ฐ ํ•ด๊ฒฐ1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ ๋ฌธ์ œ(?)์—๋Ÿฌ ๋‚ด์šฉ์€ Execution failed for task ':app:checkDebugDuplicateClasses'.ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ฐพ์•„๋ณด๋‹ˆ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค. gradle.propertiesandroid.enableJetifier=true 2.java jdk ๋ฒ„์ „ ์˜ค๋ฅ˜ ๊ธฐ์กด์— 11๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ ์žˆ์—ˆ๋Š”๋ฐ react-native 0.75๋ฒ„์ „์„ ์„ค์น˜ํ•ด์„œ ์ž‘์—…์„ ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋‹ˆ 17๋ฒ„์ „์„ ์š”๊ตฌํ•˜๊ณ ์žˆ์—ˆ๋‹ค.17๋ฒ„์ „์€ react-native ํ™˜๊ฒฝ์„ค์ •์—์„œ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•˜๋‹ค. jdk๋ฒ„์ „๋“ค ํ™•์ธ์„ ํ•˜๋ฉด ๊ธฐ์กด์— ์„ค์น˜๋œ ๋ฒ„์ „๋“ค์ด ๋‚˜์˜ฌ๊ฒƒ์ด๋‹ค.$ /usr/libexec/java_home -V ์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด 17๋ฒ„์ „์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ 11๋ฒ„์ „์œผ๋กœ์„ค์ •ํ•ด๋†“์•˜.. 2024. 10. 21.
gitlab ci cd ์ ์šฉ ๊ณผ์ • (feat. Teams webhook) Gitlab CI / CD ๊ฐœ์š”์กฐ์ง์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ง€์†์ ์ธ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ์ด๋‹ค.CI(์ง€์†์ ์ธ ํ†ตํ•ฉ) CD(์ง€์†์ ์ธ๋ฐฐํฌ) ์ ์šฉํ•˜๊ฒŒ ๋œ ์ด์œ ์žฆ์€ ์†Œ์Šค ํ‘ธ์‰ฌ์™€ ์„œ๋ฒ„์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์ด ๋„ˆ๋ฌด ๋ฒˆ๊ฑฐ๋กœ์› ๋‹ค.  ํŠนํžˆ ์„œ๋ฒ„pc๊ฐ€ ์™ธ๋ถ€์•„์ดํ”ผ ์ ‘๊ทผ์„ ์™„์ „ํžˆ ๋ง‰์•„๋†“์€ ์ƒํƒœ๋ผ๋ฉด.. ํšŒ์‚ฌ๊ฐ€ ์•„๋‹Œ ๋ฐ–์—์„œ ์ž‘์—…ํ•˜์—ฌ ๋ฐฐํฌํ•  ๊ฒฝ์šฐ ์ •๋ง ๊ท€์ฐฎ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—” ์ž๋™ํ™” ๊ฐœ๋…์ธ ci cd๋ฅผ ์ ์šฉํ•ด๋ณด๊ธฐ๋กœํ–ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์„œ๋ฒ„pc์— ์ ์šฉํ•˜๊ณ  ๋ธŒ๋Ÿฐ์น˜๋กœ pull๋งŒ ํ•˜๋ฉด ํŽธํ•˜์ง€ ์•Š์„๊นŒ ๋ผ๋Š” ์ƒ๊ฐ์ด์—ˆ๋‹ค. ์ ์šฉ๊ณผ์ •gitlab runner ์„ค์น˜์™€ teams ์•Œ๋ฆผ๊ธฐ๋Šฅ ์ ์šฉ ๋‘๊ฐ€์ง€๋ฅผ ์ ์šฉํ•  ๊ฒƒ์ด๋‹ค. Gitlab runner ์„ค์น˜ ๋ฐ ๋“ฑ๋ก์ผ๋‹จ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์•Œ์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.git commit.. 2024. 9. 9.
gitlab ssh key ๋“ฑ๋ก ๋ฐฉ๋ฒ• (credential store์™€ ๋น„๊ต) gitlab ๊ฐœ์š”gitlab์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํŒ€์ด ์ œํ’ˆ์„ ๊ณ„ํš, ์ฝ”๋“œํ™”, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ์›น ๊ธฐ๋ฐœ ๋ฐ๋ธŒ์˜ต์Šค ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ssh ๊ฐœ์š”๋ณด์•ˆ ์‰˜ ํ”„๋กœํ† ์ฝœ์˜ ์•ฝ์ž๋กœ ๋ณด์•ˆ๋˜์ง€ ์•Š์€ ๋„คํŠธ์›Œํฌ์—์„œ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•œ ์•”ํ˜ธํ™” ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ํ†จ ์ž…๋‹ˆ๋‹ค.๊ณต๊ฐœ ํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์ปดํ“จํ„ฐ๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ์ ์šฉํ•˜๊ฒŒ ๋œ ์ด์œ gitlab์—์„œ ์†Œ์Šค๋ฅผ ํด๋ก ํ•˜์—ฌ push, pull ๋“ฑ๋“ฑ ์‚ฌ์šฉ ์‹œ  username, password๋ฅผ ์š”๊ตฌ๋ฅผ ํ•œ๋‹ค.๊ณ„์†๋˜๋Š” ๋ฐ˜๋ณต์ž‘์—…์€ ๊ฒฐ๊ตญ ๊ท€์ฐฎ๋‹ค๋Š” ์ƒ๊ฐ๋งŒ ๋‚จ๊ฒŒ ๋˜์—ˆ๋‹ค.๋งค๋ฒˆ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•๋“ค์ด ๋‚˜์˜ค๋Š”๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ ์ค‘ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•ด๋ณด๋ ค๊ณ ํ–ˆ๋‹ค๋ชฉ์ ์€ ์ถ”๊ฐ€ ์ž…๋ ฅ์—†์ด git ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด๊ณ  ๊ทธ ๋ชฉ.. 2024. 9. 3.
Mysql Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' ์—๋Ÿฌ ์ฟผ๋ฆฌ ์‚ฌ์šฉ์‹œ ์—๋Ÿฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ํ˜„์ƒ. Error: Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' ์›์ธ 1.์ƒˆ๋กœ์šด DB๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ…Œ์ด๋ธ”๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๊ณ  ๋‚œ ๋’ค ์—๋Ÿฌ ๋ฐœ์ƒ 2.ํ…Œ์ด๋ธ”์— collcation๊ฐ’์ด ๋ฐ”๋€œ ๊ธฐ์กด(utf8mb4_general_ci) -> ๋ณ€๊ฒฝ(utf8mb4_0900_ai_ci) 3.Mysql ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” Collation ์„ ํ™•์ธ ํ•˜์ง€ ๋ชปํ•จ. -> ex) charset = utf8mb4์˜ collation ๊ธฐ๋ณธ๊ฐ’์€ Mysql ๋ฒ„์ „์ด ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. -> 8.0๋ถ€ํ„ฐ๋Š” default collation ๊ฐ’์ด utf8mb4_0900_a.. 2023. 7. 31.
728x90
๋ฐ˜์‘ํ˜•
LIST