묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결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 자격증 준비하기
단순 조정, 단계 조정 차이
실습 때 보면 동적 크기 조정 정책 생성에서단순 조정이랑 단계 조정 차이가 없는 것 같은데단순 조정이랑 단계 조정이랑 어떤 차이가 있는 건가요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
[스탯매니저] 공격하는 캐릭터 정보인지, 공격당하는 캐릭터 정보인지 헷갈려요.
스탯매니저 강의에서 질문을 드려요.UE_LOG(LogTemp, Log, TEXT("Hit Actor : %s"), *HitResult.Actor->GetName());위의 로그에서, HitResult.Actor를 어떤 걸로 찍는지 확인했더니, BP_MyCharacter_2였고, 언리얼에서 확인해보니, 이 라벨은 때리는 캐릭터가 아니라 공격당하는 캐릭터인데 제가 제대로 이해한 게 맞는지 모르겠어요.HitResult.Actor->TakeDamage(Stat->GetAttack(), DamageEvent, GetController(), this);에서, 첫번째 매개변수가 의미하는 게 DamageAmount인데, 여기에서 Stat이 의미하는 게 공격하는 캐릭터의 Stat인가요? 그래야 Stat->GetAttack()을 했을 때 DamageAmount가 나올 것 같아서요.위에 따라서 TakeDamage 함수가 호출될텐데,float AMyCharacter::TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser){Stat->OnAttacked(DamageAmount);return DamageAmount;}위에서 정의한 함수에 의하면 Stat의 OnAttacked가 호출되는데, 이때의 Stat은 공격당하는 캐릭터의 Stat이 맞나요?같은 MyCharacter.cpp 파일 내에서 어떤 순간에는 Stat이 공격하는 캐릭터의 Stat이고, 어떤 순간에는 Stat이 공격당하는 캐릭터의 Stat으로 해석이 되어서 헷갈려요.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
Uncaught TypeError: Assignment to constant variable 에러 문의
안녕하세요. 할 일 리스트 모두 지우기 버튼 생성 강의를 따라하고 있었는데요. const handleRemoveClick함수에 setTodoData=([]); 이걸 넣고 실행하면 Uncaught TypeError: Assignment to constant variable 이 에러가 발생합니다. 강사님과 소스가 똑같은데 어떤 원인인지 알 수 있을까요?
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
질문이요!
비트를 사용하면 nuxtjs 도 작동 하나요?제가 vuejs2를 할적에 웹팩 위주로 사용 했었거든요.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
클래스 컴포넌트 -> 함수형 컴포넌트 바꾸기 에러 ㅠㅠ
안녕하세요 현재 <To-Do 앱을 클래스 컴포넌트에서 함수형 컴포넌트로 바꾸기> 까지진도를 따라가고 있는 수강생입니다.클래스 컴포넌트-> 함수형으로 변경하고 있는데아래 에러가 계속 뜨고 있습니다.ㅠㅠ 원인을 모르겠어서 맨 하단에 코드를 전부 복사해놓았습니다.확인해봐주시면 감사하겠습니다 : ) import React, { useState } from "react"; import "./App.css"; // 함수형 component로 작업한 todoList export default function App() { const btnStyle = { color: "#fff", border: "none", padding: "5px 9px", borderRadius: "50%", cursor: "pointer", float: "right", } const getStyle = (completed) => { return { padding: "10px", borderBottom: "1px dotted #ccc", textDecoration: completed ? "line-through" : "none" } }; const {todoData, setTodoData} = useState([]); const {value, setValue} = useState(""); // 할일 삭제 const handleDelete = (id) => { let newTodoData = todoData.filter((data) => data.id !== id); setTodoData(newTodoData); }; // 할일 input text에 입력 const handleChange = (e) => { setValue(e.target.value) }; // 입력된 value 목록에 추가 const handleSubmit = (e) => { e.preventDefault(); let newTodo = { id: Date.now(), title: value, completed: false, }; // 원래 있던 할 일에 새로운 할 일 더해주기 setTodoData((prev) => [...prev, newTodo]); setValue(""); }; // 완료된 내용 체크하여 상태 변경 해주기 const handleCompleteChange = (id) => { let newTodoData = todoData.map((data) => { if (data.id === id) { data.completed = !data.completed; } return data; }); setTodoData(newTodoData); } return ( <div className="container"> <div className="todoBlock"> <div className="title"> <h1>할일 목록</h1> </div> { todoData.map((data,index)=> ( <div style={getStyle(data.completed)} key={data.id}> <input type="checkbox" id={data.id} onChange={() => handleCompleteChange(data.id)} defaultChecked={false}/> <label htmlFor={data.id}>{data.title}</label> <button style={btnStyle} onClick={() => handleDelete(data.id)}> x </button> </div> ))} <form style={{display:'flex', marginTop: '20px'}} onSubmit={ handleSubmit }> <input type="text" name="value" style={{ flex:'10', padding:'5px'}} placeholder="해야할 일을 입력하세요." value={ value } onChange={ handleChange }/> <input type="submit" value="입력" className="btn" style={{ flex:1 }}/> </form> </div> </div> ) }
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
vscode 툴 한글 패치 질문이요!
프로젝트 구성 영상을 보다가 vscode 에서 한글로 패치 안됐는것을 이제서야 확인 했거든요 그래서 지금 다시 개발환경 구성 영상 보면서 하고 있는데 적용이 안되는데요.아래 사진대로 적용이 안됐는데 어떻게 해야할까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
안녕하세요 선생님, 강의 늘 잘 듣고 있습니다! 배운 알고리즘은 아니지만 나름대로 직접 풀어보려고 노력했는데,괜찮은 코드인지 반례는 없는지 궁금합니다!좋은 강의 항상 감사드립니다!function answer(s, t) { let answer = 0; let tmp = []; let len = t.length; for (let i = 0; i < len; i++) { tmp.push(s[i]); } t = t .split('') .sort((a, b) => (a < b ? -1 : 1)) .join(''); while (len < s.length) { let result = [...tmp]; let join = result.sort((a, b) => (a < b ? -1 : 1)).join(''); if (t === join) answer++; len++; tmp.shift(); tmp.push(s[len]); } return answer; }
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 manytomany field 에 대하여 질문드립니다!
안녕하세요 제목처럼 다대다 관계를 설정할 때 manytomany 필드를 사용하자나요?근데 JPA 같은 경우는 새로운 필드 매핑 추가가 안된다고 실무에서는 절대 manytomany 매핑을 사용하면 안된다고 하자나요 ㅎㅎ; 근데 장고는 manytomany 필드에 through를 통해서 중간테이블을 생성하고 컬럼을 추가할 수 있다곤 하지만, 결국 JPA 처럼 중간 테이블을 생성해야하는 거자나요 결국 그냥 실무적으로보면 처음 DB생성할때 manytomany 필드 사용할때 JPA처럼 처음부터 중간 테이블을 생성하는게 정석일까요?? 아니면 필요할 때만 through로 중간 테이블을 추가하나요?
-
미해결애플 웹사이트 인터랙션 클론!
사이드 박스가 줄어들지 않다가 갑자기 한번에 이미지가 꽉 차집니다
저는 위에 다른것들을 활용해서 예제 case3을 case6까지 끌고와서 사용하는데 다른 예제 했던걸 그대로 가져와서 case6으로 변경해주고 변경해주어야할것들 다 변경해주었는데 오류? 오류라기보다 스크롤을 내렸을때 갑자기 양사이드 박스가 없어지면서 화면이 꽉차집니다.. 도대체 뭐가 문제인지 잘모르겠습니다..
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
bram 주소 접근
안녕하세요올려주신 bram 가이드를 보고 generate address interface with 32bits를 체크하고 single port ram을 ip로 생성해서 사용해봤어요 사용해보니 주소가 0~3, 4~7 이렇게는 같은 주소로 덮어 씌워지더라고요 그래서 주소를 4씩 늘려줘서 데이터를 쓰고 읽어봣더니 정상 동작 하더라고요 주소가 왜 4씩 늘려줘서 데이터를 써줘야하는지에 대해서 찾아보는데 잘 안찾아져서요 그 이유에 대해서 설명을 좀 듣고 싶어요 아니면 또 관련된 가이드가 있을까요
-
미해결이펙티브 자바 완벽 공략 1부
기선님 질문있습니다..
오픈하신 강의 리팩토링, 디자인패턴, 이펙티브 시리즈 1탄이렇게 구매했습니다. 이펙티브 시리즈 나머지 강의도 구매할 의사 있습니다.이렇게 기선님 강의만 보면 위의 언급한 3권의 책은 별도로 사서볼 필요는 없겠죠?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
트랜잭션 단위로 락걸기
강의를 듣다가 궁금한 점이 생겨 질문드립니다.다음과 같은 상황이 존재합니다.가용한 stock 조회stock 점유위의 사례 같은 경우에는 하나의 트랜잭션 단위로 lock을 걸어야할 거 같습니다.transaction isolate 옵션이 아닌, transaction 단위나 메소드 단위로 lock을 걸 수 도 있나요??
-
미해결수학으로부터 인류를 자유롭게 하라(미적분학 Part.I) - 미분
수강 연장
제가 9월25일까지 수강기간인데 아직 업로드되지 않은 강의들이 있어 학습기간이 더 필요한 상황입니다.수강 연장 부탁드립니다.그리고 혹시 언제쯤 모든 강의가 업로드 완료될지 알 수 있을까요?
-
해결됨Flutter 초급 - Http통신, 상태관리
flutter 멀티이미지업로드 질문
안녕하세요저번에 막힌부분은 임시방편으로 처리했습니다. 감사합니다.정확히는 지금 시간이 없어서 나중에 고칠려고 합니다.그리고 이번에 플러터+php(mysql)로 이미지 멀티 업로드에서 막힌부분이 있어서 질문을 드릴려고 합니다.https://www.youtube.com/watch?v=4wbZxWtjg84&t=1497s외국 유튜버분 php 코드 참고해서 작성했습니다. 그리고 플러터 코드도 작성후 멀티이미지 업로드 헀습니다.그런데 저는 이미지가 여러장을 넣어도 한장만 업로드가 됩니다.그래서 포스트맨으로 php코드를 테스트 해봤습니다. foreach($fd_media as $key => $value){ echo $key. ": ".$value."<br>"; foreach($tmp_name as $key => $tmp_namevalue){ echo $key. ": ".$tmp_namevalue."<br>"; if(move_uploaded_file($tmp_namevalue, 'media/'.$value)){ chmod('media/'.$value,0777); $conn->query($sqlm = "INSERT INTO imagedata(fd_id,fd_title,fd_media) VALUES ('".$fd_id."','".$fd_title."','".$value."')"); if($conn){ echo json_encode(array("message" => "Success")); }else{ echo json_encode(array("message" => "Error ".mysqli_error($sqlm))); } } } } key : fd_mediavalue : fern222.jpg, fern333.jpg 포스트맨 Body값0: fern333.jpg<br>0: /tmp/phpW6kGPY<br>{"message":"Success"}이미지를 여러장 넣어도 1장만 가져오는데 php코드가 잘못된게 있는건가요?