์ „์ฒด ๊ธ€ 20

๋ผ์šฐํŠธ ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๊ธฐ๋ก ์ฐธ๊ณ 

์ฃผ์–ด์ง„ ์ฝ”๋“œ์—์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€ /editmenu ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ผ์šฐํŠธ ์„ค์ •์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ฝ”๋“œ์—์„œ๋Š” /editmenu ๊ฒฝ๋กœ๋งŒ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์ ์ธ ์ƒํ’ˆ ID๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค. /editmenu ๊ฒฝ๋กœ์— ๋™์ ์ธ ์ƒํ’ˆ ID๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด :productId์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ App.js ํŒŒ์ผ์˜ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: import React from 'react'; import { Routes, Route } from "react-router-dom"; import styled from "styled-components"; import { useLocation } from 'react-router-dom'; // import ๋ฌธ ..

api ๋ฐ์ดํ„ฐ ๋„์šฐ๋Š” ๊ณผ์ • ์ค‘ ์‹œํ–‰์ฐฉ

๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ด ๋ถ€๋ถ„ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์–ด. ์ œ๊ณตํ•œ ์ƒ˜ํ”Œ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธธ ์›ํ•˜๋ƒ๋ฉด : ContainerList์•ˆ์— ์ด 2๊ฐœ์˜ ListContent ์ƒ์„ฑ(์ด์œ : recipe์˜ ingredient ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 2์ด๋‹ˆ๊นŒ) : ๊ฐ ListContent ์—๋Š” ์˜จ์ˆ˜ 100 200 335 ์ƒท 300 400 250 ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธฐ๊ธธ ์›ํ•ด ๋„ค, ์ œ๊ณตํ•ด์ฃผ์‹  ๋ฐ์ดํ„ฐ์™€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. menuData.recipes ๋ฐฐ์—ด์—์„œ ๊ฐ recipe์˜ ingredient ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ, ๊ฐ ์žฌ๋ฃŒ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰์„ ๊ฐ ๋ฒ„ํŠผ์— ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. jsx {menuData && menuData.recipes && menuData.recipes[0].ingr..

[css] z-index ๋กœ content ์šฐ์„ ์ˆœ์œ„ ๋‘๊ธฐ

css๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅธ ์š”์†Œ ๋’ค์— ๊ฒน์ณ์ ธ์„œ ๋ฒ„ํŠผ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ๋“ฑ์˜ ๋‚œ๊ฐํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” css ์†์„ฑ์ด z-index ์ธ๋ฐ, ์ด๋ฅผ ์‚ฌ์šฉํ•ด ์ปดํฌ๋„ŒํŠธ, ์ปจํ…์ธ ๊ฐ„์˜ ์Œ“์ž„ ์ˆœ์„œ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. z-index ์†์„ฑ : ์†Œ์Šค์˜ ์ˆ˜์ง ์œ„์น˜๋ฅผ ์ •ํ•ด๋Š” ์†์„ฑ - ๊ธฐ๋ณธ๊ฐ’ : auto - 1, 100, -1, -100๋“ฑ์˜ ์ˆซ์ž๋กœ ์†์„ฑ๊ฐ’ ์ง€์ • - ์†์„ฑ๊ฐ’์€ ์ •์ˆ˜์ด๋ฉฐ, ์ˆซ์ž๊ฐ€ ํด ์ˆ˜๋ก ์œ„๋กœ ์˜ฌ๋ผ์˜ค๊ณ , ์ˆซ์ž๊ฐ€ ์ž‘์„ ์ˆ˜๋ก ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ„๋‹ค.

[GIT] SSH key ์ƒ์„ฑ ๋ฐ ์„œ๋ฒ„์— ๋“ฑ๋ก (๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์ ‘์†ํ•˜๊ธฐ)

1. SSH Key ์ƒ์„ฑ 1๋‹จ๊ณ„ ํ„ฐ๋ฏธ๋„์— ssh-keygen -t rsa ์ž…๋ ฅ ์ดํ›„ - ํ‚ค๋ฅผ ์ €์žฅํ•  ๊ฒฝ๋กœ( ๊ธฐ๋ณธ๊ฐ’ : $HOME/.ssh/id_rsa) - passphrase (์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•  ์•”ํ˜ธ, ๊ธฐ๋ณธ๊ฐ’ ์—†์Œ) - passphrase ํ™•์ธ ์ž…๋ ฅ ๊ณผ์ •์ด ๋œธ. ํ•„์š” ์—†์œผ๋‹ˆ ๊ณ„์† ์—”ํ„ฐ ์ณ์ฃผ๋ฉด ๋จ. 2๋‹จ๊ณ„ ๊ทธ๋Ÿผ .ssh ํด๋” ์•„๋ž˜์— ํ‚ค๊ฐ€ ์ƒ์„ฑ๋จ. 2. SSH Key ๋“ฑ๋ก .pub : ๊ณต๊ฐœํ‚ค. ํ•ด๋‹น ๊ณต๊ฐœํ‚ค๋ฅผ ์„œ๋ฒ„์— ๋“ฑ๋ก ํ•˜๋ฉด ๋‹ค์Œ๋ถ€ํ„ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ํ•  ํ•„์š”๊ฐ€ ์—†์Œ 1๋‹จ๊ณ„ : SSH ํ‚ค ๋“ฑ๋ก์ฐฝ ์ ‘์† : ๊นƒํ—ˆ๋ธŒ ๋กœ๊ทธ์ธ -> ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ํ”„๋กœํ•„ -> Settings ๋ฉ”๋‰ด ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ ๋ฐ”์—์„œ SSH and GPG keys ๋ฉ”๋‰ด๋ฅผ ์„ ํƒ -> ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ New SSH key ํด๋ฆญ "SSH ํ‚ค ๋“ฑ๋ก์ฐฝ" : Titl..

[GIT] git main branch ์•„๋‹Œ branch์— pushํ•˜๊ธฐ(by SSH)

๋จผ์ €, git clone git@(~~SSH์— ์จ์ ธ์žˆ๋Š” ๋‚ด์šฉ~~) ๋‹จ๊ณ„ 1. git branch : ๋ณดํ†ต ์ž‘์—… ์‹œ์ž‘ํ•  ๋•Œ ํ•œ ๋ฒˆ์”ฉ ์ฒดํฌ ํ•ด์ฃผ๊ธฐ ํ˜„์žฌ ๋‚ด๊ฐ€ ์–ด๋А ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—… ์ค‘์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ 2. git remote -v : ํ˜„์žฌ Git ์ €์žฅ์†Œ์— ๋“ฑ๋ก๋œ ์›๊ฒฉ ์ €์žฅ์†Œ(remote repository)์˜ URL์„ ๋ณด์—ฌ์คŒ 3. git checkout -b : Git์—์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ช…๋ น์–ด * ์‚ฌ์šฉ๋ฒ• - git checkout -b 4. git pull origin : ์›๊ฒฉ ์ €์žฅ์†Œ(origin)์—์„œ ์ตœ์‹  ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์™€์„œ ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(merge)ํ•ด์คŒ * ์‚ฌ์šฉ๋ฒ• - git pull origin ์œ„ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด origin ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์— ์ง€์ •ํ•œ..

API ์™€ ์ธํ„ฐํŽ˜์ด์Šค(Interface)

https://yozm.wishket.com/magazine/detail/727/#:~:text=๋‹ค์‹œ%20๋งํ•ด%20์‚ฌ์šฉ์ž%20์ธํ„ฐํŽ˜์ด์Šค๋Š”,ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š”๋ฐ%20์“ฐ์ด๋Š”%20์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. API๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? (feat. ์ธํ„ฐํŽ˜์ด์Šค) | ์š”์ฆ˜ITAPI์— ๋Œ€ํ•ด ์ด๋ฏธ ์•Œ๊ณ  ๊ณ„์‹  ๋ถ„๋“ค๋„ ์žˆ๊ณ , ์กฐ๊ธˆ ๋‚ฏ์„  ๋ถ„๋“ค๋„ ์žˆ๊ฒ ์ฃ ? ์š”์ฆ˜IT์—์„œ ๋ช‡ ๋ฒˆ ์†Œ๊ฐœํ•œ ์  ์žˆ๋Š” ์ฃผ์ œ์ด์ง€๋งŒ, ์˜ค๋Š˜์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ API์˜ ๊ฐœ๋…๊ณผ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.yozm.wishket.com ๋‚ผ์€ http์™€ restapi

[WEB]์›นํ˜ธ์ŠคํŒ… vs ์„œ๋ฒ„ํ˜ธ์ŠคํŒ… vs ํด๋ผ์šฐ๋“œ ์ฐจ์ด

์˜ค๋Š˜๋„ ์–ด์ฉŒ๋‹ค ๋ณด๋‹ˆ ๋‹จ์–ด ์„ธ ๊ฐœ..!๐Ÿ˜ต ์ด ์„ธ ๋‹จ์–ด๋ฅผ ์•Œ๊ธฐ ์ „์— ‘ํ˜ธ์ŠคํŒ…’ ์ด ๋ฌด์—‡์ธ์ง€ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž. ๐Ÿ’ธํ˜ธ์ŠคํŒ…์ด๋ž€? ์šฐ๋ฆฌ๊ฐ€ ์›น์—์„œ ๋ฌด์–ธ๊ฐ€ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ๋•Œ, ์›น์— ๋ฐ์ดํ„ฐ, ์ •๋ณด ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ‘์„œ๋ฒ„‘ ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ž…ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ์—๋Š” ์ƒ๋‹นํ•œ ๋น„์šฉ๊ณผ ๋…ธ๋ ฅ, ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ‘ํ˜ธ์ŠคํŒ…’์ด๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณค ํ•˜๋Š”๋ฐ, ํ˜ธ์ŠคํŒ…์ด๋ž€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋ฒ„์˜ ์ „์ฒด ํ˜น์€ ์ผ๋ถ€๋ฅผ ์ž„๋Œ€ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ์ผ์ปซ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ , ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค์˜ ์ข…๋ฅ˜๋กœ ์›นํ˜ธ์ŠคํŒ…, ์„œ๋ฒ„ํ˜ธ์ŠคํŒ…, ํด๋ผ์šฐ๋“œ ๋“ฑ์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ, ์‚ฌ์šฉ์ž๋Š” ์—ฌ๊ธฐ์„œ 1) ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ธ๊ฐ€ 2) ์„œ๋ฒ„ ๊ตฌ์ถ• ๋ฐ ๊ด€๋ฆฌ ์—ฌ๊ฑด์ด ์–ด๋– ํ•œ๊ฐ€ 3) ํ•„์š”ํ•œ ์„œ๋ฒ„/ ์šด์˜์ฒด์ œ ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€ ์— ๋”ฐ๋ผ, ํ˜ธ์ŠคํŒ… ์„ ํƒ ๊ธฐ์ค€์ด ๋‹ฌ..

