묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃 권한 요청 드립니다
인프런 아이디 : @sbn041778144인프런 이메일 : sbn04177@naver.com깃헙 아이디 : sbn04177@naver.com깃헙 아이디 : EunJaemm
-
미해결김영한의 실전 자바 - 기본편
Method1에서 Student 객체
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이 부분에서 Student student를 선언하고 new Student();를 안했는데 어떻게 바로 .name같은 거를 사용할 수 있는 건가요? 다른 부분에서는 꼭 객체를 먼저 생성해야 접근을 할 수 있는데 이 함수에서는 왜 가능한건가요?static void initStudent(Student student, String name, int age, int grade) { student.name = name; student.age = age; student.grade = grade; }
-
미해결실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
강의 연장 문의
안녕하세요, 강의 연장이 가능한 지 문의 드립니다!가능하다면 연장해주시면 감사하겠습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 문제
캐글 문제를 풀려고 하는데'Edit My Copy' 이걸 눌러서 문제에 진입하면'문제가 발생하여 이 페이지가 중단되었습니다!'라는 문구가 나오고 새로고침을 여러번 하다보면 기분 좋을 때 한번식 열리는데, 무슨 방법이 있을까요...
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
parser에서 에러가 발생합니다.
parser 부분에서 에러가 난다고 합니다. 선생님 하신것 그대로 따라 했는데 에러 나는것 같아 ai에서 물어보고 수정했는데 에러가 안 사라지네요...제가 비전공자라 뭘 놓쳤을 수도 있습니다..
-
해결됨원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)
셀프 호스팅 n8n 에서도 모든 기능 활용 가능한가요?
이제 곧 무료 트라이얼 기간이 끝나가서 여러가지 알아보다가 "Docker" 를 활용하면 제 컴퓨터에 직접 '셀프 호스팅' 해서 n8n 을 무제한으로 무료로 쓸 수 있다고 하던데,셀프 호스팅한 n8n 에서도 영상에 나온 노드들 전부 똑같이 사용 할 수 있나요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
유니티 데이터 저장객체 ScriptableObject에 대해 의견 여쭤보고 싶습니다
데이터 저장 방식에 대하여 공부하던 중, ScriptableObject라는 유니티 데이터 저장 용 객체에 대해 알게 되었습니다.보통 현업에서 일할 때 캐릭터/몬스터의 스텟 등 에디터 내에서 조절해주는 경우는 ScriptableObject를 사용하고, 세이브 파일, 설정 값 저장 등 런타임 동안 읽고 쓸 가능성이 있는 데이터는 Json 및 xml 파일에 데이터를 저장한다고 배웠습니다.선생님의 수업에서 DataManager들은 스텟같은 전자에 속하는 데이터들도 Json or xml 파일로 데이터를 저장하는 것으로 배워서 궁금한 점이 1. 추측하기로는 배포 후 밸런스 패치 등 외부에서 스텟등을 조절해주기 위해 Json방식을 쓰는 것일까 하는데 맞나요?2. ScriptableObject 방식이 문자열 읽고 파싱하고 C#데이터로 바꾸는 Json 사용 방식보다 성능이 우수하다고 하는데 전자를 별로 사용하지 않는 이유가 있나요?3. 현업에서는 ScriptableObject를 자주 사용하나요?4. 선생님의 ScriptableObject에 대한 개인 의견(ex. 불편함, 효율적임, ...)은 어떠신가요?이렇게 4가지입니다.항상 좋은 수업들 올려주셔서 감사합니다. 새로운 강의를 볼 때마다 새로운 가르침을 얻을 수 있어 좋습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험 환경 질문
안녕하세요 예시문제 작업형1 강의 듣고 있는데이것저것 연습겸 클릭하고 있는데문제풀이에서 하다가답안 메뉴 다시 갔다가 다시 문제풀이로 돌아오니 코드 작성한게 다 날라갔더라고요..저장버튼이 활성화되지 않던데..저장하려면 어떻게 해야하죠?실제 시험칠때도 문제풀이 저장하는게 가능한지 궁금합니다감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
df=~적는것
안녕하세요df['고객만족도'].fillna(m)할때앞에 다시 df['고객만족도'] = ~ 붙이는거랑df.dropna(subset='근속연수')앞에 df = ~ 붙이는게 정확하게 붙이는 이유가 이해가 되지 않습니다..뭔가 작업을 할떄앞에 df ~를 다시 붙여준다고 생각하면 될까요?감사합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
컨텐츠 단, 엔진 단
컨텐츠 단, 엔진 단이 뭐에요?
-
미해결FastAPI 완벽 가이드
signed cookie 와 jwt 토큰
안녕하십니까 강사님! 자세하게 좋은 정보 알려주심에 항상 감사드립니다!!제 짧은 지식으로 궁금한 점이 생겨 질문드립니다.사용자 인증을 구현할때 jwt토큰을 사용하는 방법도 있는 걸로 압니다. jwt토큰도 마찬가지로 signed cookie처럼 암호화(인코딩)해서 헤더에 같이 보내는걸로 알고 있습니다.두 방식이 비슷하다고 생각하는데 jwt토큰과 signed cookie로 인증하는 차이가 무엇인지 궁금합니다. 짧은 경험상 모든 기술간의 트레이드 오프가 존재했던 거 같은데 jwt토큰과 signed cookie에도 그러한 부분이 있는지 궁금합니다 !항상 감사드립니다~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제 1
'Attrition_Flag':pred[:,1],마지막에 왜 index 1 열을 가져오는지 이해가 안 돼요.예측하고자 하는 값은 '이탈' 고객인데, 왜 0번째 열이 아닌 1번째 열을 추출하는걸까요?ㅠ이 부분이 헷갈려요
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
강의 따라서 프로젝트를 진행하다가 '출근 가능/불가능 확인 로직'에서 문제를 발견했습니다. 이것저것 시도하다가 드디어 해결해서 과정 공유해봅니다.기존 코드 /// 기존의 initState() @override void initState() { super.initState(); // (아마도) 이 시점에서 오류 발생 ↓ Geolocator.getPositionStream().listen((eventPosition) { // 목적지 위치 var start = defaultLatLng; // 현재 위치 var end = LatLng(eventPosition.latitude, eventPosition.longitude); /// 거리 구하기 var distance = Geolocator.distanceBetween( start.latitude, start.longitude, end.latitude, end.longitude, ); /// 거리가 `boundary` 내부에 들어오는지 확인 setState(() => mayChoolCheck = distance <= boundary); }); } /// 위젯 빌드 @override Widget build(BuildContext context) { /// AppBar: 제목 & 액션 버튼1 var appBar = AppBar( title: Text( '오늘도 출근', style: TextStyle(color: Colors.blue, fontWeight: FontWeight.w700), ), centerTitle: true, // 안드로이드 설정 actions: <Widget>[ /// 원래 위치로 돌아오기 버튼 IconButton( onPressed: returnToMyLocation, icon: Icon(Icons.my_location), color: Colors.blue, ), ], ); return Scaffold( backgroundColor: Colors.white, appBar: appBar, /// 권한 요청을 위한 빌더 body: FutureBuilder<void>( future: checkPermission(), // 위치 권한 묻기 대화상자는 이 시점에 생성됨 builder: (context, snapshot) { if (snapshot.hasError) { return Center(child: Text('${snapshot.error}')); } // 이하 위젯 생성 코드... }, ), ); } /// Future<void> checkPermission() async { /// 위치 서비스 활성화 여부 var isLocationServiceEnabled = await Geolocator.isLocationServiceEnabled(); /// 활성화되지 않았다면 에러 발생 (앱이 현재 위치를 사용할 수 없으므로) assert(isLocationServiceEnabled, '위치 기능을 활성화하지 않았습니다.'); /// 권한 상태 확인 var checkedPermission = await Geolocator.checkPermission(); if (checkedPermission == LocationPermission.denied) { checkedPermission = await Geolocator.requestPermission(); } /// 시뮬레이션 상 `checkedPermission`이 위치 권한 허용 상태가 아니면 에러 유도 assert( checkedPermission == LocationPermission.always || checkedPermission == LocationPermission.whileInUse, '위치 권한을 허용해주세요.', ); }오류 추적오류의 원인은 'User denied permissions .. device's location.' 즉, 사용자가 위치 권한을 아직 허용하지 않은 시점에 위치 권한이 필요한 함수를 호출하려고 함. [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: User denied permissions to access the device's location. E/flutter (13339): #0 GeolocatorAndroid.getPositionStream.<anonymous closure> (package:geolocator_android/src/geolocator_android.dart:201:9) E/flutter (13339): #1 Stream.handleError.<anonymous closure> (dart:async/stream.dart:961:16) E/flutter (13339): #2 HandleErrorStream.handleError (dart:async/stream_pipe.dart:303:17) ...#0 에서 이미 getPositionStream().<anonymous closure> 로 추적한 걸로 보아, Geolocator.getPositionStream() 함수 호출 시점에 오류 발생한 것이 분명함.문제의 원인과 해결책 (일부 ChatGPT의 도움을 받음)문제의 가장 중요한 핵심은, 처음 앱 실행 시 위치 권한 확인 로직이 완전히 끝나기 전에 위치 권한 허용이 이루어지지 않으므로, 앱 재시작 이전까지 '사용자 현재 위치 추적 기능'이 활성화되지 않고, 추가로 관련 함수에서 오류 발생 가능성이 있음.그러므로 checkPermission() 함수는 initState()에서 최초 한 번만 실행하고, Geolocator.getpositionStream() 함수는 따로 분리하여 checkPermission()이 정확히 끝난 시점에 실행되도록 로직을 변경함. 1. checkPermission() 의 리턴 타입을 Future<void> 에서 Future<bool>로 변환 /// 위치 권한 확인 및 부여 함수 Future<bool> checkPermission() async { /// 위치 서비스 활성화 여부 var isLocationServiceEnabled = await Geolocator.isLocationServiceEnabled(); assert(isLocationServiceEnabled, '위치 기능을 활성화하지 않았습니다.'); /// 권한 상태 확인 var checkedPermission = await Geolocator.checkPermission(); if (checkedPermission == LocationPermission.denied) { checkedPermission = await Geolocator.requestPermission(); } /// 위치 권한 허용 여부를 리턴 return checkedPermission == LocationPermission.always || checkedPermission == LocationPermission.whileInUse; }2. initState()에서 checkPermission()과 addSubscription() 함수를 차례로 실행 (.then() 메소드 활용) @override void initState() { super.initState(); checkPermission().then((permitted) { if (permitted) addSubscription(); }); } /// addSubscriptsion 함수 void addSubscription() { /// 리스너 함수: 출근체크 가능 여부 확인하기 Geolocator.getPositionStream().listen((eventPosition) { // 목적지 위치 var start = defaultLatLng; // 현재 위치 var end = LatLng(eventPosition.latitude, eventPosition.longitude); /// 거리 구하기 var distance = Geolocator.distanceBetween( start.latitude, start.longitude, end.latitude, end.longitude, ); /// 거리가 `boundary` 내부에 들어오는지 확인 setState(() => mayChoolCheck = distance <= boundary); }); } 3. 위젯 재빌드 시 FutureBuilder의 future 함수 재호출을 방지하기 위해 비동기 결과를 미리 필드로 빼놓기ChatGPT는 이를 'Cashing Future' 라고 부른다고 함.(이 코드 부분에 중요한 로직이 하나 빠져서 방금 재수정했습니다.)/// 권한 확인 여부 리턴 값 late final Future<bool> permissionFuture; @override void initState() { super.initState(); /// checkPermission()의 결과를 값으로 저장 permissionFuture = checkPermission().then((permitted) { if (permitted) addSubscription(); return permitted; }); } /// 위젯 빌드 @override Widget build(BuildContext context) { /// AppBar: 제목 & 액션 버튼1 var appBar = AppBar(...); return Scaffold( backgroundColor: Colors.white, appBar: appBar, /// 권한 요청을 위한 빌더 body: FutureBuilder<bool>( future: permissionFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.waiting || !snapshot.hasData) { return ColoredBox( color: Colors.blue, child: Center(child: CircularProgressIndicator()), ); } /// snapshot.data가 false 값인 경우는 사용자가 위치 권한 요청을 거부했을 때 if (snapshot.hasError || snapshot.data! == false) { return Center(child: Text('위치 권한을 허용해주세요.\n${snapshot.error}')); } /// 이하 위젯 생성 코드 ... }, ), ); } 이렇게 했을 때 앱 삭제 후 다시 빌드 했을 때, 그리고 재시작 했을 때도 정상적으로 잘 작동했습니다.코드가 많이 훼손된 느낌도 들긴 하지만.. 나름대로 공부가 돼서 기분은 좋네요.주저리주저리 쓰느라 정신 없었는데.. 잘 이해가 안 되거나 하고 싶은 피드백이 있다면 꼭 말씀해주세요!아무쪼록 끝까지 읽어주셔서 감사합니다.
-
미해결게임 프로그래머 취업 전략 가이드
코딩이 왜 수학적 재능에 영향을 많이 받는다고 생각하시나요?
언어적 재능에 영향을 받는다는 의견, 수학적 재능에 영향을 받는다는 의견, 둘 다와는 상관없다는 의견.. 등이 있는데왜 코딩이 수학적 재능에 큰 영향을 받는다고 생각하시는지 궁금합니다. 어떤 사람들은 "수학이랑은 상관없고, 언어능력에 큰 영향을 받는다"라고 말하기도 하거든요.
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
'drivers/soc/bcm/bcm2835-power.o 에러 입니다.
실수방지 드라이버 만들기-1 10:00에서'drivers/soc/bcm/bcm2835-power.o가 찾을수 없다고 나오는데 보니까 bcm2835-power.c, raspberrypi-power.c 파일은 저폴더에 없던데 어디서 나오는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마지막 유의수준 0.05하에서 검정의 결과에 대한 질문입니다.
'(귀무가설/대립가설)을 기준으로 검정의 결과를 (채택/기각)중 선택하여 입력하시오' 라는 문장그대로 해석하면 될까요? 예를들어귀무가설을 기준으로 검정의 결과를 (채택/기각)중 선택하여 입력하시오-> 귀무가설을 기각할지 채택할지 결정 대립가설을 기준으로 검정의 결과를 (채택/기각)중 선택하여 입력하시오-> 대립가설을 기각할지 채택할지 결정
-
해결됨포트폴리오 어나더레벨
고졸인데 고등학교 기재 안해도 되나요??
고졸인데 고등학교 기재 안해도 되나요??
-
미해결【2025年】Unity × C#で作る本格2D戦略型タワーディフェンスゲーム開発講座
녹음 확인 해주세요
4분50초경에 이상한 목소리가 녹음이 되어 있는것 같습니다
-
해결됨실전 jOOQ! Type Safe SQL with Java
monosoul jooq plugin-docker registry 변경
monosoul - jooq 플러그인 적용 강의처럼 testcontainers를 띄워 ddl을 실행하여 database를 생성 후 jooq가 생성된 database를 바탕으로 코드를 생성하도록 설정하고 싶습니다.testcontainers 실행 시 실행되는 ryuk 이미지를 docker.io가 아닌 privatey registry로부터 pull 받도록 설정하고 싶은데 해당 설정을 하는 방법이 있는지 문의드립니다.
-
해결됨쿠버네티스 어나더 클래스-Sprint5(#Istio #Kiali #Jaeger #Cert-Manager)
Istio와 Argo rollouts blue green배포
Istio와 argo rollouts를 연동한 blue green 배포방식은 공식적으로 지원하지 않는 것인지 궁금합니다. Argo rollouts 공식 문서에서도 canary만 기재되어 있어서 blue green은 지원하지 않는 것인지 궁금합니다. Argo rollouts를 그냥 blue green 매니페스트로 배포하더라도 istio가 k8s 변경점을 읽어서 blue green처럼 움직이게 만들긴 하나 아주 짧은 순간 No Cluster로 거래가 실패하는 경우가 발생합니다. 공식지원이 아니라서 세밀한 제어가 안되어 발생하는 것인지 제 환경이 특이한 것인지 궁금합니다.