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

Node.js ๊ตฌ์กฐ์™€ ๋™์ž‘์›๋ฆฌ

Node.jsNode.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts. Node.js๋Š” ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ด๋ฉฐ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์„œ๋ฒ„, ์›น์•ฑ, ๋ช…๋ น์ค„ ๋„๊ตฌ, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ์กด์— ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ๋™์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ์—๋งŒ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ด ์„œ๋ฒ„ ์ธก์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จ๋˜์–ด ๋ธŒ๋ผ์šฐ์ € ๋ฐ–์—์„œ๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก Node.js๋ž€ ๋Ÿฐํƒ€์ž„์ด ์ƒ..

GraphQL vs Rest API

GraphQLํŽ˜์ด์Šค๋ถ์ด ๋งŒ๋“  ์ฟผ๋ฆฌ ์–ธ์–ด,REST API์˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ์˜ค๋ฒ„ํŒจ์นญ, ์–ธ๋”ํŒจ์นญ๋ฐฑ์—”๋“œ API๊ฐ€ ์ˆ˜์ •๋  ๋•Œ๋งˆ๋‹ค API ๋ช…์„ธ์„œ ์ˆ˜์ • ๊ณผ์ •๊ณผ ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ REST API vs GraphQL  REST APIGraphQLํ˜ธ์ถœ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ํ˜ธ์ถœ (/users, /articles)๋‹จ์ผ ์—”๋“œํฌ์ธํŠธ (/graphql)๋ฐ์ดํ„ฐ ์š”์ฒญํ•ญ์ƒ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ (์˜ค๋ฒ„ํŒจ์นญ)ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ์š”์ฒญ ๊ฐ€๋Šฅ๋ฐ์ดํ„ฐ ์กฐ์ž‘CRUD (GET, POST, DELETE, UPDATE)query(์กฐํšŒ), mutation(์ˆ˜์ •)์—๋Ÿฌ ์ฒ˜๋ฆฌHTTP ์ƒํƒœ ์ฝ”๋“œ๋กœ ์—๋Ÿฌ ๊ตฌ๋ถ„errors ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์—๋Ÿฌ ์ •๋ณด ์ œ๊ณต  ๋ฐ์ดํ„ฐ ์š”์ฒญ/์กฐ์ž‘REST API: HTTP ๋ฉ”์„œ๋“œ(GET, POST, ..

JWT (JSON Web Token) ๊ฐœ๋…

JWT (JSON Web Token)JSON ํ˜•์‹์œผ๋กœ ์ธ์ฝ”๋”ฉ๋œ ํ† ํฐ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ์ •๋ณด ์ „๋‹ฌ์— ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋ฐฉ์‹  ์ธ๊ฐ€ (Authorization)์–ด๋–ค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ ˆ์ฐจ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ฒƒ์€ ์ธ์ฆ(Authentication)์ด๊ณ , ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ๊ถŒํ•œ์„ ๊ฐ€์กŒ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ์ธ๊ฐ€(Authorization)์–ด๋–ค ์„œ๋น„์Šค์—์„œ ๊ฒŒ์‹œ๊ธ€์„ ๋“ฑ๋กํ•œ๋‹ค๋˜์ง€, ๋Œ“๊ธ€์„ ๋‚จ๊ธฐ๋˜์ง€ ๋“ฑ์˜ ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถŒํ•œ์— ๋Œ€ํ•ด ๋งค๋ฒˆ ํ™•์ธํ•ด์•ผ ํ•จ ⇒ ๋กœ๊ทธ์ธ ์œ ์ง€๋กœ๊ทธ์ธ ์œ ์ง€ ๋ฐฉ์‹์„ธ์…˜ (Session)ํ† ํฐ  Session๊ณผ JWT ๋น„๊ตSession์„ธ์…˜ ID๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•˜๊ณ  ์ดํ›„ ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ๋งˆ๋‹ค ์„ธ์…˜ ID๋ฅผ ๋ณด๋‚ธ๋‹ค. ์„œ๋ฒ„๋Š” ์ €์žฅ๋œ ์„ธ์…˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด..

[React-Native, Supabase] ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ๋ถ€ํ„ฐ ํšŒ์› ํƒˆํ‡ด๊นŒ์ง€.. ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

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

[React, React-Native] Context API๋กœ ์ „์—ญ์ ์œผ๋กœ ๋ชจ๋‹ฌ ๊ด€๋ฆฌํ•˜๊ธฐ

Introํ”„๋กœ์ ํŠธ ๋กœ์ง์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ž‘์„ฑ์ž ํ”„๋กœํ•„์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋ฒˆ๊ฐœ ๋ฏธํŒ…์—์„œ 1:1 ์ฑ„ํŒ…์„ ๋ˆ„๋ฅผ ๋•Œ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋‹ฌ์ฐฝ์„ ๋ณด์—ฌ์ฃผ๋„๋ก ๊ธฐํšํ•˜์˜€๋‹ค. ํ”„๋กœํ•„ ๋ชจ๋‹ฌ์˜ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ๋ชจ๋‹ฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ํ•œ ํŒŒ์ผ ๋‚ด์— ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ตฌํ˜„์„ ํ•˜๋ฉด ํ•œ ํŽ˜์ด์ง€์— ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ฒŒ ๋˜๊ณ  ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์กŒ๋‹ค.๋ชจ๋‹ฌ๋งŒ ๋”ฐ๋กœ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ชจ๋‹ฌ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „์— ๊ตฌํ˜„ํ–ˆ๋˜ ๋ชจ๋‹ฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ๋ชจ๋‹ฌ์˜ ์†์„ฑ์ด๋‚˜ ์Šคํƒ€์ผ์„ ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ์œผ๋ฉฐ ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  ์žˆ๋Š” ๊ฒŒ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋А๊ปด์กŒ๋‹ค.๋‹ซ๊ธฐ๋‚˜ ๋ชจ๋‹ฌ ์™ธ์˜ ์ฐฝ์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ๋„ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฑธ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ..

JavaScript - Map๊ณผ Set

Map (๋งต): ๊ฐ์ฒด์™€ ๊ฐ™์ด ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด์™€ Map ์ฐจ์ด์ ํ‚ค ๊ฐ’๊ฐ์ฒด๋Š” ํ‚ค ๊ฐ’์œผ๋กœ ๋ฌธ์ž์—ด์ด๋‚˜ Symbol ๊ฐ’๋งŒ ๊ฐ€๋Šฅํ•˜๋‚˜, Map ๊ฐ์ฒด๋Š” ๋ชจ๋“  ๊ฐ’์„ ํ‚ค๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.const objKey = { name: 'key' }const map = new Map()map.set(objKey, 123) ์ฐธ๊ณ ) ๊ธฐ์กด object์˜ ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ํ‚ค ๊ฐ’์œผ๋กœ ํ–ˆ์„ ๋•Œ.. ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ํ‚ค๋กœ ์ง€์ •ํ•˜์—ฌ๋„ [object Object]๊ฐ€ ์ €์žฅ๋จconst objKey = { x: 1, y: 2 }const obj = { [objKey]: '๊ฐ์ฒด๊ฐ€ ํ‚ค'}console.log(obj) // {[object Object]: '๊ฐ์ฒด๊ฐ€ ํ‚ค'}console.log(obj[objKey]) // '๊ฐ์ฒด๊ฐ€ ํ‚ค'consol..

