버튼 컴포넌트 onClick={handleClick()} jsx 에서 위처럼 적으면 자바스크립트에서 엔진에서 즉시실행함수로 인식하는것 처럼 인식을 해서 렌더링이 되기도전에 함수를 먼저 실행해버리는 현상이 생기는 이유가 맞을까요? 결국 핸들러 함수의 기능도 하지못하고 1회용으로 즉시실행되고 소멸해버리는 함수가 되어버리는 것 같아보이는데 이에 대한 정확한 설명이 있을까요? 제가 생각한 이 부분에 보충적으로 필요한 설명을 혹시 해주실 수 있으실까요?
어떤 가상 환경인지 환경 이름에 드러나게 작성해주는게 좋습니다. 변수명 작성할때도 a, b, 이렇게 하는 것 보다 name, age, 이런 식으로 의미를 명확히 담아서 만드는게 코드 유지보수하기 좋잖아요? 나중에 가상환경들이 많아졌을 때, 환경 이름이 venv, venv1, venv2, 이런식으로 되어 있는 것과, django_test_venv, flask_py310_env, streamlit_llm_chatbot_py311_venv 등으로 되어있는 것 중 어떤게 더 사용이 편할지 생각해보시면 되겠습니다. 이 강의도 그렇고 인터넷 보면 죄다 예제가 venv로 만드는 것으로 되어있는데 현업에서 이렇게 하다가 개고생하고 드리는 말씀이니 참고하세요...
과거에 파이썬을 배울때 df[출력행][조건] 이런식으로 배워서 익숙한데 2회 기출유형(작업형1) 3번 문제 마지막은 df[조건][출력행] 으로 되어 있어 궁금한 점이 있습니다. 순서는 상관이 없는건가요? 전 아래와 같이 코딩했고 결과값은 같습니다. print(df['age'][cond1|cond2].sum())
강의의 3분 정도 쯤에, (beforeLogin)/i 폴더와 파일들을 (beforeLogin)/@modal/(i) 로 복사 한 후 http://localhost:3000/i/flow/login 접속시 무한 GET 접속 시도가 터미널 창에 보입니다. 이때, <Link href ="login" className ={styles.login}>로그인</Link> 입니다. 그런데, <Link href ="/i/flow/login" className ={styles.login}>로그인</Link> 변경하면, http://localhost:3000/i/flow/login 접속시, 터미널 창에서는 무한 GET 접속시도는 사라집니다. 어떻게 해서 이렇게 되는지요?
강의 50초 정도에, i, login, page.tsx는 {children}에서 렌더링, 여기는 (@modal 의 하위 폴더와 파일 선택) {modal}에서 되죠? 라고 설명하시는 부분이 이해가 안됩니다. 저는, app/(beforeLogin)/layout.tsx 의 {children}은 app/(beforeLogin)/page.tsx 를 가져오는 것이고, {modal}은 @modal 폴더의 page.tsx (default.tsx, i/flow/login/폴더로 리다이렉션) 를 찾는 것으로 이했습니다. 여러 폴더를 모두 보여준다고 설명하신듯하여, 이해가 안되네요.
안녕하세요. 항상 좋은 인사이트와 경험을 공유해주셔서 감사드립니다. 최근 프론트엔드 개발을 공부하면서 "Content Attribute"와 "IDL Attribute"의 사용 방식에 대해 고민하게 되었습니다. 이를 정리해보면서 나름대로 다음과 같은 결론에 이르렀습니다. Content Attribute는 변하지 않는 어트리뷰트 값이나 리소스를 표현할 때 사용하고, 그 외, 동적으로 핸들링이 필요한 경우에는 IDL Attribute를 사용하는 것이 맞다고 이해하고 있습니다. 이러한 개념을 공부하면서, 현업에서 다양한 코드들을 보게 되었는데요, 특히 주니어 개발자분들이 작성한 코드에서는 Content Attribute를 많이 사용하는 반면, 시니어 개발자나 CTO급 분들의 코드에서는 Content Attribute 사용이 상대적으로 적고, 대부분 IDL Attribute를 적극적으로 사용하는 모습을 많이 볼 수 있었습니다. 이런 현상을 보며 자연스럽게 궁금증이 생겼습니다. 왜 경험 많은 개발자일수록 Content Attribute 사용이 줄어드는 걸까? Content Attribute 방식과 IDL Attribute 방식에 대해 어떻게 생각하시고, 어떤 기준으로 선택하시는지 궁금합니다. 혹시 이 부분에 대해 간단히 의견을 들려주실 수 있다면 큰 도움이 될 것 같습니다. (물론 바쁘시다면 답변 주시지 않아도 괜찮습니다! 이렇게 질문을 정리하는 과정만으로도 많은 공부가 되고 있습니다.) 읽어주셔서 감사합니다. 좋은 하루 되세요.
2분 22초에서 return 문 앞에 const sunriseData = weatherData ? new Date(weatherData.sys.sunrise); 이렇게 코드를 적었는데 이후의 코드에서는 갑자기 보이지 않아 이 코드는 어디가고 이후의 return 앞에는 이 코드가 오게 되었는지 궁금합니다. const formatTime = timestamp => { const date = new Date((timestamp - 9 * 3600) * 1000); // UTC timestamp에 9시간 추가 return date.toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}); // 로컬 시간으로 포맷 }; 제가 이해할 때는 sunriseData가 wetherData의 unixtime을 현재 우리가 보는 시간으로 바꾸어 저장하는 것인데... 아래의 formatTime은 sunriseData를 대체한 코드인가요?(시차도 적용한?)
p id =one onclick=show() 1. five 오브젝트를 클릭할때 one onclick 이벤트삭제 2. five 오브젝트를 클릭할때 one onclick null 로 재할당 2번을 쓰게 되는 경우가 어떤경우가 일까요? 1번방법이 일반적으로 쓰게될 것 같다는 생각이 듭니다
강의에서는 name, host_name, last_review, host_id를 삭제하고 reviews_per_month는 0으로 대체했습니다. 근데 예를 들어 이 문제가 시험에 출제되었다면, 강의처럼 똑같이 해야 점수를 획득하는건가요? 다른 컬럼들을 더 삭제하거나 위에 컬럼들 중 일부를 삭제하지 않으면 점수가 깎이는건가요?
에어플로우 설치 중 오류가 발생해 오랜시간동안 재시도해보다가 질문 드립니다.! 아래의 오류들에 대한 원인이 무엇일지, 그리고 어떻게 해결해야 할지 궁금합니다. 1. sudo docker compose up airflow-init 해당 코드 실행 중 'The container is run as root user. For security, consider using a regular user account.' 라는 알림이 나오며, 사용자-airflow-init-1 이 아닌 airflow-init-1로 뜹니다. sudo docker compose up 해당 코드 실행 중 'airflow-apiserver-1 is unhealthy'라는 오류가 발생합니다. (이 문제로 도커 초기화 및 재설치부터 고유한 user secret key 입력 등 여러번 시도했으나, 동일한 오류가 계속 반복됩니다.) 참고로, sudo docker compose up 코드 실행 중 다음과 같은 오류들이 주로 보입니다. airflow-apiserver-1 | ValueError: The value api_auth/jwt_secret must be set! airflow-apiserver-1 | ERROR: Application startup failed. Exiting. airflow-apiserver-1 | ERROR: Traceback (most recent call last): airflow-apiserver-1 | INFO: Child process [3223] died