안녕하세요 :) 강의를 보면 p 태그는 HTMLParagraphElement로 타입단언을 하고, span태그는 HTMLSpanElement로 타입단언을 하셨습니다. 그런데 만약 이렇게 해야할 경우 어떤 태그인지 모두 파악하여 세부적으로 타입 단언을 해줘야하나요? 현재 프로젝트에서는 innerText때문에 타입단언을 하셨는데, HTMLElement 에도 innerText프로퍼티가 있는데 왜 저렇게 세부적으로 구분해서 타입 단언을 하신지 궁금합니다! 그리고 실제 타입스크립트 프로젝트에서도 만약 DOM 조작을 직접 할 경우에 저렇게 구체적으로 타입 단언을 해야하나요?
먼저 좋은 강의 감사드립니다. 카프카 도입을 위해서 학습중인데 책과 더불어 강의가 큰 도움이 되네요. 강의를 듣다보니 궁금한 점 하나가 생겨서 문의를 남깁니다. Consumer의 경우 연결이 끊어져도 offset 위치를 기억하고 있기 때문에 해당 offset 부터 읽어올 수 있어서 데이터 유실을 막을 수 있는 것으로 설명해주셨는데요. 만약에 Consumer 엔진이 비정상적으로 종료되고 재기동이 되었을 때에도 유실된 시점 offset 부터 읽어 올 수 있는 건가요? 해당 offset에 대한 위치 기억은 kafka에서 하는 것인지? 명확하게 이해하고 싶어서 질문드립니다. 감사합니다.
강의시작후 프로젝트 이름이 2DGameBasic06-02 여서 이전 강의에 했던 2DGameBasic06-01 프로젝트를 패키지 익스포트 한후에 이 강좌에서는 새 프로젝트 2DGameBasic06-02 로 생성한후 2DGameBasic06-01 패키지 파일을 임포트 한후 따라가기 했습니다. 강의를 따라하다가 2d-extras 관련하여 깃허브에서 다운받아 드래그앤드롭으로 가져오니 컴파일 에러가 나더군여.. ^^;; 가져온거 삭제하고, 혹시 고박사님의 유튜브강좌에서 글을 보다가 아래 글을 보고 그곳에 프로젝트 파일을 다운받아 압축푼후 그곳에 2d-extras-master폴더를 가져오니 컴파일 정상 및 Project View > +클릭 한후 강좌처럼 Tiles, Brushes 메뉴가 생성된 것을 확인했습니다. 프로젝트 (Unity 2019.3.6f1) https://drive.google.com/file/d/1K8oj... 본 강좌의 유튜브 주소 https://www.youtube.com/watch?v=Je0e7NZVGoQ&t=54s 참고로 저는 unity Version 2019.4.0f1 Personal 입니다.
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
1. $signed({1'b0, a}) + b; 위의 문법은 인터넷에서 쳐봐서 a 앞에 비트를 추가하고, MSB가 부호가 되는 건 알겠는데... 그래서 직접 눈으로 결과가 어떻게 나오는지 알고 싶어요..ㅠㅠ 2. correct와 wrong의 연산결과가 각각 다른데 제가 직접 손으로 계산하는데..ㅠㅠ 어떻게 하는지 모르겠습니다.. 2의 보수로 변환 해서 막해봤는데.. 알려 주실 수 있으신가요..?!
안녕하세요. 실습 진행 중 빌드오류가 있어 질문 드립니다. 빌드 후 아래와 같은 오류가 발생하고 있습니다. * What went wrong: Plugin [id: 'org.springframework.boot', version: '2.5.5'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:2.5.5') Searched in the following repositories: Gradle Central Plugin Repository * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'org.springframework.boot', version: '2.5.5'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:2.5.5') 구글링 및 다른 질문들의 답변을 참고하여 1. project SDK 버전 확인 (JDK 11) 2. Gradle JVM 버전 확인 3. 압축파일 삭제 후 다시 해도 같은 결과 4. org.springframework.boot 다른 버전으로 실행 위와 같은 방법을 시도했지만 아직 같은 상황입니다.. 어떻게 해결하면 좋을지 문의드립니다..ㅠㅠ
안녕하세요 유익한 강의 열심히 수강중입니다. 다름아니라 top 에서 빠져나올 때 3가지 방법 중 하나인 k을 따라서 수행하려다보니, 강의 속에서는 말씀하신대로 default pid가 top의 PID가 나오는데, 저는 gnome-shell의 PID가 나와서요! 어떤 차이로 이렇게 나오게 되는 걸까요?
안녕하세요! 해당 코드에서 변수 ch의 자료형은 char로 받아도 잘 되고, 맥락상 char이 더 적절할 것 같은데 교수님은 int라고 작성하셔서 그 이유가 궁금합니다. char get_first_char(void) { int ch; ch = getchar(); while (getchar() != '\n') continue; return ch; }
cat 대신하여 dog로 저는 따라 작성하였습니다. docs 페이지에 정의 되어 있습니다. postman으로 get 방식으로 dog/all로 호출 하였을때 comments schema가 등록이 안되었다고 되어 있는데 git 코드와 비교 해보면 다른점이 없어보여 질문드립니다. 출력해주는 에러에서는 [Nest] 26612 - 2021. 10. 15. 오후 3:33:29 ERROR [ExceptionsHandler] Schema hasn't been registered for model "comments". Use mongoose.model(name, schema) export class DogRepository { constructor (@ InjectModel ( Dog . name ) private readonly dogModel : Model < Dog >) {} async findAll () { console . log ( 'findAll function' ); const CommentsModel = mongoose . model ( 'comments' , CommentsSchema ); console . log ( CommentsModel ); const result = await this . dogModel . find () . populate ( 'comments' , CommentsModel ); console . log ( result ); return result ; } 와 같이 추가되었습니다. 다만 populate이부분을 사용 안하면 정상 작동하나 두 collection의 join은 되지 않습니다. 혹시 에러 원인을 파악할수 있는 부분이나 제가 check해야될 부분이 있을까요?? 다른기능은 정상 작용 중입니다.
알고리즘이 시작되는 while문 안에서 처음 하는 동작중에 가장 가까운 distance의 정점를 찾아서 선택하는 과정이 있는데요. for (int i = 0; i < 6; ++i) { // 이미 방문한 정점은 스킵 if (visited[i]) continue; // 아직 예약된 적이 없거나, 기존 후보보다 멀리 있으면 스킵 if (distance[i] == Int32.MaxValue || distance[i] >= closest) continue; // 이때까지 발견한 가장 가까운 후보이기 때문에 정보 갱신. closest = distance[i]; now = i; } 굳이 가장 가까운 후보를 찾아야 하는 이유를 잘 모르겠습니다. 어느 쪽을 선택하든 최종적으로는 distance가 가장 짧은 쪽으로 갱신 되는 결과가 나올 것 같은데.. (1번이 아닌 3번을 먼저 선택해도 3번이 선택됐을 때 1번 + 10이 더 가깝기 때문에 3번의 distance가 1번을 통하는 쪽으로 distance가 갱신될것 같은데 굳이 더 짧다는 이유로 1번을 먼저 선택.) 혹시 필수 작업은 아니지만 가장 가까운 후보를 선택하는 것이 최종적으로 가장 짧은 distance를 가질 확률이 높아지기 때문에 해주는 작업일까요? 아니면 반드시 필요한 작업인데 제가 제대로 파악을 못한 걸까요 도움 주시면 감사하겠습니다!
안녕하십니까, 좋은 강의 감사드립니다. sns.regplot(x=feature , y='PRICE',data=bostonDF , ax=axs[row][col])를 수행한 결과 아래와 첨부 그림과 같이 그래프 색이 모두 동일하고, x축 y축의 여백이 없게 나옵니다. 이러한 경우 필요한 작업은 무엇인지 알려주시면 좋겠습니다. 감사합니다.
안녕하세요. 해당 강의를 통해 앱 취약점 진단하는데 도움을 많이 받고 있는 수강생입니다. 현재 프리다 툴을 이용해 탈옥 검증 로직을 우회하는 테스트를 진행하고 있는데 OOO 앱에 대해 클래스명.함수명을 분석한 결과 탈옥을 검증하는 클래스명.함수명이 2개가 있더라구요 두 함수명에 대한 return값을 모두 0x0에서 0x1로 변경 하고 싶은데 어떻게 짜면 좋을까요 ㅠㅠ * 현재 사용하고 있는 프리다 코드입니다. if(ObjC.available) { var class_checker = ObjC.classes.[클래스명]; var methods_checker = class_checker.$ownMethods; var isApplication = class_checker['함수명']; Interceptor.attach(isApplication.implementation, { onEnter: function(args) { var target = new ObjC.Object(args[0]); var sel = ObjC.selectorAsString(args[1]); send("Target class : " + target.$className); send("Target selector : " + sel); }, onLeave: function(retVal) { send("Old return : " + retVal); retVal.replace("1"); send("New return : " + retVal); } }); } else { console.log("Objective-C Runtime is not available!"); } """ 답변부탁드립니다.