묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결언리얼 엔진 5 FPS 게임 만들기
프로젝트 맵에서 파티맵이 없어요
동일하게 진행했는데 몇 번을해도 파티맵은 없고Advanced lightningFirstpersonmapMinimal defaultStart map만 나와요 ㅜㅜ 그라고 처음 새프로젝트 만들고 플레이 버튼 후 총을 먹고 f8 로 카메라 모양이 안보입니다Firstpersonal Camera를 클릭해도 없고 회전도 안되네요 회전 시 다시 돌아오니다
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
/basic-objects url 매핑 함수에 대해 질문있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]/basic-objects 매핑 함수에는 HttpSession 밖에 없는데 어떻게 쿼리스트링을 html 에서 param 으로 바로 가져올 수 있는건가요?argument resolver 나 http 메시지 컨버터의 개입이 있어서 그런 것인가요??
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
.env 파일에 3030 포트로 동일하게 작성했지만 사이트에 연결할 수 없음이 나오는데 어디 부분이 빠진 건가요?
안녕하세요. 포트 3000 에서는 사이트도 잘 뜨고 로깅도 잘 되고 있습니다.다만, 환경변수 파일에 추가한 3030 포트로는 열리지 않고 있습니다. 어디 부분을 확인해봐야 되나요??.envSECRET=제로초강의 PORT=3030 main.tsimport { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; declare const module: any; async function bootstrap() { const app = await NestFactory.create(AppModule); const port = process.env.PORT || 3000; await app.listen(3000); console.log(`listening on port ${port}`); if (module.hot) { module.hot.accept(); module.hot.dispose(() => app.close()); } } bootstrap(); app.service.tsimport { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; // 서비스의 경우, 요청과 응답에 대해서는 모르기 때문에 독립적이다. // 즉, 로직을 작성하는 공간이라고 생각하면 된다. @Injectable() export class AppService { constructor(private readonly configService: ConfigService) {} getHello(): string { // process.env.PORT보단 get으로 가져오는 것이 좋다. // return this.configService.get('SECRET'); return process.env.SECRET; } } app.module.tsimport { MiddlewareConsumer, Module, NestModule } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { LoggerMiddleware } from './middlewares/logger.middleware'; @Module({ imports: [ConfigModule.forRoot()], controllers: [AppController], providers: [AppService], }) export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer): any { consumer.apply(LoggerMiddleware).forRoutes('*'); } } logger.moddleware.tsimport { Injectable, Logger, NestMiddleware } from '@nestjs/common'; import { Request, Response, NextFunction } from 'express'; @Injectable() export class LoggerMiddleware implements NestMiddleware { private logger = new Logger('HTTP'); use(request: Request, response: Response, next: NextFunction): void { const { ip, method, originalUrl } = request; const userAgent = request.get('user-agent') || ''; response.on('finish', () => { const { statusCode } = response; const contentLenth = response.get('content-length'); // 만약 context가 필요가 없을 경우 Logger.log가 console.log 대체이다. this.logger.log( `${method} ${originalUrl} ${statusCode} ${contentLenth} - ${userAgent} ${ip}`, ); }); next(); } }
-
미해결[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
퀴즈2에서 SyntaxError라는 것이 뜨면서 실행이 안됩니다
질문에 대한 답변은업무가 바쁘지 않으면, 보통 2~3일 내에 드립니다. 다만 이해하기 어려운 질문은 답변 드리기 어려우니,코드와 오류 메시지를 같이 첨부해 주시기 바랍니다. 7강의 퀴즈2에서 나온 코드와 똑같이 입력을 했는데도 실행되지 않고 오류가 뜹니다 무슨 오류인지 모르겠어요이 퀴즈 풀기 전까지만 해도 모든 코드가 잘 실행되었었는데 이것 포함 다른 코드들도 실행이 되지 않고 syntaxerror만 뜨네요
-
미해결@시코 - MySQL 제대로 배우기 (완벽한 기본기)
MYSQL 설치방법이 없어요
아무리 windows 에서 설치한다지만 서버, 워크벤치, 쉘, 라우터, 도큐먼트, 샘플들 이렇게 제품이 여러개인데, 전부 설치하는것인지등에 대해서 나와있질 않습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
이러한 상황에서는 복합키와 대리키 중 어느것을 사용해야 하나요?
안녕하세요 현재 한 사용자가 한 상점에 대해서 특정 유형의 주문을 몇 번 했는지 조회하는 기능을 구현하고 있습니다.처음에는 주문 테이블의 모든 튜플을 조회하면서 shopid, userid, orderType이 일치하는 경우 값을 누적하는 방식으로 구현을 했는데요,테이블이 갈수록 커지고 이러한 조회가 기획 상 굉장히 빈번하기 때문에 한 유저가 한 상점에 대해 특정 유형의 주문을 몇번 했는지 기억하는 별도의 테이블을 생성하기로 하였습니다.테이블은 userId, shopId, reservationCount, pickupCount, noShowCount 를 필드로 갖도록 구현했습니다.그런데 여기서 기본키를 설정해야 하는데 저는 userId, shopId를 복합키로 하는 것이 좋다고 생각했습니다. 그 이유는 이러한 통계성 테이블이 join을 하는 상황이 없고, 한 유저가 특정 샵을 처음 이용할 때만 튜플이 생기고 이후에는 필드 값만 변경이 이루어지며, 조회가 매우 빈번하기 때문에 userId, shopId를 기본키로 하여 인덱싱을 활용하면 좋다고 생각했기 때문입니다.근데 강사님이 설명하시기를 실무에서는 복합키를 거의 사용하지 않는다고 말씀해주셨는데 이러한 상황에서도 그냥 대리키를 쓰는 것이 낫나요?복합키를 활용한 인덱싱 vs 대리키 + shopId, userId 추가 인덱싱이 둘 중 하나를 적용할 거 같은데 무엇을 기준으로 어떻게 판단해야 할 지 잘 모르겠습니다. 도움 주시면 감사하겠습니다. 참고로 db는 mysql사용중입니다.
-
미해결Do it! HTML+CSS+자바스크립트 웹 표준의 정석
만약 13:20초에 설명하시는 부분이 안보인다면
view-apperance-breadcrumbs를 누르시면 표시됩니다.
-
미해결홍정모의 따라하며 배우는 C언어
강의 17:48 파일 이름을 scanf로 입력하기
강의 중 파일이름을 직접 코드에 치지않고 scanf를 사용 할 수 도 있다고 해서 scanf를 사용해보았는데 에러가 뜨네요. 방식이 틀린걸까요?#include <stdio.h> #include <stdlib.h> //exit() int main() { int c; char str[40]; FILE* file = NULL; char file_name[] = scanf("%s", str); file = fopen(file_name, "r"); if (file == NULL) { printf("Failed to open file.\n"); exit(1); } while ((c = getc(file)) != EOF) putchar(c); fclose(file); return 0; }감사합니다!!
-
미해결코딩테스트 [ ALL IN ONE ]
디스코드 초대장이 만료되었다고 합니다.
디스코드 방이 안들어가집니다.링크를 타고 들어가면 초대장이 만료되었다고 나와요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
cosnt is not defined
npm run dev 시 cosnt is not defined 가 뜹니다 제 코드는import React from 'react'; import propTypes from 'prop-types'; import Link from 'next/link'; import { Menu, Input, Row, Col } from 'antd'; import 'antd/dist/antd.css' import UserProfile from '../components/UserProfile'; import LoginForm from '../components/LoginForm'; const AppLayout = ({ children }) => { cosnt [IsLoggedIn, setIsLoggedIn] = useState(false); return ( <div> <Menu mode="horizontal"> <Menu.Item> <Link href="/"><a>노드버드</a></Link> </Menu.Item> <Menu.Item> <Link href="/profile"><a>프로필</a></Link> </Menu.Item> <Menu.Item> <Input.Search enterButton style={{verticalAlign: 'middle' }}/> </Menu.Item> <Menu.Item> <Link href="/signup"><a>회원가입</a></Link> </Menu.Item> </Menu> <Row gutter={8}> <Col xs={24} md={6}> {isLoggedIn ? <Userprofile /> : <LoginForm />} </Col> <Col xs={24} md={12}> {children} </Col> <Col xs={24} md={6}> <a href="" target='_blank' rel='noreferrer noopener'>Made by 0880</a> </Col> </Row> </div> ); }; AppLayout.propTypes = { children: propTypes.node.isRequired, } export default AppLayout; 입니다 무엇이 문제 일까요
-
해결됨스프링 핵심 원리 - 기본편
request 코스의 다음 http에서 나오겠죠..?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서는 되게 느낌 상 중요한데.. HTTP 섹션이랑 소제에는 안보여서.. 웹 브라우저 요청 흐름, 리다이렉션 이런 곳에서 나올려나요.. ㅎㅎ
-
미해결스프링 핵심 원리 - 기본편
구성정보 클래스에 @Configuration 이 없는 경우
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용중 위와 같은 테스트 과정이 있습니다. 구성 정보인 PrototypeBean 클래스에 @Configuration 애노테이션이 없는 이유를 "@Bean으로 등록할 객체가 없기때문에 굳이 붙힐 필요가 없다." 라고 이해하면 되나요?
-
미해결
pyautogui.locateOnScreen을 동작할 때 다른 것만 클릭됩니다.
김플님의 강의 [업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초] 2강 중간부분에서, 계산기의 "7" 이미지를 캡처하고, 그것을 png 이미지로, 현재 돌리고 있는 py파일이 들어있는 폴더에 저장한 다음, i = pyautogui.locateOnScreen("7.PNG")print (i) 라고 찍어 보면, 두 가지의 상이한 결과가 나옵니다. 윈도우 파일 탐색기로 그 png 파일을 선택하면 창 우측에 미리보기가 떠 있지요. ◆1. 그 미리보기가 떠 있는 동안에는, 제대로 Box(left=1668, top=509, width=111, height=71) 라는 값을 출력해 줍니다. ◆2. 하지만 그 미리보기가 떠 있지 않으면, 출력값은 None이 되어버리고, 그 다음 과정도 진행이 되지 않는군요. 두 경우 모두 계산기 앱은 화면에 띄워져 있는 상태였습니다. ◆1.의 경우에, 미리보기가 떠 있는 상태로 그 아래 코드인 q = pyautogui.center(i) pyautogui.click(q)까지 전부 실행을 시키면, 이번에는 윈도우 파일 탐색기의 미리보기에(...) 마우스가 클릭을 해댑니다. 정말 주객이 전도된 상태가 아니라 할 수 없지요. 어떻게 하면 이 문제를 해결할 수 있을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
리스토어엑세스토큰할때 질문있습니다.
리프레시를 이용해 엑세스를 재발급할때 메서드가 Post인데 Post를 쓰는 이유가 있을까요? 새로운 리소스를 생성하는것이니까 Post를 쓰는것으로 이해하면될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker 실행시에 에러발생 질문드립니다!
위에 이미지처럼 에러가 계속 발생하는데 원인을 모르겠습니다 ㅠ..ㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
App is not defined
npm run dev를 했을 시 ReferenceError: App is not defined 이렇게 뜹니다 제 코드는 import React from 'react'; import PropTypes from 'prop-types'; import Head from 'next/head'; import 'antd/dist/antd.css' const NodeBird = ({Component}) => { return ( <> <Head> <meta charset='utf-8' /> <title>NodeBird</title> </Head> <Component /> </> ) }; App.PropTypes = { Component: PropTypes.elementType.isRequired, } export default App;입니다 어떻게 해야 하나요?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의교안 부탁드립니다.
안녕하세요, 좋은 강의 만들어주셔서 감사합니다. 저도 강의 교안 부탁드립니다! 감사합니다.이메일: dbwldk7675@naver.com
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
32 선택정렬관련 질문
#include <iostream>using namespace std;int main(){ freopen("input.txt","rt",stdin); int a[100],n,i,j,tmp=0; cin>>n; for(i=0;i<n;i++){ cin>>a[i]; } for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++){ if(a[i]<a[j]){ tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } for(i=0;i<n;i++){ cout<<a[i]; } return 0;}선생님, 선택정렬 짤 떄 혹시 이렇게 해도 상관없는건가요...?
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8. 지표 정의 연습 문제
안녕하세요 :)자유롭게 질문을 남겨주세요!궁금하신 부분, 궁금한 이유(맥락) 등을 알려주시면 더욱 답변에 도움이 되어요#1. 기능이 잘 동작하고 있는지 확인하려면?사용성 확인을 위해 우선 각 영역별 클릭율, 구매 전환율을 확인합니다.Home 전체의 클릭율, 구매전환율도 비교를 위해 확인합니다.클릭율 = 클릭수/조회수, 구매 전환율 = 구매 전환 수/클릭수배너 영역에 걸린 프로모션이 효과적인지 확인하기 위해서는클릭율이 높다 = 사람들이 프로모션에 잘 반응한다구매 전환율이 높다 = 혜택이 좋아서 이탈없이 실결제까지 이어진다.두 가지를 확인합니다.메뉴 카테고리별로 쪼개, 클릭율과 구매 전환율을 비교합니다.아이콘 영역 8개를 비교하고, 수치가 “튀는” 영역이 있는지 확인합니다.해당 영역의 아이콘은 먹음직스러운지, 카테고리 분류는 잘 되어 있는지 확인합니다.이런 음식 어때요?개인화 추천 기능은 주문 데이터가 쌓일수록 정교하게 동작한다.(가설)유저 세그멘트를 나누어, 가입일이 오래된 코호트의 클릭율, 구매전환율이 높지 않을까 가설을 세우고 검증합니다.동네 맛집개인화 추천 기능은 데이터가 쌓일 수록 정교하게 작동한다.(가설)지역 세그먼트를 나누어, 등록 업체수, 일 주문건수가 많은 지역 순위를 매깁니다. 음식 배달이 많은 동네에선 추천 알고리즘이 더 정교하게 작동한다는 가설을 세웁니다. 지역별로 클릭율, 구매 전환율을 쪼개서 순위를 비교합니다. #2. 검색 만족도 지표검색 결과가 만족스럽지 않으면, 재검색한다.우선 세션당 평균 검색횟수를 시계열로 봅니다.낮은 검색횟수가 높은 검색 만족도를 보장하지 않습니다.사용자의 심리 상태 등에 따라 여러 번 검색 할 수 있기 때문입니다.따라서 검색 결과 화면에서, 메뉴를 클릭해 상세페이지로 진입했을 때, 사용자가 기대하는 바가 이뤄졌다고 판단이 가능합니다.검색당 결과 클릭율 = 검색결과 클릭수/검색횟수을 메인 지표로 정합니다.검색당 결과 클릭율이 높을 수록, 검색 엔진 만족도가 높다.(가설)그런데 검색 결과까지 도달하는 데에는 1) 직접 검색 2) 최근 검색어 3) 실시간 검색어의 세 가지 경로가 있습니다. 그리고 각 경로마다 검색 결과는 필터 ON/OFF 두 가지 상태가 있습니다.필터에 관한 분석은 연습 #3으로 넘기고 고려하지 않겠습니다.그러면 세 가지 검색 경로에 대해서, 검색당 결과 클릭율을 계산하고, 시간에 따라 어떻게 변하는지 확인하여 검색 만족도를 체크할 수 있습니다. #3. 검색 필터 활성화 지표일단 검색 필터를 사용하는 흐름대로 이벤트를 나열해 보겠습니다.우리가 바라는 활성화 지표를 “검색 결과 클릭”이라고 정의합니다.(분자에 들어감)상활별로 알맞은 분모값을 찾아주고, 지표를 비교해서 필터 기능 사용성을 평가합니다.필터 버튼 on 상태에서 검색 결과 클릭율, 필터 버튼 off 상태에서 검색 결과 클릭율을 비교합니다.그런데 로직 트리를 보면 경우의 수가 복잡합니다.따라서 메인 지표로 “필터 타입 선택 후 검색 결과 클릭율”을 설정합니다. 해당 지표가 “필터 없는 상태의 검색 결과 클릭율”보다 높은지 확인합니다. 높다면, 사용자가 필터를 통해 원하는 검색 결과로 접근하고 클릭한 것이므로, 활성화 되어 있는 것입니다.보조 지표로 2) 필터 버튼 클릭율을 선택합니다. 이건 무조건 높다고 좋지는 않습니다. 검색 결과가 만족스럽지 않기 때문에 필터를 키는 추가 action이 일어나기 때문입니다.마지막으로 필터 on/off에 따른 구매 전환율에 차이가 있는지도 참고합니다. #4. 배달 서비스 OMTM90일 주문 리텐션이라고 생각합니다.재주문율에는 1) 프로덕트의 종합적인 만족도가 반영되어 있고 2) 복리 효과 때문에 리텐션을 유지해야 지속적인 성장이 가능하기 때문입니다. 일반적인 배달 음식 주기를 3달에 1번이라고 생각했습니다.여러 가지 Input 변수들을 리스트업 해보겠습니다.평균 별점 = 별점 합/리뷰 수→ 지나치게 별점이 낮은 업소는 원인을 점검하고 플랫폼 차원에서 관리합니다.평균 배달 시간 = 총 배달 소요 시간/주문건수→ 배달 대기 시간이 긴 지역은 요금 조절을 통해 라이더 공급을 늘립니다.신규 코호트 첫 주문율→ <첫 주문시 XX% 할인> 쿠폰 등 프로모션을 통해 acquisition을 늘립니다. #5. 추천 알고리즘 성능위와 같이 로직트리를 작성했습니다.먼저, 정확한 성능 평가를 위해 기존 유저 주문 데이터만 발라냅니다. 신규 유저의 경우, 과거 주문 내역이 없기 때문에 추천 알고리즘이 제대로 작동하기 어렵다고 가정했습니다.기본적인 아이디어는, (구매 이력이 있는) 기존 유저가 추천 알고리즘에 잘 반응하는지 확인하는 것입니다.추천된 상품 구매 전환율 = 구매 / 추천 영역 클릭수검색 상품 구매 전환율 = 구매 / 검색 결과 클릭수요 두 가지 지표를 파악하고 비교합니다.[추천 받은 상품을 구매할 확률이 높다]는 가설을 검증하면, 추천 알고리즘이 잘 작동하고 있다고 볼 수 있습니다. 두 지표 모두 분모가 클릭수이기 때문에, 상세 페이지로 진입하는 이벤트를 카운트합니다. 추천된 상품의 구매 전환율이 더 높다면, 고객의 잠재 구매율이 높은 상품을 추천한 것입니다. #6. 자주 사용하는 서비스의 지표자주 사용하는 서비스 : 증권사 앱30일 방문 리텐션이 OMTM이라고 생각합니다. 은행, 증권 등 금융 앱의 경우, 치열한 경쟁을 하고 있습니다. 따라서 유저가 지속적으로 접속한다는 것은, 해당 금융 서비스가 어떤 형태로든 유저에게 가치 제안을 하고 있다는 것을 의미하기 때문에, 30일 방문 리텐션을 선정했습니다.보조 지표유저당 일 평균 거래액 = 총거래액 / DAU분자를 더 뾰족하게 정의할 수 있습니다. 송금건수, 결제건수 등으로 구체적인 기능이 얼마나 활발하게 사용되고 있는지 파악합니다.DAU서비스의 전체적인 락인 효과를 알 수 있습니다. #7. 퍼널 개선 프로젝트온보딩 전후로 유저 세그먼트를 나눕니다.코호트별 가입 전환율을 비교합니다.온보딩 기능 도입으로 가입 전환율 20%이 얼마나 증가했는지 유지됐는지 감소했는지, 증가 속도가 빠른지 느린지를 파악합니다.메인 지표 : 가입 전환율보조 지표 : 온보딩 클릭율(skip, next 버튼)가드레일 지표 : 온보딩 이탈율 카일님 안녕하세요. 강의 정말 잘 듣고 있습니다 :) 이런 식으로 사고하는 게 아직 익숙하지 않은 것 같아요. 손으로 직접 로직 트리를 그려보니까 생각보다 어렵고 어색하고... 강의에서 말씀하신 대로 '빨리 가는' 것에 욕심 안 부리고 차근차근 따라가고 있습니다. 일단 연습문제 풀어봤는데 한번 보시고 피드백 주시면 감사하겠습니다. 강의 따라가면서 질문 더 남길게요 :)
-
미해결
김영한 선생님의 스프링 입문 강의 중
안녕하세요. 김영한 선생님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 수강 중인 학생입니다. 섹션 6 DB 파트의 JPA 마지막 회원가입 test를 하는 중 에러가 발생했습니다. 에러가 난 부분은 코드 블럭의 memberService.join(member);의 join에서 나는 것 같습니다. javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement 의 에러 메세지도 함께 뜨는데 찾아봐도 잘 모르겠습니다.@Test void 회원가입() { // given Member member = new Member(); member.setName("spring"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); }