๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ16

aws EC2 ํ™œ์šฉ ์ค‘ nginx ์„ค์ • ๋ฐ ๊ถŒํ•œ ์ด์Šˆ EC2๋กœ ํ”„๋ก ํŠธ React๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด Nginx๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ถŒํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค!!  ๊ถŒํ•œ ์—๋Ÿฌ"""sudo tail -f /var/log/nginx/error.log 2024/05/04 05:55:08 [crit] 7582#7582: *2 stat() "/home/ubuntu/teammap-frontend-pipeline/index.html" failed (13: Permission denied), client: 59.11.133.163, server: 3.12.107.101, request: "GET /favicon.ico HTTP/1.1", host: "3.12.107.101", referrer: "http://3.12.107.101/" 2024/05/04 05:55:08 [crit] 758.. ์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ1 2024. 5. 4.
jenkins ํ”„๋ก ํŠธ์•ค๋“œ ์ˆœ์„œ -์ž‘์„ฑ์ค‘- ์  ํ‚จ์Šค์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜ํ•ด์•ผํ•˜๋Š” plugin (ssh agent -> ssh ~~ ๊ตฌ์„ฑ์— ๋ณด๋ฉด ์ž‡์Œ ์ด๋ฅผ ์œ„ํ•ด, nodejs(front), ๋ธ”๋ก์ƒํƒœ ๋นŒ๋“œ ์ƒํ™ฉ) nodejs ๊ฐ™์€ ๊ฒฝ์šฐ setting์—์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์ •ํ•ด์•ผํ•จ git private ๊ฐ™์€ ๊ฒฝ์šฐ git์—์„œ ํ† ํฐ ๋ฐœ๊ธ‰ ํ›„ ์  ํ‚จ์Šค์—์„œ credential์— ์ ์šฉ ์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ1 2024. 5. 3.
.map is not a function ์—๋Ÿฌ ์ฒ˜์Œ์— ๊ทธ๋ƒฅ datas.map ์„ ํ•ด์คฌ์—ˆ๋Š”๋ฐ map is not a function ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. ๋”๋ฏธ๋ฐ์ดํ„ฐ๋กœ ํ–ˆ์„ ๋•Œ๋Š” ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋Š”๋ฐ ๋ง์ด๋‹ค. ๊ทผ๋ฐ ๊ฐ€๋งŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ฆ‰, ์ด๋ฏธ ๋‚ด๊ฐ€ ์ค€ ๋ฐ์ดํ„ฐ์ธ ์…ˆ์ด๋‹ค.  ์ด์ œ๋Š” apiํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑด๋ฐ ์•„์ง ๋‹ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ์ „์— datas.map ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.  => ํ•ด๊ฒฐ๋ฐฉ๋ฒ•datas && datas.map์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๊ฒŒ ๋˜๋ฉด datas๊ฐ€ ์žˆ์„๋•Œ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.  => ๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ์˜๋ฌธ์ด ๋˜ ๋“œ๋Š” ๊ฒƒ์€ ๊ทธ๋Ÿฌ๋ฉด map์€ ๋น„๋™๊ธฐ์ฒ˜๋Ÿผ ๋‚˜์ค‘์— ์ž‘๋™์ด ๋˜๋Š” ๊ฒƒ์ธ๊ฐ€ ? -> NO! ์ด๋ ‡๊ธฐ์— ์šฐ๋ฆฌ๊ฐ€ useEffect๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.๋™๊ธฐ์  ์ฒ˜๋ฆฌ์™€ ๋ฐ์ดํ„ฐ.. ์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ1 2024. 4. 30.
qrcode -์ž‘์„ฑ์ค‘- ์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ1 2024. 4. 16.
img ํ˜•ํƒœ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด์„œ ํƒœ์ผ์œˆ๋“œ ์ ์šฉํ•˜๊ธฐ -์ž‘์„ฑ์ค‘- import React, { useState, useEffect } from 'react'; function ImageComponent({ src, card_benefit_title, card_benefit_summary }) { const [imageClass, setImageClass] = useState(''); const [imageGapTop, setImageGapTop] = useState(''); const [titleSum, setTitleSum] = useState(''); useEffect(() => { const img = new Image(); img.src = src; img.onload = () => { if (img.width > img.height) { // ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœํ˜•์ผ.. ์ทจ์—… ์ค€๋น„, ์„ธ๋ฏธ๋‚˜ ๋ฐ ์ˆ˜์—…, ํšŒ์‚ฌ ๋‚ด์šฉ/ํ”„๋กœ์ ํŠธ1 2024. 4. 15.