woojong19951108
@woojong19951108
Reviews Written
-
Average Rating
-
Posts
Q&A
URL ์ง์ ์ ๊ทผ์ ๋ง๋ ๋ฐฉ๋ฒ
๋ค ์๊ฒ ์ต๋๋ค! ์ฃผ๋ง์์๋ ๋ถ๊ตฌํ๊ณ ๋ต๋ณํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 7
- 5.2K
Q&A
URL ์ง์ ์ ๊ทผ์ ๋ง๋ ๋ฐฉ๋ฒ
๋ค ๋ง์ํ์ ๋ถ๋ถ์ด ํ์ด์ง๊ฐ ์ฒ์ ๋ง์ดํธ๋ ๋ redirect๋ฅผ ํด์ผํ๊ธฐ์ useEffect๋ก URL ์ง์ ์ ๊ทผ์ ๋ง์ ์ ์๋ ๋ฆฌ๋์ค ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค๋ ๊ฒ์ด๊ตฐ์?์ฃ์กํ์ง๋ง ๊ทธ๋ ๋ค๋ฉด ์์ฐจ์ ์ผ๋ก ํ์ด์ง๋ค์ history.push('url')ํด์ ๋๊ธฐ๊ณ ์๋๋ฐ ์ง์ ๋ฐ์ดํฐ๋ค์ด ๋ฆฌ๋์ค ์ํ๊ฐ์์ ๋น์์ ธ์๋ ์ํ๋ผ๋ฉด ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ํ๋ ๋ฐฉ๋ฒ๋ ๋์์ง ์์ ๋ฐฉ๋ฒ์ด ๋ ์ ์๋๊ฑด๊ฐ์?
- 0
- 7
- 5.2K
Q&A
URL ์ง์ ์ ๊ทผ์ ๋ง๋ ๋ฐฉ๋ฒ
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. Next.js์ ๋ณ๊ฐ๋ก ์ผ๋ฐ์ ์ธ ๋ฆฌ์กํธ์์๋ ์ฌ์ฉํ ์ ์์๊ฐ์?
- 0
- 7
- 5.2K
Q&A
URL ์ง์ ์ ๊ทผ์ ๋ง๋ ๋ฐฉ๋ฒ
(์ฌ์ง) ์ค๋ช ์ด ์ ๋ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง... ํ์ฌ ์ด๋ฐ์์ผ๋ก ๋์ด์๊ณ ducksํจํด์ผ๋ก ์์ ํ์ฌ์ ๊ฐ container๋ง๋ค ๋ก๊ทธ์ธํ ์ํ์ธ์ง ํ์ธํ๋ ์ฝ๋๋ค์ด ์์ต๋๋ค. http://localhost:3000/host/make๋ฅผ ๊ฑฐ์น์ง ์๊ณ http://localhost:3000/host/make/title๋ฅผ ๋ฐ๋ก ๊ฐ๋ฉด ๋ฆฌ๋ค์ด๋ ํธ๋กhttp://localhost:3000/host/make๋ก ๋ณด๋ด๊ณ ์ถ์ต๋๋ค.
- 0
- 7
- 5.2K
Q&A
AWS-s3๋ฅผ ์ฐ๊ฒฐํ๋๋ฐ ์๋ฌ๊ฐ ๋๋๋ฐ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
๊ฐ์ฌํฉ๋๋ค!!! ์ ์๋ฌ๋ ํด๊ฒฐํ๋๋ฐ์ใ ใ ใ ใ ใ ๋ ์๋ฌ๊ฐ ๋๋ค์ ใ ใ MAP์ ๋ชป์ฐพ๋๋ค๋๋ฐ์ ใ ใ ใ ใ ใ TypeError: Cannot read property 'map' of undefined at /Users/sunjaekim/Documents/PROJECTS/asumtable-backend/routes/users.js:125:26 at Layer.handle [as handle_request] (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/layer.js:95:5) at next (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/route.js:137:13) at Immediate._onImmediate (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/multer/lib/make-middleware.js:53:37) at processImmediate (internal/timers.js:458:21) TypeError: Cannot read property 'map' of undefined at /Users/sunjaekim/Documents/PROJECTS/asumtable-backend/routes/users.js:125:26 at Layer.handle [as handle_request] (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/layer.js:95:5) at next (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/route.js:137:13) at Immediate._onImmediate (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/multer/lib/make-middleware.js:53:37) at processImmediate (internal/timers.js:458:21) POST /api/user/image 500 27.541 ms - 779
- 0
- 7
- 2.1K
Q&A
AWS-s3๋ฅผ ์ฐ๊ฒฐํ๋๋ฐ ์๋ฌ๊ฐ ๋๋๋ฐ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
์๋ฌ๋ฉ์ธ์ง ์ ๋ฌธ ์ ๋๋ค. :) Error: connect EHOSTDOWN 169.254.169.254:80 - Local (192.168.1.104:62481) at internalConnect (net.js:923:16) at defaultTriggerAsyncIdScope (internal/async_hooks.js:351:12) at net.js:1011:9 at processTicksAndRejections (internal/process/task_queues.js:79:11) POST /api/test/images 500 5613.658 ms - 452 APP.js const express = require("express"); const cors = require("cors"); const session = require("express-session"); const cookieParser = require("cookie-parser"); const passport = require("passport"); const dotenv = require("dotenv"); const logger = require("morgan"); const path = require("path"); const connectRedis = require("connect-redis"); const RedisStore = connectRedis(session); var indexRouter = require("./routes/index"); var authRouter = require("./routes/auths"); var userRouter = require("./routes/users"); var hostRouter = require("./routes/hosts"); var adminRouter = require("./routes/users"); var tourRouter = require("./routes/tours"); var favoriteRouter = require("./routes/favorites"); var orderRouter = require("./routes/orders"); var imageRouter = require("./routes/images"); var testRouter = require("./routes/imageTest"); const db = require("./models/index"); const passportConfig = require("./passport"); dotenv.config(); const app = express(); db.sequelize .sync({ force: false }) .then(() => { console.log("ASUM_DB Sequelize Sync Success"); }) .catch(console.error); passportConfig(); const sessionOption = { resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, proxy: true, name: "sessionID", cookie: { httpOnly: true, secure: false, }, store: new RedisStore({ host: process.env.REDIS_HOST, port: process.env.REDIS_PORT, pass: process.env.REDIS_PASSWORD, logErrors: true, }), }; app.use("/", express.static(path.join(__dirname, "/uploads"))); app.use(express.json()); app.use( express.urlencoded({ extended: true, }) ); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session(sessionOption)); app.use(logger("dev")); app.use(cors({ origin: true, credentials: true })); app.use(passport.initialize()); app.use(passport.session()); app.use("/api", indexRouter); app.use("/api/auth", authRouter); app.use("/api/user", userRouter); app.use("/api/host", hostRouter); app.use("/api/admin", adminRouter); app.use("/api/tours", tourRouter); app.use("/api/favorites", favoriteRouter); app.use("/api/orders", orderRouter); app.use("/api/images", imageRouter); app.use("/api/test", testRouter); module.exports = app; ROUTER const express = require("express"); const multer = require("multer"); const path = require("path"); const multerS3 = require("multer-s3"); const AWS = require("aws-sdk"); const router = express.Router(); const dotenv = require("dotenv"); const { Tour, Image, Host, User } = require("../models"); const { isLoggedIn } = require("./middlewares"); // AWS-S3 ์ค์ AWS.config.update({ accessKeyId: process.env.S3_ACCESS_KEY_ID, secretAccessKey: process.env.S3_SECRET_ACCESS_KEY, region: "ap-northeast-2", }); //MULTER-S3 ์ค์ const upload = multer({ storage: multerS3({ s3: new AWS.S3(), bucket: "asumtable-v1.0-s3", key(req, file, cb) { cb(null, `original/${Date.now()}_${path.basename(file.originalname)}`); }, }), limits: { fileSize: 10 * 1024 * 1024 }, }); //์ด๋ฏธ์ง ์ ์ฅ ์์น ๋งดํ router.post( "/images", // isLoggedIn, upload.array("image"), (req, res, next) => { // POST /post/images console.log(req.files); res.json( req.files.map((v) => v.location.replace(/\/original\//, "/thumb/")) ); } ); module.exports = router;
- 0
- 7
- 2.1K
Q&A
AWS-s3๋ฅผ ์ฐ๊ฒฐํ๋๋ฐ ์๋ฌ๊ฐ ๋๋๋ฐ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
๋ต!! AWS ๊ด๋ จ ํค๋ค์ .env์ ๋ฃ์ด ๋์๊ตฌ์. ๋ฒํท๋ ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ํด๋์์ต๋๋ค!! (์๋ฒ์์๋ aws.configure๋ก ์ธํ ) (์ฌ์ง) (์ฌ์ง)
- 0
- 7
- 2.1K




