묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
카카오 로그인 관련 Webview 질문드립니다.
안녕하세요. Webview 관련해서 다시 질문드립니다. import axios from 'axios'; import React, {useState} from 'react'; import { ActivityIndicator, Dimensions, Platform, StyleSheet, Text, View, } from 'react-native'; import {SafeAreaView} from 'react-native-safe-area-context'; import WebView, { WebViewMessageEvent, WebViewNavigation, } from 'react-native-webview'; import useAuth from '../../hooks/queries/useAuth'; import Config from 'react-native-config'; import {authNavigations, colors} from '../../constants'; import {AuthStackParamList} from '../../navigations/stack/AuthStackNavigator'; import {NativeStackScreenProps} from '@react-navigation/native-stack'; const REDIRECT_URI = `{배포된 SERVER의 REDIRECT URI}` type AuthHomeScreenProps = NativeStackScreenProps<AuthStackParamList>; function KakaoLoginScreen({navigation}: AuthHomeScreenProps) { const {kakoLoginMutation} = useAuth(); const [isLoading, setIsLoading] = useState(false); const [isChangeNavigate, setIsChangeNavigate] = useState(true); const handleOnMessage = (event: WebViewMessageEvent) => { if (event.nativeEvent.url.includes(`${REDIRECT_URI}?code=`)) { const code = event.nativeEvent.url.replace(`${REDIRECT_URI}?code=`, ''); requestToken(code); // navigation.navigate(authNavigations.MAINBOTTOMTABNAVIGATOR, {code}); navigation.navigate(authNavigations.MAINBOTTOMTABNAVIGATOR); } }; const requestToken = async (code: string) => { const response = await axios({ method: 'post', url: 'https://kauth.kakao.com/oauth/token', params: { grant_type: 'authorization_code', client_id: Config.KAKAO_REST_API_KEY, redirect_uri: REDIRECT_URI, code, }, }); console.log('response.data', response.data); kakoLoginMutation.mutate(response.data.access_token); }; // 로딩 처리 const handleNavigationChangeState = (event: WebViewNavigation) => { const isMatched = event.url.includes(`${REDIRECT_URI}?code=`); setIsLoading(isMatched); setIsChangeNavigate(event.loading); }; return ( <SafeAreaView style={styles.container}> {(isLoading || isChangeNavigate) && ( <View style={styles.kakaoLoadingContainer}> <ActivityIndicator size={'small'} color={colors.BLACK} /> </View> )} <WebView source={{ uri: `https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=${Config.KAKAO_REST_API_KEY}&redirect_uri=${REDIRECT_URI}`, }} onMessage={handleOnMessage} injectedJavaScript={"window.ReactNativeWebView.postMessage('')"} onNavigationStationChange={handleNavigationChangeState} /> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, }, kakaoLoadingContainer: { backgroundColor: colors.WHITE, height: Dimensions.get('window').height, alignItems: 'center', justifyContent: 'center', }, }); export default KakaoLoginScreen; 위와 같은 KakaologinScreen.tsx 코드에서 Webview 내의 source 부분에 RESTFULAPI_KEY 부분과 REDIRECT_URI를 넣고 강의에서처럼 카카오 로그인을 시도하였는데, 카카오 로그인 창이 뜨지 않고 계속 로딩 중인 상태입니다. 그래서 Webview 컴포넌트 source부분의 uri를 따로 때어서 웹 페이지에서 접속을 해보았는대로 아이디/비밀번호 입력창이 뜨지 않고 하얀색 공백창만 뜨는 상태입니다. 이와 같은 경우, 배보된 서버의 REDIRECT_URI의 문제인가요? 아니면 다른 부분에서 문제가 발생하는지 질문 드립니다. ❗질문 작성시 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
code ~/.zshrc 오류
안녕하세요 강사님진행 과정에 아래 2가지 문제가 있어서 문의드립니다구글 검색해서 해결하려고 했는데 점점 더 꼬여가네요..명령어 실행 과정 이미지 첨부드립니다감사합니다 1) code ~/.zshrc, code ~/.bash_profile 명령어 실행 시 오류2) 터미널 재실행 시 python이 자동으로 실행되는 오류
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
현직 백엔드 개발자입니다
항상 백엔드 관련 인강만 구매했었는데취미가 필요해서 구매한 첫 프론트 인강입니다.벌써부터 신나네요답변 빠르다는 소문 듣고 왔습니다잘부탁드릴게요
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
ios. 재빌드후 icon 문제
빌드 에러가 나서 cd ios rm -rf Podfile.lock Podscd .. npx pod-install ios 처리후 다시 yarn ios 로 실행을 했는데요 그이후 a 로 안드로이드도실행했구요 이후에 ios 에서 icon이 나오지않는 문제가 생겼습니다. 그전에는 정상적으로 icon이 나왔었거든요 ios info.plist에도 해당 ttf 다 잘 들어있고 재빌드전까진 icon이 잘 나왔는데 어디를 살펴봐야할지 조언을 구합니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
yarn start 문제
안녕하세요 강사님 강의 잘 듣고 있습니다.다름이 아니라 yarn start + i 를 누르면 xcode가 자동 실행돼서 에뮬레이터가 잘 보이지만 yarn start + a를 실행하면 이미지와 같은 에러가 발생하네요.안드로이드 스튜디오를 실행하고 device manager에서 device run 하면 에러가 발생하진 않아요. 하지만 수동으로 계속 켜야하는 번거로움이 있네요..ㅠ 안드로이드 스튜디오도 xcode처럼 yarn start + a를 하면 자동으로 실행될 수 있도록 하는 방법이 있을까요?
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
소스코드 파일 질문
안녕하세요.강의에 쓰시는 이미지 파일 등을 가져오기 위해 소스코드 수업 자료를 다운받았는데 서버쪽 파일만 있는것 같습니다. 프론트엔드쪽 소스나 assets폴더에 있는 파일을 다운받으려면 어떻게 해야하는지 말씀 주시면 감사하겠습니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
회원가입시 QueryFailedError 에러
회원가입시 이러한 에러가 계속 발생합니다. console.log로test@test.com qwer1234 email, password는 들어가는것도 확인했고 auth/signup error를 catch했을땐 409code로 에러가 들어왔습니다.무엇이 문제일까요...?중복이 문제인가 싶어 다른 여러 아이디로도 해봤는데 계속해서 저러한 에러가 뜨면서 실패하고있습니다ㅜㅜ QueryFailedError: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { query: 'INSERT INTO "user"("loginType", "email", "password", "nickname", "imageUri", "kakaoImageUri", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt", "hashedRefreshToken") VALUES ($1, $2, $3, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT) RETURNING "id", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt"', parameters: [ 'email', 'test@test.com', '$2a$10$hlFtQkbll6R0pJNkTywGh.DaRGVm1uhu9DJm9c.Q0OeduuMRzdNyK' ], driverError: error: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/pg/lib/client.js:526:17 at processTicksAndRejections (node:internal/process/task_queues:95:5) at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:260:25) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }, length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' } QueryFailedError: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { query: 'INSERT INTO "user"("loginType", "email", "password", "nickname", "imageUri", "kakaoImageUri", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt", "hashedRefreshToken") VALUES ($1, $2, $3, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT) RETURNING "id", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt"', parameters: [ 'email', 'test@test.com', '$2a$10$DfBqqh82WjRRFN5Fj2zJu.RiqJzzJCD4vR5xA1.y2zRxaAol0pP6W' ], driverError: error: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/pg/lib/client.js:526:17 at processTicksAndRejections (node:internal/process/task_queues:95:5) at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:260:25) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }, length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
staleTime과 invalidateQueries
안녕하세요 선생님!우선 좋은 강의 감사합니다. 다름이 아니라 앱 강의를 보고 공부를 하던 중에 react-query에 대해 궁금한 점이 있어서 질문드립니다. 게시글을 작성할 때 invalidateQuries를 이용해서 특정 달에 작성한 게시물 리스트를 조회해오는 캐시 데이터를 무효화 시켰습니다. 강의를 들을 때는 "아! 그렇구나~" 하고 지나갔던 부분인데staleTime의 기본 값이 0이라는 사실을 알고 의문이 생겼습니다. reactQuery에서 staleTime을 지정하지 않으면 기본값 0이 적용되며 이는 데이터를 들고오자 마자 해당 데이터가 stale 상태로 변경된다는 것을 의미한다고 합니다. 그래서 무효화 쿼리가 없어도, staleTime의 값이 0이기 때문에, 캘린더 화면에 들어갔을 때는 새로 저장한 게시물에 대한 정보가 보여야 할 것으로 생각되는데, 생각과 다르게 invalidateQuery를 사용해야 하는 이유에 대해서 알 수 있을까요? 감사합니다!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
draw적용 후 텍스트 문제 발생
맥으로 진행하고 있습니다.draw 수업을 진행하면서 에러가 나서 수업내용대로 바벨안에 플러그인 넣고 캐시 삭제 후 재실행했는데 이런 문제가 발생하네요. <Text>문제가 왜 갑자기 생겼는지 모르겠습니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
[1-5] ruby 버전 문제
export PATH=$HOME/.rbenv/shims:$PATH eval "$(rbenv init - zsh)"M1 맥북을 사용 중인데, zshrc 파일에 Ruby 버전을 변경하는 코드를 추가했지만 정상적으로 작동하지 않아 인텔 맥에서 사용하는 환경 변수 코드를 사용하니 버전이 변경되었습니다.그러나 버전이 변경되었다고 해도 프로젝트를 생성할 때 환경 설정 문제가 발생합니다.
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
Hot reload 오류 문의 드립니다.
안녕하세요강사님은 코드 수정 후 브라우저에서 바로바로 확인이 되는 것 같은데 저는 코드를 수정할 때 마다 아래의 오류가 발생해서 매번 다시 yarn dev를 해줘야 수정한 내역이 확인이 되다 보니 강의를 따라 진행 하는대 집중이 되질 않네요. 혹시 아래의 에러가 발생 되지 않게 하는 방법이 있는 것인지 문의 드립니다.감사합니다.수고하세요.===================================================================⨯ [Error: UNKNOWN: unknown error, open 'D:\study\react\workspace\yt-music-clone-next\.next\static\chunks\app\layout.js'] {errno: -4094,code: 'UNKNOWN',syscall: 'open',path: 'D:\\study\\react\\workspace\\yt-music-clone-next\\.next\\static\\chunks\\app\\layout.js'===================================================================
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
멀티 선택 단축키
2분 50초쯤에서 멀티선택 하는 방법 알려주시면 감사하겠습니다!!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
현재위치 문제
현재위치 강의를 보고 이렇게 강의 처럼 서울에 뜨긴하는데 왜 서울로 뜨는건가요?? 저는 서울의 거주중이 아닌데..
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
drawer를 적용하고 나서 오류가 뜹니다...
ERROR Error: [Reanimated] Failed to create a worklet. See https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#failed-to-create-a-worklet for more details., js engine: hermes at DrawerViewBase (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=com.matzip&modulesOnly=false&runModule=true:167363:22) at RNGestureHandlerRootView at GestureHandlerRootView (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=com.matzip&modulesOnly=false&runModule=true:164680:21) at RNCSafeAreaProvider at SafeAreaProvider (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=com.matzip&modulesOnly=false&runModule=true:134394:24).....이러한 오류가 계속 뜨네요 해결방법을 혹시 알고계신지요ㅠ
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
회원가입 버튼을 눌러도 로그는 들어오는데 반응이 없어서요
어디서 에러를 살펴볼수있을까요? DB에도 들어가질 않습니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
[8-2] 카카오 로그인 구현하기 with WebVIew
안녕하세요.강의를 들으면서 카카오 로그인부터 부분부터 구현하고 있는 수강생입니다. 카카오 로그인을 진행하는데 ID와 PW를 입력하고 들어가면 Admin Settings Issue (KOE101)이라는 에러 창이 나타납니다. 해당 에러는 확인해 보면 'App Key'를 잘못 등록했을 때 발생하는 것이라고 확인하고 다시 확인해 봤지만 계속 같은 에러만 발생하는 상황입니다. 해결 방법 질문 드립니다.ㅠㅠ
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
[3-8] React Query 도입(2) - 로그인 연동하기
[3-8] React Query 도입(2) - 로그인 연동하기 아침에도 질문올리고 또 올리네요 ㅠ거의 하루종일 이 부분 학습하고 회원가입 로그인 했는데어떠한 오류도 없고 회원가입, 로그인이 안되서 질문 남깁니다.강의 파일 비교해봐도 특별히 오타가 없는거 같은데요혹시 깃주소 올리면 봐주시나요?
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
[3-7] 백엔드 서버 실행하기 에서 에러로 폴더 생성이 안되는경우
[3-7] 백엔드 서버 실행하기 에서 에러로 폴더 생성이 안되는경우 인데요unable to connect to server : connection timeout expired 이렇게 뜨고 폴더 생성이 안되는데요기존 설치되었던 pgAdmin이 이상이 있나싶어 다시 설치하려고 하는데요어떤걸 설치해야할지 모르겠습니다.저는 윈도우 86-64인데요 버전이 너무 많아서요수업 잘 듣고 있는데 여기서 막히네요 ㅠㅠ 터미널에서 서버를 실행하니src/image/image.controller.ts:14:25 - error TS2307: Cannot find module 'src/@common/constants' or its corresponding type declarations.14 import { numbers } from 'src/@common/constants';~~~~~~~~~~~~~~~~~~~~~~~Found 1 error(s).이런 오류가 뜨네요 어떻게 해야할까요? 깃파일에 오타가 있습니다
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
ios 실행 이후 ➜ explicit dependency.. 뜨고 멈추는 경우 해결책 공유합니다.
xcode 15.3node 21.1.0프로젝트를 latest로 설치하면 문제가 없는데, 강의와 일치시키려고 0.72.6으로 설치하면 https://github.com/facebook/react-native/issues/39743위와 같은 에러가 발생했습니다.---xcode에서 직접 빌드 시키니, flipperKit에서 에러가 발생했습니다.---이럴 경우 해결 방법입니다.https://github.com/facebook/react-native/issues/43335저처럼 시간 쏟는 분들이 계실까봐 공유합니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
사용하시는 vscode 테마가 무엇이죠?
사용하시는 vscode 테마가 무엇이죠?