묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Next.js with Spring Boot
강의를 들을 때 타입스크립트 지식이 필요한가요?
안녕하세요 js, React만 배우고 바로 Next.js로 넘어왔는데 혹시 TypeScript도 필요한가요?
-
미해결웹에서 다루는 미디어 - 화상 대화를 만들면서 배우는 MediaStream API
오디오 Input -> Speaker 출력 Noise
안녕하세요.이번에 프로젝트를 진행 하고 있는데 해결되지 않는 부분이 있어서 질문을 드립니다.상황을 간단히 말씀드리면, 미팅룸 개설을 하고 참여한 인원중에 말을 하면 해당 음성을 다른 참여자의 스피커로 출력하는 방식입니다. (발화자 제외) 이때 Input Audio format은 16Khz, MONO, 32Float, 16,000 sample 로 지정되어 있습니다.(음성 출력 뿐만 아니라, STT 서버에 보내서 텍스트를 반환하는데 이때 STT 서버의 오디오 요청스펙 입니다.) 그리고 Gemini의 도움을 받아 아래와 같이 옵션을 설정하였지만, 실제로 스피커 출력시 매우심한 Noise가 발생합니다. (STT 서버의 응답 텍스트는 정상 동작) 저는 백엔드 개발자인데, 프론트단에서 해결 방법을 잘 모르겠어서, 강의를 결제하게 되었습니다. 혹시 조언을 해주실수 있을까요?아니면 강의에 몇강을 보면 관련 주제가 나오는지 알려주도 좋을거같습니다. 긴글 읽어주셔서 감사합니다. Input audio data 관련 코드audio: { echoCancellation: true, noiseSuppression: false, autoGainControl: false, } this.highPassFilter = this.audioContext.createBiquadFilter(); this.highPassFilter.type = 'highpass'; // [튜닝] 목소리 뭉개짐을 피하기 위해 60Hz로 설정 this.highPassFilter.frequency.value = 60; // 2. Compressor (안전장치/Limiter 역할 튜닝) this.compressor = this.audioContext.createDynamicsCompressor(); // [튜닝] -6dB를 넘어가는 "정말 큰 기계음"만 잡는 '안전장치'로 사용 this.compressor.threshold.value = -6; this.compressor.knee.value = 30; // [튜닝] 2:1로 최소한만 압축 this.compressor.ratio.value = 2; // [튜닝] 순간적인 피크를 빠르게(3ms) 잡음 this.compressor.attack.value = 0.003; this.compressor.release.value = 0.25; // 3. GainNode (전체 볼륨 증폭) this.gainNode = this.audioContext.createGain(); // [튜닝] 압축을 거의 안 하므로 1.1배로 소폭만 증폭 this.gainNode.gain.value = 1.1; // --- 7. 노드 체인 연결 --- this.audioSource.connect(this.highPassFilter); // 1. (마이크) -> 저주파 험 제거 this.highPassFilter.connect(this.compressor); // 2. -> "정말 큰 소리"만 방지 this.compressor.connect(this.gainNode); // 3. -> 전체 볼륨 소폭 증폭 this.gainNode.connect(this.resamplerNode); // 4. -> VAD 및 리샘플링 this.resamplerNode.connect(this.audioContext.destination); // (워크렛 실행용)스피커 출력 관련 코드// --- [수정] 오디오 출력(Playback) 로직 (심리스 스케줄링) --- private handleIncomingAudio(audioData: ArrayBuffer): void { if (audioData.byteLength === 0 || !this.playbackAudioContext) return; if (this.playbackAudioContext.state === 'suspended') { this.playbackAudioContext.resume().catch((err) => { console.error('Playback AudioContext 재개 실패:', err); }); } this.audioQueue.push(audioData); // [수정] 재생 루프가 멈춰있을 때(!this.isPlaying)만 새로 시작 if (!this.isPlaying) { this.isPlaying = true; // 현재 시간을 기준으로 스케줄링을 다시 시작합니다. this.nextChunkTime = this.playbackAudioContext.currentTime; this.playNextChunk(); } } private playNextChunk(): void { if (this.audioQueue.length === 0) { this.isPlaying = false; // 큐가 비면 재생 중지 return; } if (!this.playbackAudioContext || this.playbackAudioContext.state === 'closed') { this.isPlaying = false; this.audioQueue = []; return; } const audioData = this.audioQueue.shift()!; try { const float32Data = new Float32Array(audioData); const audioBuffer = this.playbackAudioContext.createBuffer( PLAYBACK_CHANNELS, float32Data.length, this.playbackAudioContext.sampleRate ); audioBuffer.copyToChannel(float32Data, 0); const source = this.playbackAudioContext.createBufferSource(); source.buffer = audioBuffer; source.connect(this.playbackAudioContext.destination); // --- [수정] 심리스 스케줄링 로직 --- // 1. 랙(Lag)으로 인해 예약 시간이 이미 지났는지 확인 const currentTime = this.playbackAudioContext.currentTime; if (this.nextChunkTime < currentTime) { // 지연이 발생했으면, 갭(Gap)이 생기지 않도록 현재 시간으로 리셋 this.nextChunkTime = currentTime; } // 2. 계산된 nextChunkTime에 재생을 '예약'합니다. (갭 제거) source.start(this.nextChunkTime); // 3. 다음 청크가 시작될 시간을 미리 계산합니다. this.nextChunkTime += audioBuffer.duration; // 4. [수정] onended에서 다음 청크를 비동기적으로 호출합니다. (버그 수정) source.onended = () => { // 큐에 다음 데이터가 있으면, 딜레이 없이 바로 다음 청크를 스케줄링합니다. if (this.audioQueue.length > 0) { this.playNextChunk(); } else { this.isPlaying = false; // 큐가 비었으면 재생 종료 } }; // 5. [삭제] 즉각적인 재귀 호출을 삭제합니다. (이것이 버그였습니다) // if (this.audioQueue.length > 0) { // this.playNextChunk(); // } } catch (e) { console.error('오디오 청크 재생 중 오류:', e); this.isPlaying = false; // 오류 발생 시 재생 루프 중지 } }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
문의드립니다!! ㅠㅠ
안녕하세요,프론트엔드(구), 백엔드 강의 모두 구매한 1인입니다 ㅠㅠ 다름이 아니라, [코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스관련해서 -> 할인 쿠폰을 받을 수 있을 지 문의드립니다. 추가로, 완벽한 백엔드 코스는 11월 중에는 출시가 될까요? 이것도 기존 구매자들에게 할인이 있을지 문의드립니다. 마지막으로, 제가 앱 개발(플러터)일만 하다가 -> 리액트+리액트 네이티브로 전환하는 과정에서,현재 회사에서 외주를 주는 상황에서 -> 지그재그 같이 화면 width를 600px로 고정을 할 계획인데,이 과정에서 디자인을 figma로 만들때, 어떤 식으로 전달을 해야되는지도 문의드립니다!강의 내용중에 expo와 react native로 커버가 가능한 부분일지도 문의드립니다 ㅠㅠ https://inf.run/8p6wg코드캠프
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
새일기쓰기하고 새로고침하면 새로쓴일기가 사라져요
🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요)제목을 구체적으로 작성해 주세요✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다.⛔️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다.깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 https://drive.google.com/drive/folders/1lRO0fOAae3cWJUtuNK7L5atrGTgFFRWO?usp=drive_link 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요!제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요더 빠른 답변이 가능합니다!
-
해결됨한 입 크기로 잘라먹는 Next.js
서버 가동 중 오류가 납니다.
npm run start 이후 이런 오류가 계속해서 나오는데 어떤 이유일까요prisma/seed/seed.ts:1:30 - error TS2307: Cannot find module '../generated/prisma/client' or its corresponding type declarations.1 import { PrismaClient } from '../generated/prisma/client';
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
prompt 사용 횟수로 토큰 소진 되는 것인가요?
prompt 사용 횟수로 토큰 소진 되는 것인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
context 강의 중 질문
11.2 context 사용하기 강의 중에서 질문이 있습니다.아직 context에 대해 이해를 잘 못하고 있는데 강의 중 10분쯤에 return 문에서 context를 사용하기 위해 이전에 작성해놓은 onUpdate, onDelete 함수를 지웠는데 TodoItem 에 todo도 context를 사용해서 지울 수 있는게 아닌 건지 질문드립니다. app.jsx에서 <List > 부분에서 todos를 지웠던 것처럼 가능한게 아닌지 궁금합니다 div className="todos_wrapper"> {filteredTodos.map((todo) => { // 필터링 된 값들이 나온다 필터링을 거치지 않으면 todos 데이터가 다 나옴 return <TodoItem key={todo.id} {...todo} />; })} </div>
-
미해결React Native with Expo: 제로초에게 제대로 배우기
빌드 문의드립니다.
npm ls react ─┬ @expo/vector-icons@15.0.2│ └── react@19.1.0 deduped├─┬ @react-native-community/datetimepicker@8.4.4│ └── react@19.1.0 deduped├─┬ @react-navigation/bottom-tabs@7.4.9│ └── react@19.1.0 deduped├─┬ @react-navigation/elements@2.6.5│ ├── react@19.1.0 deduped│ ├─┬ use-latest-callback@0.2.6│ │ └── react@19.1.0 deduped│ └─┬ use-sync-external-store@1.6.0│ └── react@19.1.0 deduped├─┬ @react-navigation/native@7.1.18│ ├─┬ @react-navigation/core@7.12.4│ │ └── react@19.1.0 deduped│ └── react@19.1.0 deduped├─┬ expo-font@14.0.9│ └── react@19.1.0 deduped├─┬ expo-image@3.0.9│ └── react@19.1.0 deduped├─┬ expo-linking@8.0.8│ └── react@19.1.0 deduped├─┬ expo-router@6.0.12│ ├─┬ @expo/metro-runtime@6.1.2│ │ └── react@19.1.0 deduped│ ├─┬ @radix-ui/react-slot@1.2.0│ │ ├─┬ @radix-ui/react-compose-refs@1.1.2│ │ │ └── react@19.1.0 deduped│ │ └── react@19.1.0 deduped│ ├─┬ @radix-ui/react-tabs@1.1.13│ │ ├─┬ @radix-ui/react-context@1.1.2│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-direction@1.1.1│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-id@1.1.1│ │ │ ├─┬ @radix-ui/react-use-layout-effect@1.1.1│ │ │ │ └── react@19.1.0 deduped│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-presence@1.1.5│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-primitive@2.1.3│ │ │ ├─┬ @radix-ui/react-slot@1.2.3│ │ │ │ └── react@19.1.0 deduped│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-roving-focus@1.1.11│ │ │ ├─┬ @radix-ui/react-collection@1.1.7│ │ │ │ ├─┬ @radix-ui/react-slot@1.2.3│ │ │ │ │ └── react@19.1.0 deduped│ │ │ │ └── react@19.1.0 deduped│ │ │ ├─┬ @radix-ui/react-use-callback-ref@1.1.1│ │ │ │ └── react@19.1.0 deduped│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-use-controllable-state@1.2.2│ │ │ ├─┬ @radix-ui/react-use-effect-event@0.0.2│ │ │ │ └── react@19.1.0 deduped│ │ │ └── react@19.1.0 deduped│ │ └── react@19.1.0 deduped│ ├─┬ @react-navigation/native-stack@7.3.28│ │ └── react@19.1.0 deduped│ ├─┬ react-native-is-edge-to-edge@1.2.1│ │ └── react@19.1.0 deduped│ ├── react@19.1.0 deduped│ └─┬ vaul@1.1.2│ ├─┬ @radix-ui/react-dialog@1.1.15│ │ ├─┬ @radix-ui/react-dismissable-layer@1.1.11│ │ │ ├─┬ @radix-ui/react-use-escape-keydown@1.1.1│ │ │ │ └── react@19.1.0 deduped│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-focus-guards@1.1.3│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-focus-scope@1.1.7│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-portal@1.1.9│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-presence@1.1.5│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-primitive@2.1.3│ │ │ └── react@19.1.0 deduped│ │ ├─┬ @radix-ui/react-slot@1.2.3│ │ │ └── react@19.1.0 deduped│ │ ├─┬ react-remove-scroll@2.7.1│ │ │ ├─┬ react-remove-scroll-bar@2.3.8│ │ │ │ └── react@19.1.0 deduped│ │ │ ├─┬ react-style-singleton@2.2.3│ │ │ │ └── react@19.1.0 deduped│ │ │ ├── react@19.1.0 deduped│ │ │ ├─┬ use-callback-ref@1.3.3│ │ │ │ └── react@19.1.0 deduped│ │ │ └─┬ use-sidecar@1.1.3│ │ │ └── react@19.1.0 deduped│ │ └── react@19.1.0 deduped│ └── react@19.1.0 deduped├─┬ expo-status-bar@3.0.8│ └── react@19.1.0 deduped├─┬ expo@54.0.13│ ├─┬ @expo/devtools@0.1.7│ │ └── react@19.1.0 deduped│ ├─┬ expo-asset@12.0.9│ │ └── react@19.1.0 deduped│ ├─┬ expo-keep-awake@15.0.7│ │ └── react@19.1.0 deduped│ ├─┬ expo-modules-core@3.0.21│ │ └── react@19.1.0 deduped│ └── react@19.1.0 deduped├─┬ react-dom@19.1.0│ └── react@19.1.0 deduped├─┬ react-native-gesture-handler@2.28.0│ └── react@19.1.0 deduped├─┬ react-native-reanimated@4.1.3│ └── react@19.1.0 deduped├─┬ react-native-safe-area-context@5.6.1│ └── react@19.1.0 deduped├─┬ react-native-screens@4.16.0│ ├─┬ react-freeze@1.0.4│ │ └── react@19.1.0 deduped│ └── react@19.1.0 deduped├─┬ react-native-web@0.21.1│ └── react@19.1.0 deduped├─┬ react-native-webview@13.15.0│ └── react@19.1.0 deduped├─┬ react-native-worklets@0.5.1│ └── react@19.1.0 deduped├─┬ react-native@0.81.4│ ├─┬ @react-native/virtualized-lists@0.81.4│ │ └── react@19.1.0 deduped│ └── react@19.1.0 deduped├── react@19.1.0└─┬ tosspayments-react-native@1.0.7 ├─┬ react-native-webview@11.26.1 │ └── react@19.1.0 deduped └── react@19.1.0 dedupednpm ls react-native├─┬ @expo/vector-icons@15.0.2│ └── react-native@0.81.4 deduped├─┬ @react-native-community/datetimepicker@8.4.4│ └── react-native@0.81.4 deduped├─┬ @react-navigation/bottom-tabs@7.4.9│ └── react-native@0.81.4 deduped├─┬ @react-navigation/elements@2.6.5│ └── react-native@0.81.4 deduped├─┬ @react-navigation/native@7.1.18│ └── react-native@0.81.4 deduped├─┬ @types/react-native@0.72.8│ └─┬ @react-native/virtualized-lists@0.72.8│ └── react-native@0.81.4 deduped├─┬ expo-constants@18.0.9│ └── react-native@0.81.4 deduped├─┬ expo-file-system@19.0.17│ └── react-native@0.81.4 deduped├─┬ expo-font@14.0.9│ └── react-native@0.81.4 deduped├─┬ expo-image@3.0.9│ └── react-native@0.81.4 deduped├─┬ expo-linking@8.0.8│ └── react-native@0.81.4 deduped├─┬ expo-router@6.0.12│ ├─┬ @expo/metro-runtime@6.1.2│ │ └── react-native@0.81.4 deduped│ ├─┬ @react-navigation/native-stack@7.3.28│ │ └── react-native@0.81.4 deduped│ ├─┬ react-native-is-edge-to-edge@1.2.1│ │ └── react-native@0.81.4 deduped│ └── react-native@0.81.4 deduped├─┬ expo-status-bar@3.0.8│ └── react-native@0.81.4 deduped├─┬ expo-symbols@1.0.7│ └── react-native@0.81.4 deduped├─┬ expo-system-ui@6.0.7│ └── react-native@0.81.4 deduped├─┬ expo-web-browser@15.0.8│ └── react-native@0.81.4 deduped├─┬ expo@54.0.13│ ├─┬ @expo/cli@54.0.11│ │ └── react-native@0.81.4 deduped│ ├─┬ @expo/devtools@0.1.7│ │ └── react-native@0.81.4 deduped│ ├─┬ expo-asset@12.0.9│ │ └── react-native@0.81.4 deduped│ ├─┬ expo-modules-core@3.0.21│ │ └── react-native@0.81.4 deduped│ └── react-native@0.81.4 deduped├─┬ react-native-daum-postcode@1.0.11│ └── react-native@0.81.4 deduped├─┬ react-native-gesture-handler@2.28.0│ └── react-native@0.81.4 deduped├─┬ react-native-reanimated@4.1.3│ └── react-native@0.81.4 deduped├─┬ react-native-safe-area-context@5.6.1│ └── react-native@0.81.4 deduped├─┬ react-native-screens@4.16.0│ └── react-native@0.81.4 deduped├─┬ react-native-webview@13.15.0│ └── react-native@0.81.4 deduped├─┬ react-native-worklets@0.5.1│ └── react-native@0.81.4 deduped├─┬ react-native@0.81.4│ └─┬ @react-native/virtualized-lists@0.81.4│ └── react-native@0.81.4 deduped└─┬ tosspayments-react-native@1.0.7 ├─┬ react-native-send-intent@1.3.0 │ └── react-native@0.81.4 deduped ├─┬ react-native-webview@11.26.1 │ └── react-native@0.81.4 deduped └── react-native@0.81.4 dedupednpm ls expo├─┬ @react-native-community/datetimepicker@8.4.4│ └── expo@54.0.13 deduped├─┬ expo-constants@18.0.9│ └── expo@54.0.13 deduped├─┬ expo-dev-client@6.0.15│ ├─┬ expo-dev-launcher@6.0.15│ │ └── expo@54.0.13 deduped│ ├─┬ expo-dev-menu-interface@2.0.0│ │ └── expo@54.0.13 deduped│ ├─┬ expo-dev-menu@7.0.14│ │ └── expo@54.0.13 deduped│ ├─┬ expo-manifests@1.0.8│ │ └── expo@54.0.13 deduped│ ├─┬ expo-updates-interface@2.0.0│ │ └── expo@54.0.13 deduped│ └── expo@54.0.13 deduped├─┬ expo-file-system@19.0.17│ └── expo@54.0.13 deduped├─┬ expo-font@14.0.9│ └── expo@54.0.13 deduped├─┬ expo-haptics@15.0.7│ └── expo@54.0.13 deduped├─┬ expo-image-manipulator@14.0.7│ ├─┬ expo-image-loader@6.0.0│ │ └── expo@54.0.13 deduped│ └── expo@54.0.13 deduped├─┬ expo-image-picker@17.0.8│ └── expo@54.0.13 deduped├─┬ expo-image@3.0.9│ └── expo@54.0.13 deduped├─┬ expo-router@6.0.12│ ├─┬ @expo/metro-runtime@6.1.2│ │ └── expo@54.0.13 deduped│ └── expo@54.0.13 deduped├─┬ expo-secure-store@15.0.7│ └── expo@54.0.13 deduped├─┬ expo-splash-screen@31.0.10│ ├─┬ @expo/prebuild-config@54.0.5│ │ └── expo@54.0.13 deduped│ └── expo@54.0.13 deduped├─┬ expo-symbols@1.0.7│ └── expo@54.0.13 deduped├─┬ expo-system-ui@6.0.7│ └── expo@54.0.13 deduped├─┬ expo-web-browser@15.0.8│ └── expo@54.0.13 deduped└─┬ expo@54.0.13 ├─┬ @expo/cli@54.0.11 │ └── expo@54.0.13 deduped ├─┬ @expo/metro-config@54.0.6 │ └── expo@54.0.13 deduped ├─┬ babel-preset-expo@54.0.4 │ └── expo@54.0.13 deduped ├─┬ expo-asset@12.0.9 │ └── expo@54.0.13 deduped └─┬ expo-keep-awake@15.0.7 └── expo@54.0.13 deduped버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. npx expo run:android 로 apk파일을 만들었는데 안드로이드 기기에서 파일을 실행하면 expo go가 설치가 되서 실행이 됩니다.apk 파일을 받아서 설치하면 바로 앱이 실행되게 할 수 있는 파일을 만들어서 다른 장소에 있는 기기에서 테스트를 하려면 어떻게 해야할까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
.
.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
.
.
-
미해결Next.js with Spring Boot
서버 Run 실행을 할수가 없습니다. 어떻게 해야 할까요?
Run 실행을 할수가 없습니다. 어떻게 해야 할까요?
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
자료를 다운로드 받아 압축해지시 파일이름 다름
수업자료 파일 다운로드해서 압추해지를 하면 파일명이 다릅니다. ( 전 수업자료 파일명으로 )자료는 이상없으나 자료가 쌓일수록 좀 혼락스럽니다~
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
미션제출 방법
1주차 미션 제출을 하려고 하는데디자인이 구현된 파일을 올리라는건가요? 완성된 미리보기를 캡쳐해서 보내야 하는건가요? 어떻게 제출하는거죠?
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
셀렉트박스 드랍다운 다크모드 아이콘이 없습니다.
셀렉트박스 다크모드에서 사용할수있는 체크아이콘 파일이없습니다. 라이트모드에서는 check_outline_light_xs.svg를 사용하는데 다크모드에서는 사용할 아이콘이없어서 동일한 아이콘을 사용해 피그마에서는 체크아이콘이 하얀색인데 초록색으로 생성되는 문제가 있습니다.
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
버튼 생성중에 커서 메모리 오류같은게 생깁니다.
Cursor ⚠ The window terminated unexpectedly (reason: 'oom', code: '-536870904') We are sorry for the inconvenience. You can reopen the window to continue where you left off. ☐ Don't restore editors왜 이런걸까요? 이때까지 이런적이 없는데 ui 생성에서 버튼 생성할때 위와 같은 오류가 생겨요커서 종료하고 다시 해도 계속 이런 오류가 생기는데 ai에게 물어보니 메모리 부족이라는데 제컴퓨터가 메모리가 부족한 사양이 아니라서요 그리고 다른 앱도 안키고 하는데 계속 같은 일이 발생하네요 오류나서 정지된곳 부터 계속 해달라고 요청해서 마무리 하긴했는데 해결책이 있을까요?위 사항에서 클로드가 버튼 노드를 못찾고 아래와 같은 피그마 문서 전체 검색을 한다고 한후 메모리 폭발한것을 확인했습니다.노드 3:1461은 "드롭다운"이라는 프레임으로, 버튼 컴포넌트가 아닌 것 같습니다. 프롬프트에서 "참고할 공통컴포넌트 노드ID: 3:1461"라고 했는데, 이것이 버튼이 아닐 수 있습니다. 버튼 컴포넌트를 찾기 위해 주변 노드들을 확인하거나, 문서 정보를 확인해야 할 것 같습니다. 또는 현재 index.tsx의 주석에 있는 "Figma Referen ce: Node ID 3:1528"을 확인해보겠습니다.프롬프트에 조건-피그마) 참고할 공통컴포넌트 노드ID: 3:1461 다음 노드의 스타일만 가져와. 절대 다른 노드 탐색하지 마위 빨간색 문구를넣고 해결했습니다. ai 가 커서룰도 대충읽고 안지키고 그냥 대충 만드네요 ㅠㅠ 몇번 재검토 하니깐 룰 지켜서 만들어주네요
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
prettier 이슈
Prettier 이슈 관련한 Q&A 확인해서 default 설정이나 format on save도 체크했는데강의에서 보여주신 것 처럼 가독성이 좋은 상태가 아니고 의미없다고 판단한 괄호나 줄넘김을 다 없애버려서 자꾸 이런식으로 코드가 줄어듭니다 ㅠㅠㅠ const Main = () => { const user = { name: "안넝", isLogin: -1, }; return <>{user.isLogin ? (<div>로그인</div>) : (<div>로그아웃</div>)}</>; }; export default Main;
-
미해결React Native with Expo: 제로초에게 제대로 배우기
Expo-blur unimplement 오류
npx expo install expo-blur 실행 후 <BlurView> 컴포넌트를 사용하려고 하는데 런타임에서는 에러가 안지만 화면에서 위같이 unimplement 에러가 납니다. tsconfig를 수정해야 해결된다고 찾긴 했는데 { "extends": "expo/tsconfig.base", "compilerOptions": { "strict": true, "paths": { "@/*": [ "./*" ] } }, "include": [ "**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts" ] } 아래는 제 루트 tsconfig.json 파일입니다.어떻게 수정하면 될까요?
-
해결됨AI와 함께 배우는 Next.js
Next.js 시작하기 강의는 어떻게 무료로 받을수있나요??
강의 시작에 앞서 Next.js 시작하기 강의를 먼저 듣고 시작하고 싶은데 무료로 어떻게 받을수있을까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
.
.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
.
.