[WEB] ๋™๊ธฐ(Synchronous)์™€ ๋น„๋™๊ธฐ(Asynchronous), Javascript์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

์˜ค๋Š˜์˜ ๋‹จ์–ด๋Š” '๋™๊ธฐ'์™€ '๋น„๋™๊ธฐ' ์ด๋‹ค. ๋จผ์ € ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ด€์ ๋ถ€ํ„ฐ ์†Œํ•˜์ž๋ฉด, ์ด ๋‘˜์„ ๋‚˜๋ˆ„๋Š” ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ "์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ€์ง€๋Š”๊ฐ€?" ์ด๋‹ค. ๋™๊ธฐ(synchronous) : ๋™๊ธฐ๋Š” ๋ฐ์ดํ„ฐ์˜ ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ํ•œ ์ž๋ฆฌ์—์„œ ๋™์‹œ์— ์ผ์–ด๋‚œ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , ํ•ด๋‹น ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„์— ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋น„๋™๊ธฐ(Asynchronous) ๋ฐ์ดํ„ฐ์˜ ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๋™์‹œ์— ์ผ์–ด๋‚˜์ง€ ์•Š๊ณ , ์ž‘์—…์ด ์‹คํ–‰๋˜๊ณ  ์™„๋ฃŒ๋˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰์ฆ‰, ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚˜์ง€ ์•Š์•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๋Š” ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ์˜ ์žฅ๋‹จ์  ๋น„๊ต ๋™๊ธฐ ์žฅ์  : ์„ค๊ณ„๊ฐ€ ์‰ฝ๊ณ  ์ง๊ด€์  ๋‹จ์  : ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—… ..