묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Transform 적용시 슬래시가 //개로 표기 되는데 괜찮은걸까요?
응답에서 슬래시가 // 두개로 표기되고 슬래시// 두개가 포함된 image 값을 그대로 복사해서 웹에서 테스트했을때 이미지는 정상적으로 확인됩니다. //두개 표기되는게 문제있는건 아닌걸까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
VS코드 확장 질문
마우스 갖다올리면 정의 나오는 익스텐션이 어느건가요? 전 계속 loading...이라고만 나오네요 ㅠ.ㅠ
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
해결했습니다!
해결했습니다!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
안드로이드에서만 테마별 색상이 적용안되는 이유
안드로이드 기기에서, 테마에 해당하는 색상을 못읽는 에러가 발생합니다!!iOS 같은 경우는 정상적으로 다크모드가 잘 동작합니다!!! 어떤 부분이 문제인지 알고 싶습니다. https://github.com/dydals3440/MatZip
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
useEffect 의존성 배열 문제
해당 강좌 그대로 진행하다가, 의존성 배열 문제로 인해 무한 렌더링이 발생했습니다.강사님의 깃허브 코드를 바탕으로, 강좌와 다르게 전역 상태로 관리를 진행하여 해결을 하긴 했습니다.어떠한 문제로 인해, 무한 렌더링이 발생되고, 이럴 경우에 어떤 방식으로 접근해서 해결하는지에 대한 접근 방식에 대해 알고 싶습니다!!!web과 다르게 RN은 디버깅하기가 생각보다 쉽지않네요... ㅠㅠ
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
의존성 배열에 filterItems를 넣으면 무한렌더링이 발생합니다.
import {useEffect, useState} from 'react'; import {queryKeys, storageKeys} from '@/constants'; import type {Marker} from '@/types'; import {getEncryptedStorage, setEncryptedStorage} from '@/utils'; import queryClient from '@/api/query-client'; const initialFilters = { RED: true, YELLOW: true, GREEN: true, BLUE: true, PURPLE: true, '1': true, '2': true, '3': true, '4': true, '5': true, }; function useMarkerFilterStorage() { const [filterItems, setFilterItems] = useState<Record<string, boolean>>(initialFilters); const set = async (items: Record<string, boolean>) => { queryClient.invalidateQueries({ queryKey: [queryKeys.MARKER, queryKeys.GET_MARKERS], }); await setEncryptedStorage(storageKeys.MARKER_FILTER, items); setFilterItems(items); }; const transformFilteredMarker = (markers: Marker[]) => { return markers.filter(marker => { return ( filterItems[marker.color] === true && filterItems[String(marker.score)] === true ); }); }; useEffect(() => { (async () => { const storedData = (await getEncryptedStorage(storageKeys.MARKER_FILTER)) ?? initialFilters; setFilterItems(storedData); })(); }, [filterItems]); return {set, items: filterItems, transformFilteredMarker}; } export default useMarkerFilterStorage;의도대로 items의 값을 set으로 변경하면 필터링이 정상적으로 동작하지만 무한렌더링이 발생합니다.무한 렌더링을 막기 위해 의존성 배열을 지우고 쿼리키를 무효화하는 방법등 많은 시도를 해봤지만 제대로 동작하지 않네요. 혹시 현재 진행된 강의에서 무한 렌더링을 해결할 수 있는 방법이 있을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Part 1
Part1 수강중인데 혹시 이까지만 해도 초기에 나온 로드맵을 다 다루게 되는건가요? Part1은 어느 범위까지를 다루게 되는건지요 @.@?
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
react-native-date-picker darkmode 적용 관련 공유
다크모드를 어떻게 적용시킬까 고민하다가, 찾아보니 theme이라는 프로퍼티를 사용해서 아래와 같이 코드를 작성하면 다크모드가 적용이 됩니다!! import {colors} from '@/constants'; import useThemeStore from '@/store/useThemeStore'; import {ThemeMode} from '@/types/common'; import React from 'react'; import { StyleSheet, View, Modal, SafeAreaView, Pressable, Text, } from 'react-native'; import DatePicker from 'react-native-date-picker'; interface DatePickerOptionProps { isVisible: boolean; date: Date; onChangeDate: (date: Date) => void; onConfirmDate: () => void; } const DatePickerOption = ({ isVisible, date, onChangeDate, onConfirmDate, }: DatePickerOptionProps) => { const {theme} = useThemeStore(); const styles = styling(theme); return ( <Modal visible={isVisible} transparent animationType="slide"> <SafeAreaView style={styles.optionBackground}> <View style={styles.optionContainer}> <View style={styles.pickerContainer}> <DatePicker mode="date" date={date} onDateChange={onChangeDate} locale="ko" theme={theme === 'dark' ? 'dark' : 'light'} /> </View> </View> <View style={styles.optionContainer}> <Pressable style={styles.optionButton} onPress={onConfirmDate}> <Text style={styles.optionText}>확인</Text> </Pressable> </View> </SafeAreaView> </Modal> ); }; const styling = (theme: ThemeMode) => StyleSheet.create({ pickerContainer: { alignItems: 'center', }, optionBackground: { flex: 1, justifyContent: 'flex-end', backgroundColor: 'rgba(0, 0, 0 / 0.5)', }, optionContainer: { borderRadius: 15, marginHorizontal: 10, marginBottom: 10, backgroundColor: colors[theme].GRAY_100, overflow: 'hidden', }, optionButton: { flexDirection: 'row', alignItems: 'center', justifyContent: 'center', height: 50, gap: 5, }, optionText: { color: colors[theme].BLUE_500, fontSize: 17, fontWeight: '500', }, }); export default DatePickerOption;
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
혹시 이거 Mysql로 바꾸려면 어떻게 해야되나요?
혹시 이거 Mysql로 바꾸려면 어떻게 해야되나요?바꿀부분 다 바꿨는데 [Nest] 61395 - 05/16/2024, 6:50:32 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (6)...Error: Access denied for user ''@'localhost' (using password: YES) at Packet.asError (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/packets/packet.js:728:17) at ClientHandshake.execute (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/commands/command.js:29:26) at PoolConnection.handlePacket (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/connection.js:481:34) at PacketParser.onPacket (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/connection.js:97:12) at PacketParser.executeStart (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/Users/eunsukkim/nestjs-lv1-main/nestjs-lv1-main/node_modules/mysql2/lib/connection.js:104:25) 이런 오류가 나네요. env // // 서버 프로토콜 -> http / https// export const ENV_PROTOCOL_KEY = 'PROTOCOL';// // 서버 호스트 -> localhost:3000// export const ENV_HOST_KEY = 'HOST';// // JWT 토큰 시크릿 -> codefactory// export const ENV_JWT_SECRET_KEY = 'JWT_SECRET';// // JWT 토큰 해시 라운드 수 -> 10// export const ENV_HASH_ROUNDS_KEY = 'HASH_ROUNDS';// // 데이터베이스 호스트 -> localhost// export const ENV_DB_HOST_KEY = 'DB_HOST';// // 데이터베이스 포트 -> 5432// export const ENV_DB_PORT_KEY = 'DB_PORT';// // 데이터베이스 사용자 이름 -> postgres// export const ENV_DB_USERNAME_KEY = 'DB_USERNAME';// // 데이터베이스 사용자 비밀번호 -> postgres// export const ENV_DB_PASSWORD_KEY = 'DB_PASSWORD';// // 데이터베이스 이름// export const ENV_DB_DATABASE_KEY = 'DB_DATABASE';//// 서버 프로토콜 -> http / httpsexport const ENV_PROTOCOL_KEY = 'PROTOCOL';// 서버 호스트 -> localhost:3000export const ENV_HOST_KEY = 'HOST';// JWT 토큰 시크릿 -> codefactoryexport const ENV_JWT_SECRET_KEY = 'JWT_SECRET';// JWT 토큰 해시 라운드 수 -> 10export const ENV_HASH_ROUNDS_KEY = 'HASH_ROUNDS';// 데이터베이스 호스트 -> localhostexport const ENV_DB_HOST_KEY = 'localhost';// 데이터베이스 포트 -> 5432export const ENV_DB_PORT_KEY = '3306';// 데이터베이스 사용자 이름 -> postgresexport const ENV_DB_USERNAME_KEY = 'root';// 데이터베이스 사용자 비밀번호 -> postgresexport const ENV_DB_PASSWORD_KEY = 'root';// 데이터베이스 이름export const ENV_DB_DATABASE_KEY = 'bigproject'; 이런식으로 다 바꿨는데요
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
최근 DatePicker의 textColor prop이 제거되었고, theme 사용이 권장됩니다.
버그나 에러 질문은 아니구요! react native date picker 패키지를 이용해 DatePicker를 구현하는 단계있는데요,textColor prop을 타이핑할 때 자동완성이 안되어 찾아보니 올해 3월 23일에 릴리즈한 5.0.0에서 제거되었네요. https://github.com/henninghall/react-native-date-picker/releases/tag/5.0.0대신 theme을 사용하라고 하는데, 기본값인 auto를 쓰거나 혹은 light로 설정하면 강의와 같이 text가 검은색으로 잘 나옵니다.강의 들으시다가 저처럼 띠용하시는 분 계실까봐 참고차 남겨놓습니다! 좋은 강의 감사드립니다!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
로그인 연동하기 실패
강사님! 저의 문제점이 다른 질문자들의 내용과 같은 상황이라 질문과 답변 내용을 참고하여 오류를 찾아보았는데 여전히 회원가입과 로그인버튼이 제대로 동작하지 않습니다. 서버도 켜놓았고 로그를 출력했으때 data값이 출력은 됩니다. 코드 확인 해주실수 있을까요? 한참 찾아보는데 문제가 어떤건지 못찾고있습니다.https://github.com/happyssun/FoodsMap
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
애플 로그인 관련 질문입니다.
계정 버튼을 누르고 클릭했을 떄, 강사님 처럼 인증서 부분이 뜨지 않는데, 멤버십을 구입해야지 가능한것일까요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션 24 - Cursor Pagination 적용하기 오류 메시지 문의
안녕하세요 강의를 여러차례 돌려보아도 문제점을 찾지못해서 질문 드립니다.. 1) 강의시점 섹션 24 - Cursor Pagination 적용하기 2) 오류메시지 포스트맨 : { "statusCode": 500, "message": "Internal server error" }VScode : Property "createdAt" was not found in "PostsModel". Make sure your query is correct. 이전 강의까지는 테스트시 강의영상과 동일하게 결과값이 나왔었는데 일반화하는 과정에서 작성에 문제가 있었는것 같습니다.. 위 와 같은 에러메시지는 어디를 체크해보는것이 좋을까요?
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
pgadmin 서버 생성 에러
pgAdmin 서버 생성이 아래 첨부한 이미지에서 나오는 에러메세지가 나오면서 되지 않아요..whoami 를 입력하면 나오는 USER를 Username으로 설정하고 비밀번호를 postgres 로하면 아래와 같은 에러가 발생하고username 을 postgres 로 하고 비밀번호를 postgreSQL을 처음 받을때 제가 설정한 슈퍼유저 비밀번호로 하면 생성이 됩니다..window 운영체제에서 진행하고 있습니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
강의 영상이 나오지 않습니다
강의가 음성만 재생이 되고 영상이 재생되지 않네요다른 강의들은 영상과 음성 모두 재생되는데 이 강의만 재생이 되지 않아요
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
카카오 주소 검색 기능 401 에러
LOG a {"latitude": 37.550165, "longitude": 127.12752} LOG [AxiosError: Request failed with status code 401강의영상 잘 따라하고, REST API KEY까지 제대로 입력했는데, 위와 같은 에러가 발생합니다.import React from 'react'; import {StyleSheet, TextInput, TextInputProps, View} from 'react-native'; import Ionicons from 'react-native-vector-icons/Ionicons'; import {colors} from '@/constants'; interface SearchInputProps extends TextInputProps { onSubmit: () => void; } function SearchInput({onSubmit, ...props}: SearchInputProps) { return ( <View style={styles.container}> <TextInput style={styles.input} autoCapitalize="none" placeholderTextColor={colors.GRAY_500} returnKeyType="search" onSubmitEditing={onSubmit} clearButtonMode="while-editing" {...props} /> <Ionicons name={'search'} color={colors.GRAY_700} size={20} onPress={onSubmit} /> </View> ); } const styles = StyleSheet.create({ container: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', borderWidth: 1, borderColor: colors.GRAY_200, paddingVertical: 8, paddingHorizontal: 10, borderRadius: 5, }, input: { flex: 1, fontSize: 16, paddingVertical: 0, paddingLeft: 0, color: colors.BLACK, }, }); export default SearchInput; import axios from 'axios'; import {useEffect, useState} from 'react'; import Config from 'react-native-config'; import {LatLng} from 'react-native-maps'; type Meta = { total_count: number; pageable_count: number; is_end: boolean; same_name: { region: string[]; keyword: string; selected_region: string; }; }; export type RegionInfo = { address_name: string; category_group_code: string; category_group_name: string; category_name: string; distance: string; id: string; phone: string; place_name: string; place_url: string; road_address_name: string; x: string; y: string; }; type RegionResponse = { meta: Meta; documents: RegionInfo[]; }; function useSearchLocation(keyword: string, location: LatLng) { const [regionInfo, setRegionInfo] = useState<RegionInfo[]>([]); const [pageParam, setPageParam] = useState(1); console.log(keyword, location); useEffect(() => { (async () => { try { const {data} = await axios.get( `https://dapi.kakao.com/v2/local/search/address.json?query=${keyword}&y=${location.latitude}&x=${location.longitude}&page=${pageParam}`, { headers: { Authorization: `KakaoAK ${Config.KAKAO_REST_API_KEY}`, }, }, ); console.log('data', data); } catch (error) { console.log(error); } })(); }, [keyword, location]); return {regionInfo}; } export default useSearchLocation; GOOGLE_API_KEY=키내용들 KAKAO_REST_API_KEY=키내용들 어떤 부분이 잘못되어서 401 에러가 발생하는지 알고싶습니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
캐싱관련 질문있습니다.
❗질문 작성시 꼭 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요!안녕하세요 저는 현재 웹으로 다른걸 개발하고 있는데, react-query로 auth를 개발하신거 참고하려고 강의내용을 따라가던중 버그같은게 있어서 질문드립니다. 저는isLoggedIn 상태를 이런식으로 설정해보았는데요.const isLoggedIn = refreshTokenQuery.isSuccess; 예를 들어 제가 프로필 페이지에 있는데isLoggedIn ? 개인프로필 내용 보여주기 : 로그인 버튼만 보여주기인데요.저는 로그인을 oauth 로그인만 구현해둔 상태입니다(google,kakao,naver)예를들어 제 프로필페이지 isLoggedIn가 false인 상태이니 "로그인하세요" 버튼이 보일 것이고 클릭하면 bottom sheet로 올라오고 카카오 로그인 버튼을 누르면 카카오의 약관동의화면이나 아이디,비밀번호입력하는 페이지가 렌더링되겠죠그 페이지에서 브라우저 뒤로가기버튼을 클릭하여 다시 프로필페이지로 이동하면 useGetRefreshToken을 타면서 getAccessToken함수가 호출되고 디스크 캐시로 부터 받아온 data를 가져와 isSuccess 상태가 되어버리면서 isLoggedIn은 true인 상태가 되어버리고 프로필페이지 접근 인가가 되어버립니다.구글링해보니 백포워드 캐시때문에 그렇다고 하는데, 해결방안이 GetAccessToken api header에 Cache-control:no-store옵션을 주면 cache를 거부하게 만드는 방법이 있더라구요.(근데 저같은경우는 이런 옵션을 주면 getAccessToken api가 호출이 안되더라구요..) 근데 의문점은 로그아웃하면서 'auth'에 해당하는 캐싱된 쿼리들을 무효화 시켰을텐데 캐싱된 데이터를 가져온다는게 좀 이해가 안됩니다. queryclient.removequeries 도 안되더라구요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
백엔드와 프론트엔드 연동 질문
이전 수업의 마지막 부분에서 백엔드를 프론트에 연결하여서 결제를 하였음에도 불구하고, db에 데이터가 쌓이지 않습니다.그래프ql을 통해 백엔드 자체적으로 데이터를 보냈을 때는 정상적으로 db에 데이터가 들어가는것을 보면, 백엔드쪽 문제는 아닌거 같고 프론트와 연동할 때 무슨 문제가 있는거 같은데 에러 메시지가 나오는것도 아니고, 결제 완료라는 알림은 뜨지만 데이터가 들어가지 않으니 해결이 난해한 상황입니다.코드를 두번 세번 확인해보아도 선생님의 코드와 다를 것이 없고, 저 또한 문제를 모르겠는데 혹시 이러한 경우의 해결을 알고 계실가요? ㅜㅜ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
저장과 파일간의 연동
안녕하세요. 강의를 듣다가 원래 이런건가 하고 넘어갔던 이상한 부분이 있었는데, 방금 이건 좀 아닌것같다는 생각이 들어서 질문드립니다.코팩님은 여러 파일을 수정하실때 마지막에만 저장하시는 것 같은데, 저는 파일 여러개를 수정하고 마지막 파일에서만 저장버튼을 누르면 서버 실행이 되지않습니다. 그래서 수정했던 모든 파일로 가서 커멘드s 를 눌러줘야 서버 실행이 잘 됩니다ㅠ 그리고 가끔 rename을 할때도 파일간 연동이 잘 안되는지, 각각 파일에 직접 가서 rename을 해줘야 합니다. 혹시 이유를 알고 계실까요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
방향 좀 잡아주세요.
강좌 잘 듣고 있습니다.프로젝트를 진행하면서 듣고 있는거라서 부분적으로 보고 있는데.. 궁금한게 있어서 적어봅니다. nest.sj + graphQL + prisma로 현재 구축을 하고 있는데.. 이 경우 controller보다 resolver를 사용하면 된다고 해서, controller없이 작업중입니다.이게 맞는지 궁금합니다. 문서랑 강의를 보고 이해를 하고 작업중이기는 한데, 확신이 없어서요.. ^^; 프론트엔드와는 graphql로 정보를 주고 받으려고 했는데.. 외부 업체와의 연동 때문에 REST API도 필요하게 되었습니다. 그래서 graphql을 rest api로 노출하기 위해서 swagger를 사용하고 있는데..여기 접근시 인증이나 이런게 필요 할까요?? 인증을 jwt로 해서 인증후 api에 접근하게만 해 주면 되는지 아니면 다른 방식으로 인증을 하는게 나은지.. 어떤 방법으로 구축을 해야 할지 확신이 없어서요.. 아.. 그리고 GraphQLSchemaHost를 사용하면 graphQL이 rest api로 제대로 출력이 되는지도 궁금합니다.잘 된다.. 아니면 좀 이상하게 출력되는 경우가 많다.. 정도의 답변만으로도 감사하겠습니다.. ㅡ.ㅜ; 아직 초반이기는 한데, 방향 좀 짚어주시면 감사하겠습니다..그럼 디테일한 삽질은 강의 참조해서 제가 하겠습니다.. ㅎㅎ