질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. django-csp 4.0 Migration Guide — Django-CSP 4.0 documentation csp 4.0 이 나왔는데 다음과 같이 강의 내용을 변경하면 될까요? ## config/settings.py from csp.constants import SELF INSTALLED_APPS = [ # ... "csp", # ... ] frame_addition = env.list("CSP_FRAME_ANCESTOS". default=[]) CONTENT_SECURITY_POLICY = { "EXCLUDE_URL_PREFIXES": ["/admin"], "DIRECTIVES": { "default-src": [SELF, "*.example.com"]+ frame_addition , "script-src": [SELF, "js.cdn.com/example/"]+ frame_addition , "img-src": [SELF, "data:", "example.com"]+ frame_addition , "csp_frame_ancestors": [SELF] + frame_addition }, } 이런식으로 변경 해주면 충분할까요?
강의를 클론 받은 후, /sleact/setting/ts 경로에서 npm i 후 npx webpack을 입력하면 아래와 같이 에러가 나옵니다. 다른 컴퓨터로 했을때는 작동 되지만, 제가 사용중인 컴퓨터에서는 작동되지 않습니다. npm i 입력 후 터미널 메세지 ㅡ up to date, audited 643 packages in 4s 74 packages are looking for funding run npm fund for details 26 vulnerabilities (3 low, 8 moderate, 12 high, 3 critical) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run npm audit for details. npx webpack 명령후 입력후 터미널 메세지 [webpack-cli] Failed to load '/Users/kanghyun/Desktop/study/React/zerocho/sleact/setting/ts/webpack.config.ts' config [webpack-cli] SyntaxError: The requested module 'webpack' does not provide an export named 'Configuration' at ModuleJobSync.runSync (node:internal/modules/esm/module_job:387:37) at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:427:47) at loadESMFromCJS (node:internal/modules/cjs/loader:1565:24) at Module._compile (node:internal/modules/cjs/loader:1716:5) at Object.loadTS [as .ts] (node:internal/modules/cjs/loader:1826:10) at Module.load (node:internal/modules/cjs/loader:1469:32) at Function._load (node:internal/modules/cjs/loader:1286:12) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) at Module.require (node:internal/modules/cjs/loader:1491:12)
강사님의 강의를 들으면서 test 페이지가 프로그래메틱하게 이동하기 때문에 따로 useEffect를 사용해 프리페칭되도록 만드는 것과, Link 컴포넌트에 prefetch 속성을 false로 하여 프리페칭되지 않게 만들 수 있다고 이해했습니다! 그런데 직접 코드를 작성하고 npm run start로 재실행한 뒤 새로고침을 했는데도 search 페이지에 필요한 js번들이 남아있고 test 페이지의 번들은 프리페칭되지 않았는데 어디가 문제인지 알 수 있을까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. QueryRunner 커스텀 데코레이터 만들기 듣고 있는데 강의대로 return next.handle().pipe( catchError(async (e) => { await qr.rollbackTransaction(); await qr.release(); throw new InternalServerErrorException(e.message); }), tap(async () => { await qr.commitTransaction(); await qr.release(); }), ); 이렇게 코드를 짜면 포스트맨에서 응답으로 { "message": "QueryRunner Decorator를 사용할려면 TransactionInterceptor를 적용해야 합니다.", "error": "Internal Server Error", "statusCode": 500 } 이렇게 나옵니다. 그래서 tap 대신에 mergeMap(async (value) => { await qr.commitTransaction(); await qr.release(); return value; }), merge맵을 사용하면 문제가 해결되는데 강의에서는 tap을 써도 트랜잭션 커밋이 잘 되는 것처럼 보였는데, 설명 부탁드립니다.
Symbol 관련 테스트 코드를 Sandbox로 확인해 보았는데 결과가 다르게 나와서 문의드립니다. Javascript로 sandbox를 create하였고, 생성된 index.mjs 파일에 강의내용의 Symbol 테스트 코드를 동일하게 작성해여 테스트 하였습니다. let testSymbol1 = Symbol(1); let testSymbol2 = Symbol(1); console.log(typeof testSymbol1, testSymbol1); console.log(typeof testSymbol2, testSymbol2); console.log(testSymbol1 == testSymbol2); console.log(testSymbol2 === testSymbol2); Console로 확인한 결과는 2symbol Symbol(1) false true 이렇게 나옵니다. null로 나오지 않고, === 결과도 true인데 어떤 이유로 다르게 나오는건지 궁금합니다.
안녕하세요. 강의 잘 듣고 있습니다. Next.js는 오직 초기 접속시에만 HTML 파일을 불러와 Hydration 하고 그 이후의 페이지 이동은 리액트의 CSR(Client Side Rendering) 방식으로 처리하게 됩니다. 따라서 새롭게 HTML이 요청되지 않고 오직 브라우저측에서 JS Bundle을 실행해 컴포넌트를 교체하는 방식으로만 페이지 이동이 처리됩니다. 라고 설명주셨는데요. 하지만 ssg 파트에서는 페이지 요청시 이미 빌드된 html 을 반환한다고 하셨는데 이 부분이 잘 이해가 되지 않습니다. 빌드를 하면 SSR를 설정하지 않은 페이지는 기본적으로 SSG로 작동하고, 그렇다면 굳이 프리페칭을 하지 않더라도 이미 완성된 페이지를 반환해주는게 아닌가 싶어서 질문드립니다. 라우터를 이용하여 페이지를 이동할때는 CSR로 작동하고 url에 직접 경로로 접속 요청을 할때 SSG로 작동하는건가요?? 두 가지 개념이 헷갈립니다
prefetch 를 명시적으로 false 로 설정하면, 예상대로 해당 링크에 대한 프리패칭이 발생하지 않는 것이 확인되었습니다. <Link href={"/search"} prefetch={false}>Search</Link> 그런데 신기한 점은, 해당 링크에 마우스를 호버했을 때 네트워크 탭에서 /search 관련 리소스들이 프리패칭되는 현상이 보였다는 것입니다. 혹시 이러한 동작은 Next.js에서 어떻게 정의되거나 불리고 있는지 궁금합니다!
SSG의 fallback 옵션에 따른 렌더링 방식에 대해 좀 더 구체적으로 알고 싶습니다. fallback: "blocking" 일 때, 빌드 타임에 사전 생성하지 않았던 경로에 대해서, 이후 접속 요청이 들어와 사전 렌더링되고, .next 서버에 저장되는 걸 확인했는데요. 1) 저장되는 걸 캐싱이라고 이해해도 될까요? 2) 그러면 그 이후의 요청에서는 더이상 재생성되지 않고, 이 페이지를 클라이언트에게 전달 하나요? fallback: true 일 때, 빌드 타임에 사전 생성하지 않았던 경로의 접속이 들어왔습니다. 그 때, getStaticProps로 불러오는 데이터를 제외하고, 먼저 레이아웃을 내려준다고 이해했습니다. 그리고 추후에 Props만 따로 반환받아 페이지를 렌더링한다고 했는데, 그럼 받은 데이터를 가지고, CSR이 되는 건가요? 위 상황에서 CSR이 맞다면, 해당 내용은 검색 크롤러가 알아내지 못해 SEO에 불리할 것 같은데요. 아니면 검색 크롤러가 getStaticProps 데이터가 올때까지 기다리고 해당 내용도 반영해서 문제가 없나요? 감사합니다.
Vscode 터미널에서 npx eas build --platform android --profile development 명령어를 입력하면 Resolved "development" environment for the build. Learn more No environment variables with visibility "Plain text" and "Sensitive" found for the "development" environment on EAS. ✔ Using remote Android credentials (Expo server) ✔ Using Keystore from configuration: Build Credentials B93ecKpj4X (default) Compressing project files and uploading to EAS Build. Learn more ✖ Compressing project files Failed to upload the project tarball to EAS Build Reason: EPERM: operation not permitted, scandir '/Users/development/.Trash' Error: build command failed. GPT는 Trash를 우회해서 하라는데 우회해도 안되고.. .easignore 파일에 .Trash .DS_Store node_modules .git **/.Trash !./.Trash # 만약 현재 디렉토리에 있다면 포함시킴 를 작성해도 계속 같은 에러가 발생합니다ㅠ.ㅠ 어떻게 해결하면 될까요 ?
const setPoint=function(){ let one =100; const two = 200; var five=500; if(one){ let seven=700; var nine = 900; }; return function(){ console.log(one+two+nine); // one + two + nine; debugger // one + two + nine; // one, two, nine variable 없음 debugger // seven; }; }; const getPoint =setPoint(); getPoint(); debugger로 변수를 개발자도구 콘솔에 찍으니깐요 변수를 추적못합니다. 신기해서 질문합니다 웹브라우저에서는 변수를 찾지 못하고 자바스크립트에서는 클로저로 할당된 변수를 찾아서 콘솔에 찍어주는 건가 싶기도하고요 언제 변수를 찾느냐의 차이인가요? 웹브라우저에서 직접 변수를 찾으면 못찾는다고 하네요 이유가 무엇인지 알고 계신가요?