안녕하세요! 좋은 강의 감사합니다. 질문 1. creatomate의 탬플릿에 Dynamic 설정해둔 Video1~5의 길이가 각 5초로 설정되어있습니다. 이게 막상 쇼츠를 완성하고보니, 나레이션과 Video들 간의 전환 시점이 약간씩 미스매치 됩니다. 예를들어, 나레이션은 스쿨버스에 대한 이야기를 시작했는데, Video는 이미 나레이션이 끝난 교실 장면을 몇초 더 보여주고 있는것과 같습니다. 나레이션에 따라서 Video1~5의 duration이 각각 달라야할 것 같습니다. 예를들어, Video 1 (3초), Video 2(5초)... 같은 방식을 생각 중입니다. 이렇게 하려면 내용 맥락을 파악해서 Creatomate에서 자동으로 Video duration을 조절해야하는데, 이것도 자동화 될 수 있는 방법이 있을까요? 질문 2. 방법이 없다면 제가 직접 Creatomate에서 최종 수정을 해서 유튜브에 업로드하는게 최선일 것 같습니다. 그렇다면 n8n에서 Creatomate의 작업을 바로 Run시키는것이 아니라, Template안에서 제가 직접 작업할 수 있도록 소스(Video, TTS, Title 등)를 다 "넣어주기" 까지만 자동화를 시킬 수도 있을까요? 오늘은 제가 videos를 전부 다운받아서 creatomate에 전부 업로드해서 직접 쇼츠를 올려보았습니다. 이렇게 하니 자동화가 무의미해지는것 같아, 최대한 n8n의 장점을 활용하려고 합니다. 이것저것 방법을 찾아보다, 강사님의 의견을 듣고 싶어 질문 드렸습니다. 감사합니다 !
안녕하세요 선생님, 지금 클로드코드 pro 버전을 사용 중 입니다. 다만 수업을 진행 시 토큰이 부족하여 고민했던 부분이 구글 계정을 여러개 하여 4개월 무료를 진행해 antigravity를 사용하고 있습니다. antigravity 내에 Claude Sonnet 4.5(Thinking) 모델로 진행하고 있는데. 수업 내용 진행 시 큰 차이점이나 오류나, 제약되는 내용이 있는지 궁금합니다..!!
선생님 제가 정말 완전 노베이스에서 하는데, 왜 모든 값들을 출력할 때 출력문 구조가 System.out.println("d1 == d2: " + (d1 == d2)); 이렇게 되어있는데 출력은 +를 뺀 내용만 출력을 하는건가요? d1 == d2: false +의 경우는 " "에 있는 내용도 아니고 단지 두개의 식을 이어주는 역할이라고 생각하면 될까요?
super()가 없어지면 기본 생성자를 호출 해야한다는건 이해 했습니다. ElectricCartesla-new ElectricCar("Tesla",2021,75); 라는 변수가 있기때문에 자식 기본생성자인 부분은 건너뛰고 2번쨰인 ElectricCar로 바로 넘어가는건가요? 이후에 부모기본생성자 출력하고 남은 Capacity를 출력하는 순서... 이렇게 이해하면 되는건가요?
안녕하세요. 51강에서 터미널 명령어에 ll 넣어서 진행하시는데 저는 이런 오류 메세지가 발생합니다. zsh: command not found: ll 그래서 ls -al 이런식으로 하는데 동일한건지요? 그리고 cursor CLAUDE.md 명령어로 cursor실행하셨는데 저는 또 이런 에러메세지가 발생합니다. 제가 많이 부족한데 설명 부탁드립니다!! zsh: command not found: cursor
08_chatServerSelector 소스코드의 마지막 부분인 브로드캐스팅하는 함수 sendMessageAll에서 오류를 발견했습니다. 제공하여주신 소스 코드를 작성하고, 여러 클라이언트를 실행시켜보았습니다. 연결은 문제가 없었지만, 쓰기 부분에서 문제가 발생했습니다. private static void sendMessageAll(Selector selector, SocketChannel sender, String msg) throws IOException { ByteBuffer msgBuffer = ByteBuffer.wrap((msg + "\n").getBytes()); for (SelectionKey key : selector.keys()) { Channel channel = key.channel(); if (channel instanceof SocketChannel) { SocketChannel target = (SocketChannel) channel; target.write(msgBuffer); // <- 문제 지점 } } } msgBuffer를 반복문을 통하여 타겟 클라이언트 채널에 쓰기를 할 때에, 첫 클라이언트에게만 메시지가 보내지는 것 을 발견하였습니다. 이유는 write호출시 msgBuffer의 position이 마지막으로 이동이 되어서, 다른 클라이언트 소켓 채널에게는 빈 msgBuffer가 쓰기가 되어서 메시지가 보내지지가 않았습니다. 해결방법) msgBuffer의 값을 할당받는 부분을 반복문 안쪽으로 이동시켜 매 이터레이션 마다 값을 받게 코드를 수정하였습니다. // 브로드캐스팅 함수 private static void sendMessageAll(Selector selector, SocketChannel sender, String msg) throws IOException { for (SelectionKey key : selector.keys()) { Channel channel = key.channel(); if (channel instanceof SocketChannel) { SocketChannel target = (SocketChannel) channel; ByteBuffer msgBuffer = ByteBuffer.wrap((msg + "\n").getBytes()); target.write(msgBuffer); } } }
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 안녕하세요 항상 강의 잘 보고 있습니다 ! 딩코딩코님 혹시, 로컬에서 테스트 한 결과를 이력서에 써도 괜찮을까요? 서비스를 배포를 할 생각이긴한데, 똑같은 환경을 2개 만들어서 배포를 하고 테스트를 하려니 비용이 많이 나올 것 같아서 어떻게 해야될지 고민하고 있습니다 ㅜㅜ 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!
AttributeError AttributeError: 'Cursor' object has no attribute 'count' Traceback (most recent call last) File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 1536 , in __call__ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 1514 , in wsgi_app response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 1511 , in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 919 , in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 917 , in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\venv\Lib\site-packages\flask\ app.py ", line 902 , in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PM_WebService\main\ board.py ", line 105 , in lists tot_count = board.find(query).count() ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'Cursor' object has no attribute 'count' The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error. To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it.
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 4-8 여기까지 이해하신 내용은 무엇인가요? 외래키 제약조건으로 인해 발생한 데드락 문제를 해결하기 위해 INSERT 하려는 테이블에 외래 키를 제거한다. 2. 어려움을 겪는 부분 외래키를 만약에 제거한다면, 어플리케이션 레벨에서 직접 관리한다고 했는데, 구체적으로 어떻게 관리를 하는 건지 궁금합니다! INSERT 하려는 테이블과 연관된 테이블들을 먼저 조회( findXXX() )를 하고, 만약에 없다면 예외를 발생시켜서 트랜잭션을 롤백시키는 방식으로 처리하나요? 실무에서 주로 어떻게 해결하는지 궁금합니다. 그리고 외래키를 사용하지 않는 첫 번째 방법은 이미 테이블이 생성된 시점( INSERT 하려는 테이블에 외래키가 추가되어 있는 상황)에서도 적용할 수 있는건가요? 예를 들어, 이미 테이블에 데이터가 추가되어 있는 상황에서 첫 번째 방법을 적용하려면, 테이블 구조를 아예 바꿔야 할텐데 이 경우에는 두 번째 방법인 쿼리 순서를 바꾸는 걸 대안으로 사용하는 건가요?
강의에선 되게 단순하게 큰 틀 위주로 알려주시는 것 같아서 개인적으로 더 자세한 의미나 추가적인 개념이 궁금할 때 검색해보는 편인데, DI라는 것이 클래스 간의 결합도를 낮추고 객체의 유연성을 높이기 위해 빈 객체를 만들어 주입하는 것을 의미한다고 정리했습니다. 이게 맞게 정리한건지 궁금합니다. 또 추상 클래스와 인터페이스 간의 차이점은 찾아봐도 이해가 어렵길래 선생님의 친절한 설명이 필요할 것 같아서 추가로 여쭤봅니다!
// 1) 모든 입력 아이템의 json을 순서대로 병합 let merged = {}; for (const item of $input.all()) { Object.assign(merged, item.json); } // 2) 'IMG - 시트 행 가져오기' 노드의 첫 번째 아이템에서 ID를 가져와 추가 merged.ID = $('IMG - 시트 행 가져오기').first(). json.ID return [{ json: merged }]; 코드 사용했을때 60초 이상 실행되어 타임아웃 에러가 납니다. 메시지 : Problem in node ‘Code in JavaScript‘ Task request timed out after 60 seconds
안녕하세요! 현재 70. MCP 서버 설치 강의를 듣고 따라하는 중인데요, settings.local.json에 permissions > allow 규칙에 "mcp__shadcn"을 등록했는데 클로드가 계속 "mcp__shadcn__*" 관련 명령어를 허용할건지 질문을합니다. 제가 적용한 순서는 클로드 종료 터미널에서 shadcnui 설치 클로드 시작 로그인 기능 구현 요청 프롬프트 실행 첫 번째 질문 나왔을 때 바로 setting.local.json 파일에 "mcp_shacn" 추가 후 저장 이후 첫 번째 질문에 "yes, and don't ask again ~~" 옵션 선택 settings.local.json 수정 후 바로 클로드에 반영안되는건가요? 클로드 껐다 켜면 이전 컨텍스트 날아갈 것 같아서 계속 질문에 답하고 있는데,, 껐다 켜도 되나요?
/permissions의 workspace를 설명하실 때, ../로 상위 디렉토리를 참고할 수 있다고 하셨는데, permission 에서 참고하는게 있나요? 그냥 권한설정인데.. 추가로 설명하실 때 A라는 프로젝트를 참고해서 B라는프로젝트를 개발할 때 사용한다고 하시면서 해당 프로젝트의 코드베이스를 참고할 수 있다고 하셨는데요, 이 말이 이해가 안됩니다. permissions는 그냥 권한 설정아닌가요?