์ทจ์ ์ค๋น, ์ธ๋ฏธ๋ ๋ฐ ์์ , ํ์ฌ ๋ด์ฉ/ํ๋ก์ ํธ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. ๋๋ณด๊ธฐ โบโบ ์ด์ 1 2 ๋ค์