Next.js는 오직 초기 접속시에만 html 파일을 불러와 Hydration 하고 그 이후의 페이지 이동은 리액트의 CSR 방식으로 처리된다고 알고 있습니다. 그런데 Page Router 에서 getServerSideProps 를 사용할 때 매 요청마다 사전 렌더링을 통해 html을 생성하는 것으로 알고 있습니다. 그러면 초기 접속이 아니더라도, getServerSideProps 를 사용한 페이지로 이동하면 Next 서버에서 클라이언트에게 html을 응답해주는 건가요? 서버로부터 html을 응답받는 것이 맞다면 어떻게 깜빡임 없이 화면 전환이 자연스럽게 되는지, 그리고 이렇게 되면 페이지 이동이 리액트의 CSR 방식으로 처리된다고 말할 수 없는건지 궁금합니다 😭 서버로부터 html을 응답받는 것이 아니라면, 클라이언트에서 어떤 값을 서버로부터 받아 렌더링을 하는건지 궁금합니다. getStaticProps 를 사용할 때와 유사하게 json 파일이 생성되어서 이 json 파일을 클라이언트에게 응답해주는 건가요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
채널 입장하고 권한 체크 후 앱이 꺼지고 Debug 콘솔에 아래 같은 로그가 뜨길래 한참 헤맸습니다. 코드 한 줄씩 지워가며 어디서 에러가 뜨는지 확인해보니 await engine!.initialize(RtcEngineContext(appId: appId,)); 코드가 들어가는 순간 앱이 꺼지더라구요 해당 부분을 집중해서 검색하다가 발견한 방법대로 RtcEngine 선언 부분에 late 를 넣어주니 앱이 꺼지지 않았습니다. 혹시 원인을 알 수 있을까요? 에러 로그 D/EGL_emulation( 2046): app_time_stats: avg=10745.24ms min=12.90ms max=31961.13ms count=3 D/nativeloader( 2046): Load /data/app/~~nTLNP9Bj_egzZU9DQGxSrQ==/com.example.video_call-LRfYUQJyccQppChea-IfMw==/lib/arm64/libAgoraRtcWrapper.so using ns clns-7 from class loader (caller=/data/app/~~nTLNP9Bj_egzZU9DQGxSrQ==/com.example.video_call-LRfYUQJyccQppChea-IfMw==/base.apk!classes2.dex): dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~nTLNP9Bj_egzZU9DQGxSrQ==/com.example.video_call-LRfYUQJyccQppChea-IfMw==/lib/arm64/libAgoraRtcWrapper.so" (new hash type from the future?) E/AndroidRuntime( 2046): FATAL EXCEPTION: main E/AndroidRuntime( 2046): Process: com.example.video_call, PID: 2046 E/AndroidRuntime( 2046): java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~nTLNP9Bj_egzZU9DQGxSrQ==/com.example.video_call-LRfYUQJyccQppChea-IfMw==/lib/arm64/libAgoraRtcWrapper.so" (new hash type from the future?) E/AndroidRuntime( 2046): at java.lang.Runtime.loadLibrary0(Runtime.java:1081) E/AndroidRuntime( 2046): at java.lang.Runtime.loadLibrary0(Runtime.java:1003) E/AndroidRuntime( 2046): at java.lang.System.loadLibrary(System.java:1765) E/AndroidRuntime( 2046): at io.agora.agora_rtc_ng.AgoraRtcNgPlugin.onMethodCall(AgoraRtcNgPlugin.java:65) E/AndroidRuntime( 2046): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) E/AndroidRuntime( 2046): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292) E/AndroidRuntime( 2046): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/AndroidRuntime( 2046): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/AndroidRuntime( 2046): at android.os.Handler.handleCallback(Handler.java:959) E/AndroidRuntime( 2046): at android.os.Handler.dispatchMessage(Handler.java:100) E/AndroidRuntime( 2046): at android.os.Looper.loopOnce(Looper.java:232) E/AndroidRuntime( 2046): at android.os.Looper.loop(Looper.java:317) E/AndroidRuntime( 2046): at android.app.ActivityThread.main(ActivityThread.java:8705) E/AndroidRuntime( 2046): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 2046): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) E/AndroidRuntime( 2046): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886) I/Process ( 2046): Sending signal. PID: 2046 SIG: 9 Lost connection to device. the Dart compiler exited unexpectedly. 해결했던 방법 late RtcEngine? engine; //선언할 때 late 추가
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
연습문제 2번에서 아래 코드로 했을 때 안되는데 이유가 뭔지 모르겠습니다! 어차피 1개라서 반복문을 쓰지 않아도 될까 했는데 안되네요.. import requests from bs4 import BeautifulSoup url = 'https://davelee-fun.github.io/' res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') items=soup.select('.sitetitle') print(items.get_text()) (+) print(item.get_text()) 했을때는 잘 추출되는데 item은 선언한적이 없는데 왜 되는걸까요~?
서버 컴포넌트에서 클라이언트 컴포넌트에 직렬화 되지 않는 props는 전달 할 수 없다 RSC payload: RSC 렌더링 결과 + 연결된 클라이언트 컴포넌트 위치 + 서버 -> 클라이언트 컴포넌트에 전달하는 props 값 q1. 사전 렌더링 과정에서 서버 컴포넌트를 직렬화 할 때, 여기에 서버 -> 클라이언트 컴포넌트로 전달하는 props 값이 포함되는데 이 값이 함수이면 직렬화 할 수 없기 때문에 props에 함수를 사용할 수 없는 건가요?? q2. 서버->서버, 클라이언트->클라이언트 props는 RSC payload와(직렬화) 관계 없기 때문에 props에 함수 사용이 가능한 건가요??
json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다. 그래서 docker inspect로 mount 속성을 보니 { "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" } propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
안녕하세요? 조금씩 천천히 강의를 따라가고 있습니다 ^^ 글자속성 변경하기 챕터에서 특정 범위의 서체 변경하기를 따라 해 보고 있는데요. 빈문서를 만들고, 텍스트를 입력한 다음, 블럭을 설정하고, charshape = True를 입력하고, 실행시키면 화면에 나오는 것처럼 글자 속성이 변하지 않네요. 참고로 저는 Visual Studio Code로 작업을 하고 있습니다. 추측으로는, 열어 놓은 한글 파일에 접근할 수 있어야 하고 블럭설정한 부분을 읽어야 하는 것 같은데, 이 코드는 빠져 있는 건가요? 멋진 강의 감사합니다! ^^
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 강의에 없는 내용이지만, 검색을 며칠 째 하고 있으나 해결방법을 못 찾아서 이렇게 문의드립니다. 양해부탁드립니다.. flutter에서 retrofit을 사용하여 multipartforamdata 형식의 api를 호출할 때, application/json으로 보내야 하는 객체는 content type을 어떻게 지정해주어야 하는 걸까요? springBoot와 flutter로 개발 진행 중이고, api와 flutter는 각각 아래와 같이 작성하였습니다. // api @PostMapping(path = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public void temp(@RequestPart TempReq, @RequestPart List<MultipartFile> files) { // 생략 } // flutter에서 api 호출부 @POST('') @MultiPart() Future<void> temp(@Part() TempReq req, @Part() List<MultipartFile> files); flutter에서 api 호출 시 content type 'application/octet-stream' not supported 에러가 발생합니다. postman이나 swagger로 테스트 했을 땐 정상적으로 동작하는 걸 보면 api 문제는 아닌듯합니다. flutter에서 호출할 때도 files는 잘 들어오는데, TempReq 객체를 받을 때가 문제인 듯합니다. @Part 안에 content type을 application/json으로 지정해보았는데도 동일한 에러가 발생합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 🙂 프로그래밍 초보이지만, 플러터 강의 덕분에 즐겁게 공부하고 있습니다. 아래 코드에서, https://blog.codefactory.ai 로 Uri를 연결했더니, 코드팩토리님 블로그로 잘 연결되는데요, final homeUrl = Uri.parse('https://blog.codefactory.ai'); class HomeScreen extends StatelessWidget { WebViewController controller = WebViewController()..loadRequest(homeUrl); HomeScreen({super.key}); 제가 처음에 오타로 https를 http로 입력했더니, 오류가 발생하더라구요. 혹시 원인을 설명해주실 수 있나요?ㅜㅜ
이해가 잘 되게 설명해주시고, 강의 자료도 너무 잘 정리해주셔서 강의 너무 잘 듣고 있습니다 😃 강의 자료에서 오타를 찾은 것 같아 전달드립니다~ Dart -> 04.JSON & 직렬화 -> 직렬화 & 역직렬화 하단 직렬화, 역직렬화 코드에 "철수" 가 "철수 로 큰따옴표 하나가 입력안된 것 같아요! 강의 제공해주셔서 너무 감사합니다!