// 간단한 회원가입 폼 // 1. 이름 // 2. 생년월일 // 3. 국적 // 4. 자기소개 import { useState , useRef} from "react"; const Register = () =>{ const [input, setInput] = useState({ name : "", birth : "", country : "", bio : "" }); const refObj = useRef(); console.log(refObj); const onChange = (e) =>{ setInput({ ...input, [e.target.name] : e.target.value }) }; return ( <div> <div> <input name = "name" value={input.name} onChange={onChange} placeholder={"이름"}></input> </div> <div> <input name = "birth" type="date" value={input.birth} onChange={onChange} placeholder={"생년월일"}></input> </div> <div> <select name = "country" value={input.country} onChange={onChange}> <option>한국</option> <option>미국</option> <option>영국</option> </select> </div> <div> <textarea name = "bio" value={input.bio} onChange={onChange}/> </div> </div> ); }; export default Register; => 오류 발생 @workspace /explain Error: Cannot access refs during render React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected ( https://react.dev/reference/react/useRef ). 17 | 18 | const refObj = useRef(); > 19 | console.log(refObj); | ^^^^^^ Passing a ref to a function may read its value during render 20 | 21 | const onChange = (e) =>{ 22 | setInput({ 🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다!
안녕하세요 좋은 강의 내용 잘 듣고 있습니다. Detection 프로젝트를 진행하면 학습 시에는 labeling 된 ground truth가 있기 때문에 Precision이 쉽게 산출될 수 있지만, 추론 시에는 labeling 된 ground truth가 없기 때문에 추론 결과 이미지를 눈으로 직접 보면서 판단하여 precision score를 측정해야 하는 게 맞을까요?
안녕하세요 강사님. 좋은강의 잘 듣고 있습니다. 이번 강의 들으면서 질문이 생겨서요. 만약 메인 브랜치 기반으로 깃헙에서 develop 브랜치를 생성한후, fetch로 로컬 레포로 가져와 checkout -t로 로컬 레포의 메인 브랜치로 가져오는 곳까지는 이해했습니다. 그 뒤, 로그인 브랜치를 로컬 레포에서 생성하여 git push로 로그인 브랜치를 깃헙으로 보낸후 풀리퀘스트를 완료하여 머지커밋 생성되는곳 까지는 잘 따라왔습니다. 그럼 만약에 그 깃헙에 올라가있는 머지된 develop 브랜치를 제 로컬 레포로 가져와서 편집하려면 어떻게 해야하나요? fetch 로 가져와서 트래킹 브랜치를 기존 브랜치로 머지나 리베이스 해주면 되는건가요? 만약 실무에서 이런 상황이라고 가정하면 로그인 기능은 개발이 완료되어 브랜치도 삭제했으니 더이상 제 로컬 레포에 존재하는 로그인 브랜치는 필요가 없어졌다. 그러니 추가적인 작업이나 협업이 필요하면 로그인 기능이 추가된 develop 브랜치를 다시 fetch로 받아와 다른 feature 브랜치 생성해서 작업해주면 된다. 이렇게 이해하면 될까요?
🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다! 제목처럼 TS강의, 리액트 강의를 둘 다 들을 예정인데 어떤 순서로 수강하는게 더 효율적일까요?
선생님.... 제가 질문이 좀 많습니다.... main 바로 다음에 A b = new B(); 라고 되어있는데, A b가 왜 class B로 되는거죠?? 대소문자도 구분 해야하는거 아닌가요>>>? B를 b로 지정하거나 뭘 하겠다고 한건 없는거 같은데 이해가 안됩니다. 그냥 A라는 부모가 가진 것을 new B라는 자식이라고 A b로 새롭게 정의해서 new B = b라고 보면 되나요?
섹션 3. 17강. 23:00 질문 있습니다. printf("입력된 문자열: %s\n", str); 이 아니라 printf("입력된 문자열: %c\n", str)라면 어떤식으로 출력이 될까요? myString[]에서 this is string은 알파벳 하나하나 주소를 갖는건가요? 아니면 통째로 주소를 갖는 건가요?ㅜ 갑자기 헷갈려서 남깁니다.
안녕하세요! 좋은 강의 감사합니다. 질문 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
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.