[FE] MSW(Mock Service Worker)๋กœ ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋‹จ์ถ•ํ•˜๊ธฐ!
ยท
study/JavaScript๐ŸŒŸ
๊ฐœ์š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด, ํ•ญ์ƒ ํ”„๋ก ํŠธ๋งŒ ํ”Œ์  ์ œ์ผ ๋งˆ์ง€๋ง‰ ์ˆœ๊ฐ„๊นŒ์ง€ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋‹ค.. ๊ธฐํš, ๋””์ž์ธ์ด ์™„๋ฃŒ๋˜๋ฉด ๋ฐฑ์—”๋“œ๊ฐ€ ๋จผ์ € ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ณ , API ๊ฐœ๋ฐœ์ด ๋๋‚œ ๋’ค ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ด ๋“ค์–ด๊ฐ€๋ฉด ์ข‹๊ฒ ์ง€๋งŒ, ํ˜„์‹ค์€ ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ๋™์‹œ์— ์‹œ์ž‘ํ•˜๋Š” ๊ฒŒ ๋Œ€๋ถ€๋ถ„์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋ก ํŠธ์—์„œ๋Š” ๋ฐฑ์—”๋“œ๊ฐ€ ์ค€ API ๋ช…์„ธ์„œ๋ฅผ ๋ณด๊ณ  Mock Data๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„์šธ ์ค€๋น„๋ฅผ ํ•ด๋†“๋Š”๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•˜๋ฉด, API ๊ฐœ๋ฐœ์ด ๋๋‚œ ๋’ค, ๋˜ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์™ธ๋กญ๊ฒŒ ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•œ๋‹ค..ใ… ใ…  ์ด๋ฒˆ์— ๋ฐฉํ•™ UMC ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ MSW๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž๋Š” ์–˜๊ธฐ๊ฐ€ ๋‚˜์™”๋‹ค. MSW๋งŒ ์ œ๋Œ€๋กœ ๊ตฌ์ถ•ํ•ด๋†“์œผ๋ฉด, API ์—ฐ๊ฒฐ์„ ๋ฏธ๋ฆฌ ํ•ด๋†“๋Š” ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์•„์„œ ๋‚˜์ค‘์— ๋˜ ๊ฐœ๋ฐœ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ํ”Œ์ ์—์„œ๋Š” ๋ฐฑ์—”๋“œ๋ณด๋‹ค ..
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ์„ ์–ธ์‹๊ณผ ํ•จ์ˆ˜ ํ‘œํ˜„์‹
ยท
study/JavaScript๐ŸŒŸ
UMC 2์ฃผ์ฐจ ์›น ์Šคํ„ฐ๋””๋ฅผ ํ•˜๋ฉด์„œ ์ต๋ช…ํ•จ์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์ด๊ณ  ๊ธฐ๋ช…ํ•จ์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ์„ ์–ธ์‹์ธ ๊ฑธ ์ฒ˜์Œ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค!! ๊ทธ ์ „๊นŒ์ง€๋Š” ๊ทธ๋ƒฅ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€๋งŒ ์•Š์œผ๋ฉด ์ต๋ช…ํ•จ์ˆ˜์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ต๋ช…ํ•จ์ˆ˜๋„ ํ•จ์ˆ˜ ์ด๋ฆ„์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์ด ์žˆ๋Š” ์ต๋ช…ํ•จ์ˆ˜ ๋•Œ๋ฌธ์— ์ต๋ช…ํ•จ์ˆ˜ ๊ธฐ๋ช…ํ•จ์ˆ˜ ๊ฐœ๋…์ด ์ข€ ๋” ํ—ท๊ฐˆ๋ ธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ต๋ช…ํ•จ์ˆ˜์™€ ๊ธฐ๋ช…ํ•จ์ˆ˜ ์ฐจ์ด ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์€ ๋ฌด์กฐ๊ฑด ํ•จ์ˆ˜๋ช… ์ •์˜๋˜์–ด์•ผ ํ•˜๊ณ , ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ์—†์–ด๋„ ๋œ๋‹ค. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์€ ํ•จ์ˆ˜ ์ „์ฒด๊ฐ€ ํ˜ธ์ด์ŠคํŒ… ๋˜๊ณ , ํ˜ธ์ถœ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ๋ณ€์ˆ˜์˜ ์„ ์–ธ๋ฌธ๋งŒ ํ˜ธ์ด์ŠคํŒ…๋œ๋‹ค => ํ•จ์ˆ˜ ์„ ์–ธ์‹์€ ํ•จ์ˆ˜ ์„ ์–ธ ์ฝ”๋“œ ์œ„์—์„œ ํ˜ธ์ถœ O, ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ X ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.(๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์Šค์ฝ”ํ”„์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)..
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ var, let, const ์ฐจ์ด์ 
ยท
study/JavaScript๐ŸŒŸ
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ var, let, const๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์„ธ ๊ฐœ๋Š” ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ํ•˜๋ฏ€๋กœ ์…‹์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋‘๊ณ  ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค! var - ES6 ๋‚˜์˜ค๊ธฐ ์ด์ „์— ์ž์ฃผ ์ผ๋˜ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฐฉ์‹์ด๋‹ค. - ์ค‘๋ณต ์„ ์–ธ๊ณผ ์žฌํ• ๋‹น์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค. var letter = 'first'; console.log(letter); // first var letter = 'second'; console.log(letter); //second letter = 'third'; console.log(letter);//third ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด, ์ค‘๋ณต ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ• ๋‹น๋œ ๊ฐ’์ด ์ตœ์ข… ๋ณ€์ˆ˜์— ์ €์žฅ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. - ํ•จ์ˆ˜์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•œ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„..
[Javascript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Fetchํ•จ์ˆ˜๋กœ ๋ฐฑ์—”๋“œ์™€ ํ†ต์‹ ํ•˜๊ธฐ
ยท
study/JavaScript๐ŸŒŸ
๊ฐœ์š” ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ๋ฐฑ์—”๋“œ์™€ ํ˜‘์—…ํ•  ๋•Œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ fetchํ•จ์ˆ˜๋ฅผ ์“ฐ๊ฑฐ๋‚˜ axios๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ api๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ค๋ช… ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. api ์ฃผ์†Œ๋ฅผ ์จ์ค€๋‹ค. 2. HTTP METHOD๋ฅผ ์จ์ค€๋‹ค. ์ด๋•Œ, GET์€ method๋ฅผ ๋”ฐ๋กœ ์จ์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. 3. header, body๊ฐ€ ์žˆ์œผ๋ฉด ์จ์ค€๋‹ค. 4. .then()์œผ๋กœ ๋‹ค์Œ ๋กœ์ง์„ ์จ์ค€๋‹ค. fetch("api์ฃผ์†Œ", { method: "POST", // HTTP Method(post, put, delete, get) headers: { "Content-Type": "application/json" }, body: JSON.stringify({name : cowboysj}) }) .then((response) => respons..
[Javascript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ inputํƒœ๊ทธ ๊ฐ€์ƒํ‚ค๋ณด๋“œ๋กœ ํ‚คํŒจ๋“œ ๋„์šฐ๊ธฐ
ยท
study/JavaScript๐ŸŒŸ
๊ฐœ์š” ํ”„๋กœ์ ํŠธ์—์„œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ปค์„œ๋ฅผ ๋Œ€๋ฉด ์ž๋™์œผ๋กœ ํ‚คํŒจ๋“œ๊ฐ€ ๋œจ๊ฒŒ ํ•˜๋ ค๊ณ  inputtype์„ "number"๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ์ž˜ ์ ์šฉ์ด ๋˜์ง€๋งŒ IOS์—์„œ๋Š” ํ‚คํŒจ๋“œ๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜ ์žํŒ์ด ๋œฌ๋‹ค๊ณ  ํ•œ๋‹ค.. ํ•ด๊ฒฐ๋ฒ• inputtype ์ด์™ธ์— ๋ณ„๋„๋กœ inputmode="numeric" ์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค..! ๋งŒ์•ฝ, ํ‚คํŒจ๋“œ์— ์ˆซ์ž์™€ ํ•จ๊ป˜ .(์˜จ์ ) ์„ ๋„ฃ๊ณ  ์‹ถ๋‹ค๋ฉด numeric ๋Œ€์‹  decimal์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
[Javascript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ input type = "number"์ผ ๋•Œ maxLength ์ ์šฉํ•˜๋Š” ๋ฒ•
ยท
study/JavaScript๐ŸŒŸ
๊ฐœ์š” input ํƒœ๊ทธ์— type์„ ์ˆซ์ž๋กœ ์„ค์ •ํ•˜๊ณ , maxLength = {1}๋กœ ํ–ˆ๋Š”๋ฐ ์ˆซ์ž๋ฅผ ๊ณ„์† ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค... ์•Œ๊ณ ๋ณด๋‹ˆ, maxLength๋Š” ์ตœ๋Œ€ "๋ฌธ์ž" ๊ธธ์ด์ด๊ธฐ ๋•Œ๋ฌธ์— input type = "number"์ผ ๋•Œ๋Š” ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค...! ํ•ด๊ฒฐ๋ฒ• input ํƒœ๊ทธ ์•ˆ์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค..! onInput={(e) => { if (e.target.value.length > e.target.maxLength) e.target.value = e.target.value.slice(0, e.target.maxLength); }} maxLength๋ณด๋‹ค value๊ฐ€ ํฌ๋ฉด ๋” ํฐ ๋ถ€๋ถ„์„ ์ž˜๋ผ๋‚ด๋Š” ์ฝ”๋“œ๋‹ค. ์ „์ฒด input ํƒœ๊ทธ๋ฅผ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. { if (e.target.value.le..
cowboysj