묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티 디버깅 질문
유니티에 연결이없어서 저 연결에서 유니티 찾아서 누르고 중단점 찍었더니 중단점이 현재 적중되지 않습니다. 이 문서의 기호가 로드되지 않았습니다. 이렇게 중단점에 오류나는데 어떻게 해야되나요
-
미해결Svelte 입문 강의 - A부터 Z까지
오류가 나요
npx degit sveltejs/template data-define 를 하였는데 ! could not find commit hash for master <= 이런 오류가 나는건 어떡하나요?
-
미해결단 2주간 키운 블로그로 월 80만원 용돈 벌기
완강완료했어요!^^
완강 완료. 후기 작성 후 추가자료 요청합니다 ^^ 모든 강의가 정말 유익한 강의였습니다! 이제 실전에 돌입할 시간만 남았는데, 떨리지만 수업내용 잘보며 해내고싶어요!! 추가자료도 아래 메일로 발송 부탁드립니다. fascinate4117@gmail.com
-
미해결단 2주간 키운 블로그로 월 80만원 용돈 벌기
완강 완료하고 후기작성완료했어요^^ 후기이벤트 작성합니다~! canmara@naver.com 입니다:) 너무 감사합니다.
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
Errors나 BindingResult 사용시 주의할점이 있습니다.
디버그와 원인을 찾는데 꽤 많은 시간이 들어 혹시 제가 겪었던 상황과 비슷한 일을 겪는 분이 계실 것 같아 적었습니다. 스터디 생성시 이미 존재하는 path로 요청을 날렸는데 제가 생각했던 대로 동작을 하지 않았습니다. 제가 예상했던 동작은 validator를 통해 이미 존재하는 경우 errors.rejectValue()로 필드에 에러코드를 추가하였으니 Post요청시 에러가 존재하니 study/form를 보여주고 등록 화면에서는 validator에서 적어준 메세지가 보여야 한다 였는데 예상과는 다르게 whitelabel 에러 페이지와 함께 BindException이 발생하였습니다. org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors 디버그를 해봐도 validator에서 에러코드 추가까지는 정상 동작하는데 post에서 break point로 잡히지 않았습니다. 영상을 시청하기 전에 코드를 작성하여 잘못 구현하였나 싶어 완성된 코드와 비교해보니 post요청에서 Model 인스턴스를 파라미터로 선언할 때 Errors보다 먼저 선언한 것을 발견하였습니다. @PostMapping("/new-study")public String newStudySubmit(@CurrentUser Account account, @Valid StudyForm studyForm, Model model,Errors errors) { if (errors.hasErrors()) { model.addAttribute(account); return "study/form"; } // 새 스터디 등록 후 redirect...}@PostMapping("/new-study")public String newStudySubmit(@CurrentUser Account account, @Valid StudyForm studyForm, Errors errors, Model model) { if (errors.hasErrors()) { model.addAttribute(account); return "study/form"; } // 새 스터디 등록 후 redirect...} 그래서 파라미터의 순서에 영향을 받는다고 하고 넘어가려다 스프링 레퍼런스를 찾아보고 확실히 할 수 있었습니다. Errors, BindingResult : For access to errors from validation and data binding for a command object (that is, a @ModelAttribute argument) or errors from the validation of a @RequestBody or @RequestPart arguments. You must declare an Errors, or BindingResult argument immediately after the validated method argument. https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-arguments
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
모든 Sound를 Enum으로 관리하는 것
만약 실제로 게임을 만들게 된다면 Sound에는 종류가 굉장히 많을텐데 일일히 Enum으로 관리하기는 어려울 것 같은데 괜찮을까요? 아니면 말씀하신 데이터 시트에서 관리하기 때문에 괜찮은 부분인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
12분 59초 부분에서요,
public static SoundManager SoundManager { get { Instance._sound.Init(); return Instance._sound; } } 이런 식으로 프로퍼티에서 바로 Init 해도 상관 없나요?
-
코린아, 코딩하자! with 파이썬
.
삭제된 글입니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MVC 패턴의 중복코드에 대한 질문입니다.
안녕하세요, 김영한 팀장님. 다른 학습자분께서 남겨주신 질문에 대한 답변 내용 중 '연통배관'이라는 단어를 보고 , 기존 업무에서 해오던 프로젝트가 생각나서 조언을 얻고자 질문 글을 남깁니다. 해당 프로젝트에서는 동일한 기능에 대하여 사용자 화면과 관리자 화면의 코드(MVC)가 분리되어 있는 형태를 띄고 있었습니다. (예를 들어, 웹 사이트 Pop Up) 다만, 실제 코딩을 해보았을 때 Controller 클래스는 그렇다하더라도 Service와 Repository 그리고 Domain 클래스(또는 VO)가 파일명(클래스명)만 다를 뿐 실제 하는 일은 사용자 화면에서나 관리자 화면에서 동일한 구조를 띄고, 동일한 기능을 하고 있어서 신경이 쓰였는데요. (도메인 클래스 멤버 구성들, Service와 Repository 기능[팝업 저장, 조회, 수정, 삭제]) 현재 속한 그룹의 코딩 스타일이 원래 이렇구나 해서 습관(?)이 되어버린 것이 '연통배관'이라는 단어를 보자마자 반성을 하게되었습니다. 정리하면 좋은 코딩 습관은 사용자, 관리자 화면이 분할이 되어 있다고 하더라도, 각 화면에 사용할 MVC 패턴 구조가 아니라 최대한 중복 코드를 줄인 MVC 패턴 구조를 사용하여 사용자, 관리자 화면 모두에서 사용할 수 있는 기능을 구현하는 것이 올바른 코딩 습관이 맞는 거겠지요? 긴 글 읽어주셔서 감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mask r cnn_inference시 오류 발생에 관해서
항상 좋은 강의 감사 합니다. mask r cnn 모델 학습 후 학습된 모델의 weight 파일을 MaskRCNN의 inference 모델로 로딩시 아래와 같이 오류가 발생 합니다. WARNING:tensorflow:From /home/*****google/anaconda3/envs/tf113/lib/python3.6/site-packages/mrcnn/model.py:768: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.cast instead. model path: ('./snapshots_result/balloon20200808T1406', './snapshots_result/balloon20200808T1406/mask_rcnn_balloon_0050.h5') --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-24-0567360a6bea> in <module> 4 print('model path:', weights_path) 5 # 지정된 weight 파일명으로 모델에 로딩. ----> 6 model.load_weights(weights_path, by_name=True) ~/anaconda3/envs/tf113/lib/python3.6/site-packages/mrcnn/model.py in load_weights(self, filepath, by_name, exclude) 2084 if h5py is None: 2085 raise ImportError('`load_weights` requires h5py.') -> 2086 f = h5py.File(filepath, mode='r') 2087 if 'layer_names' not in f.attrs and 'model_weights' in f: 2088 f = f['model_weights'] ~/anaconda3/envs/tf113/lib/python3.6/site-packages/h5py/_hl/files.py in __init__(self, name, mode, driver, libver, userblock_size, swmr, rdcc_nslots, rdcc_nbytes, rdcc_w0, track_order, **kwds) 393 name = repr(name).encode('ASCII', 'replace') 394 else: --> 395 name = filename_encode(name) 396 397 if track_order is None: ~/anaconda3/envs/tf113/lib/python3.6/site-packages/h5py/_hl/compat.py in filename_encode(filename) 109 filenames in h5py for more information. 110 """ --> 111 filename = fspath(filename) 112 if sys.platform == "win32": 113 if isinstance(filename, six.text_type): TypeError: expected str, bytes or os.PathLike object, not tuple
-
미해결테스트주도개발(TDD)로 만드는 NodeJS API 서버
안녕하세요! 혹시 강의 내용 전체가 담긴 깃허브 주소도 있나요?
안녕하세요 , 최근에 강의를 접하게 되어 열심히 듣고 있는 수강생입니다 :) 다름이 아니라 소스코드 전체가 포함된 깃허브 주소가 있는 지 여쭈어 보고 싶어서 이렇게 질문 남겨요! 감사합니다 :)
-
미해결모던 안드로이드 - 코틀린과 Jetpack 활용
Kotlin DataBinding
MainViewModel에서 var todos: LiveData<List<Todo>>init { todos = getAll()}이 부분을 프로퍼티로 변경하면 될 줄 알았는데안됩니다. val todos: LiveData<List<Todo>> get() { return getAll()}프로퍼티를 사용 할 수 있는 방법이 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 DB
안녕하세요 강사님 H2 DB를 사용하는 과정에서 Generic JNDI Data Source 외에 다른 세팅이 보이지 않는데 혹시 따로 설정해야 할 것들이 있을까요????
-
미해결Svelte 입문 강의 - A부터 Z까지
프레임워크
프론트엔드 프레임워크는 처음 배워봐요! svelte를 공부해두면 react 공부에도 도움이 될까요??
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
/login 페이지로 자동 라우팅이 되는데 어떻게 해결하나요?
localhost:8088을 치고 들어갔는데 /login로 자동으로 이동합니다.
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
정답 선택지 보기에 데이터가 불러지지가않습니다..ㅠㅠ
많은 질문 드려서 죄송합니다.ㅠㅠㅠ최대한 제가 해결해보려고 노력 중인데 잘 모르겠어서 질문드립니다. Q.질문데이터는 잘 물러와지는데, 4가지 개관식 보기 데이터들이 제대로 화면에 뜨지않습니다. 데이터가 불러와지지 않는 대표적인 이유를 알 수 있을까요.?? widget_candidate.dart 파일입니다. import 'package:flutter/material.dart'; class CandWidget extends StatefulWidget { VoidCallback tap; String text; int index; double width; bool answerState; CandWidget({this.tap, this.text, this.index, this.width, this.answerState}); _CandWidgetState createState() => _CandWidgetState(); } class _CandWidgetState extends State<CandWidget> { @override Widget build(BuildContext context) { return Container( width: widget.width * 0.8, height: widget.width * 0.1, padding: EdgeInsets.fromLTRB( widget.width * 0.848, widget.width * 0.024, widget.width * 0.848, widget.width * 0.024, ), decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), border: Border.all(color: Colors.deepPurple), color: widget.answerState ? Colors.deepPurple : Colors.white, ), child: InkWell( child: Text( widget.text, style: TextStyle( fontSize: widget.width * 0.035, color: widget.answerState ? Colors.white : Colors.black, ), ), onTap: () { setState(() { widget.tap(); widget.answerState = !widget.answerState; }); }, ), ); } } screen_quiz.dart 파일입니다. import 'package:auto_size_text/auto_size_text.dart'; import 'package:first/model/model_quiz.dart'; import 'package:first/screen/screen_result.dart'; import 'package:first/widget/widget_candidate.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_swiper/flutter_swiper.dart'; class QuizScreen extends StatefulWidget { final List<Quiz> quizs; QuizScreen({this.quizs}); @override _QuizScreenState createState() => _QuizScreenState(); } class _QuizScreenState extends State<QuizScreen> { List<int> _answers = [-1, -1, -1]; List<bool> _answerState = [false, false, false, false]; int _currentindex = 0; SwiperController _controller = SwiperController(); @override Widget build(BuildContext context) { Size screenSize = MediaQuery.of(context).size; double width = screenSize.width; double height = screenSize.height; return SafeArea( child: Scaffold( backgroundColor: Colors.deepPurple, body: Center( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), border: Border.all(color: Colors.deepPurple), ), width: width * 0.85, height: height * 0.7, child: Swiper( controller: _controller, physics: NeverScrollableScrollPhysics(), loop: false, itemCount: widget.quizs.length, itemBuilder: (BuildContext context, int index) { return _buildQuizCard(widget.quizs[index], width, height); }, ), ), ), ), ); } Widget _buildQuizCard(Quiz quiz, double width, double height) { return Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), border: Border.all(color: Colors.white), color: Colors.white, ), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ Container( padding: EdgeInsets.fromLTRB(0, width * 0.024, 0, width * 0.024), child: Text( 'Q' + (_currentindex + 1).toString() + '.', style: TextStyle( fontSize: width * 0.06, fontWeight: FontWeight.bold, ), ), ), Container( width: width * 0.8, padding: EdgeInsets.only(top: width * 0.012), child: AutoSizeText( quiz.title, textAlign: TextAlign.center, maxLines: 2, style: TextStyle( fontSize: width * 0.048, fontWeight: FontWeight.bold, ), ), ), Expanded( child: Container(), ), Column( children: _buildCandidates(width, quiz), ), Container( padding: EdgeInsets.all(width * 0.024), child: Center( child: ButtonTheme( minWidth: width * 0.5, height: height * 0.05, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), child: RaisedButton( child: _currentindex == widget.quizs.length - 1 ? Text('결과보기') : Text('다음문제'), textColor: Colors.white, color: Colors.deepPurple, onPressed: _answers[_currentindex] == -1 ? null : () { if (_currentindex == widget.quizs.length - 1) { Navigator.push( context, MaterialPageRoute( builder: (context) => ResultScreen( answers: _answers, quizs: widget.quizs, ))); } else { _answerState = [false, false, false, false]; _currentindex += 1; _controller.next(); } }, ), ), ), ), ], ), ); } List<Widget> _buildCandidates(double width, Quiz quiz) { List<Widget> _children = []; for (int i = 0; i < 4; i++) { _children.add( CandWidget( index: i, text: quiz.candidates[i], width: width, answerState: _answerState[i], tap: () { setState(() { for (int j = 0; j < 4; j++) { if (j == i) { _answerState[j] = true; _answers[_currentindex] = j; } else { _answerState[j] = false; } } }); }, ), ); _children.add( Padding( padding: EdgeInsets.all(width * 0.024), ), ); } return _children; } }
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
질문 드립니다.
1. 메모장을 기준으로 강의를 해주셨을 때 자신이 아닌 누구라도 와서 연필 모양을 눌러서 글을 수정할 수 있었는데요. 나의 파일을 누구나 그렇게 수정할 수 있으면 파일 훼손의 위험이 크지 않나요? 2. 콜라보레이션이 협업을 같이 하는 사람을 초대해서 같이 작업을 하는 개념이던데 초대 안해도 어차피 누구나 와서 수정을해서 commit을 할텐데 굳이 콜라보레이션이 협업이라고 하는 이유가 뭔가요? 3. pull request도 2번과 같은 질문인데요 어차피 누구나 와서 수정 가능할텐데 허락하고 거절하고의 개념이 필요한가요? 콜라보레이션을 승낙해야 푸쉬하고 커미션이 가능하다고 하셨던 것 같은데 누구나 수정이 가능해서 그 것 자체가 커미션일텐데 허락과 거절의 개념이 왜 존재하는지 질문드립니다.
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
IPYNB파일을 어떻게 열어야 할까요..
주피터 노트북에서 IPYNB파일이 안 열리는데(업로드 해서 하거나 끌어다놓아 봤는데도ㅠ) 어떻게 열어야 할까요...?ㅠㅠ
-
미해결Vue로 Nodebird SNS 만들기
프론트엔드 서버에서 URIError: URI malformed에러가 납니다.
저분이 제사이트(https://nodebird.site)에서 이것저것 글작성을 하다가 posts에 위의 데이터들을 작성하였고 그뒤로 프론트엔드 서버에서 URIError: URI malformed에러가 뜨고 접속이 되지 않습니다. 찾아보니 decodeURIComponent대신 unescape를 사용하라는데 nuxt에서 이걸 어떻게 설정해야하는지 모르겠네요ㅠㅠ #% 이렇게 #뒤에 %가 붙어나오는 경우만 문제가 있는것 같습니다. #으로 해시태그 구별해내는 부분이 문제인것 같습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
store map설정 시
map의 key와 value에서 value를 String이 아닌 Member타입으로 설정하신 이유가 잘 이해되지않습니다. 제 생각에는 지금은 id를 제외하곤 name만 있지만 그 외에도 다른 정보가 들어갈 수 있어서 Member타입으로 설정하신 게 맞나요?