이슈 React Native 프로젝트 생성 시 CocoaPods 오류 sudo gem uninstall cocoapods 실행 시 cocoapods 설치 안됐다는 메시지 확인 그래서 sudo gem install cocoapods, gem install cocoapods 명령어를 통해 cocoapods 수차례 재설치 및 관련 패키지 (drb, activesupport 등) 설치했음에도 안됨 Xcode 상 Location, Command Line Toolds 도 확인 zshrc 파일 내에도 말씀하신대로 명령어 입력해놓음 -> 후 프로젝트 생성 자체가 안되서 진도를 못나가서 너무 해결하고 싶은데 어떻게 해야할까요? 개발중인 OS 등의 버전 Mac OS: 15.3.2(24D81) ReactNative: 0.72.6(으로 생성하라고 하셔서 버전 명시하여 프로젝트 생성하였으나 실패) Node: v23.10.0 Ruby: ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin24] rbenv: 1.3.2
yarn add @react-navigation/native 설치 이후 부터 java 버전이 다르다고 나와서 몇일째 진도를 못나가고 있습니다. 제발 도와주세요... Task :react-native-safe-area-context:compileDebugKotlin 'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
-안드로이드 환경에서 작업했습니다 강의 깃허브의 package.json를 그대로 복붙해서 같은 버전의 라이브러리들을 설치해줘도 "execution failed for task ':react-native-maps:compiledebugjavawithjavac'. " 의 빌드 에러가 떠서 해결 과정 공유드려요. 해당 라이브러리 깃허브 접속 후 issue 탭 클릭 open 혹은 close 상태 모두 다 해당 react-native 버전 검색 (저는 0.72.6 이라 입력했어요) 발생한 에러와 같은 메세지 글 찾으면서 추천해주는 버전 찾기 package.json에 해당 버전 입력 node.modules 삭제 후 재설치 -> 프로젝트 재가동 저 같은 경우엔 아래와 같은 버전으로 지도 띄웠습니다. (^있으면 지워야 함.) "react-native-maps": "1.15.3",
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 rotateToken(token: string, isRefreshToken: boolean) { const decoded = this.jwtService.verify(token, { secret: JWT_SECRET, }); 여기를 비롯해서 다양한곳에서 Unsafe assignment of an any value라는 오류가 뜨는데 강사님 영상에서는 따로 이런 에러가 발생하지 않더라고요. 혹시 강의에서 ESLint 설정을 약하게 해두신 건가요? 아니면 verify 결과에 타입을 명시해줘야 하는 건가요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 알려주신 decodeBasicToken() 함수를 그대로 구현했는데요, 다음과 같이 리턴을 명확히 하고 있음에도 불구하고, decodeBasicToken(base64String: string){ // 그냥 공식으로 외우면 됨 const decoded = Buffer.from(base64String, 'base64').toString('utf8'); const split = decoded.split(':'); if (split.length !== 2) { throw new UnauthorizedException('잘못된 유형의 토큰입니다.'); } const email = split[0]; const password = split[1]; return { // email: email, // password: password, email, password, }; } 에서 이 함수를 사용하면 TypeScript가 다음과 같은 에러를 표시합니다: Argument of type 'void' is not assignable to parameter of type ... 혹시 이 부분은 TypeScript의 일시적인 추론 문제일까요? 리턴 타입을 명시하니까 에러가 사라지긴 했는데, 강의에서는 따로 리턴 타입 없이도 문제없이 작동하던 것 같아서요! 혹시 제가 놓친 부분이 있는지, 아니면 단순히 타입스크립트 인텔리센스의 문제인지 궁금합니다 감사합니다!
안녕하세요. 3-8 강의에서 25분까지 수강했는데요, 이 그림과 같은 에러가 뜨더라고요. 어찌저찌 에러메시지 따라 아래와 같이 해서 우선 해결했는데요, @babel~~ 어쩌고 package설치 babel.config.js에 아래와 같이 설정 plugins: [ 'react-native-reanimated/plugin', ['@babel/plugin-transform-private-methods', {loose: true}], ], 이 에러는 왜 발생한건가요? 해결하긴했는데 왜 발생한건지에 대한것도 알고 싶어 여쭤봅니다.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이부분에서 Unsafe assignment of an error typed value.라는 에러가 나옵니다. /** * 파라미터 * * 1) 입력된 비밀번호 * 2) 기존 해시(hash) -> 사용자 정보에 저장돼 있는 hash */ const passOk = await bcrypt.compare(user.password, existingUser.password); if (!passOk) { throw new UnauthorizedException('비밀번호가 틀렸습니다.'); } return existingUser; } }
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz 제가 중간에 놓친건지 진행 프로젝트가 프로젝트가 Inflearn_actual에서 CF_SNS로 바뀐거 같은데 맞나요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
3:23 (nickname에 unique: true 적용) 다름이 아니라 중복을 허용하지 않을 때 @Column({ unique: true })를 해도 되지만 @PrimaryColumn()을 해도 되지 않나해서 여쭤봅니다! 혼자 리서치해본 바로는 PrimaryColumn은 식별자로써 쓰일 수 있으면 쓰고 @Column({ unique: true})는 식별자로 쓰진 않아도 될 때 적용한다는 얘기를 들었습니다. 그런데 식별자가 많아서 나쁠건 없지 않나? 싶기도 하고 nickname을 식별자로 쓸 가능성도 있으면 좋을거 같기도 해서 PrimaryColumn으로 해도 괜찮을거 같다는 생각이 들었습니다. PrimaryColumn이 한 테이블에 너무 여러개 존재하면 안 좋다거나 그런 컨벤션이 있는 것일까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님, PUT 요청에서 컨트롤러에서는 @Body() 를 optional ( ? )로 받았는데, 서비스 함수에서는 인자를 필수( string )로 선언하면 TypeScript 에러가 납니다. 이럴 땐 서비스 함수의 author, title, content를 string? 또는 string | undefined 로 바꿔줘야 하는 게 맞을까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요! pagination 강의를 듣고 서버에서 front로 보내는 방법은 정확히 이해했습니다. 감사합니다. 그런데 frontend에서 어떠한 방식으로 처리해야 하는지 감이 안 옵니다. 대략적으로 front에서 20개씩 요청하는 방식을 어떻게 해야 하는지 설명 부탁 드립니다. 그리고 혹시, 강사님이 해주시는 frontend pagination 강의가 있으면 추천 부탁 드립니다.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
37강 ( 모든 Route 기본 Private로 만들고 IsPublic Annotation 작업하기) 강의 에서 8분 50초에 아래의 코드에 @IsPublic을 해줘도 아래 가드를 통과해야 해서 괜찮다고 말씀해주셨는데요. //access 토큰 재발급 @Post('token/access') @IsPublic() // 여기가 퍼블릭이여도 밑에서 가드를 통과해야하기 때문에 괜찮다. @UseGuards(RefreshTokenGuard) postTokenAccess(@Headers('authorization') rawToken: string) { // 여기서 받는 rawToken은 Bearer 이다. const token = this.authService.extractTokenFromHeader(rawToken, true); // token은 refresh 토큰이다. false를 같이 던져줘서 acess 토큰이 나온다. const newToken = this.authService.rotateToken(token, false); /** * {accessToken: {token}} 이러한 형태로 리턴 */ return { accessToken: newToken }; } //refresh 토큰 재발급 @Post('token/refresh') @IsPublic() @UseGuards(RefreshTokenGuard) postTokenRefresh(@Headers('authorization') rawToken: string) { // 여기서 받는 rawToken은 Bearer 이다. const token = this.authService.extractTokenFromHeader(rawToken, true); // token은 refresh 토큰이다. true를 같이 던져줘서 acess 토큰이 나온다. const newToken = this.authService.rotateToken(token, true); /** * {refreshToken: {token}} 이러한 형태로 리턴 */ return { refreshToken: newToken }; } AccessTokenGuard, RefreshTokenGuard 모두 BearerTokenGuard를 먼저 수행하기 때문에 req에 IsRoutePublic가 true로 되어 있어서 AccessTokenGuard, RefreshTokenGuard 이 두 개 모두 바로 통과하는 것으로 알고 있습니다. 이렇게 되면 IsPublic 어노테이션을 사용한 상황에서는 전역으로 설정된 AccessTokenGuard는 통과하게 됩니다. 그리고 "token/access" API에 설정된 RefreshTokenGuard도 물론 통과하게 됩니다. 이렇게 되면 RefreshTokenGuard는 어디에서도 사용할 수 없는 게 아닐까요?? ///////////////정리//////////////////////////////// % 토큰 재 발급하는 상황이라고 가정 % IsPublic 어노테이션 설정됨 -> AccessToken 통과, RefreshTokenGuard 통과 BearerTokenGuard 통과 RefreshTokenGuard도 통과 즉, refreshToken 인지 검증 불가능 IsPublic 어노테이션 설정됨 -> AccessToken 검증 재검증 로직이므로 refresh 토큰을 보냈으므로 AccessToken 검증에서 accessToken이 아니라고 걸림 즉, RefreshTokenGuard는 사용할 수 없게 되는게 아닌가요?
❗ 질문 작성시 꼭 참고해주세요 에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다. 질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github 을 첨부해주세요. 개발중인 OS, ReactNative, Node 버전 등의 개발환경 을 알려주셔야합니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. ( 일부만 자르거나 일부만 복사하지말아주세요 .) 윈도우 / 안드로이드 입니다. 강의를 본 후, 즐겨찾기와 검색쪽에서 피드를 클릭하면은 오류가 발생합니다. 깃허브 6-7의 front부분과 전체 동일합니다. 아직 구현이 덜 된건지 아니면 제가 놓친부분이 있는지 궁금합니다.
프로젝트 구성 Dockerfile FROM node:14 RUN apt-get update && apt-get install -y bash COPY ./package.json /myfolder/ COPY ./yarn.lock /myfolder/ WORKDIR /myfolder/ RUN yarn install COPY . /myfolder/ CMD ["yarn", "start:dev"] docker-compose.yaml version: "3.7" services: node-server: build: context: . dockerfile: Dockerfile volumes: - ./index.js:/myfolder/index.js - ./email.js:/myfolder/email.js ports: - 3000:3000 database-server: image: mongo:5 ports: - 27017:27017 Window 환경입니다. 위와 같을 때 index.js 파일을 수정하여도 docker로 연동된 nodemon 재 실행이 안됩니다. docker-desktop 에서 container 에서보면 mount 라고 표기되어있고 위의 새로고침 버튼을 누르면 제대로 적용 됩니다. 원인이 뭘까요?