TripShare ํŒ€ ํ”„๋กœ์ ํŠธ - ๊ธฐํš ์ตœ์ข…, ๊ฐœ๋ฐœ ์‹œ์ž‘

Intro๋“œ๋””์–ด ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋‹ค..!๋””์ž์ด๋„ˆ ๋ฉ˜ํ† ๋‹˜๊ป˜ ํ”ผ๋“œ๋ฐฑ์„ ์™•์ฐฝ ๋ฐ›๊ณ .. ์šฐ๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๋ช…์„ธ๋„ ์ƒ์„ธํžˆ ์ž‘์„ฑํ–ˆ๊ณ  ๋””์ž์ธ๋„ ๋‚˜๋ฆ„ ์™„๋ฒฝํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋งŽ์ด ํ˜ผ๋‚˜๊ณ (?)..๋งŽ์€ ํŒ์„ ๋ฐ›๊ณ  ๋‹ค์‹œ ๊ธฐํš์— ๋ถˆํƒœ์› ๋‹ค.์ด๋Ÿฐ ๋‹จ๊ธฐ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” MVP๋ฅผ ์ˆ˜๋ฆฝํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜์…จ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ธฐํšํ•œ ํ”„๋กœ์ ํŠธ์—” ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ์—ˆ๋Š”๋ฐ MVP ์„ค์ • ๋•๋ถ„์— ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์šฐ์„ ์ˆœ์œ„๋กœ ๋‘๊ณ  ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ๊ธฐ๋Šฅ ์ƒ์„ธ ๋ช…์„ธ ๋…ธ์…˜์— ๊ฐ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ๊ผผ๊ผผํžˆ ์ž‘์„ฑํ–ˆ์—ˆ๋Š”๋ฐ ๊ฒŒ์‹œ๊ธ€ ๋‚ ์งœ ํ‘œ๊ธฐ๋Š” ์–ด๋–ป๊ฒŒ ์ •ํ•  ๊ฒƒ์ธ์ง€, ํ™ˆ์—๋Š” ์ถ”์ฒœ ๊ฒŒ์‹œ๊ธ€์ด ๋ช‡ ๊ฐœ๊นŒ์ง€ ๋ณด์ผ ๊ฒƒ์ธ์ง€, ์ œ๋ชฉ ๊ธ€์ž ์ˆ˜๋Š” ์ œํ•œ์„ ๋‘˜ ๊ฒƒ์ธ์ง€ ๋“ฑ... ๋†“์นœ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•˜๋‹ค.๊ธฐํš, ๋””์ž์ธ, ๊ฐœ๋ฐœ๊นŒ์ง€ ๋ชจ๋‘ ์ž‘์—…ํ•˜๋Š” ๊ฒŒ ์ฒ˜์Œ์ด๋ผ ๋ฏธ์ˆ™ํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค..

