173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
수업에서는 common component생성, storybook 작성을 한번에 하고 그 다음 수정하는것이 효율적이라고 하셨는데 일괄생성 후 수정작업하다 보니 ( 색상코드를 사용하지 않음, 색상코드를 적용오류에 대한 발견, html 구조 이상, story 파일 오류 등 ) 다시 하나씩 재생성하는 경우도 생기게 되네요. 그냥 하나씩 component 생성 후 story 생성하는것이 낫지 않을까 싶어 글 남깁니다.
react next.js cursor 프롬프트엔지니어링 바이브코딩
hanbrang
2025-10-23T09:07:36.164Z
댓글 2
좋아요 0
조회수 91
미해결
스프링 부트와 리액트로 구현하는 소셜 로그인
33강에 27-30분대를 보면 SecurityConfig 클래스에서 .formLogin을 .oauth2Login으로 바꾸고, TodoController 에서 CustomUserDetails로 받았던 사용자 정보를 CustomOAuth2User 로 바꾼 것으로 보이는데,, 일반 로그인 시에 사용할 로직과 소셜 로그인 시에 사용할 로직을 둘 다 두지 않고, 소셜 로그인 하나만 사용하는 것으로 진행하려고 바꾸는건가요??
react java spring-boot jpa spring-security
정수현
2025-10-23T06:11:04.922Z
댓글 2
좋아요 0
조회수 168
해결됨
React start with Next.js
function selectTodo(id) { const targetTodo = arr.find(todo => todo.id === id); if (targetTodo) { setCurrent(targetTodo); } else { setCurrent(null); } } 또는 selectTodo 함수의 파라미터를 선택한 todo 객체 자체를 넘기는 것으로 처리했을 때 차이가 있을 까요? function selectTodo(todo) { setCurrent(todo) }
javascript react 웹앱 next.js ajax
Codingbear
2025-10-23T05:47:38.728Z
댓글 1
좋아요 0
조회수 96
해결됨
DOM에서 픽셀까지, 브라우저 렌더링과 CRP 완전 정복 - [DOM 완전 정복 Part 3]
지금 이 화면에서 뭘로 fps를 알 수 있나요?
HTML/CSS javascript react dom frontend
ah young kim
2025-10-23T03:41:22.208Z
댓글 2
좋아요 0
조회수 238
미해결
Next.js with Spring Boot
안녕하세요 js, React만 배우고 바로 Next.js로 넘어왔는데 혹시 TypeScript도 필요한가요?
javascript react jpa next.js
박병천
2025-10-23T02:24:40.337Z
댓글 1
좋아요 0
조회수 88
미해결
웹에서 다루는 미디어 - 화상 대화를 만들면서 배우는 MediaStream API
안녕하세요. 이번에 프로젝트를 진행 하고 있는데 해결되지 않는 부분이 있어서 질문을 드립니다. 상황을 간단히 말씀드리면, 미팅룸 개설을 하고 참여한 인원중에 말을 하면 해당 음성을 다른 참여자의 스피커로 출력하는 방식입니다. (발화자 제외) 이때 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; // 오류 발생 시 재생 루프 중지 } }
react java web-api websocket webrtc
성능측정달인123
2025-10-23T02:22:54.058Z
댓글 1
좋아요 0
조회수 117
해결됨
[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
안녕하세요, 프론트엔드(구), 백엔드 강의 모두 구매한 1인입니다 ㅠㅠ 다름이 아니라, [코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스 관련해서 -> 할인 쿠폰을 받을 수 있을 지 문의드립니다. 추가로, 완벽한 백엔드 코스는 11월 중에는 출시가 될까요? 이것도 기존 구매자들에게 할인이 있을지 문의드립니다. 마지막으로, 제가 앱 개발(플러터)일만 하다가 -> 리액트+리액트 네이티브로 전환하는 과정에서, 현재 회사에서 외주를 주는 상황에서 -> 지그재그 같이 화면 width를 600px로 고정을 할 계획인데, 이 과정에서 디자인을 figma로 만들때, 어떤 식으로 전달을 해야되는지도 문의드립니다! 강의 내용중에 expo와 react native로 커버가 가능한 부분일지도 문의드립니다 ㅠㅠ https://inf.run/8p6wg 코드캠프
react node.js seo graphql next.js
성이름
2025-10-23T01:29:45.274Z
댓글 2
좋아요 0
조회수 141
미해결
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 https://drive.google.com/drive/folders/1lRO0fOAae3cWJUtuNK7L5atrGTgFFRWO?usp=drive_link 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다!
javascript react node.js 카카오공채-개발
hee011396
2025-10-22T10:09:32.979Z
댓글 3
좋아요 0
조회수 93
해결됨
한 입 크기로 잘라먹는 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';
react typescript next.js 카카오공채-개발
박총명
2025-10-22T05:12:57.610Z
댓글 2
좋아요 0
조회수 190
해결됨
[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
prompt 사용 횟수로 토큰 소진 되는 것인가요?
react next.js cursor 프롬프트엔지니어링 바이브코딩
ecj
2025-10-21T21:50:04.284Z
댓글 2
좋아요 1
조회수 156
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
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>
javascript react node.js 카카오공채-개발
vmvmxx
2025-10-21T17:43:11.944Z
댓글 2
좋아요 0
조회수 56
미해결
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 deduped npm 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 deduped npm 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 react-native 하이브리드-앱 typescript expo
인프러너
2025-10-21T06:30:12.619Z
댓글 1
좋아요 0
조회수 96
미해결
React Native with Expo: 제로초에게 제대로 배우기
.
react react-native 하이브리드-앱 typescript expo
이영훈
2025-10-21T05:40:04.207Z
댓글 2
좋아요 0
조회수 165
미해결
React Native with Expo: 제로초에게 제대로 배우기
.
react react-native 하이브리드-앱 typescript expo
이영훈
2025-10-21T03:51:30.096Z
댓글 2
좋아요 0
조회수 111
미해결
Next.js with Spring Boot
Run 실행을 할수가 없습니다. 어떻게 해야 할까요?
javascript react jpa next.js
더넓은세상
2025-10-20T15:18:11.722Z
댓글 3
좋아요 0
조회수 154
해결됨
[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
수업자료 파일 다운로드해서 압추해지를 하면 파일명이 다릅니다. ( 전 수업자료 파일명으로 ) 자료는 이상없으나 자료가 쌓일수록 좀 혼락스럽니다~
react next.js cursor 프롬프트엔지니어링 바이브코딩
hanbrang
2025-10-20T12:17:32.818Z
댓글 2
좋아요 0
조회수 90
해결됨
[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
1주차 미션 제출을 하려고 하는데 디자인이 구현된 파일을 올리라는건가요? 완성된 미리보기를 캡쳐해서 보내야 하는건가요? 어떻게 제출하는거죠?
react next.js cursor 프롬프트엔지니어링 바이브코딩
여치형
2025-10-19T16:20:00.058Z
댓글 2
좋아요 0
조회수 94
해결됨
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
좋은 강의 재미있게 잘 듣고 있어요! cursor-talk-to-figma-mcp 설정을 해서 실습까지 마쳤는데요. 커서나 피그마를 재시작하면 해당 플러그인의 채널이 바뀌어서 mcp 동작이 안하는거 같더라구요. 매번 프로젝트 시작할때마다 피그마 소켓을 실행하고 채널을 업데이트 해줘야하는걸까요?
flutter next.js cursor supabase 바이브코딩
헤이수
2025-10-19T14:15:12.166Z
댓글 2
좋아요 0
조회수 158
해결됨
[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
셀렉트박스 다크모드에서 사용할수있는 체크아이콘 파일이없습니다. 라이트모드에서는 check_outline_light_xs.svg를 사용하는데 다크모드에서는 사용할 아이콘이없어서 동일한 아이콘을 사용해 피그마에서는 체크아이콘이 하얀색인데 초록색으로 생성되는 문제가 있습니다.
react next.js cursor 프롬프트엔지니어링 바이브코딩
콜라중독
2025-10-19T10:31:19.814Z
댓글 2
좋아요 0
조회수 93
해결됨
[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 가 커서룰도 대충읽고 안지키고 그냥 대충 만드네요 ㅠㅠ 몇번 재검토 하니깐 룰 지켜서 만들어주네요
musful
2025-10-19T08:18:40.995Z
댓글 2
좋아요 1
조회수 185