안녕하세요. 강사님 코루틴 강의를 1번 완강하고, 최근에는 전체적으로 강의를 복습을 하고 있습니다. 복습을 하다가 CoroutineDispatcher 의 limitedParallelism 에 대해 몇가지 궁금한 점이 생겨서 질문을 남기게 됐습니다. Dispatchers.Default 관련 Dispatchers.Default 의 스레드풀 수를 넘어서는 숫자 혹은 스레드풀 수에 딱 맞게 스레드 수를 지정하여 limitedParallelism 함수를 실행하는 경우, Dispatchers.Default 의 모든 스레드들은 제가 지정한 해당 작업을 처리하기 위해 계속 작업을 하고, 해당 작업이 시작된 이후에 Dispatchers.Default 로 지정하여 실행한 코루틴 작업들은 제가 지정한 작업이 끝나기 전까지는 모두 대기하게 되는 것인가요?? 예를 들어, CPU 코어가 4개인 컴퓨터라면 Dispatchers.Default 의 스레드 풀에 들어있는 스레드 수는 4개가 될테고, 해당 상황에서 Dispatchers.Default.limitedParallelism(4) 혹은 스레드가 몇개 있는지 몰라 Dispatchers.Default.limitedParallelism(8) 이렇게 지정하는 경우에 아래 코드를 기준으로 하면 제가 먼저 시킨 작업( superCpuIntensiveTask() )이 끝나기 전에는 lightCpuIntensiveTask() 는 실행되지 않는 것일까요? (※ 멀티 스레드 작업이기 때문에 아래의 lightCpuIntensiveTask() 가 먼저 실행될 가능성도 있지만 아주 재수가 나쁘게 superCpuIntensiveTask() 가 먼저 실행이 된다면 어떻게 되는지가 궁금합니다) // CPU 코어가 4개인 컴퓨터 fun main() = runBlocking { launch(Dispatchers.Default.limitedParallelism(8)) { superCpuIntensiveTask() } launch(Dispatchers.Default) { lightCpuIntensiveTask() } println("Done") } 1번과 비슷한 질문입니다. CPU 코어가 4개인 컴퓨터에서 Dispatchers.Default.limitedParallelism 를 여러번 사용한 경우, 코드상으로 보면 사용해야 하는 스레드의 수가 전체 스레드풀 수를 넘어서는 숫자가 되는데 이 경우에는 어떻게 스레드를 나눠서 사용하는 걸까요 ? // CPU 코어가 4개인 컴퓨터 fun main() = runBlocking { launch(Dispatchers.Default.limitedParallelism(3)) { superCpuIntensiveTask() } launch(Dispatchers.Default.limitedParallelism(3)) { superCpuIntensiveTask2() } launch(Dispatchers.Default.limitedParallelism(2)) { CpuIntensiveTask() } println("Done") } Dispatchers.IO 관련 Dispatchers.IO.limitedParallelism 를 사용하면 새로운 Thread 집합을 만든다고 말씀해주셨습니다. 그림에서 표현해주신 것처럼 기존에는 개별로 존재하는 Thread들을 새로 그룹으로 묶어낸다고 이해를 하면 되는 것일까요 ?? Dispatchers.IO.limitedParallelism 으로 묶여있던 Thread들은 해당 코루틴이 끝나면 다시 그룹이 풀리는 것일까요 ?? 만약에 Dispatchers.IO.limitedParallelism 를 많이 사용하여 이미 기존의 스레드들 모두가 집합으로 구성이 되어있는 경우에는 신규로 집합을 만들 수가 없는 경우에는 해당 Dispatchers.IO.limitedParallelism 요청이 어떻게 되는지 궁금합니다. limitedParallelism 의 Thread 수 지정 해당 코드와 같이 Dispatchers.Default.limitedParallelism(4) Thread 수를 지정해야 할때, 어떤 기준으로 어떻게 Thread 수를 지정해야 좋을까요 ?? 강사님만의 팁이 있으시면 공유가 가능하실까요?? 어떻게 수를 정해서 넣어야 할지 감이 잘 잡히지 않습니다. 😢 1번과 관련된 질문입니다. Thread 수를 지정할 때 현재 Thread Pool에 존재하거나 남아있는 쓰레드가 몇개인지 충분히 고려를 하면서 코드를 짜야할까요 ?? 실수로 스레드 풀의 전체 Thread 수를 넘어선 요청을 하게 되면 어떻게 되는지 궁금합니다. 질문이 많아서 정말 죄송합니다. 🙇♂ 🙇♂ 🙇♂
직장을 다니면서 자격증 시험을 준비했는데, 하필 실기 시험날 타 지역 출장이 있어 응시를 하지 못했습니다..ㅠㅠ 일 하면서 틈틈히 강의 듣고 했는데 너무 아쉽네요 ㅎ 지금 필기 유효기간도 만료되어서 내년에 다시 준비를 해야하는데, 실기 강의가 내년 5월 만료더라구요 . 혹시 필기 대비하는 강좌나 25년 대비 강좌를 계획중이신게 있으실까요? 있다면 패키지로 묶어서 구매하고 싶은데, 기존 수강생 할인이나 쿠폰같은게 있으면 좋을 것 같아서요 .(양심이 없어 죄송합니다ㅠㅠ) 그리고 필기 공부하면서 실기를 같이 병행(실기강좌중 개념을 다루는 부분)하는게 좋은지도 궁금합니다!
안녕하세요 선생님 전국 평균 분양가격(2013~2015년 8월까지)데이터는 너무 옛날거라 쓰기가 좀 그래서요 혹시 최신버전이나 공공데이터에서 다운 받아서 쓸 수 있는 정보가 있을까요?? 현재 2023 09~202408까지 데이터로 진행하고 싶은데 기존 데이터로 따로 월이랑 연도만 따로빼서 파일을 만드신건지.. 그렇다고 하면 규모구분 칼럼에서 어떤게 기준점인지 궁금해요 ...
코랩에서 910 실습파일 실행 시 skimage.data_dir 경로에 이미지 파일이 없는것으로 보입니다. FileNotFoundError Traceback (most recent call last) <ipython-input-31-48f15de4b83a> in <cell line: 9>() 7 8 # skimage의 데이터 디렉토리에서 .png 또는 .jpg로 끝나는 모든 파일을 반복하여 처리합니다. ----> 9 for filename in [filename for filename in os.listdir(skimage.data_dir) if filename.endswith(".png") or filename.endswith(".jpg")]: 10 # 파일명에서 확장자를 제거하여 이미지의 이름을 얻습니다. 11 name = os.path.splitext(filename)[0] FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/scikit-image/0.24.0/data
"섹션4 그런데 백엔드 개발자가 API를 아직 못 만들었다"의 " msw 세팅과 .env" 강좌가 8분 38초까지 영상이 검은 화면으로 나옵니다. 해당 영상에서 검은 화면 중간 중간 노란색 안내 문구는 나오는 것과 다른 영상에서는 해당 증상이 보이지 않은 것으로 보아서 제 환경에서 해결할 수 없는 문제로 보이는데, 확인 한번 부탁드립니다.
안녕하세요. 7.7)리뷰 삭제 기능 구현하기를 하는 중인데, 혹시 바로 삭제하지 않고 중간에 alert 같은 걸로 정말 삭제할지 체크하고 그 다음에 삭제하는 식으로는 어떻게 하면 좋을까요? form 태그에 onsubmit을 달아서 중간에 끼어드는? 방식으로 해볼까 했는데, 뭔가 useActionState랑 호환을 어떻게 해야할지 잘 모르겠네요... 아래 코드를 작성해서 해결했습니다! const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => { const confirmDelete = confirm(`댓글을 정말 삭제하시겠습니까?`); if (confirmDelete) { const form = e.currentTarget; form.requestSubmit(); // 폼을 강제로 제출 } };
안녕하세요 이정환 강사님. 인스타의 위치검색기능과 비슷한 기능을 구현하고 있습니다. 조회버튼을 클릭해서 serachParams를 서버컴포넌트로 전달하는 형식이 아니라 검색어가 입력되면 바로 검색해서 결과를 출력해야 하는 페이지인 경우에는 전부 클라이언트 컴포넌트로 구성해야 하나요? 어떤식으로 구성해야 Next의 장점을 최대한 살릴 수 있는지 궁금합니다.
"2-6. 필드속성 수정하기" 중 현재 커서위치의 필드이름 수정하기 : SetCurFieldName 관련입니다. (아래 스크린샷 참고) 강의 본문을 보면, 첨부된 실습파일인 "필드명없음.hwp"이 누름틀은 네 개 들어가 있지만, 필드명이 정의되어 있지 않은 상태입니다. 라고 설명되어 있는데요. "필드명없음.hwp"를 다운로드 받아서 열어보면 강의 본문과 다릅니다. 즉, 필드 4개에 필드명이 모두 정의된 상태입니다. 또한, 강의 본문에는, "필드명없음.hwp" 상 내용이 이름 : 여기에 입력 성별 : 여기에 입력 생일 : 여기에 입력 취미 : 여기에 입력 이라고 기재되어 있지만, "필드명없음.hwp"를 열어보면 이름 : 이름 성별 : 성별 생일 : 성별 취미 : 성별 로 확인됩니다. 잘못 첨부하신 거라면, 첨부파일과 강의 본문 간 일치되도록 정정해 주시면 혼동을 방지하는데 큰 도움이 될 거 같습니다. 혹여나 "예시문서는 아래와 같습니다." 라고 기재하시면서 실습이 완료된 파일을 첨부해 주신 의도라면, 수강생의 입장에서는 해당 위치에 실습 진행 전 파일을 첨부해 주시는 게 더 이해에 더 매끄러울 거 같습니다. 아니면, 해당 첨부파일이 "실습이 완료된 이후의 상태"라는 언급을 해주시면 정확할 거 같습니다. 아울러, hwp.SetCurFieldName(Field="이름", Direction="이름입력", memo="이름메모") 코드를 실행할 때는, "필드명 정의되어 있지 않은 누름틀에서 캐릿이 깜빡이는 상태에서 위 코드를 실행"하면 된다는 설명을 한 줄 더 넣어주시면 어떤 설명을 하고 계신 건지 더 정확히 이해할 수 있을 거 같습니다. ※ 요 부분 실습해보고 말씀드리는 것입니다. 감사합니다.
안녕하세요. 시험결과를 기다리는 동안 아나콘다를 사용해서 추가적으로 파이썬을 연습해 볼까 하고 있습니다만, 아나콘다 설치 실패가 나와서 혹시 이부분도 도움을 받을 수 있을까 하여 글을 남겨 봅니다. 추가적으로 말씀드리자면 사용자 파일에 있는 anaconda3파일을 휴지통에 넣었는데도 같은 에러가 발생하고 있습니다. 그리고 터미널을 통해서 rmdir을 통해서 파일을 지우려고 시도해봤는데도 잘 되지 않습니다. 저는 파이썬과 터미널 완전 입문자 입니다. 이것저것 해봐도 안되서 도움을 요청드립니다. (저는 mac유저 입니다) 요
안녕하세요 다른 쥬피터랩에서 실행하고 있는데요.. import koreanize_matplotlib 진행을 했는데도... import koreanize_matplotlib import matplotlib.pyplot as plt import seaborn as sns import pandas as pd from pandas.plotting import register_matplotlib_converters # 그래프에 retina display 적용 %config InlineBackend.figure_format = 'retina' register_matplotlib_converters() # Matplotlib에서 날짜 데이터를 처리하기 위한 변환기 등록 # 데이터 예시 (실제 사용 시 'data' DataFrame이 필요합니다) data = pd.DataFrame({ '등록일시': ['2023-01-01', '2023-02-01', '2023-03-01'], '참가업체수': [10, 15, 20] }) data['등록일시'] = pd.to _datetime(data['등록일시']) # '등록일시'를 기준으로 데이터 정렬 data_sorted = data.sort_values('등록일시') # 시간에 따른 '참가업체수' 선 그래프 그리기 plt.figure(figsize=(12, 6)) # 그래프 크기 설정 sns.lineplot(data=data_sorted, x='등록일시', y='참가업체수') # 선 그래프 생성 plt.title('시간에 따른 참가업체수 분석') # 그래프 제목 설정 plt.xlabel('날짜') # x축 라벨 설정 plt.ylabel('참가업체수') # y축 라벨 설정 plt.xticks(rotation=45) # x축 눈금 라벨 회전 plt.tight_layout() # 그래프 레이아웃 조정 # 그래프 표시 plt.show ( ) 이런 에러가 계속 나서요.. 혹시 어떻게 진행하면...될까요 ㅜㅜ
안녕하세요, 강의 애청자(?) 입니다. React Server Component가 도입된 후에 interaction이 필요한 component(Client component)만 JS Bundle에 포함시켜서 Browser로 보냄으로써 JS Bundle의 불필요한 계산(용량)을 줄일 수 있다고 말씀하셨습니다. 그렇다면 여기서 궁금한것이 React Server Component를 설명해주시기 전에 Pre Fetching에서 JS Bundle에는 사실 현재 Page에 필요한 JS Bundle만 전달된다. 이유는 용량이 커지면 hydration이 지연되기 때문. 그 후에 Pre fetching으로 나머지 연결된 모든 Page의 JS Bundle을 불러온다고 설명해주신 개념은 여전히 유지가 되는건가요? 즉, 아래의 순서가 맞는지 궁금합니다. (Brower) 접속요청 (Server) JS 실행-Rendering (Server to Browser) Rendering 된 HTML (Browser to User) 화면에 Rendering (Server to Browser) JS Bundle ( 단, '현재 Page에 필요한', 'Client component') (Browser) Hydration (Browser to User) Interaction 가능 - TTI (Server to Browser) Pre Fetching/JS Bundle (단, '연결된 모든 Page의', 'Client component') 이 순서가 맞을까요? 아니라면.. Pre fetching 개념이 React Server Component 도입이후 없어진건가요?(이건 아닌거같긴한데 ㅎ) 어떻게 동작하는지 궁금합니다. 항상 잘 듣고있습니다. 감사합니다.
안녕하세요, 강의 잘 듣고 있습니다. 섹션 7의 게시글 이미지가 파이어베이스에 저장되지 않아서 글을 남깁니다. 사진을 넣어서 업로드하면 Storage에 업로드 되지 않습니다. 기존 코드로 이미지가 업로드가 되지 않아서 구글링과 chatGpt의 도움을 받는 과정에서 storage에 저장하는 경로 설정을 수정해서 폴더를 따로 만들었습니다. 다른 질문글을 보고 보안 규칙을 수정해봐도 올라가지 않습니다. 사용량을 살펴보니 요청은 1건 있지만 허용량이 없습니다. 여러 방법을 시도해봐도 되지 않아서 질문글을 남깁니다. 전체 코드 공유를 위해 깃허브 주소를 남깁니다! https://github.com/Joodo7ng/my-sole-life.git