묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실무에서 바로 쓰는 SQL튜닝 45가지
그 EXISTS의 힌트절에 NESTED LOOP를 쓰는이유 질문
EXISTS 힌트절에 NL_SJ을 써야한다고 말씀하셨는데 이게 EXISTS 자체가 하나씩 상관 서브 쿼리에 사용이 되기 때문에 NL_SJ를 써야한다는 거죠? IN 같은 경우는 독립적으로 실행이 가능하기 떄문에 HASH_SJ가 유리한거구요?
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
4주 3회차 과제
PostgreSQL의 Partial Unique Index의 기능을 활용하면 attendance_status 모델필드의 값이 cancelled 된 경우를 제외한 모든 동일 일자와 동일 타임슬롯인 경우를 중복으로 간주하는 제약을 구현 할 수 있습니다. __table_args__ = ( Index( "uq_active_booking_when_timeslot", "when", "time_slot_id", unique=True, postgresql_where=text("attendance_status <> 'CANCELLED'"), ), ) postgresql 일 경우, attendance_status 가 'CANCELLED' 가 아닌 모든 when + time_slot_id 조합에 고윳값 제약을 걸어줍니다.
-
미해결FreeRTOS 프로그래밍
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #if ( ( configUSE_PREEMPTION == 1 ) && ( configUSE_TIME_SLICING == 1 ) ) { if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 ) { xSwitchRequired = pdTRUE; } else { mtCOVERAGE_TEST_MARKER(); } } configUSE_TIME_SLICING값이 1->0이 되면 위 코드의 실행 조건이 변경되어 스케쥴러가 cpu 양보를 고려하지 않아 처음 cpu를 잡은 task만 반복해서 동작하게 된다는 것 까지는 이해했습니다.이때 저의 경우에 (1) configUSE_TIME_SLICING == 1 이면 'bbbba...'으로 b가 더 많이 수행되고 (2) configUSE_TIME_SLICING == 0 이면 'a'만 계속 해서 출력되는데 위에서 저의 이해를 바탕으로 configUSE_TIME_SLICING == 1인 경우에 'aaaaaaaaaaab...' 이런식으로 나와야 할 것 같은데(혹은 (2)번에서 'b'만 출력)두 경우에서 먼저 cpu를 선점하는 task가 다른 이유가 궁금합니다!
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
refresh() 메서드와 픽스처에 대해 질문이 있습니다.
픽스처 함수는 픽스처로, 픽스처 내부에서 사용되는 픽스처 함수는 객체로 표현하였습니다.=====host_user_calendar 픽스처에서 refresh() 메서드를 통해 host_user 객체를 db와 동기화해서 host_user 객체가 calendar 객체의 존재를 아는 것으로 이해했는데요.그런데 해당 host_user 객체는 반환되지 않고 host_user_calendar 픽스처에 남아있게 되어 접근할 수 없으니 무의미한 행동이라고 보여졌습니다. 그런데 refresh()를 사용하지 않으면 test_사용자가_변경하는_항목만_변경되고_나머지는_기존_값을_유지한다() 테스트 함수에서 update_calendar 엔드포인트 호출 시 404 에러가 발생하는 것을 확인했습니다. 즉, user.calendar로 접근 시 None으로 평가되는 것이지요. 그렇다면 host_user를 반환하지 않아도 해당 host_user 객체는 client_user_auth 픽스처에서 공유되는 것일까요? (혹은 동일한 객체일까요?) 그래야 refresh()를 진행했을 때 오류가 뜨지 않는다는 점이 설명이 되더라구여. 여기서 또하나 궁금한 점은 client_with_auth 픽스처보다 host_user_calendar 픽스처가 먼저 실행이 되어야 공유되는 host_user 객체가 calendar 정보를 가질 수 있다는 점이었습니다. 이 실행 순서를 결정하는 프로세스에 대해서도 궁금합니다!
-
미해결실무에서 바로 쓰는 SQL튜닝 45가지
어우 옵티마이저가 뛰어난건지..
SELECT COUNT(*)FROM ORDERSWHERE MEMBER_ID IN ( SELECT /*+ UNNEST HASH_SJ */ MEMBER_ID FROM MEMBERS WHERE CITY = 'Busan' );이렇게 진행을 하더라도 옵티마이저가 멋대로 HASH JOIN RIGHT SEMI로 MEMBERS를 선행해버리네요
-
미해결언리얼 엔진 5 with AI, 대화형 NPC 제작
12강 TimeAPI 접속불가
어제 (2026/01/16) 12강에 나오는 TimeAPI (https://timeapi.io/) 에 접속하려고 했는데,접속을 시도할 때마다 사이트가 응답하지 않는다는 메시지만 떴고,다른 비슷한 사이트에서도 같은 결과가 나왔습니다.Powershell을 이용한 자체검사를 시도해 보니 제 쪽에서는 문제가 없고 TimeAPI 쪽에서 응답하지 않는 것이라는 결과가 나왔으며,오늘 아침에도 접속을 시도해 봤는데 결과가 같았습니다.그래서 TimeAPI를 사용하지 못하는 지금, TimeAPI 접속 문제를 해결할 수 있는 방법을 알고 싶고, 강의에서 소개된 코드 및 작업과정을 거의 수정하지 않고도 TimeAPI를 깔끔하게 대체할 수 있는 사이트가 필요합니다. 도와주실 수 있나요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
6.11 빨간줄이가고 id에 마우스를 가면 Session | null이 안떠요
안녕하세요~ 15분 29초 하고있는데 빨간줄이 가서 여쭤봅니다github주소는 https://github.com/kkhhjjoo/onebite-sns입니다
-
미해결쿠버네티스 어나더 클래스-Sprint5(#Istio #Kiali #Jaeger #Cert-Manager)
istio가 설치 된 후 샘플 파드에 주입 권한
안녕하세요.수강생입니다. 궁금한게 생겨 문의드립니다. istio 가 설치 된 후 샘플 파드를 만들 때 istio init container와 istio proxy가 자동으로 샘플 파드에 자동으로 주입이 된다고 하는데 어떤 메카니즘으로 kubernetes api 입장에서 어떤 식으로 권한을 부여 해주는지 궁금합니다. 감사합니다.
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
UDP가 전송계층의 역할을 못하는 건 아닌지
안녕하세요 선생님 강의 잘 듣고 있습니다. 전송계층에서 UDP 프로토콜을 공부하다 의문이 있어 질문 드리게 되었습니다. 전송 계층은 데이터가 오류없이 순서대로 전달되도록 돕는 계층이라고 설명해주셨는데요, 전송계층의 대표 프로토콜 중 하나인 UDP는 신뢰성이 없고, 순서도 보장하지 않는데, 전송 계층의 대표 프로토콜이 될 수 있는 이유가 궁금합니다. 기업들에서 UDP를 최적화해서 신뢰성있도록 바꾸기 때문인 걸까요?? 질문 받아주셔서 감사합니다.
-
미해결정보처리기사 자격증 대비 교육(필기)
강의 자료 문의
본 강의에 나오는 피피티는 따로 자료로 제공되지 않는걸까요?
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
안녕하세요 강사님 데이터베이스 선택 질문있습니다!!
강사님 강의 재밌게 너무 잘 보고있습니다!!!클로드 코드에 대해서도 사용해보니까.. 재밌어요 PostgreSQL을 왜 선택하고 특징, 장점까지 잘 보았습니다.하지만 MySQL에 유리한 프로젝트는 무엇인지 궁금합니다.PostgreSQL선택한 이유중에 부분 인덱스 지원해주고 JSON을 효율적으로 저장할 수 있는 타입인 JSONB도 지원해주고 커뮤니티도 풍부하고 READ COMMITTED - 높은 읽기 성능을 제공해주는것으로 MySQL보다 전부 뛰어나다고 생각이듭니다. MySQL과 차이점은 MySQL은 Reapeatable Read로 정합성을 챙기고 MVCC덕분에 높은 읽기 성능을 가지고 있는걸로 알고있습니다. 그 외에 MySQL의 장점과 유리한 프로젝트들 예시를 좀 조언을 얻고싶습니다
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
TestEx 객체 생성 시 생성자 호출 질문
안녕하세요. 강의를 듣던 중 생성자 호출 결과와 관련해 궁금한 점이 생겨 질문드립니다.해당 예제에서 new 연산자 사용 시 다중 정의된 int 타입 파라미터를 받는 생성자가 호출된다고 설명해 주셨는데, 그 이유가 궁금합니다.new 연산자에 int 타입 매개변수를 전달한 상황을 가정하고 설명하신 것일까요?강의와 유튜브 항상 잘 보고 있습니다. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?
uint32 RecvWorker::Run() { while (Running) { TArray<uint8> Packet; if (ReceivePacket(OUT Packet)) { /*패킷을 큐에 등록*/ } } return 0; } bool RecvWorker::ReceivePacket(TArray<uint8>& OutPacket) { // 패킷 헤더 파싱 const int32 HeaderSize = sizeof(FPacketHeader); TArray<uint8> HeaderBuffer; HeaderBuffer.AddZeroed(HeaderSize); if (ReceiveDesireBytes(HeaderBuffer.GetData(), HeaderSize) == false) return false; /*...*/ } bool RecvWorker::ReceiveDesireBytes(uint8* Results, int32 Size) { uint32 PendingDataSize; //연결 종료되면 packetrecvsize 0으로 옴 -> 연결 끊겼으면 종료. if (Socket->HasPendingData(PendingDataSize) == false || PendingDataSize <= 0) return false; /*...*/ }recvworker 쓰레드를 만들고 run이 실행됐는데 커널의 recv버퍼에 읽을게 없을 때헤더확인을 위한 ReceiveDesireBytes 호출Socket->HasPendingdata() 에서 return falseReceiveDesireBytes 에서 return falseRun에서 ReceivePacket return false로 recv할게 올때까지 while문 무한반복이렇게 되는데 while문이 의미없이 무한반복하고 있는게 좀 걸려서 질문합니다.recv가 계속 올거라 상관이 없어서 이렇게 처리해도 큰 상관이 없는건가요?그게 아니면 혹시 Socket->Recv 에서 블로킹이 걸리게 만들어놓고 쓰레드는 대기하다가 서버로부터 읽을게 오면 알아서 블로킹이 풀리고 일을 하도록 하는건 별로인가요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서AI)
Command에 대하여
Claude Code Custom Command 을 프로젝트 레벨로 등록 후 Max Plan을 구독중인데 5분만 사용해도 Context 가 소진되고 있습니다.혹시 해당 Command 을 사용하지 않아도 토큰을 소비하는것일까요? 저의 생각이 맞다면 Command 의 내용을 간략화 하기 위하여 지침을 참조 문서로 변경하면 개선이 될까요? Skiil 로 변경하는것이 좋을까요? 참고로 제가 추가한 Command 입니다. # BlockNote Upgrade Command BlockNote 패키지를 최신 버전으로 업그레이드합니다. ## 실행 방법 이 명령은 다음 작업을 순서대로 수행합니다: 1. 현재 BlockNote 버전 확인 2. npm registry에서 최신 버전 조회 3. GitHub releases에서 변경사항 분석 4. Peer dependencies 호환성 검사 5. 사용자 확인 후 업그레이드 수행 6. 빌드 검증 --- ## 지시사항 ### Step 1: 현재 버전 확인 pnpm-workspace.yaml 파일에서 현재 BlockNote 버전을 확인하세요: ```yaml "@blocknote/core": &blocknote "X.X.X" ``` 관련 의존성 버전도 함께 확인: - @mantine/core - @tiptap/core - @shikijs/core ### Step 2: 최신 버전 조회 npm registry에서 최신 버전을 확인하세요: ```bash npm view @blocknote/core version ``` ### Step 3: 릴리스 노트 분석 GitHub releases 페이지에서 변경사항을 확인하세요: ``` WebFetch: https://github.com/TypeCellOS/BlockNote/releases ``` 다음 항목을 확인: - Breaking Changes 여부 - 새로운 기능 - 버그 수정 - Peer dependency 변경 ### Step 4: Peer Dependencies 확인 BlockNote가 의존하는 패키지들의 버전을 확인하세요. 확인할 파일들: | 패키지 | URL | 확인할 의존성 | |--------|-----|--------------| | @blocknote/mantine | https://raw.githubusercontent.com/TypeCellOS/BlockNote/main/packages/mantine/package.json | @mantine/core, @mantine/hooks | | @blocknote/core | https://raw.githubusercontent.com/TypeCellOS/BlockNote/main/packages/core/package.json | @tiptap/*, yjs | | @blocknote/react | https://raw.githubusercontent.com/TypeCellOS/BlockNote/main/packages/react/package.json | react, react-dom | | @blocknote/code-block | https://raw.githubusercontent.com/TypeCellOS/BlockNote/main/packages/code-block/package.json | @shikijs/* | 우선순위: 1. @blocknote/mantine → Mantine (가장 자주 변경) 2. @blocknote/core → Tiptap, Yjs 3. @blocknote/react → React 4. @blocknote/code-block → Shikijs WebFetch로 각 package.json을 확인하고 peerDependencies 섹션에서 버전 요구사항을 추출하세요. ### Step 5: 버전 비교 및 변경사항 정리 현재 프로젝트의 버전과 BlockNote가 요구하는 버전을 비교하여 표로 정리: | 패키지 | 현재 버전 | 필요 버전 | 업데이트 필요 | |--------|----------|----------|--------------| | @blocknote/* | X.X.X | Y.Y.Y | O/X | | @mantine/core | ^X.X.X | ^Y.Y.Y | O/X | | ... | ... | ... | ... | ### Step 6: 사용자 확인 변경사항을 사용자에게 보여주고 진행 여부를 확인하세요: - Breaking Changes가 있으면 경고 - 업데이트할 패키지 목록 표시 - 진행 의사 확인 ### Step 7: pnpm-workspace.yaml 수정 승인되면 pnpm-workspace.yaml을 수정하세요: ```yaml # BlockNote 버전 업데이트 "@blocknote/core": &blocknote "NEW_VERSION" # 필요시 관련 패키지도 업데이트 "@mantine/core": &mantine "^NEW_VERSION" ``` ### Step 8: Clean Install 메이저 의존성 업그레이드 시 기존 node_modules를 정리하고 새로 설치합니다: ```bash # node_modules 및 dist 폴더 삭제 pnpm clean # 의존성 새로 설치 pnpm install ``` > 이 단계는 캐시된 이전 버전 패키지로 인한 호환성 문제를 방지합니다. ### Step 9: 빌드 검증 ```bash pnpm --filter @collaboration/common build pnpm --filter @collaboration/editor build ``` ### Step 10: 결과 보고 업그레이드 결과를 보고: - 변경된 패키지 버전 - 빌드 성공 여부 - 다음 단계 안내 (개발 서버 실행, 기능 테스트) --- ## 롤백 안내 문제 발생 시 이전 버전으로 롤백하는 방법도 안내하세요: ```yaml # pnpm-workspace.yaml에서 이전 버전으로 변경 "@blocknote/core": &blocknote "PREVIOUS_VERSION" ``` ```bash pnpm install ``` --- ## 참고 문서 - 업그레이드 가이드: docs/blocknote-upgrade-guide.md - pnpm catalog 가이드: docs/pnpm-catalog-guide.md - BlockNote 공식 문서: https://www.blocknotejs.org/docs - GitHub 저장소: https://github.com/TypeCellOS/BlockNote
-
미해결데이터 드리븐 그로스 마케팅 - 고객 중심의 문제 해결력 업그레이드
강의자료 요청드립니다!
안녕하세요, 강의 덕분에 들어본 적 있지만 잘알지는 못했던 그로스에 대해 잘 정리해 나가고 있습니다!수강평 작성하였고, 아래에 메일 주소 전달드립니다. 감사합니다 :-) 이메일 : minwooori@naver.com
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
pull request에 관해
pull request는 그렇다면 협업과정에서는 필수로 협업에 들어가기 전 ,협업대상 repository을 fork하고 브랜치를 생성후 그 안에서 계속 작업을 해나아가면 되는걸까요? 아니면 협업과정중에 로컬저장소에 코드작업 했고, 원격저장소에도 코드가 변경된 경우에만 하면 되는걸까요? 협업과정에서 끊임없이 변경될 것 같은데 궁금합니다 ㅠㅠ
-
해결됨[인프런어워드 베스트셀러] 코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
도커 설치 질문
아마 2강인듯한데, 도커 설치 후 .env 라고 강의에 나오는데, 저는 .env.example 로 뜹니다. docker compose --profile gpu-nvidia up이것도 그대로 했는데, 뭘 끌어오는 작업 없이 이렇게 하고 끝났습니다. 그 뒤로 도커 들어가서 컨테이너 이미지 등 확인해봐도 다릅니다. 어떻게 하나요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
[질문아님] tabBarLabel 대신 tabBarShowLabel
궁금해서 Gemini에게 물어봤는데요..!tabBarLabel이 {null}로 반환하는 것과 {""} 빈문자열 넣는 법.이 두가지 차이점을 물어보다가 아래 tabBarShowLabel 속성이 있다는 걸 알게됐고,요 속성은 아예 레이아웃 처리가 되지 않는 다는 걸 알게됐습니다.부모 <Tabs />에 한번만 쓰면 하위에 다 적용되는 구조입니다.tabBarShowLabel: false,일단 저는 이 속성 사용해보고있는데,좋은 것 같아용 ㅎㅎ제로초님은 이걸 사용하지 않으시던데,혹시나 요거 사용하면 안되는거면 댓글 달아주세용ㅎㅎ
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
useEffect 안에 setState 사용 시 뜨는 오류
모달이 닫힐 때 입력 상태(content, images)를 초기화하기 위해 useEffect에서 isOpen을 의존성으로 두고 setContent, setImages를 호출했는데이 과정에서 "calling setState synchronously within an effect can trigger cascading renders" 경고가 발생했습니다.useEffect가 외부 시스템과의 동기화를 위한 용도이기 때문에 생기는 오류인지 궁금합니다! 또한 그렇다면 UI 상태 초기화 목적으로 useEffect에서 state를 변경하는 방식은 권장되지 않는 패턴인가요?그래서 현재는 onClose, onCancel 등 모달이 닫히는 이벤트 시점마다 직접 setContent(""), setImages([])를 호출하는 방식으로 처리하고 있습니다.
-
미해결
수강연장 부탁드립니다
현재 부트캠프와 병행을 하고 있어 강의를 듣지 못하고 있습니다..혹시 수강 연장이 가능할까요?