묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹모델 예측성능 올리는 법
안녕하십니까.수업을 듣고 연습을 하던 중 문제가 생겨서 글 남깁니다.제가 Random Forest, LGBM으로 기기의 출력을 예측하는 과정을 하고 있는데 각각 단일 앙상블 학습보다 RF와 LGBM을 조합한 스태킹 학습을 통해 예측 성능을 높이려고 했는데 단일 앙상블 학습의 예측 성능이 MAE기준 1점 정도 더 높게 나왔습니다. 스태킹 학습을 통해 성능을 살짝만 올리면 원하는 목적에 달성할 수 있을 거 같은데 어떻게 하면 좋을까요?현재 RF, LGBM, XGB, Linear 회귀 알고리즘을 조합하여 도전을 해봤는데도 예측성능이 오르질 않네요 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 쿼드트리 질문
string qurad(int y, int x, int size){ if(size == 1) return string(1, a[y][x]); char b = a[y][x]; string ret = ""; bool flag = 0; for(int i = y; i < y + size; i++){ for(int j = x; j < x + size; j++){ if(b != a[i][j]){ ret += '('; ret += quard(y, x, size / 2); ret += quard(y, x + size / 2, size / 2); ret += quard(y + size / 2, x, size / 2); ret += quard(y + size / 2, x + size / 2, size / 2); ret += ')'; return ret; } } } return string(1, a[y][x]); }안녕하세요 선생님 항상 좋은 강의를 올려주셔서 감사합니다. 위에 있는 코드에서 변수 flag는 사용되지 않았는데 혹시 flag를 변수를 선언할 때 어떤 의도로 선언했는지 알려주실 수 있나요?
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
jenkins jdk 설정
마지막 부분에서 docker image로 하면 jenkins jdk 설정은 따로 하지 않아도 될까요?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
session.abortTransaction()에 대한 실제 예시 문의
아래 명령어를 통해 transaction이 실패했을 때 원복한다고 하는데, 저런 것은 catch문에 넣어야 하는 것이 맞나요? 아니면 if else로 문제점을 발견했을 때 처리하게 하는 걸까요?즉, 저 코드를 실제로 사용할 때, 어떤 모습으로 들어가는 지 궁금합니다.session.abortTransaction()
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Music player를 실행시켜 음악을 재생시키는 방법 문의 드림.
안녕하세요. 모바일 앱에서 블루투스로 헤드셋과 연결 후, 헤드셋 신호를 받아 스마트폰 내부의 음악을 실행하는 프로젝트를 하고 있습니다. 모바일 앱 쪽 담당이구요. 블루투스 신호는 잘 받아서, 이 신호가 play , pause, seek등은 구별할 수 있습니다.다만, 고객사 요청사항은 특정음악을 실행하는 음악플레이어를 만들어 달라는게 아니라, 사용자가 방금 들었던 플레이어의 음악을 재생하거나, 사용한 음악플레이어가 없을때는 스마트폰 내부의 가장 최근 다운받은 음악을 실행시켜 달라는 것입니다.그런데, pub.dev 검색해보면, 음악플레이어를 만드는 라이브러리는 많은데, 가장 최근에 오픈한 음악플레이어를 찾아서 재생하는 방법은 없는 것 같습니다. audio session 이 그역할을 할 것 같기도 한데, 정확하지는 않구요. 해결책을 찾고 싶어, 강사님 조언을 듣고자 질문 올립니다. <요약>flutter 앱에서 버튼을 클릭하면, 가장최근 실행된 음악플레이어 (유튜브, 유튜브뮤직, 멜론, 기본 플레이어 등) 를 실행시키고 음악을 재생하는 방법, 플레이어가 실행되지 않았다면, 가장 최근 다운받은 mp3 등의 음악파일을 실행하는 방법을 알고 싶습니다.
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
포트폴리오 질문
안녕하세요! 수업에 나온것처럼 github 으로 포트폴리오를 작성하고 있는데요, 저는 프론트엔드 지망을 생각하고 있어 프로젝트에 아예 백엔드 부분을 넣지 않고 프론트만 완성했는데, 이 경우에 포트폴리오에 핵심 기능을 어떻게 적어야 할지 고민이 됩니다. 검색하면서 예시들을 많이 찾아봤는데 대부분 firebase같은 걸로 백엔드도 구현한 다음 핵심 기능을 그 위주로 작성을 하더라고요. 저처럼 앞단만 했을 때는 기능을 어떤식으로 작성해야 할까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 경로 설정부분
localhost:8080을 검색하면 index.html로 연결되는데혹시 어디서 설정을 해주는 건가요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
GitHub 권한 요청드립니다!
안녕하세요 선생님, 수업 잘 듣고 있습니다.깃허브 접근할 수 있게 권한 설정 부탁 드릴게요!인프런 아이디 : epalos인프런 이메일 : leo@poinblack.com깃헙 아이디 : rkdgus48@naver.com깃헙 Username : KAI-0419
-
미해결따라하며 배우는 리액트 네이티브 기초
에뮬레이터를 찾을 수 없는 에러 (Android)
선생님 안녕하세요저의 경우에는 안드로이드를 사용해야하는 상황이어서 (사용 os window10)npm run android를 터미널에서 사용하는데요Failed to launch emulator. Reason: No emulators found as an output of emulator -list-avds와 같은 에러가 발생합니다프로젝트 생성이 익숙해지기 위해서 프로젝트 자체를 만드는걸 여러번 해봤는데요 생각보다 자주 발생하는 에러여서 이러한 에러를 어떻게 잡아낼 수 있는지 한번 질문드려봅니다
-
해결됨AWS Boot Camp - AWS로 클라우드 시작하기
AWS Shield & WAF
안녕하세요영상중에 AWS Shield & WAF 마지막 부분이 말이 중간에 끊어진거 같습니다.뒤에 뭐가 더 있는지 알수가 없네요 확인 부탁드려요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
프론트에서 useSWR로 받아온 data 콘솔로그로
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이걸 백엔드부분에서 콘솔로그를 출력안하고프론트에서 로그출력하는 법은 없을까요??백엔드에서말고 프론트에서도 받아온 데이터 보고싶은데 콘솔로그하면 데이터가 안뜨고, undefined만 떠서요..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MVC 1편까지만 완강 후 수강해도 될까요?
안녕하세요! 강의를 통해 매일 백엔드 개발자에 한 걸음 더 가까워지는 느낌을 받고 있는 취준생입니다. 김영한 강사님의 강의로 프론트엔드에서 백엔드 개발자로의 전향을 준비하고 있습니다!다름이 아니라, 현재 저는 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵의 스프링 MVC 1편까지 완강한 상태인데요! 강사님께서 올려주신 로드맵 영상과 Q&A 게시판에서 답변주신 내용에 따르면 MVC 2편을 계속 수강하는 게 맞습니다. 그런데 제가 조금 더 빠르게 토이 프로젝트(정확히 말하면 상용 웹 서비스 출시 - 같이 하는 동료가 있습니다!)에 투입되고 싶은 마음이 큰 상태여서 이후 커리큘럼에 대해 고민이 생겼습니다..!우선은 실무적인 웹 애플리케이션 개발을 다루는 현재 강의(실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발)를 먼저 들음으로써 - 시간도 MVC 2편 대비 7시간 정도로 짧은 편이기에...! - 전체적인 개발 플로우를 접한 후, MVC 2편부터 DB 2편까지 남은 스프링 완전 정복 로드맵 강의를 수강하면서, 부족한 부분을 채워나가는 건 어떨까 생각이 들었습니다! 이와 관련해서 김영한 강사님의 고견을 듣고 싶어서, 질문글을 작성합니다 :-)
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
실습 환경
안녕하세요. 강의선생님처럼 저렇게 가상화면을 띄우고싶은데 server with gui 설치로 graphical 로 설정하였는데 렉이 너무 걸리고 마우스 포인터도 안보여서 혹시 저렇게 설정을 어떻게 하나요??ㅠㅠ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
GetText()사용법
GetText 사용법이 감이 잘 안오네요while과 state없이 GetText()를 실행하면 텍스트 출력이 안되네요..파이썬에서 정확한 문법 정의가 어떻게 되는지요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 9번 질문입니다.
저번에 퀴즈 풀다가 static 관련해서 오류가나서 질문한적이 있는데요.이번에도 static관련해서 오류가 났습니다 ㅜㅜ 선생님과 소스코드는 똑같이 쳤는데도 오류가 나네요위의 사진처럼 class Student에 static을 붙이지 않으니까 non-static 변수라서 참조가 안된다는 내용의 오류가 떠서 static을 추가하니까 아래 사진처럼 결과가 나왔는데요.혹시 어떤게 문제일까요 ㅠㅠ?
-
해결됨냉동코더의 알기 쉬운 Modern Android Development 입문
서버도 페이징 기능이 되는데 Paging 라이브러리가 필요할까요?
문득 페이징을 공부하다보니로컬 데이터의 경우 한꺼번에 받아오는 경우가 많아서 페이징이 필요하다고 생각되지만예제에 사용한 API 는 페이지 size 까지 정할 수 있는데 Paging 라이브러리를 사용하는 이점이 무엇이있을까 궁금합니다...!
-
미해결한국인이 좋아하는 속도로 때려넣는 파이썬
수업 자료에 오류가 있는것 같습니다 ㅠ
문서 정리 자동화 소프트웨어 만들기 압축 파일에 직원 정보라는 파일이 들어있지 않네요 ㅠ
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님 질문입니다.
지금까지 (28, 28, 1): 그레이스케일 이미지 였다면input_tensor = Input(shape=(28, 28, 3): RGB이미지Conv2d(filters=32, kernersize=(3, 3), strides=1, padding='same', activation='relu')(input_tensor)라면 파라미터수는 (32*3*3):커널을 적용한 피처맵 (3)input데이터 채널수로 계산하는것이 맞나요? 최종: 32*3*3*3 피처맵의 개수는 채널수와 상관없이 같구요 (왜냐하면 필터의 채널수도 3으로 늘어나기 때문에)
-
미해결자바스크립트 : 기초부터 실전까지 올인원
타임즈 render 부분 질문
안녕하세요! 타임즈 뉴스 만들기 부분에서 render 함수 짜고 있는데 자꾸 map 관련 오류가 뜹니다... 콘솔에 아래와 같이 찍혀요... 데이터만 불러오면 자꾸 같은 오류가 나서 렌더링이 잘 안되는데 어떻게 해결할 수 있나요? main.js:17 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'map')let news = [] const getLastNews = async () => { let url = new URL('https://api.newscatcherapi.com/v2/latest_headlines?countries=KR&topic=business&page_size=10' ); let header = new Headers({"x-api-key" : "TXFw8gmdafTvdz_B53fry7i7yuJesOf5fWWhu5EZdyQ", }); let response = await fetch(url,{ headers:header }); let data = await response.json(); news = data.articles render() }; const render = () => { let newsHTML = ""; newsHTML = news.map((news) => { return `<div class="row news"> <div class="col-lg-4"> <img class="news-image" src="${news.media}"/> </div> <div class="col-lg-8"> <h2>${news.title}</h2> <p> 내용 </p> <div> 출처 </div> </div> </div>`; }).join(''); document.querySelector('#news-board').innerHTML = newsHTML; } getLastNews()
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
토큰 재발급 API 실습 중 restoreAccessToken 401 에러
강사님 안녕하세요?토큰 재발급 API 실습 중에 해결되지 않는 부분이 있어 질문드려요. 관련 코드는 강의에서 진행하는 대로 모두 작성하였고, 마지막 실습 부분에서 막힙니다. login 과 fetchUser 까지는 진행이 잘 되는데문제는,restoreAccessToken 부분에서 401 에러가 발생합니다.관련 에러 명령 프롬프트 화면입니다. 관련 쿠키 값 입니다.(login 시도 시 쿠키 값)코드는 실습대로 다 작성했구요.실습도 그대로 따라하는 중 restoreAccessToken 부분만 에러가 나네요. auth.resolver.ts 의 @UseGuards 데코레이터를 빼보기도 하고, 제 나름대로 해결책을 찾아보려 했는데 잘 모르겠네요. 구글링 해봐도 안되고,혹시 제가 빼먹은 부분이나 잘못한 부분이 있을까요?도움 부탁드립니다 :) 아래는 관련 제 코드들 입니다. auth.module.tsimport { Module } from '@nestjs/common'; import { AuthResolver } from './auth.resolver'; import { AuthService } from './auth.service'; import { JwtModule } from '@nestjs/jwt'; import { UserService } from '../users/user.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { User } from '../users/entities/user.entity'; import { JwtRefreshStrategy } from 'src/commons/auth/jwt-refresh.strategy'; @Module({ imports: [ JwtModule.register({}), // TypeOrmModule.forFeature([User]), ], providers: [ JwtRefreshStrategy, // AuthResolver, AuthService, UserService, ], }) export class AuthModule {} auth.resolver.tsimport { UnprocessableEntityException, UseGuards } from '@nestjs/common'; import { Args, Context, Mutation, Resolver } from '@nestjs/graphql'; import { UserService } from '../users/user.service'; import * as bcrypt from 'bcrypt'; import { AuthService } from './auth.service'; import { GqlAuthRefreshGuard } from 'src/commons/auth/gql-auth.guard'; import { CurrentUser } from 'src/commons/auth/gql-user.param'; @Resolver() export class AuthResolver { constructor( private readonly userService: UserService, // private readonly authService: AuthService, ) {} @Mutation(() => String) async login( @Args('email') email: string, // @Args('password') password: string, @Context() context: any, ) { // 1. 로그인(이메일이 일치하는 유저를 DB에서 찾기) const user = await this.userService.findOne({ email }); // 2. 일치하는 이메일이 없으면 -> 에러 던지기!! if (!user) throw new UnprocessableEntityException('이메일이 없습니다.'); // 3. 일치하는 이메일이 있지만, 비밀번호가 틀렸다면 -> 에러 던지기!! const isAuth = await bcrypt.compare(password, user.password); if (!isAuth) throw new UnprocessableEntityException('암호가 틀렸습니다.'); // 4. refreshToken(=JWT)을 만들어서 프론트엔드(쿠키)에 보내주기 this.authService.setRefreshToken({ user, res: context.res }); // 5. 이메일과 비밀번호 모두 일치한다면 -> accessToken(=JWT)을 만들어서 브라우저에 전달하기 return this.authService.getAccessToken({ user }); } @UseGuards(GqlAuthRefreshGuard) @Mutation(() => String) restoreAccessToken( @CurrentUser() currentUser: any, // ) { return this.authService.getAccessToken({ user: currentUser }); } } auth.service.tsimport { Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; @Injectable() export class AuthService { constructor( private readonly jwtService: JwtService, // ) {} setRefreshToken({ user, res }) { const refreshToken = this.jwtService.sign( { email: user.email, sub: user.id }, { secret: 'myRefreshKey', expiresIn: '2w' }, ); // 개발 환경 res.setHeader('Set-Cookie', `refreshToken=${refreshToken}`); // 배포 환경 // res.setHeader('Access-Control-Allow-Origin', 'https://myfrontsite.com') // res.setHeader( // 'Set-Cookie', // `refreshToken=${refreshToken}; path=/; domain=.mybacksite.com; SameSite=None; Secure; httpOnly;` // ) } getAccessToken({ user }) { return this.jwtService.sign( { email: user.email, sub: user.id }, { secret: 'myAccessKey', expiresIn: '30s' }, ); } } jwt-refresh.strategy.tsimport { PassportStrategy } from '@nestjs/passport'; import { Strategy } from 'passport-jwt'; export class JwtRefreshStrategy extends PassportStrategy(Strategy, 'refresh') { constructor() { super({ jwtFromRequest: (req) => { const cookie = req.headers.cookie; const refreshToken = cookie.replace('refreshToken=', ''); return refreshToken; }, secretOrKey: 'myRefreshKey', }); } validate(payload) { console.log(payload); // { email: c@c.com, sub: qkwefuasdij-012093sd } return { email: payload.email, id: payload.sub, }; } } gql-auth-guard.tsimport { ExecutionContext } from '@nestjs/common'; import { GqlExecutionContext } from '@nestjs/graphql'; import { AuthGuard } from '@nestjs/passport'; export class GqlAuthAccessGuard extends AuthGuard('access') { getRequest(context: ExecutionContext) { const ctx = GqlExecutionContext.create(context); return ctx.getContext().req; } } export class GqlAuthRefreshGuard extends AuthGuard('refresh') { getRequest(context: ExecutionContext) { const ctx = GqlExecutionContext.create(context); return ctx.getContext().req; } } app.module.tsimport { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { GraphQLModule } from '@nestjs/graphql'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthModule } from './apis/auth/auth.module'; import { BoardModule } from './apis/boards/boards.module'; import { ProductModule } from './apis/products/product.module'; import { ProductCategoryModule } from './apis/productCategory/productCategory.module'; import { UserModule } from './apis/users/user.module'; // import { AppController } from './app.controller'; // import { AppService } from './app.service'; @Module({ imports: [ AuthModule, BoardModule, ProductModule, ProductCategoryModule, UserModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', context: ({ req, res }) => ({ req, res }), }), TypeOrmModule.forRoot({ type: 'mysql', // 데이터 베이스 타입 host: 'localhost', // local 환경으로 진행 port: 3306, // mysql은 기본 port는 3306 username: 'root', // mysql은 기본 user는 root로 지정 password: 'bada332@', // 본인의 mysql password database: 'myproject03', // 연결할 데이터 베이스명 entities: [__dirname + '/apis/**/*.entity.*'], // 데이터 베이스와 연결할 entity synchronize: true, // entity 테이블을 데이터베이스와 동기화할 것인지 logging: true, // 콘솔 창에 log를 표시할 것인지 }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {}