본 구조에서는 hbase bolt 와 스플릿 bolt를 두개로 나누어서 작업을 진행하셨는데, 한번에 처리하지 않으신 이유가 있으신가요? 만약에 특정한 이유로 job을 나누신거라면, 그렇게 나눌때의 기준은 어떻게 되는지 이런 시스템을 구성할 때에 어떤 단위로 job을 나누는 것이 가장 효율적인지 궁금합니다.
Error: template not found: error.html at createTemplate (d:\Node\chapter7\node_modules\nunjucks\src\environment.js:290:15) at next (d:\Node\chapter7\node_modules\nunjucks\src\lib.js:330:7) at handle (d:\Node\chapter7\node_modules\nunjucks\src\environment.js:329:11) at d:\Node\chapter7\node_modules\nunjucks\src\environment.js:339:9 at next (d:\Node\chapter7\node_modules\nunjucks\src\lib.js:328:7) at Object.asyncIter (d:\Node\chapter7\node_modules\nunjucks\src\lib.js:334:3) at Environment.getTemplate (d:\Node\chapter7\node_modules\nunjucks\src\environment.js:321:9) at Environment.render (d:\Node\chapter7\node_modules\nunjucks\src\environment.js:360:10) at NunjucksView.render (d:\Node\chapter7\node_modules\nunjucks\src\express-app.js:22:9) at tryRender (d:\Node\chapter7\node_modules\express\lib\application.js:640:10) 이런 에러가 발생하는데 해결하지 못하겠습니다. table은 잘 생성됩니다. view에 error.html Doctype must be declared first. 에서는 경고가 뜹니다. 넌적스 분명히 잘 설치했습니다.
Action<Socket>에 대해 나름대로 공부해봤는데 이해가 잘 안돼서 여쭤봅니다ㅠㅠ 1. "매개변수는 Socket 하나만 갖고 반환값은 없는 메서드를 참조하는 델리게이트" 라고 이해했는데 맞나요? 2._onAcceptHandler.Invoke(args.AcceptSocket);에서 Invoke는 뭘 해주는 함수인가요? 1번처럼 이해한게 맞다면 그냥 _onAcceptHandler(args.AcceptSocket);로 호출해도 될거같아서요.(실제로 이렇게 바꿔도 잘 동작하더라구요)
안녕하세요 제로초님 뒤로가기시에 csr후에 ssr된 데이터가 넘어와서 csr데이터가 없어지는 이슈가 있습니다. 예를 들어 naverMap객체를 useEffect에서 redux데이터로 넣었는데 일반적으로 그 페이지를 들어갈 때는 const rootReducer = (state: any, action: any) => { switch (action.type) { case HYDRATE: return action.payload; default: { ... 이 부분이 먼저 실행되서 그 후 naverMap 객체가 들어가는데 뒤로가기시에는 bfCache 때문인지 저부분이 useEffect안에 있는 naverMap을 redux데이터에 넣는 코드보다 늦게 실행되서 결과적으로 없어지게 됩니다. 해결방법이 있을까요..?ㅠ
스마트 컨트랙트가 메인넷에 배포되면 이더스캔을 통해 조회가 되는 것으로 알고 있습니다. 스마트 컨트랙트의 경우 verify & publish 를 한 경우에만 스마트 컨트랙트 코드가 보이는 것으로 알고 있는데 해당 과정을 거치지 않은 경우에는 스마트 컨트랙트 코드를 확인할 수 없는 것인가요? 다른 강의를 듣던 중 메인넷에 배포된 스마트 컨트랙트는 모든 사람이 확인할 수 있고 이 때문에 해킹에 대비해야된다고 들었는데 어떤 방법으로 스마트 컨트랙트를 확인할 수 있나요?
안녕하세요 :) Q1) Clustered Index 를 추가 한 뒤 Non Clustered Index의 변화를 살펴보면 PageID 값도 변하고 Heap Table이 사라짐에 따라 Heap RID도 변하게 됨을 확인했습니다. 궁금한 것은 강의 후반부 *18분 이후 내용입니다. Heap Table이 사라져도 Non Clustered Index를 사용해서 테이블에 저장된 데이터를 찾게 될텐데, 강의중 말씀하신 고유한 key 값이란 무엇인가요? UNIQUIFIER 를 말씀하신걸까요? Q2-1) Clustered Index를 추가하면 Non Clustered Index의 구조가 변하는 것은 확인을 했는데 이는 OrderID라는 공통 Index가 있어서 가능한 일 인 것 같습니다. 공통 Index가 없이 Clustered Index를 추가해도 구조에 변화가 생기게 되는지 궁금합니다. Q2-2) 이어서 엉뚱한 질문을 드리면 Non Clustered Index 추가시 매커니즘을 보면 Non Clustered Index를 통해 고유한 Key 값 얻기 -> 고유한 Key 값으로 Clustered Page에서 Lookup 이와 같은 매커니즘인데 Non Clustered Index를 통해 얻은 고유한 Key값이 Clustered Page에서 데이터를 Lookup할 때 SCAN 가 아닌 SEEK을 한다는 보장이 있을까요? 다른 표현으로(맞는 표현일지는 모르겠지만...) Key값이 Clustered Page에서 Index로서의 역할을 제대로 할 수 있는건가요? 직전의 질문과도 연관이 있어보이는데 제 질문의 요점은 Non Clustered Index의 결과물을 Clustered Index의 Lookup에서 재사용하는 그림인데, 두 Index는 정의시 지정한 컬럼이 다른데 호환이 가능한지 궁금하네요. 감사합니다~
안녕하세요 선생님! 항상 잘 듣고 있습니다 궁금한게 있어 질문드립니다. 이번 강의엔 실제 개발 과정이 나오지 않아 조금 헷갈리는 부분이 있는데요, 'HTTP 메서드가 실제로 동작하는지'가 궁금합니다. 예를 들어 이전에 개발했을땐 @GetMapping(/members) public List<Member> getMember(){ } 이런식으로 GET uri에 인스턴스의 메소드를 맵핑했던 걸로 기억합니다. 즉, GET(요청)에 대한 기능을 개발자가 직접 구현했던 것으로 알고 있습니다. 그럼 HTTP 메서드 자체엔 조회 기능이 없고 그냥 구분용 네이밍 규칙 같은 거라고 보면 되나요? HTTP 메서드 중 DELETE를 선택한다고 해서 그것만으로 실제 리소스가 삭제되는 건 아닌거죠? 개발자가 삭제를 구현하는 거죠?
https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault - 위의 링크에서 e.preventDefault() 함수가, 이벤트가 취소 가능한 경우 이벤트의 전파를 막지 않고 이벤트를 취소한다고 되어 있는데, 설명중에서 SPA에서 e.preventDefault() 사용해야한다고 하셨는데 이유가 궁금합니다.