안녕하세요 강사님. 해당 강의 8:31 초 내용을 저장했을때 아래와 같은 오류가 나왔습니다. 언뜻 봤을 때는 await를 적용하지 않아서 라는 것으로 해석이 되는데, 영상 초반에 비동기 컴포넌트를 따로 빼내어 사용하기로 하여 async를 제거하였는데 아래와 같은 오류가 나오지만 화면은 의도된 바와 같이 동작을 합니다. 강의 영상 및 자료와 동일하게 진행하였습니다 강사님의 강의자료에서 코드를 복사하여 BookListSkeleton만 제거 수정을 하여 테스트 시 위와 같은 오류가 동일하게 발생합니다. https://github.com/winterlood/onebite-next/blob/main/section06/chapter05/src/app/(with-searchbar)/search/page.tsx 영상에서는 저와 같은 오류가 발생하지 않는 것 같은데, 이런 오류가 발생하면 빌드가 안되는데... 확인 부탁드립니다.
강의 처럼 revalidatePath(`book/${bookId}`)를 해서 리뷰를 작성하고 작성하기 버튼을 눌러서 페이지를 재검증하는 상황 revalidatePath는 퍼지를 통해서 캐시가 모두 삭제되는 것이 이해함 빌드 후, 프로젝트 모드로 실행 리뷰를 작성하고 리뷰를 누르는 상황 작성한게 보이긴 하지만 두번째꺼가 ㅋㅋㅇㄹㅋ 였는데 아래와 같이 바뀝니다. 또한 새로고침을 누르면 다시 원상태로 돌아갑니다. 아래와 같이 새로고침을 누르면 퍼지 후에 book/1 페이지는 다이나믹으로 작동해야되는데 하지 않는 것으로 파악됩니다. prisma studio를 확인해보면 데이터는 들어갔습니다. 그런데 npm run dev로 하면 잘 됩니다... 왜 그런 걸까요??
저는 문제를 std_weight라는 함수를 사용해서 표준 체중을 구하는 것으로 이해해서, std_weight(175, "남자") 위와 같이 입력했을 때, # (출력 예제) # 키 175cm 남자의 표준 체중은 67.38kg 입니다. 위와 같은 출력물이 나오도록 코드를 짰는데 틀린 건지 문의 드립니다. 코드는 다음과 같습니다. def std_weight(height, gender): height_m = height * 0.01 if gender == "남자": weight = round(height_m * height_m * 22, 2) print("키 {0}cm 남자의 표준 체중은 {1}kg 입니다." .format(height, weight)) elif gender == "여자": weight = round(height_m * height_m * 21, 2) print("키 {0}cm 여자의 표준 체중은 {1}kg 입니다." .format(height, weight)) std_weight(175, "남자")
인덱스 페이지를 오류를 발생시키는 상황입니다. 과정에서 error.tsx 파일을 (with-searchbar) 폴더안에 만들었습니다. 데이터를 불러오는 서버를 끄로 인덱스 페이지를 새로고침하면 Footer에서 오류가 발생합니다. 글로벌 레이아웃에 Footer 컴포넌트를 불러와서 이런 오류가 발생하는 걸까요?
선생님 안녕하세요, 기능 구현하는데 힌트 좀 받고 싶어서 질문 드립니다. 메세지 차단 기능 초대기능 접속유저 부분에서 프로필 확인 기능을 넣고 싶습니다. 아직 장고가 손에 붙질 않아서.. 어느 부분을 수정해야할지 감이 오지 않습니다. 한번 해볼수있게 힌트 좀 부탁드려도 될까요. 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강사님 sklearn.dataset의 fetch_20newsgroups의 데이터로드가 너무 오래걸리고 있어요. 그래서 소스코드를 봤는데 계속 로드를 못하고 있는 것 같아요. 혹시 문제가 뭘까요?
수업내용 따라서 dag 작성 및 docker-compose.yaml 파일 수정하고 실행하였는데, ConnectionRefusedError: [Errno 111] Connection refused 해당 오류로 작업실패를 하게 됩니다. 어떻게 해결하면 될지 도움 부탁드립니다. 😭
안녕하세요 널널한 개발자님! 언제나 강의 잘보고 있습니다. 예제 소스 코드 보고 있는데 의문이 생겨서 이렇게 질문드립니다. 이전 강의에서 recv와 send는 1:1로 매칭되지 않는다라고 하셨었는데 프로토콜이 적용된 파일 송신 서버 제작 강의 예제를 보면 MYCMD 나 GETFILE 구조체를 recv 함수로 한번씩 읽어오시는것같아서요. 혹시 recv로 한번에 읽어오는 데이터의 크기가 GETFILE, MYCMD의 크기보다 작아 한 번 더 읽어야 하는 경우가 발생할 수 있을까요? 해당 코드 구문입니다!
(.venv) PS C:\Users\LG\PycharmProjects\pragmatic> python manage.py runserver Watching for file changes with StatReloader Performing system checks... Exception in thread django-main-thread: Traceback (most recent call last): File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\ urls.py ", line 136, in check_custom_error_handlers handler = resolver.resolve_error_handler(status_code) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\ resolvers.py ", line 732, in resolve_error_handler callback = getattr(self.urlconf_module, "handler%s" % view_type, None) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\ functional.py ", line 47, in get res = instance.__dict__[ self.name ] = self.func(instance) ~~~~~~~~~^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\ resolvers.py ", line 711, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap. gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\ urls.py ", line 25, in <module> path('account/', include('accountapp.urls')), ~~~~~~~^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\ conf.py ", line 39, in include urlconf_module = import_module(urlconf_module) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap. gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\ urls.py ", line 4, in <module> from pragmatic.urls import urlpatterns ImportError: cannot import name 'urlpatterns' from partially initialized module 'pr agmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\ urls.py ) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\ threading.py ", line 1041, in bootstrap inner self.run () ~~~~~~~~^^ File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\ threading.py ", line 992, in run self._target(*self._args, **self._kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\ autoreload.py ", line 64, in wrapper fn(*args, **kwargs) ~~^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\commands\ runserver.py ", line 134, in inner_run self.check(display_num_errors=True) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\ base.py ", line 486, in check all_issues = checks.run _checks( app_configs=app_configs, ...<2 lines>... databases=databases, ) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\ registry.py ", line 88, in run_checks new_errors = check(app_configs=app_configs, databases=databases) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\ urls.py ", line 138, in check_custom_error_handlers path = getattr(resolver.urlconf_module, "handler%s" % status_code) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\ functional.py ", line 47, in get res = instance.__dict__[ self.name ] = self.func(instance) ~~~~~~~~~^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\ resolvers.py ", line 711, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap. gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\ urls.py ", line 25, in <module> path('account/', include('accountapp.urls')), ~~~~~~~^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\ conf.py ", line 39, in include urlconf_module = import_module(urlconf_module) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap. gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\ urls.py ", line 4, in <module> from pragmatic.urls import urlpatterns ImportError: cannot import name 'urlpatterns' from partially initialized module 'pr agmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\ urls.py ) 강의랑 똑같이 코드를 치고 python manage.py runserver을 입력해서 실행하려 하는데 위 처럼 에러가 뜨는데 코드는 분명 똑같이친거 같은데 뭐가 잘못된건지 모르겠어요ㅠㅠ
초기에 pnpm으로 example 다운받고 pnpm dev로 실행 후 기능을 사용해보면, 블로그의 글을 클릭하면 아래처럼 에러가 나오는데 이유와 해결방법이 어떻게 되나요? 아래는 명령창에 나오는 에러입니다. Error: Route "/blog/[slug]" used `params.slug`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at eval (app\blog\[slug]\page.tsx:55:70) at Array.find (<anonymous>) at Blog (app\blog\[slug]\page.tsx:55:34) 53 | 54 | export default async function Blog({ params }) { > 55 | let post = await getBlogPosts().find((post) => post.slug === params.slug); | ^ 56 | if (!post) { 57 | notFound(); // ?룷?뒪?듃媛� ?뾾?쑝硫? 404 ?럹?씠吏�瑜? 諛섑솚 58 | } 殊? [Error: A React Element from an older version of React was rendered. This is not supported. It can happen if: - Multiple copies of the "react" package is used. - A library pre-bundled an old copy of "react" or "react/jsx-runtime". - A compiler tries to "inline" JSX instead of using the runtime.] { digest: '685037146' } Error: Route "/blog/[slug]" used `params.slug`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at eval (app\blog\[slug]\page.tsx:15:64) at Array.find (<anonymous>) at Module.generateMetadata (app\blog\[slug]\page.tsx:15:28) 13 | 14 | export function generateMetadata({ params }) { > 15 | let post = getBlogPosts().find((post) => post.slug === params.slug) | ^ 16 | if (!post) { 17 | return 18 | }
선생님이 이번 강의에서 서버액션을 이용한 서버컴포넌트 재검증에 대한 설명을 해주셨는데요. 방금 강의를 듣고나니 불현듯, 어? 그럼 클라이언트 컴포넌트에서, post요청을 날리면 서버컴포넌트 업데이트를 어떻게 치지? 방금 설명해주신것처럼 모든 post 요청을 서버액션으로 만든 후에 revalidatePath나 revalidateTag를 사용해야하는건가? 라는 의문점이 들었습니다. 보통 실무에서는 프론트가 다이렉트로 db에 접근하는 일이 거의 없기 때문에, 백엔드가 항상 붙어있는데 그럼 결국 클라이언트 컴포넌트에서 서버액션을 통해 post요청을 보내고, 웹서버측에서는 백엔드에 post요청을 보내는식의 2번작업이 일어나야만, post요청이 끝나고 서버컴포넌트의 업데이트가 가능한걸까요 ?