묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨포트폴리오 초간단 배포하기
질문
안녕하세요 자바는 사용해본적은 없어서 문의드립니다.저는 파이썬기반 flask를 사용중인데, 리눅스 서버에 어떻게 올려야하나요? flask 는 빌드가 필요가 없는것 같은데요,1, 프로그램 을 리눅스서버에 올리면 되나요?일단 프로그램을 올린후 , nginx 웹서버와 상관없이 작동이 되는 건가요?
-
미해결스프링 시큐리티 OAuth2
Session id가 인가 코드와 access token을 교환하는 도중에 변경됩니다.
안녕하세요. 강의 잘 듣고 있습니다.제목에서처럼, session id가 access token을 교환하는 일련의 과정 중에 변경되어 다음과 같은 오류가 브라우저 상에서 보여집니다.해당 에러 메시지를 내뱉는 로직이 OAuth2LoginAuthenticationFilter 클래스의 attemptAuthentication 메소드에 있음을 확인하였습니다. 제가 찾은 원인은 OAuth2AuthorizationRequestRedirectFilter에서 AuthorizationRequest의 저장까지는 성공적인데, OAuth2LoginAuthenticationFilter에서 AuthorizationRequest를 Repository에서 꺼내오려고 시도할 때 바뀐 session id값 때문에 이전의 AuthorizationRequest 객체를 가져오지 못하고 null을 반환하는 것이었습니다. 이렇게 session id가 바뀌는 원인이 무엇인지 알려주시면 감사하겠습니다 ㅠㅠ
-
미해결vue.js 실전 프로젝트(트위터 클론)
쪽지에서 메세지를 쓰면 상대방에게 즉시 나타나게 하려면 어떻게 해야 할까요?
쪽지에서 메세지를 쓰면 쪽지를 받는 상대방은 이름을 선택해 주어야 새로운 메시지가 나타나네요.메시지를 쓰면 상대방에게 즉시 나타나게 하려면 어떻게 해야 할까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Asio 기반 서버 멘토링
안녕하세요 루키스님. 질문할 곳을 찾지 못해 이 곳에 질문하게 되었습니다.이번 Asio 기반 C++서버 멘토링을 일단 신청은 해놨는데, 선수 지식으로 part4 게임서버 정도까지의 수강이 필요할까요 ? 요구되는 수준을 알려주시면 감사하겠습니다 !
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
개발환경과 배포환경시 다른 의존성을 주입하는 예제
질문보다는 코드 리뷰에 가까운데 강의 내용중에 나온 테스트 코드와 실제 배포시 다르게 적용할 경우 예제를 작성해 보았습니다.이해한 내용이 맞는지 또는 보안이나 수정할 만한 내용이 있는지 알려주시면 감사합니다.//app.service.ts import { Injectable } from '@nestjs/common'; export interface IAppService { getSecret(): string; } @Injectable() export class AppService implements IAppService { getSecret(): string { return '실제 배포 환경'; } } @Injectable() export class Test_AppService implements IAppService { getSecret(): string { return '개발 테스트 환경'; } } //app.module.ts import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService, Test_AppService } from './app.service'; import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ConfigModule.forRoot({ isGlobal: true })], controllers: [AppController], providers: [ { provide: 'AppService', useClass: process.env.NODE_ENV === 'production' ? AppService : Test_AppService, }, ], }) export class AppModule {} //app.controller.ts import { Controller, Get, Inject } from '@nestjs/common'; import { IAppService } from './app.service'; @Controller() export class AppController { constructor(@Inject('AppService') private readonly appService: IAppService) {} @Get() getHello(): string { return this.appService.getSecret(); } }
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
의존성 주입시 객체가 반복적으로 생성될 수 있다고 했는데 해결방법이 어떻게 되는건가요?
강의 내용중 어떤것들은 DI 때마다 객체가 생성될수가 있고그럴 경우 웹소캣 객체같은 경우 문제가 생길수 있다고 하셧는데Nest 에서 그것을 해결하기 위해 자동으로 Module 단에서 Provider에 추가시 자동으로 객체를 하나만 만든후 재사용하여 (싱글톤과 유사하게 작동) 등을 통해 해결을 해주는것인지아니면 직접 해당 Class에서 싱글톤으로 생성을 해줘야 하는건지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
강의 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의를 들으며 헷갈리는 부분 질문 남깁니다. 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다.회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)먼저 회원은 가입하고 조회할 수 있는 기능이 있고 이를 역할과 구현으로 구분하기 위해 역할인 MemberService와 구현인 MemberServiceImpl을 생성했다고 이해했습니다. 그 다음부터 헷갈리기 시작하는데요. 여기서부터 질문입니다. MemberRepository 라는 interface를 생성했는데. 일단 저는 Repository를 현업에서 거의 사용한 적이 없어서 명칭부터가 익숙치 않았는데요. 제가 이해하기로는 주로 외부와의(DB) 통신을 담당하는 친구로 DAO와 유사한 역할을 하는 것으로 이해했습니다. 맞나요? 다만, 자체 DB를 구축할지 외부시스템과 연동할지 정해지지 않았기 때문에 Interface로 생성한거고, 만약 정해져 있다면 굳이 Interface로 생성하지 않아도 될 것 같은데 맞나요? 제가 현업에서 일하면서 Service와 DAO를 연결할때는 보통 같은 기능명칭을 사용했는데 여기서는 join을 save로, findMember를 findById로 사용하더라구요. 명칭을 다르게 하는 이유가있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
핸드폰에 전송이 안 되네요 ㅜㅜ
강의랑 똑같이 따라한 것 같은데.. postman에서는 오류가 발생하지 않고 인증완료라고 뜨긴 하는데요,vscode의 터미널을 보면 발신번호 미등록이라고 뜨고 .. 핸드폰에 전송이 안 되네요.뭐가 문제일까요? coolsms, mysms, API key랑 API secret도 cSpell 오류가 뜨길래 상위 폴더에서 .cspell.json 파일 만들어서 오류 안뜨게 했는데.. 여기서부터 문제였던 걸까요? 참고로 yarn add coolsms-node-sdk도 했고.. 분명 다 한 것 같은데ㅜ 어디서부터 잘못된건지 정말 모르겠어요..혹시 제가 코드 이상하게 작성하거나 잘못된 부분이 있나 해서.. 코드도 붙여봅니다 ㅜㅜ꼭 성공하고 싶은데 제가 아직 코린이라 ㅜㅜ 다 어렵기만 하네요 ㅜㅜ { "name": "04-01-rest-api-with-express", "version": "1.0.0", "main": "index.js", "license": "MIT", "type": "module", "scripts": { "dev": "nodemon index.js" }, "dependencies": { "coolsms-node-sdk": "^2.0.1", "cors": "^2.8.5", "express": "^4.18.2", "nodemon": "^3.0.1", "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^5.0.0" } } import coolsms from "coolsms-node-sdk"; export function checkValidationPhone(myPhone) { if (myPhone.length !== 10 && myPhone.length !== 11) { console.log("에러 발생!!! 핸드폰 번호를 제대로 입력해 주세요!!!"); return false; } else { return true; } } export function getToken() { const myCount = 6; if (myCount === undefined) { console.log("에러 발생!!! 갯수를 제대로 입력해 주세요!!!"); return; } else if (myCount <= 0) { console.log("에러 발생!!! 갯수가 너무 적습니다!!!"); return; } else if (myCount > 10) { console.log("에러 발생!!! 갯수가 너무 많습니다!!!"); return; } const result = String(Math.floor(Math.random() * 10 ** myCount)).padStart( myCount, "0" ); return result; // console.log(result) } export async function sendTokenToSMS(fff, ggg) { // console.log(fff + "번호로 인증번호" + ggg + "를 전송합니다!!"); const mysms = coolsms.default; const messageService = new mysms( "NCSESSQG0X1RZAGF", "2OFMQEDM5YCL59ICURBSPJGD08R1FQOG" ); const result = await messageService.sendOne({ to: fff, from: ggg, text: `[코드캠프] 안녕하세요?! 요청하신 인증번호는 [${ggg}] 입니다.`, }); console.log(result); } import { checkValidationPhone, getToken, sendTokenToSMS } from "./phone.js"; import express from "express"; import swaggerUi from "swagger-ui-express"; import swaggerJsdoc from "swagger-jsdoc"; import { options } from "./swagger/config.js"; import cors from "cors"; const app = express(); app.use(cors()); app.use(express.json()); app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerJsdoc(options))); app.get("/boards", (req, res) => { //1. 데이터를 조회하는 로직 => DB에 접속해서 데이터 꺼내오기 const result = [ { number: 1, writer: "철수", title: "제목1", contents: "내용1" }, { number: 2, writer: "맹구", title: "제목2", contents: "내용2" }, { number: 3, writer: "훈이", title: "제목3", contents: "내용3" }, ]; //2. 꺼내온 결과 응답 주기 res.send(result); }); app.post("/boards", (req, res) => { // 1. 데이터를 등록하는 로직 => DB에 접속해서 데이터 저장하기 // 프론트엔드로부터 데이터 받아오기 // 콘솔로 찍어서 확인 해보기 console.log(req.body); // 2. 저장 결과 알려주기 res.send("게시물 등록에 성공하였습니다."); }); app.post("/tokens/phone", (req, res) => { const myPhone = req.body.aaa; // 1. 휴대폰번호 자릿수 맞는지 확인하기 const isValid = checkValidationPhone(myPhone); if (isValid) { // 2. 핸드폰 토큰 6자리 만들기 const myToken = getToken(); // 3. 핸드폰번호에 토큰 전송하기 sendTokenToSMS(myPhone, myToken); res.send("인증완료"); } }); app.listen(3000, () => { console.log(`Example app listening on port ${3000}`); });
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
TypeORM @PrimaryGeneratedColumn 관련 질문
@PrimaryGeneratedColumn() 데코레이터에 인자로 전달할 수 있는increment와 identity에 따라서 어떤 차이가 있는지 궁금합니다.찾아봐도 알기가 어려워서 질문드립니다.
-
해결됨[코드캠프] 훈훈한 Javascript
locallhost
제 창 주소는 이렇게 뜨는데 왜 강사님은 다르게 뜨는 건가요 로컬호스트 강의 0:40 부분
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 이름을 같게 해도 에러가 뜨지 않아요 ㅠ (자동)
MemberServiceImpl, OrderServiceImpl 이름을둘다 service로 이름을 설정했는데AutoAppConfigTest 에서 돌려봐도 테스트가 통과하고에러가 뜨질 않네요왜 이럴까요? 영한님 강의 너무 잘 듣고 있습니다 좋은 강의 찍어주셔서 감사합니다!
-
미해결
페이지 색인을 생성할 수 없음: 사이트 전반의 문제로 인해 이용 불가
이틀 전부터 갑자기 서치콘솔에 색인요청하면 저렇게 나오는데 왜 이러는걸까요?혹시 알려주실수 있으실까요?잘되던게 갑자기 이래서...
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HW 가속기 설계 강의를 위한 FPGA 보드 사용
안녕하세요!완강 후 다음 강의인 FPGA 들을려고 합니다제가 FPGA Cora Z7를 가지고 있는데 이 보드로 HW 가속기 설계 강의 들을 수 있을까요??https://digilent.com/reference/programmable-logic/cora-z7/start
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
고급문제풀이 3번 INNERJOIN 활용시 오류
SELECT C.company_code, C.founder, COUNT DISTINCT(L.lead_manager_code), COUNT DISTINCT(S.senior_manager_code), COUNT DISTINCT(M.manager_code), COUNT DISTINCT(E.employee_code) FROM Company C INNER JOIN Lead Manager L ON C.company_code = L.company_code INNER JOIN Senior Manager S ON S.company_code = L.company_code INNER JOIN Manger M ON M.company_code = S.company_code INNER JOIN Employee E ON E.company_code = M.company_codeGROUP BY C.Company_code, C.founderORDER BY C.company_code 다음과 같이 작성하였는데 어떤 부분에서 오류가 발생하였는지 한번 확인해주시면 감사드리겠습니다. 모든 조건을 맞게 기입하였다고 생각되는데 계속 오류가 반복해서 뜨네요 ㅜㅜ
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
고급문제풀이세트1 문제2번 질문
SELECT h.hacker_id , h.name , SUM(sb.max_score) total_scoreFROM( SELECT hacker_id, challenge_id, MAX(score) max_score FROM Submissions GROUP BY hacker_id, challenge_id) sbINNER JOIN hackers h ON h.hacker_id = sb.hacker_idGROUP BY h.hacker_id, h.name HAVING total_score !=0ORDER BY total_score DESC, h.hacker_id 위와 같은 코드를 작성하여서 정답을 잘 제출하였는데요다만, 서브쿼리부문에서 challenge_id가 왜 select절과 group by절에 와야하는지 이해가 되지 않습니다.좀 더 상세히 말씀드리면, 어짜피 group by절에 오게되면 select 절에 오게되는데, challenge_id는 저희가 구하려는 값에도 없는데 왜 group by 절을 써서 서브쿼리에서 묶어야 되는지가 이해가 안됩니다 감사합니다
-
해결됨QGIS 파이썬 자동화 (벡터편) Ver.2
Buffer 만드는 강의에서 코드 오류인 것 같습니다.
import processingimport osimport timestart = time.time()shpPath_two_points = 'Z:/GIS_Study/Inflearn/Section1/SHP/01_buffer/two_points_5186.shp'shpPath_triangle = 'Z:/GIS_Study/Inflearn/Section1/SHP/01_buffer/triangle_5186.shp'#distancebuffer_distance = 300output_temp_buffer = 'memory_distance_practice'bufferParams = {'INPUT':shpPath_two_points, 'DISTANCE':buffer_distance, 'OUTPUT':output_temp_buffer}#버퍼 실행buffer = processing.run('native:buffer', bufferParams)#버퍼 결과 추가 및 완료 메세지QgsProject.instance().addMapLayer(buffer['OUTPUT']) > 알려주신 코드에서 오류 발생print('버퍼 완료:', time.time()-start) *QgsProject.instance().addMapLayer(buffer['OUTPUT']) 대체 코드# QgsVectorLayer로 변환buffer_layer = QgsVectorLayer(buffer['OUTPUT'], 'Buffered Layer', 'ogr')# 맵에 추가QgsProject.instance().addMapLayer(buffer_layer)print('버퍼 완료:', time.time()-start) 즉 문자열로 받아서 안된다고 하네요.. 위 코드로 대체하니 결과물이 정상적으로 나옵니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
비디오 업로드, 로그인, 회원가입 504 error
안녕하세요 http://localhost:3000/video/upload 실행해 비디오를 선택하면 POST http://localhost:3000/api/video/uploadfiles 504 (Gateway Timeout),http://localhost:3000/register실행해 가입을 하려하면POST http://localhost:3000/api/users/register 504 (Gateway Timeout)Uncaught (in promise) Error: Request failed with status code 504이런 에러가 나옵니다 vscode 에서는 Server Listening on 5000[0] MongoError: bad auth : authentication failed[0] at MessageStream.messageHandler (C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\connection.js:299:20) [0] at MessageStream.emit (node:events:520:28)[0] at processIncomingData (C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\message_stream.js:144:12) [0] at MessageStream._write (C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\message_stream.js:42:5) [0] at writeOrBuffer (node:internal/streams/writable:389:12)[0] at _write (node:internal/streams/writable:330:10)[0] at MessageStream.Writable.write (node:internal/streams/writable:334:10)[0] at TLSSocket.ondata (node:internal/streams/readable:754:22)[0] at TLSSocket.emit (node:events:520:28)[0] at addChunk (node:internal/streams/readable:315:12)[0] at readableAddChunk (node:internal/streams/readable:289:9)[0] at TLSSocket.Readable.push (node:internal/streams/readable:228:10)[0] at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) {[0] ok: 0,[0] code: 8000,[0] codeName: 'AtlasError'[0] } ,Error: ffmpeg exited with code 4294967291: frame= 1 fps=0.0 q=-0.0 Lq=-0.0 q=-0.0 size=N/A time=00:00:00.00 bitrate=N/A dup=2 drop=0 speed= 0x [0] video:199kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown[0] Conversion failed![0][0] at ChildProcess.<anonymous> (C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\fluent-ffmpeg\lib\processor.js:182:22)[0] at ChildProcess.emit (node:events:520:28)[0] at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)[0] Waiting for the debugger to disconnect...[0] node:events:498[0] throw er; // Unhandled 'error' event[0] ^[0][0] MongooseError: Operation `users.findOne()` buffering timed out after 10000ms[0] at Timeout.<anonymous> (C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:198:23)[0] at listOnTimeout (node:internal/timers:559:17)[0] at processTimers (node:internal/timers:502:7)[0] Emitted 'error' event on Function instance at:[0] at C:\Han\boilerplate-mern-stack-master\boilerplate-mern-stack-master\node_modules\mongoose\lib\model.js:5084:15[0] at processTicksAndRejections (node:internal/process/task_queues:78:11)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)[0] [nodemon] app crashed - waiting for file changes before starting...[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/register from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/video/getVideos from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/video/uploadfiles from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)[1] [HPM] Error occurred while trying to proxy request /api/users/register from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors) 이렇게 나옵니다어떻게 해결해야 할까요 깃허브 https://github.com/Hanboreum/boilerplate-mern-stack-master
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 출력 관련한 질문 입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. http://boj.kr/4dae74666d35462094e6f4f319f86ac0 해당 소스를 가지고 했는데 문제 조건 N % 2 !=0 && N % 5 != 0 에 해당하는 값을 입력할 때는 아무런 출력이 되지 않고 해당 조건을 벗어나는 값을 입력할 때만 값이 출력됩니다. 아마 제가 모르는 부분이 있거나 교안에 제가 잊은 부분이 있는거 같은데 혹시 알려주실 수 있으실까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
groupby 실행시 오류가 발생해요
주피터 노트북(터미널로 numpy, pandas 설치완료)으로 df.groupby('원두').mean() 실행했는데 오류가 발생해요 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
import 경로 오류질문입니다
BoardWriter 컴포넌트를 자동완성으로 쓸 경우 import 경로 자동완성이 @으로 시작되면 경로 오류가 뜨고 위처럼 ../ 로 바꿀경우 오류가 안뜨는데 자동완성으로 하면 안되나요?