13번 강의의 12:03 항목에서 additional_inputs에 PDF 모듈을 추가한 코드 실행 시 Additional inputs 아코디언에 렌더링 되지 않는 이슈가 확인되었습니다. 코드를 아래처럼 변경하시면 정상 동작되니 참고부탁드립니다. demo = gr.ChatInterface(process_pdf_and_answer, autofocus=False, api_name="chat", additional_inputs=[ gr.File( label="PDF 파일 업로드", file_types=[".pdf"], type="filepath" ) ], additional_inputs_accordion=gr.Accordion( label="PDF 업로드", open=True ) )
next-themes 문서를 읽어보고 다른 분들 사용방법을 읽어봤는데, 따로 NextThemeProvier를 생성하지 않고 next-themes의 ThemeProvider를 layout.tsx에 바로 적용하는데 강의에서는 따로 provider를 생성해서 적용하고 있습니다. 혹시 유지보수를 좀 더 원활하게 하기 위함일까요?
안녕하세요 영한님, 영한님의 강의로 열심히 학습중인 학생입니다! 실전 진단 - 해결 방안2에서 복합인덱스 관련해 궁금증이 있습니다. 영한님의 강의에서는 (category_id, product_status, created_at)을 복합인덱스로 설정하셨는데, (category_id, created_at)을 복합인덱스로 설정하는 것에 대해서는 어떻게 생각하시는지 궁금합니다. product_status = 'ACTIVE'의 비율이 전체 테이블에 비교했을 때 전체의 85%였고, 이 price 조건을 비교하기 위해 클러스터드 인덱스가 접근해 행 전체를 읽은 후 실행엔진에서 걸러야하는데, product_stauts = 'ACTIVE' 비율이 85%에 해당되기 때문에 높은 확률로 통과하다 보니 인덱스 효용이 떨어질 것 같다는 생각이 들었습니다. 그래서 해당 쿼리를 생각했을 때 product_status도 복합인덱스에 추가할만한 가치가 있을까? 라는 질문을 던졌을 때 (영한님이 말씀해주신 것 처럼, 인덱스도 결국 비용이니깐) 크게 와닿지 못 했는데, 이와 관련해서 영한님의 의견이 궁금합니다! (두 복합 인덱스의 실행 계획) -- (category_id, created_at) -> Limit: 20 row(s) (cost=75331 rows=20)(actual time=0.719..11.5 rows=20 loops=1) -> Filter: ((product.price between 10000 and 50000) and (product.product_status = 'ACTIVE')) (cost=75331 rows=4595) (actual time=0.718..11.5 rows=20 loops=1) -> Index lookup on product using idx_category_created_at (category_id=11) (cost=75331 rows=413612) (actual time=0.698..11.4 rows=48 loops=1) -- (category_id, product_status, created_at) -> Limit: 20 row(s) (cost=78697 rows=20)(actual time=0.6..9.07 rows=20 loops=1) -> Filter: (product.price between 10000 and 50000) (cost=78697 rows=38255) (actual time=0.593..9.06 rows=20 loops=1) -> Index lookup on product using idx_category_status_created_at (category_id=11, product_status='ACTIVE') (cost=78697 rows=344330) (actual time=0.581..9.03 rows=40 loops=1)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 2025. 11. 17. 에 구매하였는데 13회 실기 시험일자가 11.28일이라 11월말까지 연장할 수 있을지 문의드립니다. 이메일주소는 veveva36@gmail.com 입니다.
안녕하세요, 현재 Kafka & Spark강의를 수강하고 있고, Section 12에 Hive metastore를 보고 있습니다. 설치과정중에 오류가 있어서 여쭙고자 Q&A드립니다. 8분부터 링크를 넣고 ( https://repo1.maven.org/maven2/org/apache/hive/hive-standalone-metastore/3.1.2/hivestandalone-metastore-3.1.2-bin.tar.gz) 다운로드를 진행하는데, 현재 다운로드 받는 파일 네이밍이 hivestandalone-metastore-3.1.2-bin.tar.gz되어 있어서 ansible-playbook으로 실행하였을때 naming이 맞지 않아서 오류가 발생합니다 ( hive-standalone-metastore-3.1.2-bin.tar.gz) download 된 파일의 이름을 변경해서 진행해봤는데, 다음과 같은 오류가 뜨면서 파일이 제대로 실행되지 않습니다. 확인 부탁드리겠습니다. fatal: [spark03]: FAILED! => {"changed": false, "msg": "Failed to find handler for \"/home/ubuntu/.ansible/tmp/ansible-tmp-1787779731.3065977-4001-20263566616026/source\". Make sure the required command to extract the file is installed.\nCommand \"/usr/bin/tar\" could not handle archive: Unable to list files in the archive: zstd: /*stdin*\\: unsupported format \n/usr/bin/tar: Child returned status 1\n/usr/bin/tar: Error is not recoverable: exiting now\n\nCommand \"/usr/bin/tar\" could not handle archive: Unable to list files in the archive: bzip2: (stdin) is not a bzip2 file.\n/usr/bin/tar: Child returned status 2\n/usr/bin/tar: Error is not recoverable: exiting now\n\nCommand \"/usr/bin/tar\" could not handle archive: Unable to list files in the archive: xz: (stdin): File format not recognized\n/usr/bin/tar: Child returned status 1\n/usr/bin/tar: Error is not recoverable: exiting now\n\nCommand \"/usr/bin/tar\" could not handle archive: Unable to list files in the archive: \ngzip: stdin: not in gzip format\n/usr/bin/tar: Child returned status 1\n/usr/bin/tar: Error is not recoverable: exiting now\n\nCommand \"/usr/bin/tar\" could not handle archive: Unable to list files in the archive: /usr/bin/tar: This does not look like a tar archive\n/usr/bin/tar: Skipping to next header\n/usr/bin/tar: Exiting with failure status due to previous errors\n\nCommand \"/usr/bin/unzip\" could not handle archive: End-of-central-directory signature not found. Either this file is not\n a zipfile, or it constitutes one disk of a multi-part archive. In the\n latter case the central directory and zipfile comment will be found on\n the last disk(s) of this archive.\nnote: /home/ubuntu/.ansible/tmp/ansible-tmp-1787779731.3065977-4001-20263566616026/source may be a plain executable, not an archive\nunzip: cannot find zipfile directory in one of /home/ubuntu/.ansible/tmp/ansible-tmp-1787779731.3065977-4001-20263566616026/source or\n /home/ubuntu/.ansible/tmp/ansible-tmp-1787779731.3065977-4001-20263566616026/source.zip, and cannot find /home/ubuntu/.ansible/tmp/ansible-tmp-1787779731.3065977-4001-20263566616026/source.ZIP, period.\n"}
아래와 같은 결과가 나오는데, 이럴 때 어떻게 수정해야할지 감이 안옵니다 ㅜㅜㅜㅜㅜㅜ 조언을 구하고 싶습니다 #죄송하지만, 상위 검색 결과의 구체적인 내용이 제공되지 않아 description을 추출할 수 없습니다. 그러나 액체괴물에 대한 SEO 최적화 블로그 제목을 제안할 수 있습니다. 제안 제목: "액체괴물의 매력: DIY 레시피와 안전한 놀이 방법" 이 제목은 사용자 검색 의도를 반영하며, 키워드를 포함하여 검색 엔진 최적화에 효과적입니다. 액체괴물은 요즘 친구들 사이에서 인기 있는 놀이입니다. 손으로 만지고 조작할 수 있는 재미 덕분에 스트레스를 해소하는 데 도움이 되기도 하죠. 이 글에서는 액체괴물을 만드는 방법, 필요한 재료, 놀이 아이디어 등을 쉽게 설명해 드릴게요. 또한, 안전하게 즐길 수 있는 방법과 보관 팁도 함께 알아보겠습니다. 액체괴물의 매력을 파헤쳐 보세요! 액체괴물을 만들기 위해 필요한 기본 재료는 접착제, 물, 그리고 액체 세탁 세제입니다. 이 세 가지 재료만 있으면 누구나 쉽게 만들 수 있어요. 먼저, 접착제를 물과 혼합한 후, 액체 세탁 세제를 조금씩 추가하세요. 이때 원하는 색소를 넣으면 나만의 특별한 액체괴물이 완성됩니다. 놀이 아이디어로는 액체괴물을 손으로 만져보거나, 다양한 질감을 느껴보는 것이 있습니다. 친구와 함께 경쟁해 보거나, 액체괴물로 다양한 형태를 만들어 보는 것도 재미있겠죠. 마지막으로 액체괴물은 잘 보관하면 오랫동안 사용할 수 있습니다. 밀폐된 용기에 넣어두면 수분이 유지되어 질감이 변하지 않아요. 안전하게 즐길 수 있는 액체괴물 놀이로 친구들과의 시간을 더욱 특별하게 만들어 보세요! # 액체괴물의 매력: DIY 레시피와 안전한 놀이 방법 액체괴물은 요즘 친구들 사이에서 정말 인기 있는 놀이죠. 손으로 만지고 조작하는 재미 덕분에 스트레스를 해소하는 데 도움을 줍니다. 이 글에서는 액체괴물을 만드는 방법, 필요한 재료, 놀이 아이디어 등을 쉽게 설명할게요. 안전하게 즐길 수 있는 방법과 보관 팁도 함께 알아보니, 끝까지 읽어보세요! ## 액체괴물 만들기: 필요한 재료 액체괴물을 만들기 위해 필요한 기본 재료는 다음과 같습니다: 1. 접착제 : 일반 유성 접착제를 사용해도 좋고, PVA 접착제가 가장 흔해요. 2. 물 : 그냥 수돗물로 충분합니다. 3. 액체 세탁 세제 : 세탁 세제를 조금씩 추가하는 것이 포인트입니다. 4. 색소 (선택 사항) : 원하는 색을 내기 위해 식용 색소나 수채화 물감도 사용할 수 있어요. ## 만드는 방법 1. 혼합하기 : 먼저, 접착제를 그릇에 붓고 물과 잘 섞어줍니다. 비율은 1:1 정도가 적당해요. 2. 세탁 세제 추가 : 그 다음, 액체 세탁 세제를 조금씩 추가하며 혼합합니다. 이때 손으로 잘 섞어주세요. 3. 색소 넣기 : 원하는 색소를 넣고 다시 섞으면 나만의 특별한 액체괴물이 완성됩니다! ## 놀이 아이디어 액체괴물로 놀 수 있는 방법은 다양해요. - 손으로 만져보기 : 액체괴물을 손으로 만져보면서 질감을 느껴보세요. 부드럽고 탄력 있는 느낌이 정말 재미있답니다. - 형태 만들기 : 친구와 함께 다양한 형태를 만들어 보세요. 액체괴물을 이용해 동물이나 물건을 만들어 보는 것도 즐거운 시간입니다. - 경쟁 게임 : 누가 더 멋진 액체괴물을 만드는지 경쟁해보는 것도 좋은 방법이에요. 창의력을 발휘해보세요! ## 안전하게 즐기기 액체괴물을 만들 때는 안전이 가장 중요합니다. - 재료 확인하기 : 사용하는 재료의 안전성을 꼭 확인하세요. 비알콜 성분의 접착제가 가장 안전합니다. - 어린이와 함께하기 : 어린 친구들과 함께 만들 때는 반드시 어른의 supervision이 필요합니다. ## 보관 팁 액체괴물은 잘 보관하면 오랫동안 사용할 수 있어요. - 밀폐 용기 사용 : 액체괴물을 밀폐된 용기에 넣어두면 수분이 유지되어 질감이 변하지 않아요. - 서늘한 곳에 보관하기 : 직사광선을 피하고 서늘한 곳에 두면 더욱 오래 사용할 수 있습니다. 액체괴물은 친구들과의 시간을 더욱 특별하게 만들어주는 훌륭한 놀이입니다. 손쉽게 만들 수 있고, 다양한 놀이 방법으로 즐길 수 있으니 한 번 도전해보세요! ##### 액체괴물의 매력: DIY 레시피와 안전한 놀이 방법 액체괴물은 요즘 친구들 사이에서 정말 인기 있는 놀이입니다. 손으로 만지고 조작하는 재미 덕분에 스트레스를 해소하는 데 도움을 주죠. 이 글에서는 액체괴물을 만드는 방법, 필요한 재료, 놀이 아이디어를 쉽게 설명할게요. 안전하게 즐길 수 있는 방법과 보관 팁도 함께 알아보니, 끝까지 읽어보세요! ## 액체괴물 만들기: 필요한 재료 액체괴물을 만들기 위해 필요한 기본 재료는 다음과 같습니다: 1. 접착제 : 일반 유성 접착제를 사용해도 좋고, PVA 접착제가 가장 흔해요. 2. 물 : 그냥 수돗물로 충분합니다. 3. 액체 세탁 세제 : 세탁 세제를 조금씩 추가하는 것이 포인트입니다. 4. 색소 (선택 사항) : 원하는 색을 내기 위해 식용 색소나 수채화 물감도 사용할 수 있어요. ## 만드는 방법 1. 혼합하기 : 먼저, 접착제를 그릇에 붓고 물과 잘 섞어줍니다. 비율은 1:1 정도가 적당해요. 2. 세탁 세제 추가 : 그 다음, 액체 세탁 세제를 조금씩 추가하며 혼합합니다. 이때 손으로 잘 섞어주세요. 3. 색소 넣기 : 원하는 색소를 넣고 다시 섞으면 나만의 특별한 액체괴물이 완성됩니다! ## 놀이 아이디어 액체괴물로 놀 수 있는 방법은 다양해요. - 손으로 만져보기 : 액체괴물을 손으로 만져보면서 질감을 느껴보세요. 부드럽고 탄력 있는 느낌이 정말 재미있답니다. - 형태 만들기 : 친구와 함께 다양한 형태를 만들어 보세요. 액체괴물을 이용해 동물이나 물건을 만들어 보는 것도 즐거운 시간입니다. - 경쟁 게임 : 누가 더 멋진 액체괴물을 만드는지 경쟁해보는 것도 좋은 방법이에요. 창의력을 발휘해보세요! ## 안전하게 즐기기 액체괴물을 만들 때는 안전이 가장 중요합니다. - 재료 확인하기 : 사용하는 재료의 안전성을 꼭 확인하세요. 비알콜 성분의 접착제가 가장 안전합니다. - 어린이와 함께하기 : 어린 친구들과 함께 만들 때는 반드시 어른의 supervision이 필요합니다. ## 보관 팁 액체괴물은 잘 보관하면 오랫동안 사용할 수 있어요. - 밀폐 용기 사용 : 액체괴물을 밀폐된 용기에 넣어두면 수분이 유지되어 질감이 변하지 않아요. - 서늘한 곳에 보관하기 : 직사광선을 피하고 서늘한 곳에 두면 더욱 오래 사용할 수 있습니다. 액체괴물은 친구들과의 시간을 더욱 특별하게 만들어주는 훌륭한 놀이입니다. 손쉽게 만들 수 있고, 다양한 놀이 방법으로 즐길 수 있으니 한 번 도전해보세요!
안녕하세요 카일님, 잘 듣고 있습니다. 강의 말미에서 app logs 데이터로 쿼리 연습 해보라고 말씀주셔서 아래와 같이 몇 가지 연습해 보았습니다. 더 정확한, 효율적인 쿼리가 있는지, 틀린 부분이 있다면 피드백 부탁드립니다. 1. Screen 탐색량이 가장 많은 유저 찾기 질문: 어떤 유저가 앱 내 screen을 가장 많이 탐색했는가? 목적: 유저별 screen 조회 횟수를 집계하여 heavy user 탐색. SELECT user_id, -- IF(event_params.key="firebase_screen", event_params.value.string_value, null) as screen, COUNT(*) as cnt_screen FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_params WHERE event_params.key='firebase_screen' GROUP BY ALL HAVING user_id is not null ORDER BY cnt_screen DESC 2. 날짜별 Screen 조회량 및 Screen 구성 질문: 날짜별 전체 screen 조회량은 어떻게 변화하며, 각 screen은 얼마나 조회되었는가? 목적: Screen View의 시계열 변화와 screen별 조회량을 동시에 분석. double check 컬럼을 통해 정의한 screen들의 합계도 검증. WITH unnest_table as ( SELECT *, IF(event_params.key="firebase_screen", event_params.value.string_value, null) as screen FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_params GROUP BY ALL HAVING screen is not null) SELECT event_date, count(screen) as total_screen_view, COUNTIF(screen IN ('cart','welcome', 'food_category', 'home', 'search_result', 'food_detail', 'search','restaurant')) as double_check, --검증용 컬럼 COUNTIF(screen='cart') as cart, COUNTIF(screen='welcome') as welcome, COUNTIF(screen='food_category') as food_category, COUNTIF(screen='home') as home, COUNTIF(screen='search_result') as serach_result, COUNTIF(screen='food_detail') as food_detail, COUNTIF(screen='search') as serach, COUNTIF(screen='restaurant') as restaurant FROM unnest_table GROUP BY ALL 3. Heavy User의 실제 Screen Journey 추적 질문: 특정 heavy user는 실제로 어떤 순서로 screen을 탐색하는가? 목적: Timestamp를 기준으로 사용자의 screen 이동 순서를 확인하고, firebaase screen 퍼널 순서 정의를 위한 탐색 수행. SELECT TIMESTAMP_MICROS(event_timestamp) as timestamp, if(event_params.key="firebase_screen", event_params.value.string_value, null) as screen FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_params WHERE user_Id=57410 and event_date between '2022-08-01' and '2023-12-30' GROUP BY ALL HAVING screen is not null ORDER BY timestamp limit 100 4. Cart 도달 유저 vs Non-Cart 유저의 Screen 탐색량 비교 질문: Cart를 한 번이라도 조회한 유저는 그렇지 않은 유저보다 평균적으로 더 많은 screen을 탐색하는가? 목적: 사용자를 has_cart 여부로 segmentation하고 두 그룹의 평균 screen 탐색량 비교. WITH basic AS ( SELECT user_id, COUNT(*) AS screen_cnt_per_user, COUNTIF(event_params.value.string_value='cart') >0 AS has_cart FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_params WHERE event_params.key='firebase_screen' GROUP BY user_id) SELECT AVG(IF(has_cart, screen_cnt_per_user,NULL )) as avg_view_cart, AVG(IF( not has_cart, basic.screen_cnt_per_user, null)) as avg_view_non_cart FROM basic unnest 와 집계함수를 연속적으로 쓰려고 할 때나 unnest+집계함수+having 쓰려고 할 때는 반드시 with문으로 분리해서 사용해야 오류가 안 나는 것 같더라고요. 그러다 보니 쿼리가 길어지는데 더 가독성 좋은 쿼리 작성법이 있을 것 같습니다. ㅎㅎ
안녕하세요? 수업 자료 커서 연결 후 클로드 코드 실행하니 "5개의 mcp가 있다. 5개 중 어떤 거 연결할거냐?" 나와서 playwright 연결했어요. 그런데 시간이 지나니 mcp 연결 모두 안 되네요. 컴 껐다가 8시간 이후에도 안 되고 /exit, /taskkill /IM claude.exe /F 해도 안 됩니다. 관련 사진 첨부합니다. 부탁드립니다 .
강사님 안녕하세요? 비전공자이어서 인터넷 강의가 많은 도움이 되었습니다. 하지만 제가 지식이 부족하여 지난 12회 실기시험 시 2유형 0점 처리로 불합격! 지금 확인해 보니 인터넷 강의가 26.9.3.만료 되는데 죄송하지만 금년 13회 실기셤까지 볼 수 있도록 연장 가능할까요? 이메일 2000won2@naver.com 입니다. 염치 불구하고 문의드립니다. 잘 부탁드립니다. 꾸벅~