๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[React Native] ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 2 - Websocket ์ด์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ (Build a real-time chatapp 1 - Implement frontend with websocket) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ ๊ธ€์— Node.js๋กœ ์›น์†Œ์ผ“ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ React Native์—์„œ ํ•ด๋‹น ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฑ„ํŒ…์„ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ (ํ™˜๊ฒฝ์€ React Native CLI + Typescript ์ž…๋‹ˆ๋‹ค.) Tutorial ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1 - Websocket ์ด์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ (feat. Websocket) (Build a real-time chatapp 1 - Implement backend with websocket) ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 2 - Websocket ์ด์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ (Build a real-time chatapp 1 - Implement frontend with webs.. 2022. 7. 28.
[Node.js] ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1 - Websocket ์ด์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ (feat. Websocket) (Build a real-time chatapp 1 - Implement backend with websocket) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Node.js์—์„œ Websocket์„ ์ด์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ (๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ƒ๋žตํ•˜๊ณ  ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ํ™•์ธํ•ด ์ฃผ์„ธ์š”!) Tutorial ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1 - Websocket ์ด์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ (feat. Websocket) (Build a real-time chatapp 1 - Implement backend with websocket) ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 2 - Websocket ์ด์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ (Build a real-time chatapp 1 - Implement frontend with websocket) Install express ๊ฐ„๋‹จํ•˜.. 2022. 7. 28.
[React Native] React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 5 - Axios ์ด์šฉํ•˜์—ฌ CRUD ๊ตฌํ˜„ํ•˜๊ธฐ (Implementing a api with Axios) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ React Native + Node.js + MySQL ํŠœํ† ๋ฆฌ์–ผ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ธ Axios๋ฅผ ํ™œ์šฉํ•˜์—ฌ CRUD๋ฅผ ๊ตฌํ˜„ํ•ด ์‹ค์ œ ์„œ๋ฒ„์— API๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ณ , ์ƒ์„ฑํ•˜๊ณ , ์ˆ˜์ •ํ•˜๊ณ  ,์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Tutorial React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 1 - ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๊ธฐ (Initialize server setting) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 2 - MySQL ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Create a MySQL Table) React Native + Node.js + MySQL To do lis.. 2022. 7. 27.
[Node.js] React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 4 - Express๋กœ CRUD ๊ตฌํ˜„ํ•˜๊ธฐ (Building a CRUD API with Express) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Node.js์—์„œ Express ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ MySQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ (CRUD) ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Tutorial React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 1 - ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๊ธฐ (Initialize server setting) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 2 - MySQL ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Create a MySQL Table) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 3 - React Native ํ™”๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ (Implement frontend) React N.. 2022. 7. 27.
[React Native] React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 3 - React Native ํ™”๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ (Implement frontend) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ React Native + CLI + TS๋กœ ํˆฌ ๋‘ ๋ฆฌ์ŠคํŠธ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Tutorial React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 1 - ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๊ธฐ (Initialize server setting) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 2 - MySQL ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Create a MySQL Table) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 3 - React Native ํ™”๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ (Implement frontend) React Native + Node.js + My.. 2022. 7. 26.
[React Native] ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ props ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ๊ธฐ(Functional Component update on props change) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ props๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ํ™”๋ฉด์ด ์—…๋ฐ์ดํŠธ ๋˜๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Problem ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ์ˆ˜์ • ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฌ๋ฉด ํผ ํ˜•์‹์˜ ๋ชจ๋‹ฌ์ด ๋œจ๋„๋ก ๊ตฌํ˜„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ณผ์ •์—์„œ ์ˆ˜์ • ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋• ํ•ด๋‹น ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฐ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐ’์ด ์ธํ’‹ ์•ˆ์— ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋ผ๋„๋ก ํ•˜๊ณ , ์ถ”๊ฐ€ ๋ฒ„ํŠผ์ด ๋ˆŒ๋ ธ์„ ๋• ๋นˆ ์ธํ’‹์ฐฝ์ด ๋ณด์ด๋„๋ก ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์™ผ์ชฝ์ด ์ถ”๊ฐ€(+) ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ, ์˜ค๋ฅธ์ชฝ์ด ์ˆ˜์ •๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ์ž…๋‹ˆ๋‹ค. TodoList.tsx ์œ„ ๋ฆฌ์ŠคํŠธ ํ™”๋ฉด์—์„œ useState๋ฅผ ๊ตฌํ˜„ํ•ด ์ค๋‹ˆ๋‹ค. const [todos, setTodos] = useState(todoDatas); const [todo, setTo.. 2022. 7. 26.
[React Native] TextInput๊ณผ Object๋ฅผ useState๋กœ ๋ฐ”์ธ๋”ฉ ํ•˜๋Š” ๋ฒ• (Binding a textinput with object) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ TextInput ๊ฐ’์— ๋”ฐ๋ผ Object์˜ ํŠน์ • ํ”„๋กœํผํ‹ฐ ๊ฐ’์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ useState๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ To do list Todolist์˜ ๋ชจ๋ธ์ธ TodoModel์ด ์žˆ์Šต๋‹ˆ๋‹ค. interface TodoModel { id: number; author: string; title: string; content: string; priority: number; } ํ•ด๋‹น Form์˜ ์ธํ’‹๊ฐ’์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” TodoModel์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ์š”. 1. useState๋ฅผ ํ†ตํ•ด TodoModel์„ ์ดˆ๊ธฐํ™” ํ•ด์ค๋‹ˆ๋‹ค. const [todo, setTodo] = useState({ author: '', .. 2022. 7. 26.
[iOS ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] This operation could not be completed ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ iOS ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…ํ•˜๋˜ ์ค‘์— git์œผ๋กœ ์–ด๋–ค ์ž‘์—…์„ ํ–ˆ๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”๋ฐ ์™œ ์ด ์˜คํผ๋ ˆ์ด์…˜์„ ์™„์„ฑํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š”๊ฑด์ง€... ์•„๋ฌด๋ฆฌ ๊ตฌ๊ธ€๋ง ํ•ด๋„ ํ•ด๊ฒฐ๋ฒ•์ด ๋‚˜์˜ค์ง€ ์•Š๋”๋ผ๊ตฌ์š”.. ๊ทธ๋ž˜์„œ ๋ฌด์ˆ˜ํ•œ ์‚ฝ์งˆ ๋์— ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  xcodeproj ํŒŒ์ผ์„ ์‹คํ–‰ ์‹œํ‚ค๋‹ˆ๊น ์ž˜๋˜๊ณ  ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ xcworkspace ํŒŒ์ผ์„ ์‹คํ–‰ ์‹œํ‚ฌ ๋•Œ๋งŒ ๋ฐœ์ƒํ•˜๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ cocoapod์— ์–ด๋–ค ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ฒ ๋‹ค ์‹ถ์–ด์„œ pod์„ ์‚ญ์ œํ•˜๊ณ  xcworkspace๋„ ๋ชจ๋‘ ์‚ญ์ œํ•œ ๋’ค ๋‹ค์‹œ ์„ค์น˜ํ•ด ์ฃผ๋‹ˆ๊น ์ •์ƒ์ ์œผ๋กœ ํ•ด๊ฒฐ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. pod ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ์ด๋™ pod deintegrate pod clean ์™œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์ธ์ง€๋Š” ์•„์ง ๋ชจ๋ฅด๊ฒ ์–ด์š”.. 2022. 7. 25.
[MySQL] React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 2 - MySQL ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Create a MySQL Table) Install MySQL MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.29 2.3M (mysql-installer-web-community-8.0.29.0.msi) MD5: 4f735569267527dec28d9e8d977f33d1 | Signatu dev.mysql.com MySQL Workbench MySQL :: Download MySQL Workbench Select Operating System: Select.. 2022. 7. 23.
[MySQL Error ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] Access denied for user '@localhost' (using password: YES) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ ‘์†ํ•˜๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚ฌ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Error ์ฒ˜์Œ์— ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋–ด์„ ๋•Œ ์•ก์„ธ์Šค๊ฐ€ ๋””๋‚˜์ด ๋‹นํ–ˆ๋‹ค...? ๋ผ๊ณ  ๋– ์„œ '์•„ ๋น„๋ฒˆ์„ ํ‹€๋ ค์„œ ์ด์ œ ์ ‘๊ทผ์ด ์ œํ•œ ๋๊ตฌ๋‚˜.. ์–ด๋–กํ•˜์ง€' ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ ๋น„๋ฒˆ์ด ํ‹€๋ ธ๋‹ค๋Š” ๊ฑธ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋œจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Reset Password ํ•˜์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ฒ ์ฃ ? ๊ทธ๋Ÿด ๋–ˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฆฌ์…‹ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ์š”. ๊ฐ€์žฅ ๋จผ์ € ์ž‘์—… ๊ด€๋ฆฌ์ž๋กœ ๋“ค์–ด๊ฐ€ ์„œ๋น„์Šคํƒญ์„ ๋ˆ„๋ฅธ ๋’ค MySQL์ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋ฉด ์ค‘์ง€๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ ๋‹ค์Œ์œผ๋กœ reset ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  .txt ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด.. 2022. 7. 23.
[Node.js] React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 1 - ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๊ธฐ (Initialize server setting) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ Node.js ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Tutorial React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 1 - ์„œ๋ฒ„ ์ดˆ๊ธฐ ์„ธํŒ…ํ•˜๊ธฐ (Initialize server setting) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 2 - MySQL ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Create a MySQL Table) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 3 - React Native ํ™”๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ (Implement frontend) React Native + Node.js + MySQL To do list ๋งŒ๋“ค๊ธฐ 4 - .. 2022. 7. 23.
[WWDC 2022] Swift๋กœ ํ”„๋กœํ† ์ฝœ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„ํ•˜๊ธฐ (Design protocol interface in Swift) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์ €๋ฒˆ ๊ธ€์ธ Embrace Swift Generics์—์„œ ๊ณ„์† ์–ธ๊ธ‰ํ•˜๋˜ Design protocol interface in Swift ์„ธ์…˜์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! (์ €๋ฒˆ ๊ธ€๊ณผ ๋งŽ์ด ์—ฐ๊ด€๋˜์–ด ์žˆ์œผ๋‹ˆ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ๊ผญ ์—ฌ๊ธฐ ์—์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!) ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Understand type erasure ๊ฐ€์žฅ ๋จผ์ € ํƒ€์ž… ์ด๋ ˆ์ด์ ธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. (erasure๋ฅผ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”.. ์‚ญ์ œ? ์ง€์›€?) ๊ฐ€์žฅ ๋จผ์ € ๋™๋ฌผ ํ”„๋กœํ† ์ฝœ์„ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™๋ฌผ ํ”„๋กœํ† ์ฝœ์€ associatedtype์œผ๋กœ ๋จน์ดํƒ€์ž…๊ณผ ์ƒ์‚ฐํ’ˆํƒ€์ž…์ด ์žˆ๊ณ , ๋ฉ”์„œ๋“œ๋กœ ๋จน์ดํƒ€์ž…์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›๋Š” eat, ์ƒ์‚ฐํ’ˆ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•˜๋Š” produce ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. pro.. 2022. 7. 11.
728x90
๋ฐ˜์‘ํ˜•