안녕하세요 ! 교재 내용 '출력 피처맵의 크기 공식의 일반적인 적용' 부분 중 1) Padding이 없을 경우, Strides가 2이면 '입력 피처맵 크기 절반-1' 2) Paddingdl 1일 경우, Strides가 2이면 '입력 피처맵 크기 절반 또는 절반+1' 공식이 이해가 되지 않습니다 입력 피처맵 크기가 홀수/짝수인 경우에 따라 공식이 다르게 나와야 할 거 같아서요 !
제가 따라 하면서 좀 다르게 코드를 만들어서 돌려봤는데 소멸자가 왜 한번만 호출이 되는지가 이해가 안되서요 제가 생각에는 re의 소멸자랑 re2의 소멸자 그리고 re3에서 만들어진 복사생성자에서 호출하는 Resource(source.length); 여기서만든 생성자랑 re3에서 만들어진 거랑해서 총 4의 소멸자가 호출이 되어야 한다고 생각하는데 1개만 호출이 되서요 왜그런건가요?
안녕하세요 강사님! 강의 너무 잘 수강하고 있는 학생입니다! 다름이 아니라 영속성 컨텍스트를 활용하여 em.persist(), tx.commit() 을 함에 따라 SQL 이 뿌려지는 시점 설명해주실 때 궁금증이 생겨서요! 우선 코드를 보시면 // 비영속 JpaMember memberA = new JpaMember() ; memberA.setName( " 얄리얄라 " ) ; JpaMember memberB = new JpaMember() ; memberA.setName( " 두둥실 " ) ; // 영속화 . 영컨에 등록 em .persist(memberA) ; em .persist(memberB) ; System. out .println( "=================== before commit" ) ; memberA.setName( " 조지밀러 " ) ; trans .commit() ; System. out .println( "=================== after commit" ) ; 위와 같은 코드를 진행하였을 시, ㅁㄴ다음과 같이 출력되고, SQL이 나가는 모습이 확인됩니다. =================== before commit Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* update jpa.demo.domain.JpaMember */ update jpa_member set name=? where id=? =================== after commit 의문이 드는점은, 1. Insert SQL 이 쌓였다가 나간다고 말씀하셨는데 두개가 나가는 것 같아서요! 제가 SQL을 잘 몰라서 부정확할 수도 있는 것 같은데 왜 두 번 나가게 되는지 궁금합니다! 2. 또한 Persist 를 하는 시점에 아직 insert 문이 나가지 않았다면 DB에 따로 등록이 안되어 있는걸로 생각했습니다. 그렇다면 commit 하기 전 시점에 entity 값을 set 함수를 통해 변경하여 1차 캐시가 더티 체크를 통해 변경을 감지하면, 그냥 그 1차 캐시 내부에 있는 데이터만 바꿔주면 되는 것... 아닌가요..?! DB에 insert 문이 아직 나가지 않았는데 굳이 insert 문도 보낸 이후 update 문까지 내보내면서 수정이 진행되는 이유가 궁금합니다!! 강사님 강의 너무 잘 듣고 있습니다. 감사합니다!
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 커맨드를 이용해서 설치는 100% 까지 깔끔히 다 완료가 되었습니다. 근데 제가 경로설정을 안하고 설치해서 설치된 경로가 Ubuntu-20.04/Xilinx 로 생성되었고를 mv 명령어로 Ubuntu-20.04/home/qweqewe/tools/Xilinx 로 옮긴 후, 이어서 source 작업을 하려는데 자꾸만 이러한 문구가 나옵니다. ls 와 ls -al , pwd 등의 명령어를 사용하여 확인해가며 확실히 잘 옮겨진것을 확인하였습니다. 경로를 최상위 디렉토리인 Ubuntu-20.04 까지 올라간다음 source/home/qweqewe/tools/Xilinx/Vivado/2021.2/settings64.sh (enter) 하여도 똑같습니다. 라이브러리 설치라던가 패키지설치 등 구글링을 통해서 할 수 있는 모든 방안을 진행했으나 도저히 해결이 안되서 질문 남겨드립니다.
안녕하세요 선생님. 커넥트를 실행할 때 설정 파일에 key.converter, value.converter와 같은 값들이 있는데, 이런 값들을 커넥트 단위가 아니라 커넥터 단위로 주려면 어떻게 해야 하나요? 예를 들어, MySQL의 싱크 커넥터, 몽고DB의 소스 커넥터 이런 식으로 각각 다르게 주려면 어떻게 하나요? REST API로 커넥터를 등록할 때 json에 값을 넣어주면 덮어쓰기 되는 식으로 혹시 동작하나요?
현재 2일차까지 완료한 상태입니다. 밑에글 참고해서 /graphql/cart.ts 파일도 수정했고 강사님 github들어가서 관련있는 코드들 모두 확인해 봤는데 문제를 못 찾았습니다. console.log로 확인해보니 장바구니를 처음 들어갈때 한번만 이 코드가 작동하고 그 이후로는 장바구니에 접속해도 console.log가 찍히지 않는걸로 봐서 작동을 안하는 것 같습니다. 새로고침 이후 다시 장바구니에 처음접속 할때만 작동을하고 다시 작동을 안합니다. 코드 깃헙 주소인데 한번 확인해 주실 수 있으신가요? ㅠㅠ https://github.com/developerkimjh/shoppingmall
예를들어 테스트 케이스에서 183 65 180 70 180 66 이렇게 있다면 180 66은 선발이 돼야 합니다. 왜냐면 183 65보다 키 작지만 몸무게는 높고 180 70보다 몸무게는 낮지만 키는 같으니까 키와 몸무게 모두 A지원자 보다 높은(크고, 무겁다) 지원자가 존재하면 A지원자는 탈락하고, 그렇지 않으면 선발된다. 위 조건을 생각해보면 3명 모두 선발돼야 합니다. 하지만, 작성해주신 코드에는 maxW가 180 70에서 70으로 바뀌고, 그 후 180 66을 카운팅하지 않기 때문에 문제가 생깁니다. 그래서 같은 키를 가진 선수는 없다고 조건이 있어야 하거나, 밑 처럼 코드가 바뀌어야 한다고 생각합니다. ~~~java @Override public int compareTo(Body o) { if (o.h == this.h) return o.w - this.w; else return o.h - this.h; ~~~ 정렬 방식을 위 처럼 같은 키에서 무게를 내림차순 하고, 밑 처럼 같은 키일 때 최대 무게와 서로 키가 다를 때 최대 무게를 다르게 설정해야 한다고 생각합니다. ~~~java Player prev = new Player(0, 0); Player present = new Player(0, 0); for (int i = 0; i < N; i++) { if (present.k != arr[i].k) { prev.w = Math.max(prev.w, present.w); present.k = arr[i].k; present.w = arr[i].w; } if (prev.w < arr[i].w) { cnt++; } } ~~~
안녕하세요 강의 잘 듣고 있습니다. 강의 듣다가 질문이 있어 문의 드립니다. Task1, Task2 를 생성할 때 모두 Stack Depth를 256으로 주고 있는데요, pvPortMalloc 설명하실때 StackType_t의 사이즈가 4라고 하셨습니다. (printf로 StackType_t의 사이즈를 출력해 보니 4가 맞았습니다.) 그렇다면 256*4가 되는 것이 맞지 않나요? usStackDepth를 256를 주었으니까요.. (강의에서는 128을 주었다고 하시더라구요..강의영상에도 256으로 설정한 코드가 보입니다.)
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Dx11은 드라이버에서 알아서 최적화도 해주고 gpu큐에 작업도 알아서 넣어주는 둥 스케줄링 기능도 있는 반면에 DX12는 프로그래머가 직접 작업을 할당하고 최적화도 직접하라고 low level API를 제공한 형태로 압니다. 그래서 프로그래머 실력에 따라 천차만별의 성능과 안정성을 보여주는 게 DX12이라 초보자가 이 강의를 보고 DX12 포폴용 게임을 만들면, DX11 버전보다 발적화에 VRAM leak 터지는 불안정한 게임을 만들 확률이 매우 높을 것이라 생각합니다. 거기에 배우는 것도 큰 장벽이 있습니다. 물론 이 강의 목적이 그래픽스 이론을 가르치기 위함인 것은 알고 있는데 그건 다른 API를 통해서도 가능합니다 근데 왜 DX12를 선택하셨나 궁금합니다~! 초보자가 깨닫지 못하는 선생님의 깊은 뜻이 있을까요? 예를 들어 GPU의 동작과 처리를 저수준까지 자세하게 가르치기 위함 같은 것이 있나요? (마치 초보자에게 파이썬 대신 C언어를 가르치는 것 처럼)
이번강의에서 .list의 width값을 1520px 로 하면 제 랩탑의 화면 길이보다 길어서 화면단을 벗어납니다. 때문에 margin:auto 로 하더라도 .list 부분이 너무 길어서 중앙정렬이 되지 않고, 왼쪽으로 붙고 가로 스크롤이 생깁니다. 이상황에서 강사님의 말씀대로 .list li:nth-child(1)의 포지션값을 left:-50px로 설정하면 화면에서 벗어나서 짤립니다. 제작하는 웹사이트가 반응형이 아니라서 이런 문제가 생기는거겠죠? 강의를 듣다가 조금 난감하네요..혹시 제가 잘못 이해한건지 이럴때는 제가 그냥 임의로 값을 제 화면에 맞게 조정하는 수 밖에 없는지 답변 부탁드립니다.
좋은 강의 감사합니다. 추상화 예제 강의를 보다가 추상 클래스를 사용하지 않고 인터페이스를 사용하셔서 질문드립니다. 예제에서는 cloudFile, cloudFileSystem을 인터페이스로 만드셨는데, dropBox, nCloud, sCloud가 같은 동작을 한다면 추상 클래스로 만들어서 상속받는것도 괜찮지 않을까란 생각이 들었습니다. 추상 클래스와 인터페이스를 어떠한 경우에 사용해야 하는지 강사님만의 기준이 있으신걸까요?
안녕하세요 딥러닝 컴퓨터 비전 완벽 가이드 와 딥러닝 CNN 완벽 가이드 - Fundamental 편 의 강의순서 질문드립니다. 딥러닝 CNN 완벽 가이드 - Fundamental 편 를 먼저 듣는 것이 더 좋은 것 맞나요? 강의 제목보면 이게 맞는것 같은데, 수강평을 보니, 딥러닝 컴퓨터 비전 완벽 가이드 를 듣고 오면 좋다는 내용도 있어서요!
ch5에있는 Complete에있는 파일 그대로 복붙했습니다. 그런데 const onResponse = useCallback(async response response에서 에러가 뜨네요.. TS7006: Parameter 'response' implicitly has an 'any' type. 가 뜹니다 어떻게 해야할까요?