묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
TypeError: Cannot read properties of undefined (reading 'format')
video.jsrouter.post("/thumbnail", (req, res) => { let filePath = "" let fileDuration = "" ffmpeg.ffprobe(req.body.url, function (err, metadata) { console.dir(metadata); console.log(metadata.format.duration); fileDuration = metadata.format.duration }); ffmpeg(req.body.url) .on('filenames', function(filenames) { console.log('Will generate ' + filenames.join(', ')) console.log(filenames) filePath = "uploads/thumbnails/" + filenames[0] }) .on('end', function () { console.log('Screenshots taken'); return res.json({ success: true, url: filePath, fileDuration: fileDuration }); }) .on('error', function(err) { console.error(err); return res.json({ success: false, err }); }) .screenshots({ count: 3, folder: 'uploads/thumbnails', size: '320×240', filename: 'thumbnail-%b.png' }) });videouploadpage.jsconst onDrop =(files) => { let formData = new FormData; const config = { header: {'content-type': 'multipart/form-data'} } formData.append("file", files[0]) Axios.post('/api/Video/uploadfiles', formData, config) .then(response => { if(response.data.success) { console.log(response.data) let variable = { url: response.data.url, fileName: response.data.fileName } Axios.post('/api/video/thumbnail', variable) .then(response => { if(response.data.success) { console.log(response.data) } else { alert('썸네일 생성에 실패했습니다.') } }) } else{ alert('비디오 업로드에 실패했습니다.') } }) }콘솔 에러POST http://localhost:3000/api/video/thumbnail 500 (Internal Server Error)터미널 에러TypeError: Cannot read properties of undefined (reading 'format') 5강까지는 잘 작동했는데6강 들어와서 영상은 저장이 되는데 썸네일 생성이 안돼요ㅠㅠffmpeg 설치하고 환경변수 등록했고fluent-ffmpeg도 install 하고재부팅도 해봤는데 안돼요ㅠㅠ
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
네이버 클라우드를 사용 안할 경우 이미지 경로
안녕하세요,네이버 클라우드 없이 그냥 로컬저장소에 이미지들을 저장하려고 하는데 그러면 Detail.js 안에 있는 이미지 경로는 그대로 `http://localhost:5000/${PostInfo.image}` 로 두면 될까요?지금은 괜찮은데, 그럼 나중에 heroku에 배포를 하게 될 경우에는 어떻게 해야하나요?
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
counter 에서 user로 변경할때 어떻게 다 바뀌는건가요?
저는 일일히 하나하나 수정해야하던데 ㅠㅠ..
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
안녕하세요! 파비콘 적용 문제로 질문드려요!
알려주신대로 파비콘 적용하는 link 태그를 작성했는데 저는 암만 새로고침을 눌러도 파비콘이 적용되지 않아서요ㅠㅠ뭐가 문제일까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
배너 구현시 오류
저는 리눅스 os 를 사용하고 있는데 밑에 댓글에 남겨주신 링크를 봤는데 설명이 무슨 말인지 잘 이해가 안되서 질문합니다! bin/bash 에 가서 복사해서 어디에 붙이라는 건지 정확히 모르겠습니다..그 밑에 줄도 경로를 바꾸라는 것도 이해가 되지 않구요.. ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
회원가입까지 잘 되는데, 로그인이 안됩니다.
안녕하세요 제로초님.매번 질문만 남겨드려 죄송합니다.매 작업마다 console을 찍어서 에러를 잡아내려고 하곤 있는데 회원가입에서도 문제가 없음에도 로그인이 이루어지지 않습니다.// routes/user.js const express = require("express"); const bcrypt = require("bcrypt"); const { User, Post } = require("../models"); // db 내에서 User 테이블을 가져온 것. const passport = require("passport"); const router = express.Router(); router.post("/", async (req, res, next) => { // POST /user || next를 넣으면 발생한 에러를 한방에 브라우저로 모아준다. try { const exUser = await User.findOne({ where: { email: req.body.email, }, }); if (exUser) { return res.status(403).send("이미 사용중인 아이디입니다."); // 여기서 보내는 res에 대한 send 메시지는 sagas/user.js의 signup 부분 err.response.data 가 된다! } const hashedPassword = await bcrypt.hash(req.body.password, 10); await User.create({ //! User 테이블 내에 post, 즉 생성을 요청한다. 또한 async await을 사용함으로써 비동기처리를 해주고 순서대로 처리될 수 있도록 해준다. email: req.body.email, nickname: req.body.nickname, password: hashedPassword, }); res.status(200).send("ok"); } catch (error) { console.error(error); next(error); // status 500 -> 서버쪽 에러라는 뜻 } }); // POST /user/login router.post("/login", (req, res, next) => { passport.authenticate("local", (err, user, info) => { if (err) { console.error(err); return next(err); } if (info) { return res.status(401).send(info.reason); } return req.login(user, async (loginErr) => { if (loginErr) { console.error(loginErr); return next(loginErr); } const fullUserWithoutPassword = await User.findOne({ where: { id: user.id }, attributes: { exclude: ["password"], }, include: [{ model: Post, }, { model: User, as: "Followings", }, { model: User, as: "Followers", } ], }); return res.status(200).json(fullUserWithoutPassword); }); })(req, res, next); }); router.post("/logout", (req, res) => { req.logout(); req.session.destroy(); req.send("ok"); }); module.exports = router; db에도 문제가 없는 듯 한데.. 도대체 무엇을 놓치고 있는 것일까요..?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
무한 스크롤에 대해 질문드립니다.
무한 스크롤시, 데이터를 불러올 때마다 스크롤 위치가 다시 처음부터 시작되는데 이거 어떻게 해결해야 할까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Spawn 과 씬 로드
지금 플레이를 클릭해서 하다가player가 죽으면 씬을 다시로드하는 것을 구현하였습니다.처음 플레이할때는 UI들이 잘 로드가 되고 정상적으로 동작합니다. 하지만 죽고 다시 로드를 할경우UI들은 로드가 잘되지만 이벤트 발생시(Action부분이 문제인거같습니다.)이러한 에러가 뜨면서 크래쉬가 납니다. 원인을 도저히 못찾겠습니다. ㅠㅠㅠ또 궁금한것이 Action은 if ()문 안에서처럼 != null 체크를 해주지 않으면 에러가 계속 나던데 이유가 무엇인지 궁금합니다...
-
미해결배달앱 클론코딩 [with React Native]
비디오 재생 질문입니다.
혹시 mp4 형태의 비디오 파일은 어떻게 접근할 수 있을까요?? filePath 는 출력이 되는데, {uri: filePath} 형태로 지정해도 파일을 읽지 못합니다...비디오 재생용 라이브러리는 react-native-video 사용하고 있습니다.
-
미해결배민도 사용한다고? 환경설정 없는 백엔드 노코드 개발!
10강 소스코드 링크
안녕하세요. 라이브러리 생성 시 미리 작성된 소스코드 링크가 없습니다.추가 부탁 드리겠습니다. 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임오류가 나는데 코드 확인 부탁드리겠습니다.
import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int n = sc.nextInt(); int[] arr1 = new int[n]; for(int i=0; i<n; i++) { arr1[i] = sc.nextInt(); } int m = sc.nextInt(); int[] arr2 = new int[m]; for(int i=0; i<m; i++) { arr2[i] = sc.nextInt(); } for(int x : solution(arr1, arr2, n,m)) System.out.print(x + " "); } static int[] solution(int[] arr1, int[] arr2, int n, int m) { int[] answer = new int[n+m]; int a=0,b=0,c=0; while(c<n+m) { if(a<n && b<m && arr1[a]<=arr2[b]) { answer[c] = arr1[a]; a++; c++; } else if(a<n && b<m && arr1[a]>arr2[b]){ answer[c] = arr2[b]; b++; c++; } else if(a>=n || b>=m) { if(n>=m) { answer[c] = arr1[a]; a++; c++; } else { answer[c] = arr2[b]; b++; c++; } } } return answer; } }
-
미해결스프링 핵심 원리 - 기본편
안녕하세요 싱글톤에 대해서 질문드립니다.!
안녕하세요 ! 스프링이 싱글톤 코드를 적용하지 않아도 객체 인스턴스를 싱글톤으로 관리해준다고 하셨습니다.!1.싱글톤을 만들어주는 코드없이 스프링이 싱글톤방식을 만드는것이 ioc와 di 덕분인가요?2.싱글톤 컨테이너를 통해서 싱글톤 코드를 생성하는 것이라고 하시는데 어떤 원리인지 궁금합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
iOS 시뮬레이터 위치이동이 안됩니다
깃헙에서 코드를 복붙해봐도 동일합니다.iOS 시뮬레이터만 위치이동이 안되네요.안드로이드 시뮬레이터로 테스트해보니 버튼을 누르면 정상이동됩니다. 플러터 버전 3.0.5 구글맵플러터 2.2.0지오로케이터 9.0.1 버전입니다.iOS시뮬레이터는 13 pro max입니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
명령어로 sync 실행이 안됩니다 ㅜㅜ
강좌에 나오는 schema:sync를 입력했는데 Synchronizes your entities with database schema. It runs schema update queries on all connections you have. To run update queries on a concrete connection use -c option. 옵션: -h, --help 도움말 표시 [불리언] -d, --dataSource Path to the file where your DataSource instance is defined. [필수] -v, --version 버전 표시 [불리언] 필수 인수가 주어지지 않았습니다: dataSource이러한 문구가 계속 나옵니다.명령어로 sync를 하고싶은데 도와주세요 ㅠㅠ 구글링해도 나오질 않네요 제가 작성한 module은 다음과 같습니다.import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { Users } from './entities/Users'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), TypeOrmModule.forRootAsync({ inject: [ConfigService], useFactory: async (configService: ConfigService) => { return { type: 'mysql', host: configService.get('TEST') === 'true' ? configService.get('TEST_HOST') : configService.get('HOST'), port: configService.get('TEST') === 'true' ? configService.get('TEST_DB_PORT') : configService.get('DB_PORT'), username: configService.get('TEST') === 'true' ? configService.get('TEST_USER_NAME') : configService.get('USER_NAME'), password: configService.get('TEST') === 'true' ? configService.get('TEST_PASSWORD') : configService.get('PASSWORD'), database: configService.get('TEST') === 'true' ? configService.get('TEST_DATABASE') : configService.get('DATABASE'), entities: [Users], migrations: [__dirname + '/src/migarions/*.ts'], cli: { migrationsDir: 'src/migrations' }, charset: 'utf8mb4', synchronize: false, autoLoadEntities: true, keepConnectionAlive: true, logging: true, }; }, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {}
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
ref와 reactive 차이점?
질문인데요! 영상을 보다보면.. ref는 단일 값만 넣어서 하는건가요?reactive는 객체로 그러니까 멀티값을 넣어서 쓰려면 되는건가요? 서로 차이점이 뭔지 궁금해서요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
EB에서 설정한 DB 정보를 Node.js에서 사용하는 방법
테스트를 해보니 db.js에서 사용하는 환경변수 (process.env.xxx)는 docker-compose.yml에 정의된 내용을 참조하고 있었습니다.보안의 이슈로 docker-compose.yml에 있는 DB 정보를 제거하고 빈스톡의 환경변수를 사용하고싶을 경우 어떤 설정을 추가적으로 해야할까요?참고로 빈스톡 환경변수에 DB 정보를 이미 설정한 상태에서 도커 컴포즈 파일에 있는 디비 정보를 제거 후 배포하여 테스트해보니 process.env.xxx에는 undefined가 담겨있었습니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
if 조건문 논리연산자 질문 있습니다.
if input == 'c' or 'C' : 이 때 input이 k일 때 input 값을 출력하면 C 가 나오고 if문이 실행됩니다. 실행되는 이유가 앞에는 false이지만 뒤에는 0이 아닌 수 이기때문에 true처리돼서 if문이 실행되는건가요? 그리고 input 값을 출력해보면 true가 아니라 C가 출력되는 데 input == 'c' or input == 'C'로 작성하지 않으면 뒤에값이 원래 대입되는건지 궁금합니다.
-
미해결
MultipartFile) 파일 미업로드시 tomcat에서 임의의 파일을 생성하는 이유에 대해 아시는 분 계실까요?
안녕하세요!어제 파일을 첨부하지 않았는데도 자꾸 file이 존재한다는 질문을 남겼던 학생입니다.https://www.inflearn.com/questions/650160 아무리 생각해도 multipartFile에 대하여 파일이 존재하는지에 대한 여부는 isEmpty()를 통해 하는게 분명한 것 같습니다그래서 일단 디버깅을 해보았는데tomcat\localhost\ROOT라는 경로에 자꾸 임의의 .tmp파일을 생성하여 그 파일이 들어오면서 존재한다고 읽히고 있습니다.이에 대해 검색을 했는데 다른 사람들은 아래와 같이[/tmp/tomcat.4296537502689403143.5000/work/Tomcat/localhost/ROOT] is not valid해당 폴더를 찾을 수 없어서 나는 에러가 많은데 저는 오히려 저 경로에 매번 새로운 임의의 파일을 파일을 업로드 하지 않아도 생성되고 있다는 점입니다.혹시 이 임시 파일이 왜 생기는지 어떻게 제거해야 하는지 방법을 좀 아시는 분이 계시면 답변 부탁드리겠습니다.일단 저 기본경로에 생성되는 것은 좋지 않다고 하여 따로 경로를 지정했습니다.이제는 거기서 임시파일이 자꾸생성됩니다.(아래는 위에 링크의 내용입니다. 링크타고 가기 귀찮으실까봐..)매개변수로 PostDTO(Post관련 변수들), 이미지를 첨부할 수 있도록 MultipartFile을 매개변수로 받고 있습니다.그런데 MultipartFile이 null이거나 비어있는 경우에는이미지를 처리하는 로직을 패스하고자 하는게 제 의도였으나파일을 첨부하지 않아도 MultipartFile에는 자꾸 어떠한 파일이 존재한다고 표시됩니다. 당최 왜 파일을 업로드 하지 않았을때도 multipartFile에 파일이 존재하는지 도무지 모르겠어서 도움 요청드립니다.파일을 하나라도 첨부하였을 때도 마찬가지로 false로 이미지가 있기때문에 imgService로직을 타고 실제로 잘 동작 됩니다.문제는 파일을 첨부하지 않았을때도 false라 imgService로직을 타서 문제가 생기고 있네요...@RequestPart(value = "image", required = false) List<MultipartFile> multipartFile이 부분에서 파일이 없을 때 자동으로 무언가의 인스턴스를 생성하는걸까요..?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
질문이요
혹시 모든 것들은 셋업을 거쳐서 반환된 상태에서 사용해야되는건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
단순 조정, 단계 조정 차이
실습 때 보면 동적 크기 조정 정책 생성에서단순 조정이랑 단계 조정 차이가 없는 것 같은데단순 조정이랑 단계 조정이랑 어떤 차이가 있는 건가요?