๐Ÿ‘จ‍๐Ÿ’ป kimtongting
article thumbnail
[React Native] ์„ค์น˜ ๋ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (Windows)

React Native ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” React Native ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (*nodejs๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ›„, ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.) 1. React-Native-Cli ์„ค์น˜ $ npm install -g react-native-cli ์ปค๋งจ๋“œ ์ฐฝ์— ์— ์œ„์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด React-Native-Cli๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ -g ์˜ต์…˜์€(global) ์ „์—ญ๋ฒ”์œ„ ์„ค์น˜(์‚ฌ์šฉ)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. npm์œผ๋กœ ์„ค์น˜ํ•œ ๋ชจ๋“ˆ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ์•ˆ์—์„œ๋งŒ ํšจ๋ ฅ์„ ๋ฐœํœ˜ํ•˜๋Š”๋ฐ, cli๋Š” ์ „์—ญ ๋ฒ”์œ„์—์„œ ์ผ์–ด๋‚˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— -g๋ฅผ ๋ถ™์—ฌ์ค๋‹ˆ๋‹ค. 2. React-Native ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. $ react-native init project ..

article thumbnail
[React] axios vs fetch / axios fetch ์ฐจ์ด / axios fetch ์ฐจ์ด์ 

axiso Axios ๋Š” ๋ธŒ๋ผ์šฐ์ €, Node.js ๋ฅผ ์œ„ํ•œ Promise API ๋ฅผ ํ™œ์šฉํ•˜๋Š” HTTP ๋น„๋™๊ธฐ ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(return ์„ promise ๊ฐ์ฒด๋กœ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, response ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์šด ์žฅ์ ) axios ํŠน์ง• ์šด์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋ธŒ๋ผ์šฐ์ €์˜ XMLHttpRequest ๊ฐ์ฒด ๋˜๋Š” Node.js์˜ http api ์‚ฌ์šฉ Promise(ES6) API ์‚ฌ์šฉ ์š”์ฒญ๊ณผ ์‘๋‹ต ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ˜• HTTP ์š”์ฒญ ์ทจ์†Œ HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ JSON ํ˜•ํƒœ๋กœ ์ž๋™ ๋ณ€๊ฒฝ axios ๊ธฐ์ดˆ๋ฌธ๋ฒ• /* axios ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฌธ๋ฒ• ์˜ˆ์‹œ */ axios({ method: "get", // ํ†ต์‹  ๋ฐฉ์‹(GET/POST) url: "www.google.com", // ์„œ๋ฒ„ headers: {'X-Requested-With..

article thumbnail
Why do we modularize our applications?

๋ชจ๋“ˆํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ? ํ™•์žฅ์„ฑ(extensibility) ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋Š” ์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ํ™•๋ฅ ์ด ๋†’๋‹ค. (์ฐจ์„ธ๋Œ€๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ด๋‹ค.) ์žฌ์‚ฌ์šฉ์„ฑ(reusability) ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์ฝ”๋“œ์ƒ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์šฐ๋ฆฌ๊ฐ€ ์„ค๊ณ„ํ•œ ๊ตฌ์กฐ๊ฐ€ ์žฌ์‚ฌ์šฉ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์œ ์ง€-๋ณด์ˆ˜ ๊ฐ€๋Šฅ์„ฑ(maintability) ์—ฌ๋Ÿฌ ๋กœ์ง์ด ๋’ค์—‰์ผœ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์•ˆ๋œ๋‹ค. (๋‹น์‹œ ์ตœ์‹  ๊ธฐ์ˆ ์„ ํ˜„์žฌ ์ตœ์‹  ๊ธฐ์ˆ ๋กœ ๋ณ€๊ฒฝ ์‹œ ์šฉ์ดํ•˜๋‹ค.) ๊ฐ€๋…์„ฑ(readability) ์–ด๋ ค์šด ๋กœ์ง ์ผ์ˆ˜๋ก ๋” ๊ฐ€๋…์„ฑ์ด ๋†’์•„์•ผ ํ•œ๋‹ค. ์–ด๋ ค์šด ๋กœ์ง์„ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ์ฝ”๋“œ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ ๋˜ํ•œ ํ•œ ๋ˆˆ์— ๊ทธ๋ ค์ ธ์•ผ ํ•˜๋ฉฐ, ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. ํ…Œ์ŠคํŠธ..

article thumbnail
[React] Axios / React API ํ†ต์‹  (๋ฆฌ์•กํŠธ api ํ†ต์‹ )

axios ๋ชจ๋“ˆํ™” axios๋Š” ํ†ต์‹ ์œผ๋กœ ํ•œ ๊ณณ์—์„œ๋งŒ ์“ฐ์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์œ ์ง€๋ณด์ˆ˜ ๋ฐ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ๋ชจ๋“ˆํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๊ธ€์—์„œ ์ž‘์„ฑํ•œ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ, 'utils' ๋””๋ ‰ํ† ๋ฆฌ์— api.js ๋ผ๋Š” react.js ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. api.js ์„ ์–ธ import axios from 'axios'; const API =axios.create({ //baseURL: `http://localhost:8080/common`, timeout: 30000, headers: { "Content-Type" : `application/json;charset=UTF-8`, "Access-Control-Allow-Origin": "*", "Accept": "applicat..

article thumbnail
[React] ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ / ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ, ์ œ์ผ ๋จผ์ € ์„ ํ–‰๋˜์–ด์•ผํ•˜๋ฉฐ ๋ˆ„๊ตฌ๋‚˜๊ฐ€ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค ์—ญ์‹œ ๊ธฐ์กด์— ๋ˆ„๊ตฐ๊ฐ€ ๋งŒ๋“ค์—ˆ๋˜ ํ”„๋กœ์ ํŠธ ๋ฃฐ์— ๋”ฐ๋ฅด๋‹ค ๋ณด๋‹ˆ, ์‹ค์ œ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ์ผ์€ ์—†์–ด์„œ ์ค‘์š”๋„๋Š” ๋‚ฎ๊ฒŒ ํ‰๊ฐ€๋˜์ง€๋งŒ, ์„ค๊ณ„๋ฅผ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์—๊ฒŒ๋Š” ๊ต‰์žฅํžˆ ์ค‘์š”ํ•œ ์ž‘์—…์ด ์•„๋‹ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” React๋ฅผ ๋ฒ ์ด์Šค๋กœ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Web์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฐ๊ตญ ๋งˆ์ง€๋ง‰์— ์ตœ์ƒ๋‹จ(src ํ•˜์œ„)์—์„œ ๋ณด๊ฒŒ ๋  ๋””๋ ‰ํ† ๋ฆฌ๋Š” '3'๊ฐœ ๋˜๋Š” '4'๊ฐœ ์ž…๋‹ˆ๋‹ค. ๋ฐ”๋กœ 'components', 'resources', 'views', ('utils') * 'components' : ํŠน์ • ๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ„ ํŽ˜์ด์ง€๋“ค์„ ..

article thumbnail
[Node.js] MyBatis / nodejs ์—์„œ Mybatis ์‚ฌ์šฉํ•˜๊ธฐ / ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค Node.js MyBatis

Node.js ์—์„œ์˜ MyBatis ์ฃผ๋ณ€ ์ง€์ธ๋“ค์—๊ฒŒ NodeJS๋ฅผ ๊ถŒ์œ ํ•˜๋ฉด์„œ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๋‹ค MyBatis์— ๋Œ€ํ•ด ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋ฌป๊ธธ๋ž˜ ๋‹ต๋ณ€์„ ํ•ด์คฌ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค. Spring Framework ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Restful API ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋˜ MyBatis, ์ตœ๊ทผ์—๋„ ๊ด€๋ จ ์งˆ๋ฌธ์ด ๋“ค์–ด์™”๊ณ , ๋ถ„๋ช… ๋ˆ„๊ตฐ๊ฐ€๋Š” ๊ถ๊ธˆํ•ด ํ•˜์‹ค ๊ฒƒ์ด๊ธฐ์—! ๊ทธ ๋ถ„๋“ค์„ ์œ„ํ•ด ๊ณต์œ ํ•œ๋‹ค. ์„ค์น˜ $ npm install mybatis-mapper ์„ ์–ธ const mysql = require('postgresql'); //RDBMS const mybatisMapper = require('mybatis-mapper'); //์„ค์น˜ํ•œ Mybatis lib ๋งตํ•‘ //๋ณ„๋„๋กœ ์„ค์ •์„ ๋นผ์ฃผ๋Š”๊ฒŒ ์ข‹์œผ๋‚˜, ์˜ˆ์‹œ๋ฅผ ์œ„ํ•ด ํ•œ ๊ณณ์— ์„ ์–ธ. const connec..

article thumbnail
[React] localStorage์™€ sessionStorage

localStorage ์™€ sessionStorage๋ž€? localStorage์™€ sessionStorage ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์—ญ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค. ๊ฐ storage์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋ฌธ์ž์—ด๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” JSON ํ˜•ํƒœ๋กœ ๋ณ„๋„ ๊ฐ€๊ณต์ด ํ•„์š”ํ•˜๋‹ค. ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด์ ์€ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฅด๋‹ค๋Š” ์ ์ด๋‹ค. localStorage๋Š” ๋™์ผํ•œ pc์•ˆ์—์„œ ๋™์ผํ•œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์— ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•„๋„ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๊ณ , ์ฃผ๋กœ ๋กœ๊ทธ์ธ ์‹œ '์•„์ด๋””์ €์žฅ' ๊ธฐ๋Šฅ์„ ํƒ‘์žฌํ•œ ๋ชจ๋ฐ”์ผ์›น์—์„œ ์ž์ฃผ ์“ฐ์ธ๋‹ค. sessionStorage๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ๋‹ซํžˆ๋ฉด ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด์„œ..

article thumbnail
[React] string ์•ˆ์— ${๋ณ€์ˆ˜๋ช…} ์•ˆ๋จ / ${} / ${๋ณ€์ˆ˜๋ช…}

์„ ์–ธ ' ๋Œ€์‹  ` ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ' ์€ single quotation ์ด๊ณ  ` ๋Š” Grave ํ‚ค๋ณด๋“œ์˜ ์ˆซ์ž1 ์™ผ์ชฝ์— ์žˆ๋Š” ๊ธฐํ˜ธ์ด๋‹ค. username์˜ value ๊ฐ€ 'test' ๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. 'hello ${username}' ์˜ ์ถœ๋ ฅ์€ hello ${username} ๋กœ ๋ชจ๋“  ๊ฐ’์„ String ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค. `hello ${username}` ์˜ ์ถœ๋ ฅ์€ hello test ๊ฐ€ ๋œ๋‹ค