ํŒ€ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ - ์•„์ด๋””์–ด ๊ตฌ์ฒดํ™”

Intro๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜์ž๋งˆ์ž ํŒ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘๋๋‹ค. ๐Ÿ˜ญํŒ€ ํ”„๋กœ์ ํŠธ๋Š” ์•ฝ 3์ฃผ ์ •๋„์˜ ๊ธฐ๊ฐ„์ด ์ฃผ์–ด์ง€๋Š”๋ฐ ๊ธฐํ•œ ๋‚ด์— ๊ธฐํš + ๋””์ž์ธ + ๊ฐœ๋ฐœ๊นŒ์ง€ ํ•˜๋ ค๋ฉด ์ด‰๋ฐ•ํ–ˆ๋‹ค.๊ทธ๋ž˜์„œ ์–ด๋–ค ์•ฑ์„ ๋งŒ๋“ค์ง€ ์•„์ด๋””์–ด๋Š” ๋ฏธ๋ฆฌ ํŒ€์›๋“ค๊ณผ ์ •ํ•ด๋†“๊ธฐ๋„ ํ–ˆ๋‹ค.  ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ƒํ™ฉ์•„์ด๋””์–ด ๊ตฌ์ฒดํ™” - BoardMix, Figma์–ด๋–ค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ๊ฐ์ž ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜์˜€๊ณ  ์•„์ด๋””์–ด์— ๋Œ€ํ•ด ์ž์œ ๋กญ๊ฒŒ ์–˜๊ธฐํ•  ๋งŒํ•œ ๊ณณ์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์—ฌ๋Ÿฌ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ ํˆด์„ ์ฐพ์•„๋ณด์•˜๋‹ค. ์ด์ „์— Miro๋ฅผ ์‚ฌ์šฉํ–ˆ๋˜ ์ ์ด ์žˆ๋Š”๋ฐ ๊ทธ๋•Œ ๋งŒ์กฑ๋„๊ฐ€ ๋†’์•˜์–ด์„œ Miro๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ์œผ๋‚˜ ๋ฌด๋ฃŒ ๋ฒ„์ „์— ์ œํ•œ์ด ๋งŽ์•„ ๋‹ค๋ฅธ ํˆด์„ ์ฐพ๋‹ค๊ฐ€ BoardMix๋ผ๋Š” ํˆด์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.๋ฌด๋ฃŒ ๋ฒ„์ „์€ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์•„์ดํ…œ ์ œํ•œ๊ณผ ํŒ€์›์€ ์ตœ๋Œ€ 5๋ช…๊นŒ์ง€ ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ ๋งˆ์นจ ์šฐ๋ฆฌ ํŒ€์ด..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240420, 240421 - React Native ์บ ํ•‘์•ฑ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ ๋งˆ๋ฌด๋ฆฌ

Introํ”„๋กœ์ ํŠธ๊ฐ€ ์›”์š”์ผ๊นŒ์ง€๋ผ ์ฃผ๋ง์—๋„ ์—ด์‹ฌํžˆ ์ž‘์—…์„ ํ–ˆ๋‹ค.firebase authentication์œผ๋กœ ๋กœ๊ทธ์ธ ์—ฐ๋™์„ ํ•˜๊ณ  firebase firestore๋„ ์—ฐ๊ฒฐํ•ด DB ์„ค์ •ํ•˜๋ ค ํ–ˆ์œผ๋‚˜ firestore๋Š” ์—ฐ๋™์— ์‹คํŒจํ–ˆ๋‹ค ใ…     ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ƒํ™ฉReact Native Firebasehttps://rnfirebase.io/ React Native Firebase | React Native FirebaseWelcome to React Native Firebase! To get started, you must first setup a Firebase project and install the "app" module. React Native Firebase is the officially recommen..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240419 - React Native ์บ ํ•‘์•ฑ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ (3)

Intro3์ผ์ฐจ์—๋Š” Article ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. firebase๋ฅผ ์—ฐ๋™ํ•  ์˜ˆ์ •์ด๋ผ ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ณต๋œ API๋Š” ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์•˜๋‹ค. โœ… Article UI ๊ตฌํ˜„โžก๏ธ Home UI ๊ตฌํ˜„โœ… ๋ฌดํ•œ ์Šคํฌ๋กค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ   ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ƒํ™ฉImageBackground์•„ํ‹ฐํด ํ—ค๋”๋กœ ์“ฐ์ด๋Š” ๊ฐ์ข… ์บ ํ•‘ ์ •๋ณด ๋ฐ•์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ์ปดํฌ๋„ŒํŠธ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด๊ฐ„ ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ react-native์˜ ImageBackground ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค.import { ImageBackground, ...} from 'react-native'; ๊ฐ์ข… ์บ ํ•‘ ์ •๋ณด ์บ ํ•‘ํˆฌ๊ฒŒ๋”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ข… ๊ฟ€ํŒ์œผ๋กœ ์บ ํ•‘์„ ๋” ํ’์„ฑํ•˜๊ฒŒ ์ฆ๊ฒจ๋ณด์„ธ์š”. ..