묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
단일물체 애니메이션 구현중 descriptorheap handle 오류
안녕하세요수업 내용 이외에 단일 물체 애니메이션을 구현하는 도중에 descriptorheap handle 쪽에서 오류가 발생하였습니다.기본적으로 물체의 변환행렬을 상수버퍼에 추가하고 셰이더쪽에 연결하여 물체의 최종행렬을 계산하는 과정으로 알고 있습니다.objanimation 클래스를 파줘서 여기다가 모든 애니메이션 정보를 넣어놓고 컴포넌트에 연결해서 finalupdate 에서 행렬 보간을 해주고 meshrenderer 에서 transform 다음에 변환 행렬을 상수 버퍼에 pushdata 하는 과정에서 이런 오류가 발생하였습니다.그리고 currentindex < elementcount 어썰트가 종종 일어나는데 이부분도 왜 일어나는것인지 궁금합니다어떤부분에서 잘못구현한 것인지 감이 안잡혀서 질문 남깁니다또한 오류가 발생하기이전에 다르게 구현을 해봐도 쉽지가 않았습니다. 어떤식으로 접근해봐야 잘 구현이 될지도 궁금합니다!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
15분23초에 뭐라고 하신건가요
15분23초에 무손실 라인네이트? 무슨말 하는지 잘 모르겠습니다. 앞에서도 용어 언급하시던데. 구글링해도 안나와서 질문드려요.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
서버를 종료하면 회원가입한 user정보가 삭제되는것이 맞나요?
서버를 종료하면 회원가입한 user정보가 삭제되는것이 맞나요?워크벤치에서도 확인해보니 회원가입 후 서버를 종료하면 데이터가 user데이터가 사라진것을 확인했습니다..
-
미해결30분 요약 강좌 시즌2 : Python 활용편
os가 정의되지 않았습니다.
부트스트랩에 있는 html,css 문서 적용시키려니까 갑자기 os가 정의되지 않았다고 합니다. 영상에 나온대로 똑같이 입력했는데 계속 이러니까 몇 시간째 헤매고 있습니다. 이건 위에 파일을 압축시킨 zip 파일 주소입니다.https://drive.google.com/file/d/18JY27MShQAvqCfLBOMtzeMJqw2jnLqa7/view?usp=sharing
-
미해결R로 배우는 통계
강의자료
강의 자료는 어디서 다운 받을 수 있을까요? 홈페이지는 사이트가 없다고 뜨고, 유투브의 슬랙도 가입을 했는데 자료가 없네요.
-
해결됨홍정모의 따라하며 배우는 C++
async1의 start출력의 endl가 동작하지 않습니다
안녕하세요,분명 async1 start 출력 시 endl을 해주었는데도 줄바꿈 적용이 되지 않는 이유를 잘 모르겠습니다.설명 부탁드려도 될까요?
-
미해결홍정모의 따라하며 배우는 C언어
구조체의 복사에서 멤버가 문자열인경우
#include <stdio.h> #include <stdlib.h> struct data { int a; char str[20]; }; int main(void) { struct data data1 = { 1,"hello" }; struct data data2 = data1; printf("%s", data2.str); return 0; }강의 7:40를 보면 구조체 변수에 다른 구조체 변수를 대입하면 그 안의 값이 똑같이 복사가 가능한데,문자열도 복사가 가능한지 궁금해서 위처럼 실행시켜보니까 가능하네요. 이것은 마치data1.str = "hello";data2.str = data1.str;인 것 같은데.제가 알기론 문자열은 대입을 통해서 복사 하는 것이 불가능한 것으로 알고 있는 구조체에서는 가능한건가요?미흡한 질문 죄송합니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
강의에서 언급하시는 포폴 제작하는 과정이 포함되나요?
현재 강의에서 제작하고있는 프레임워크로 3D포폴을 만든다라는 언급이 종종 나오는데 그러한 과정도 이 강의에 포함이 되어있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
argumentResolver를 사용하여 인터셉터 대체
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의 수강중 궁금증이 생겨 글 남깁니다. 강의 마지막에 @Login을 만들어 주어 로그인 시 처리를 간단하게 해주셨습니다. 이를 보고 든 궁금증이 그렇다면 인터셉터의 역할도 이것으로 대체를 해주어도 되는것일까요? 컨트롤러에 있는 메서드들에 @Login을 달아주면 비로그인 상태로 '/items'로 접근하면 이를 redirect정보를 담고 똑같이 사용해주면 되는것일까요? 제가 생각한 차이로는 인터셉터의 preHandle의 경우 컨트롤러를 호출조차 안하게 하는 점이 있는 것 같습니다. 둘을 구분하여 사용해야 한다면 어느 경우인지 궁금합니다.
-
미해결강화학습 기초 이론
벨만 방정식 질문
2강 29분정도에 law of iterated expectation에 의해서 v가 Expectation에 들어갈 수 있다고 하는데 어떻게 전개가 되는지 궁금합니다.
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
언리얼 프로젝트 git 업로드
이번에 수강한 프로젝트를 git에 업로드 할려고 하는데 계속 오류가 나옵니다 lfs등등 써보았는데 잘 안되는거 같습니다
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
자바 언어에 대한 근본적인 질문...
안녕하세요. 스프링과 mybatis를 이용하여 프로젝트를 이용하여 프로젝트를 하고 있습니다.Controller.java@ApiOperation(value = "알람 정보 조회") @GetMapping("/alarm") public AlarmSearchResponseDTO alarmList( @RequestParam(required = false) String siteName, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") LocalDateTime startTime, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") LocalDateTime endTime, @RequestParam(required = false) String cameraName, @RequestParam(required = false) String accidentType, @RequestParam(required = false) String modelVersion, @RequestParam(required = false) String action, @RequestParam(required = false) String sortColumn, @RequestParam(required = false) String sortType, @RequestParam(required = false) Integer pageNum, @RequestParam(required = false) Integer pageSize { AlarmSearchConditionDTO alarmSearchConditionDTO = AlarmSearchConditionDTO.builder() .siteName(siteName) .cameraName(cameraName) .startTime(startTime) .endTime(endTime) .cameraName(cameraName) .accidentType(accidentType) .modelVersion(modelVersion) .action(action) .sortColumn(sortColumn) .sortType(sortType) .pageNum(pageNum) .pageSize(pageSize) .build(); return aiBoxService.selectAlarmInfo(alarmSearchConditionDTO); } AlarmSearConditionDTO.java@Data @NoArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class AlarmSearchConditionDTO extends requestPaging { @ApiModelProperty(notes = "현장명", example = "현장명") private String siteName; @ApiModelProperty(notes = "발생 일시", example = "발생 일시") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") private LocalDateTime startTime; @ApiModelProperty(notes = "종료 일시", example = "종료 일시") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") private LocalDateTime endTime; @ApiModelProperty(notes = "카메라번호", example = "카메라 번호") private String cameraName; @ApiModelProperty(notes = "안전사고 유형", example = "안전사고 유형") private String accidentType; @ApiModelProperty(notes = "모델버전", example = "알람 코드") private String modelVersion; @ApiModelProperty(notes = "요청 사항", example = "요청 사항") private String action; @ApiModelProperty(notes = "정렬 기준", example = "정렬 기준") private String sortColumn; @ApiModelProperty(notes = "정렬 기준", example = "정렬 기준") private String sortType; @ApiModelProperty(notes = "페이징", example = "페이징") private requestPaging paging; @Builder public AlarmSearchConditionDTO(String siteName, LocalDateTime startTime, LocalDateTime endTime, String cameraName, String accidentType, String modelVersion, String action, String sortColumn, String sortType, Integer pageNum, Integer pageSize) { //pageNum, pageSize -> Integer this.siteName = siteName; this.startTime = startTime; this.endTime = endTime; this.cameraName = cameraName; this.accidentType = accidentType; this.modelVersion = modelVersion; this.action = action; this.sortColumn = sortColumn; this.sortType = sortType; if (pageNum != null && pageNum > 0) { this.paging = new requestPaging(pageNum, pageSize); // Both pageNum and pageSize provided, use them. } else if (pageSize != null && pageSize > 0) { this.paging = new requestPaging(null, pageSize); // pageSize provided, use it. } else { this.paging = new requestPaging(); // Default values. } }requestPaging.java@Data @Slf4j public class requestPaging { // pageNum, pageSize -> Integer private Integer pageNum; private Integer pageSize; private int totalPageCnt; public requestPaging() { this.pageNum = 1; this.pageSize = 30; } // pageNum, pageSize -> Integer public requestPaging(Integer pageNum, Integer pageSize) { // this.pageNum = (pageNum != null && pageNum > 0) ? pageNum : 1; // pageNum이 null이거나 0 이하일 경우 1을 기본값으로 사용 // this.pageSize = (pageSize != null && pageSize > 0 && pageSize <= 100) ? pageSize : 30; // pageSize가 null이거나 0 이하 또는 100을 초과할 경우 30을 기본값으로 사용 this.pageNum = (pageNum > 0) ? pageNum : 1; this.pageSize = (pageSize > 0 && pageSize <= 100) ? pageSize : 30; // } public int getStartPage() { return (pageNum-1) * pageSize; } public void setPage(int page) { this.pageNum = (page < 1) ? 1 : page; } public void setPerPageNum(int perPageNum){ if(perPageNum <= 0 || perPageNum > 100){ this.pageSize= 30; return; } this.pageSize = perPageNum; } public int setTotalPageNum(int totalCnt){ int total=0; if((totalCnt%pageSize)==0)total=totalCnt/pageSize; else total = (totalCnt / pageSize) + 1; return total; } public int getTotalPageCnt(){ return totalPageCnt; } }Service.javapublic AlarmSearchResponseDTO selectAlarmInfo(AlarmSearchConditionDTO alarmSearchConditionDTO) { AlarmSearchResponseDTO alarmSearchResponseDTO = new AlarmSearchResponseDTO(); List<AlarmSearchDAO> searchList = null; log.info("{}", alarmSearchConditionDTO); try { searchList = (List<AlarmSearchDAO>) alarmRecordMapper.selectAlarmInfo(alarmSearchConditionDTO); } catch (NullPointerException e) { // 조회건수 0 -> 빈리스트 리턴 } int totalCnt = alarmRecordMapper.countAlarmInfo(alarmSearchConditionDTO); Pagination paging = new Pagination(); paging.setPageNum(alarmSearchConditionDTO.getPageNum()); paging.setPageSize(alarmSearchConditionDTO.getPageSize()); paging.setOrderColumn(alarmSearchConditionDTO.getSortColumn()); paging.setOrderType(alarmSearchConditionDTO.getSortType()); paging.setTotalCnt(totalCnt); paging.setTotalPageCnt(alarmSearchConditionDTO.setTotalPageNum(totalCnt)); alarmSearchResponseDTO.setPagination(paging); alarmSearchResponseDTO.setResult(searchList); return alarmSearchResponseDTO; }제가 myBatis 사용을 위해 검색 조건 DTO안에 requestPaging이란 페이징 을 위한 객체를 만들어서 사용을 하고 싶습니다.컨트롤러에서 get호출을 받으면 받고 난 뒤 빌더를 이용하여 DTO에 세팅을 하면 아래의 데이터가 나옵니다.AlarmSearchConditionDTO(siteName=null, startTime=null, endTime=null, cameraName=Camera A, accidentType=null, modelVersion=null, action=null, sortColumn=eventTime, sortType=null,paging=requestPaging(pageNum=7, pageSize=3, totalPageCnt=0)) 여기까지는 페이징 처리를 위한 변수들이 정상적으로 들어갔습니다. mapper에서 parameterType="AlarmSearchConditionDTO" 로 사용하여 검색 조건과 페이징 처리를 모두 하려고 합니다. mapper에서 #{startPage} 과 같은 타입은parameterType.get~() 메서드를 사용하여 뽑는 것으로 알고 있습니다.하지만 그 후 데이터베이스 조회 페이징 처리를 위해 아래의 두가지 변수를 이용하여 mapper에서 처리를 하려하는데alarmSearchConditionDTO.getStartPage() alarmSearchConditionDTO.getPageSize()DTO 자체를 로그 찍어서 확인을 하면 pageNum과 pageSize 가 받아온 값으로 잘 저장이 되는데,DTO.get() 변수를 사용해서 값을 확인하면 requestPaging 클래스의 생성자의 디폴트 값이 호출되어 1과 30이 나옵니다.public requestPaging() { this.pageNum = 1; this.pageSize = 30; } 계속 고민하다가 모르겠어서 질문드립니다.. 도와주세요 ㅠㅠ
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
전송 속도를 bit단위로 하는 이유
안녕하세요 강사님 넓고 얕게 컴공 전공자 되기 강의부터 재밌게 잘 보고 있습니다.오늘 강의로 인터넷 다운로드 속도 100Mbps가 왜 초당 100MB를 받지 못하는지, 이유가 바이트가 아닌 비트였단걸 알게 되었네요 감사합니다.조금 쌩뚱맞은 질문일 수 있는데,넓고 얕게 외워서 컴공 전공자 되기 강의에서 byte를 최소 데이터 관리 단위로 설명해주셔서 데이터 용량 관련 == byte로 외우고 있습니다.헌데 데이터를 전송하는 속도 단위는 왜 byte가 아닌 bit로 하는건지 궁금합니다!
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
StateNotifierProvider 관련
강의 3:53초에 StateNotifierProvider의 제네릭에 <PaginationProvider, CursorPaginationBase>를 넣으셨는데 왜 PaginationProvider를 넣으셨는지 이해가 안돼요. 레스토랑 프로바이더 부분에서는 첫번째 제네릭으로 RestaurantStateNotifier가 들어가는데, ListView 일반화하는 코드에서도 Provider가 아니라 Notifier가 들어가야 하지 않나요???final restaurantProvider = StateNotifierProvider<RestaurantStateNotifier, CursorPaginationBase>( (ref) { final repository = ref.watch(restaurantRepositoryProvider); final notifier = RestaurantStateNotifier(repository: repository); return notifier; }, );
-
미해결SCSS(SASS)+FLEX 실전 반응형 웹 프로젝트 with Figma
출강하고 있는 학원도 알수있을까요?
학원을 찾고 있는데 선생님이 현재 출강하고 있는 학원 반 정보도 알수있을까요? 단기 퍼블리싱 같은 수업반은 없나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 큰돌님 질문있습니다
강의 매우 유익하게 듣고있는 학생입니다! 많이 부족하지만 열심히 공부하는 중입니다!2-J문제 풀이에서for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] == 0) { int cnt = 1; while (a[i][j + 1] == -1) { a[i][j + 1] = cnt++; j++; } } } } 여기서 while문 돌면서 j++을 계속 해주는데 열을 계속 증가시키면서 -1인지 아닌지를 검사해주는데 j < m인 조건을 안걸어주면 j++을 계속하면서 index범위를 침범하지 않나 싶어서 질문 드립니다!
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
기능 개발 관련 질문드립니다.
3D 화면에 UI로 방향(위, 아래, 왼쪽, 오른쪽) 버튼을 추가하고 해당 버튼을 눌렀을 때, 해당 방향으로 갈 수 있게 기능을 추가하고 싶습니다. (1인칭, 블루프린트)어떤 식으로 방향을 잡으면 될까요?"1인칭 controller 기능" 등으로 구글링하고 있는데... 관련된 기능 구현하는 유튜브 영상이나, 구글링할 때 어떤 키워드로 검색을 해야 하는지 알 수 있을까요?ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
인자에 객체 값을 넣는 이유
인자에 객체 값을 넣는 이유가 안전하기 때문이라고 하셨는데 정확히 어떤 부분이 안전한지 알려주실 수 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
가상클래스 hover의 h는 묵음이 아니라서 호버로 발음하는게 나을거 같습니다.
'강력한 CSS' 의 '선택자2' 강의 에서 강사님이 .class:hover {} 설명시 hover 에서 h는 묵음이라 over라고 발음한다고 하셨는데요.hover 의 h는 묵음이 아니네요.over(오버?) 유사하게 발음하기 보단 həvər(호버/허버 등)로 유사하게 발음해야 의사소통에 헷갈림이 없을거 같습니다.별거 아닌 맞춤법, 발음 같은거를 잘못 됐다고 말하는건 아니고요, over는 개발업무나 개발 공부 등을 하면서 비교적 자주 나오는데, hover를 over로 발음시 의사소통에 혼란스러울거 같아서 노파심에 적어봤습니다.hover는 over로 발음하는 것보단, həvər(호버/허버 등)로 발음하는게 나을거 같습니다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
a tag 질문 !
안녕하세요 !강의 중에 a tag를 감싸고 있는 컴포넌트를 만들경우라고 하셨는데 useRouter나 Link를 쓰게 되면 a tag를 굳이 안써도 되지 않을까 생각하는데 그럼에도 불구하고 a tag를 쓰는 경우가 있을까요?