묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
get_dummies 관련문의
안녕하세요.get_dummies 관련 문의드립니다.Feature Engineering 강의 듣다가 문의 있어 글 납깁니다. [Pclass:3,sex:male,Age:25,Parch:0,Fare:8,Embarked:Q]만약에 새로운 위에 있는 데이터를 predict 하고 싶으면, df에 concat 시키고, 다시 get_dummies 후에 해당 Row로 predict 해봐야 되는건가요?그리고 만약에 embarked에 Z라는 새로운 카테고리가 생기면 다시 학습시켜줘야 되는건가요?
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
콜백 함수의 매개변수로 _를 쓰는 이유가 무엇인가요?
// forEach let arr = [1, 2, 3, 4, 5]; // forEach 콜백 함수 arr.forEach((_, __, array) => { // 콜백 함수의 매개변수로 _, __ 사용 console.log(array) }); 콜백 함수의 매개변수로 _, __ 같이 쓰는 경우가 있던데 왜 이렇게 쓰는지 궁금합니다.
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
공부방법 문의
자료구조 별로 구현하고 문제풀이 하면서 강의 진도 따라가면서 백준 문제풀이도 같이 하고 있는데 스택을 배웠으면 스택 백준 문제 다풀고 넘어가는 게 맞는지 일단 자료구조 강의 개념 다 풀고 넘어가는 게 맞는 게 맞을까요?
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
스킬시스템을 데이터 테이블화 하는 법에 대해 감이안잡혀서 질문드립니다.
스킬이나 이펙트가 Flat한 데이터가 아니다보니 어떤식으로 테이블을 구성해야할지 감이 전혀 안잡히는 것 같습니다. 실무에서는 어떤 부분까지 테이블 화 시켜서 처리하는지 궁금합니다.이에 관련해서 정보나 팁을 얻을 수 있을까요??
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
콜백 함수의 매개변수는 어떻게 구분되나요?
// forEach let arr = [1, 2, 3, 4, 5]; // forEach 콜백 함수 arr.forEach((elm, idx, array) => { // 콜백 함수의 매개변수 console.log(`${idx} 번째 요소는 ${elm} 입니다.`); console.log(array) });// map let arr = [1, 2, 3, 4, 5]; // map 콜백 함수 let newArray = arr.map((elm) => { // 콜백 함수의 매개변수 return elm * 10; }); console.log(newArray);// findIndex let colors = [ { id: 1, color: "green" }, { id: 2, color: "blue" }, { id: 3, color: "purple" } ]; // findIndex 콜백 함수 let idx = colors.findIndex((elm) => elm.color === "purple"); // 콜백 함수의 매개변수 console.log(idx); // 2 map이나 findIndex는 콜백 함수의 매개변수를 elm만 써서 구분할 수 있는데forEach는 콜백 함수의 매개변수가 elm, idx, array가 있으면 각 매개변수를 어떻게 구분하나요? 변수명처럼 할당된 이름이 있어서 해당 이름하고 비슷한 이름을 지으면 콜백 함수의 매개변수로 취급하는건가요?
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
[5.2) 풀라우트 캐시 2] fetch의 cache 옵션 기본값 질문: no-store/force-cache
안녕하세요. 수업을 듣다가 알려주신 거랑 다르게 동작하는 것 같아 질문드립니다.5.2 풀라우트 캐시2 스크립트 기준 10:09"자, 이런 Fetch 메서드는 자동으로 No Store 옵션을 갖는다고 말씀을 드렸죠?"-> 그래서 예상한 결과값은 dynamic page를 예상했는데 static page로 나오는 것 같습니다npm run build를 했을 때cache 옵션을 안 준 경우 const response = await fetch(`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book`) Route (app) Size First Load JS ┌ ○ / 288 B 106 kB이렇게 static page로 나오고cache 옵션 no-store로 준 경우Route (app) Size First Load JS ┌ ƒ / 288 B 106 kB이렇게 dynamic page로 나와서next 공식 문서를 찾아보니https://nextjs.org/docs/15/app/api-reference/functions/fetchauto no cache (default): Next.js fetches the resource from the remote server on every request in development, but will fetch once during next build because the route will be statically prerendered. If Dynamic APIs are detected on the route, Next.js will fetch the resource on every request.이렇게 build 때는 static 이라고 해서 질문이 생겼습니다.어떤 블로그에서는 또 브라우저마다 다르게 동작한다고 해서 헷갈립니다..!답변 주시면 감사드리겠습니다.
-
미해결[Unity] 멀티플레이 게임 필수 기능 구현 - 서버 & 데이터 관리까지!
방만들기 기능 추가 업데이트 문의
안녕하세요! 강의 잘 듣고 있습니다.다름이 아니라 방 만들기(Room Creation) 기능과 관련해서 추가적인 커리큘럼이 업데이트될 예정이 있는지 궁금하여 문의드립니다포톤을 활용한 멀티플레이 구조를 더 깊이 있게 이해하고 싶은데 현재 강의에서 다루지 않은 부분들이 있어 혹시 확장 계획이 있으신지 알고 싶습니다.감사합니다
-
미해결
기존에 못들은 강의로 진행해도 되나요?
이번 챌린지 이전에 못들은 걸로 진행해도 되나요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
코드스니펫 입출력 케이스에 오류가 있는것 같아요
# 코드스니펫 입출력 예제 두번째 라인 print("정답 = ()()( / 현재 풀이 값 = ", get_correct_parentheses("))()("))코드스니펫 예제 입출력에 오류가 있는것 같습니다. 문제 조건에도 다음과 같이 명시되어 있고균형잡힌 괄호 문자열 p가 매개변수로 주어질 때, 주어진 알고리즘을 수행해 올바른 괄호 문자열로 변환한 결과를 반환하시오.프로그래머스 원문제 링크 조건에도문자열 p를 이루는 '(' 와 ')' 의 개수는 항상 같습니다.라는 조건이 있는데 해당 입력케이스는 균형잡힌 괄호 문자열이 아니므로 요구조건에 부합하지 않네요
-
미해결
결제수단 변경 요청
11/27일에 결제했는데 회사에서 교육 지원이 가능하다고 하여 결제한 카드를 변경하고 싶은데 결제수단을 변경할 수 있을까요?
-
미해결
title과 narration 노드 구분 문의 드립니다!
해당 강의해서는 title과 narration을 한번에 뽑는데 저는 순차적으로 뽑고 싶어서요! 그 방법을 알고 싶습니다!주제 생성 노드를 작성하고 앞선 노드를 바탕으로 대본을 생성해줘! 라고 하고싶어요!
-
해결됨원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)
질문있습니다!
강사님! 혹시 Title 부분과 Narration을 하나씩 생성할 수 있는 방법은 없나요?예를 들어, 킬러 주제를 한 가지 뽑아줘 > 위 주제를 토대로 대본을 생성해줘!위와 같은 형태로요. 그리고 또한 작성된 대본을 spilt 노드를 통해 나눈 후 각 문장에 적합한 이미지를 생성하고 싶은데 가능할까요?
-
미해결Next.js 15 with Spring Boot
21강 이미지 출력이 안됩니다.
http://localhost:8080/s_uuid_filename.webp으로 브라우저에서는 이미지가 잘 출력되는데,개발환경에서 next.js 서버 실행하고http://localhost:3000/product/catalog/1로 접속하면 이미지가 안 보입니다.F12로 Network탭에서 이미지가 상태코드 400이 뜹니다.next.config.mjs 파일에 remotePatterns 설정 되었어요.next.jsx 터미널창에 로그는 아래와 같습니다.GET /product/catalog/1 200 in 1251ms (compile: 1206ms, render: 45ms)⨯ upstream image http://localhost:8080/s_uuid_filename9.webp resolved to private ip ["::1","127.0.0.1"]⨯ upstream image http://localhost:8080/s_uuid_filename8.webp resolved to private ip ["::1","127.0.0.1"]⨯ upstream image http://localhost:8080/s_uuid_filename7.webp resolved to private ip ["::1","127.0.0.1"]⨯ upstream image http://localhost:8080/s_uuid_filename6.webp resolved to private ip ["::1","127.0.0.1"]GPT에게 물어보니 /** @type {import('next').NextConfig} */const nextConfig = {images: {unoptimized: true, // ← Next.js 이미지 최적화 끔},};export default nextConfig;최적화를 끄라고하는데, 이미지 최적화를 끄면 이미지는 나오지만이미지 최적화 하면서 이미지가 나오게 할 수 있는 방법 있을까요? 현재 설치된 next.js 버전은 16.0.8입니다.수업은 next.js 15버전인가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
배포후 동일한 url 다른 기기 접속
이렇게 노트북으로 배포한 상태에서 동일한 url을 제 휴대폰으로 검색해서 들어가니까 제 휴대폰으로는 데이터들이 안 보이는데 버그인가요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
round
어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷윈도우키 + 쉬프트키 + S(윈도우)을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요.강의 내에서 사용했던 roundcube webmail은 어떤 경우에 사용하는 메일인가요?
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
구글에 색인이 잘되다가 갑자기 안됩니다.
구글에 색인이 잘 되다가 갑자기 안됩니다.강사님의 blogagent.kr 도 글 수에 비해서 색인 숫자가 많이 부족한데 이유가 뭘까요?
-
미해결
26년도 1회차 필기 대비 관련
수강신청 전 입니다. 혹시, 25년도 1차,2차 기출 문제 반영한 신규 강의 및 자료도 반영됐을까요~? 아니면 지금 강의 신청하고 자료 다운 받아 미리 공부 시작하면 추후에 업로드 될까요..?
-
해결됨Flutter 앱 개발 기초
SharedPreferences prefs 초기화 시기 문제
제 식대로 코드를 수정했습니다. MultiProvider로 CatService(prefs)를 호출하는 시기와 prefs를 초기화하는 시기가 비슷하여, 문제가 생겼습니다. "CatService 내부에서 async로 초기화하게 만들고생성자에서 바로 prefs를 쓰지 않도록 수정"하는 방식을 추천하는데 그게 맞을까요? 에러 메세지는 다음과 같습니다 [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel: "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll"., null, null) 주요 코드import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); SharedPreferences prefs = await SharedPreferences.getInstance(); runApp( MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => CatService(prefs)), ], child: const MyApp(), ), ); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: HomePage(), theme: ThemeData(textTheme: GoogleFonts.getTextTheme('Sunflower')), ); } } class CatService extends ChangeNotifier { SharedPreferences prefs; List<String> catImages = []; List<String> favoriteImages = []; CatService(this.prefs) { getRandomCatImages(); favoriteImages = prefs.getStringList("favorites") ?? []; } void getRandomCatImages() async { Response result = await Dio().get( 'https://api.thecatapi.com/v1/images/search?limit=10&mime_types=jpg', ); for (var i = 0; i < result.data.length; i++) { catImages.add(result.data[i]["url"]); } notifyListeners(); } void toggleFavoriteImages(String image) { if (favoriteImages.contains(image)) { favoriteImages.remove(image); } else { favoriteImages.add(image); } prefs.setStringList("favorites", favoriteImages); notifyListeners(); } } <전체 코드>import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); SharedPreferences prefs = await SharedPreferences.getInstance(); runApp( MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => CatService(prefs)), ], child: const MyApp(), ), ); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: HomePage(), theme: ThemeData(textTheme: GoogleFonts.getTextTheme('Sunflower')), ); } } class CatService extends ChangeNotifier { SharedPreferences prefs; List<String> catImages = []; List<String> favoriteImages = []; CatService(this.prefs) { getRandomCatImages(); favoriteImages = prefs.getStringList("favorites") ?? []; } void getRandomCatImages() async { Response result = await Dio().get( 'https://api.thecatapi.com/v1/images/search?limit=10&mime_types=jpg', ); for (var i = 0; i < result.data.length; i++) { catImages.add(result.data[i]["url"]); } notifyListeners(); } void toggleFavoriteImages(String image) { if (favoriteImages.contains(image)) { favoriteImages.remove(image); } else { favoriteImages.add(image); } prefs.setStringList("favorites", favoriteImages); notifyListeners(); } } class HomePage extends StatefulWidget { const HomePage({super.key}); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { @override Widget build(BuildContext context) { return Consumer<CatService>( builder: (context, catService, child) { return Scaffold( appBar: AppBar( backgroundColor: Colors.yellow, title: Center(child: Text("랜덤 고양이")), actions: [ IconButton( onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => FavoritePage()), ); }, icon: Icon(Icons.favorite, color: Colors.red), ), ], ), body: SafeArea( child: Container( color: Colors.brown.shade100, child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 8, crossAxisSpacing: 8, padding: EdgeInsets.all(8), children: List.generate(catService.catImages.length, (index) { String catImage = catService.catImages[index]; return Stack( children: [ Positioned.fill( child: GestureDetector( onTap: () { catService.toggleFavoriteImages(catImage); }, child: Image.network(catImage, fit: BoxFit.cover), ), ), Positioned( right: 0, bottom: 0, child: Icon( Icons.favorite, size: 40, color: catService.favoriteImages.contains(catImage) ? Colors.pink.shade200 : Colors.transparent, ), ), ], ); }), ), ), ), ); }, ); } } class FavoritePage extends StatelessWidget { const FavoritePage({super.key}); @override Widget build(BuildContext context) { return Consumer<CatService>( builder: (context, catService, child) { return Scaffold( appBar: AppBar( backgroundColor: Colors.yellow, title: Center(child: Text("좋아")), ), body: SafeArea( child: GridView.count( crossAxisCount: 2, mainAxisSpacing: 8, crossAxisSpacing: 8, padding: EdgeInsets.all(8), children: List.generate(catService.favoriteImages.length, ( index, ) { String catImage = catService.favoriteImages[index]; return Stack( children: [ Positioned.fill( child: GestureDetector( onTap: () { catService.toggleFavoriteImages(catImage); }, child: Image.network(catImage, fit: BoxFit.cover), ), ), Positioned( right: 0, bottom: 0, child: Icon( Icons.favorite, size: 40, color: catService.favoriteImages.contains(catImage) ? Colors.pink.shade200 : Colors.transparent, ), ), ], ); }), ), ), ); }, ); } }
-
미해결세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
DP 알고리즘 index 0 이유?
💡 질문 작성 가이드보다 빠르고 정확한 답변을 위해, 아래 사항을 참고해 질문을 작성해주세요.1. 간단한 내용은 ChatGPT로 먼저 확인해보세요.기본 개념이나 용어 설명은 ChatGPT를 활용하는 것이 더 빠르고 효율적일 수 있습니다.2. 질문하실 때, 아래 내용을 함께 적어주시면 좋아요.어느 파트인지풀이 코드 > Bottom-Up 방식의 구현내가 이해한 내용 + 궁금한점cost = [[0, 0, 0]]dp = [[-1, -1, -1] for _ in range(N + 1)]해당 부분을 제거 하고cost = [list(map(int, input().split())) for _ in range(N)]dp = [[-1, -1, -1] for _ in range(N)]초기값 처리에서도 1번째가 아닌 0번째 초기화 처리for문에서도 range(2, n+1)이 아닌 range(1, n) 처리 이렇게 0번째 배열부터 사용하도록 해도 같은 결과를 추출 할 수 있는데굳이 0번째 배열을 [0,0,0], [-1,-1,-1]로 저장해놓는 이유가 있는지 궁금합니다.0번째 배열을 쓰는 문제가 있는건지,,, 놓친 부분이 있는건지,, 해서 여쭤봅니다.N = int(input()) cost = [list(map(int, input().split())) for _ in range(N)] dp = [[-1, -1, -1] for _ in range(n)] dp[0][0] = costs[0][0] dp[0][1] = costs[0][1] dp[0][2] = costs[0][2] # DP Table 갱신 for i in range(1, n): # dp[i][0 ~ 2] # dp[i][0] dp[i][0] = costs[i][0] + min(dp[i - 1][1], dp[i - 1][2]) # dp[i][1] dp[i][1] = costs[i][1] + min(dp[i - 1][0], dp[i - 1][2]) # dp[i][2] dp[i][2] = costs[i][2] + min(dp[i - 1][0], dp[i - 1][1])
-
해결됨AI 시대의 혁신적인 게임 개발 입문 with Unity6
Sceene에서 시점을 변경하려고 하는데 잘 안됩니다.
Sceene에서 아래와 같은 기본 시점이 그림<1>처럼 세팅되어 있는데, 이중에 시점을 바꾸면 그림<2>처럼 변경됩니다. 그림<2> 상태에서 그림<1> 상태로 변경하려면 어떻게 해야 하나요? 단축키 이런게 있나요?두번째 질문 그림<2>에서 가운데 사각형을 누르면 Front가 변경되는데 이게 무슨 기능인가요? 그림<1> 그림<2>