묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
서버 가동 중 오류가 납니다.
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: 제로초에게 제대로 배우기
앱이 꺼져있을 때 푸시 알림 질문
제로초님 안녕하세요 추가적으로 질문이 있습니다.앱이 완전히 종료된 상태에서 푸시 알림을 보내려면, 백엔드단에서 직접 push 알림을 전송하는 방법밖에는 없을까요??예를 들어 각 유저마다 존재하는 작업량 분석 데이터가 변경됐을때 푸시 알림을 보낸다고 하면, 앱이 완전히 꺼져있는 상태에서는 프론트단에서는 해당 이벤트를 감지할 방법이 떠오르지 않는데, 제 생각이 맞는건지 궁금합니다..!!
-
미해결React Native with Expo: 제로초에게 제대로 배우기
ios push key
제로초님 안녕하세요 IOS 푸시 알림을 위해 확인해보니 eas 대시보드의 Credentials탭에 아직 push key가 존재하지 않아서eas credentials -p ios -> production -> Push Notifications: Manage your Apple Push Notifications Key -> Set up your project to use Push Notifications -> Generate a new Apple Push Notifications service key? Yes 를 통해 생성하고 Credentials에서 생성된 거 까지 확인했습니다. eas build 한달 15번 빌드 횟수를 차감시키지 않기 위해서 XCode에서 직접 development build하려고하는데, 로컬에서 빌드 시에 push key가 적용되게 하려면 어떻게 해야될까요..??
-
미해결Next.js 15: Full-Stack Development
서버 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: 제로초에게 제대로 배우기
안드로이드 애니메이션 관련 질문
// app.config.ts const config: ExpoConfig = { .... android: { adaptiveIcon: { backgroundColor: '#000000', foregroundImage: './src/assets/images/aline-black.png', }, ... }, splash: { image: './src/assets/images/aline-black.png', imageWidth: 200, resizeMode: 'contain', backgroundColor: '#000000', }, plugins: [ [ 'expo-splash-screen', { image: './src/assets/images/aline-black.png', imageWidth: 200, resizeMode: 'contain', backgroundColor: '#000000', }, ], ... ] }프로덕션 빌드된 앱에서 테스트 해보니까 애니메이션 이미지를 원형으로 지정하지 않았는데도,안드로이드에서는 첫번째 사진처럼 원형으로 보이다가 제가 지정한 이미지인 두번째 사진으로 넘어가고 나서 스플래쉬가 사라지는데, 원형으로 나오는 이 기본 동작을 막을 방법이 없을까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
안드로이드 공개 테스트 앱 관련 질문
제로초님 안녕하세요! 질문이 많네요 위 사진과 같이 공개 테스트 앱을 출시 완료했고, 기기 카탈로그에서도 제가 테스트하는 안드로이드 기기가 지원됨을 확인했습니다. 그런데 Android에서 참여, 웹에서 참여 링크 두개다 접속하면,구글 플레이 스토어 앱이 열리면서 위 사진과 같이 "항목을 찾을 수 없습니다." 라는 메시지만 나오고 앱을 다운로드 할 수 없는 상황입니다 ㅠ해결방법을 아신다면 알려주시면 감사하겠습니다!
-
해결됨[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
코드캠프 백앤드 답변이 안달려서 여기 남깁니다.
안녕하세요~백앤드 소스 코드 요청 드립니다.[부트캠프에서 만든 고농축 백엔드 코스] 메일로도 요청드리고,코드캠프 백앤드 게시판에도요청드렸는데,답변이 안달려서여기 한번더 남깁니다. 부분적으로필요한 부분만 수강하고 싶은데,앞부분을 수강하지 않으면수강하기 곤란한 부분이 있어서소스코드좀 보내주시면 감사하겠습니다~sunshinew@naver.com
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
DBeaver와 supabase connection
host, port, username, password 다 제대로 적었는데, test connection을 하려고 하면"no route to host"라고 뜹니다.구글링 해봐도 해결이 안되네요.이런 오류가 뜰 때는 보통 어떻게 해결하나요??
-
미해결React Native with Expo: 제로초에게 제대로 배우기
TextInput secureTextEntry 문제
"expo": "54.0.13", "react-native": "0.81.4", "react": "19.1.0", "react-dom": "19.1.0",const Input = ({ ... secureTextEntry, }: InputProps) => { return ( <> <View className="relative"> <TextInput ... secureTextEntry={secureTextEntry} /> {passwordShowButton && passwordShowButton} </View> ... </> ); }; export default Input; 안녕하세요 제로초님. 현재 앱 배포를 위해 구글 플레이 콘솔에 앱을 제출하고 공개 테스트를 통해 실제 기기에서 테스트해보는 중입니다. 안드로이드 휴대폰을 쓰는 직원분께서 버그를 제보하셨는데, 로그인 form 비밀번호 input에서 비밀번호 가림 상태일 때만(TextInput의 secureTextEntry 가 true 일 때) 점이 표시되지 않고 공백을 입력한 것처럼 아무것도 표시되지 않는 현상이 발생합니다. 비밀번호 표시 상태에서는 텍스트가 정상적으로 보입니다.eas 빌드 제한때문에 로컬에서 직접 ./gradlew app:bundleRelease을 통해서 .aab 파일로 빌드해서 구글 플레이 콘솔에 제출했습니다. 테스트를 위해 pixel7 애뮬레이터 환경에서 ./gradlew assembleRelease 빌드로 .apk 파일을 생성하고 테스트해봤을때는 비밀번호 가림 상태에서도 정상적으로 점으로 표시가 됩니다. 혹시 어떤 문제인지 아신다면 도움 부탁드립니다ㅠ!!
-
해결됨[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
룰 간 충돌 분석
공통 컴포넌트 부분의 프롬프트를 실행하던 중에 궁금한 점이 있어요. 아래와 같이 실행을 했는데, 1) input 버튼을 만들기 위해 파일 실행 - commons/components/input/prompts/prompt.101.ui.txt 2) 아래와 같은 답변이 나옴 (Claude-4.5-sonnet thinking model 사용):🤔 룰 간 충돌 분석prompt.101.ui.txt: variant 시스템 구현 요구03-ui.mdc: 피그마 디자인 그대로만 구현하라고 요구피그마 실제: 단일 Input만 존재 그리고 저 또한, AI가 돌린 코드를 분석하고 룰 재검토 및 실행을 몇 번 반복하는 과정에서 실질적으로 문제가 있을 수 있다고 보였어요. 1) Case 1처음에 Button 컴포넌트를 위해서 프롬프트를 실행했을 때는 prompt.101.ui.txt의"다음 조건을 모두 만족하는 완전한 variant 시스템을 구현할 것." 이 조건을 만족하기 위해서 노드ID 제공했는데도 불구하고, 계속해서 피그마의 모든 button을 다 찾아서 사이즈를 가져오는 것을 볼 수 있었습니다. 2) Case 2그 다음에 Input 컴포넌트를 위해서 프롬프트를 실행했을 때는 03-ui.mdc 의 "피그마 링크가 제공되면, 모든 사이즈는 제공된 피그마와 동일하게 처리할 것" 이라는 룰을 검토하는 과정에서 문제가 있었습니다. 이 조건 때문에 반응형 웹은 고려하지 못하고 width를 진짜 있는 그대로 갖고 와서 상수로 넣어버리고, 유연성이 전혀 없게 만들었습니다. 몇 번 룰을 재검토하라고 시키고 원하는 코드와 비슷하게 만들긴 했지만, 혹시 이런 경우에 대한 해결 방법이 있을까요?