inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

안드로이드에서 react-native-image-crop-picker의 설정 옵션에 대한 문제

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

❗ 질문 작성시 꼭 참고해주세요 에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다. 질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github 을 첨부해주세요. 개발중인 OS, ReactNative, Node 버전 등의 개발환경 을 알려주셔야합니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. (에러 일부만 자르거나 일부만 복사하지말아주세요 ) 안드로이드 환경에서 프로필 사진 수정 강의를 수강중에 계속 에러가 발생해서 진행하지 못했는데 제가 문제원인을 추론해봤습니다. 우선 문제가 발생한 부분은 AddLocationScreen에서는 여러가지 사진을 등록해도 괜찮지만 프로필 사진은 단 한장만 등록해야하기 때문에 useImagePicker 훅에 single과 multiple mode를 설정하는 과정에서 발생했습니다 . 강의의 모든 코드를 따라서 적고 프로필 수정을 하기위해 actionSheet에서 [앨범에서 사진선택]을 누르면 권한을 확인해 달라는 Toast오류 메시지가 발생했습니다. 하지만 AddLocation화면에서 이미 권한을 허용해 줬기 때문에 권한으로 인한 문제는 아니라 파악했고 useImagePicker 훅의 handleChangeImage 함수에서 에러 로그를 찍어본 결과 java.lang.IllegalArgumentException: Max items must be higher than 1 이러한 로그를 확인 할 수 있었습니다 . 그래서 추측한 결과는 강사님 코드에서 ImageCropPicker.openPicker({ mediaType: 'photo', multiple: true, includeBase64: true, maxFiles: mode === 'multiple' ? 5 : 1, }) 이 부분이 multiple은 true로 되어있지만, singlemode로 들어올 경우 maxFiles가 1로 설정되기 때문에 두 옵션이 충돌이 발생하는걸로 추측됩니다 . 그래서 저는 아래와 같이 일단 수정해서 문제를 해결했습니다. const handleChangeImage = () => { ImageCropPicker.openPicker({ mediaType: 'photo', multiple: mode === 'multiple', includeBase64: true, ...(mode === 'multiple' && { maxFiles: 5 }), }) .then(images => { const imageArray = Array.isArray(images) ? images : [images]; const formData = getFormDataImages('images', imageArray); uploadImages.mutate(formData, { onSuccess: data => mode === 'multiple' ? addImageUris(data) : replaceImageUri(data), onSettled: () => onSettled && onSettled(), }); }) .catch(error => { if (error.code !== 'E_PICKER_CANCELLED') { console.log('[error]', error); Toast.show({ type: 'error', text1: '권한을 허용했는지 확인해주세요.', position: 'bottom', }); } }); }; multiple옵션은 mode==='multiple' 코드를 통해 mode의 값에 따라 true / false로 주어지게 하였고 maxFiles 옵션또한 mode가 multiple인 경우에만 maxFiles:5라는 옵션이 주어지게 하였습니다. 아마 multiple옵션이 false로 주어지면 maxFiles가 자동으로 1로 설정되어서 발생하는 충돌문제 였던 것 같습니다. 강의 들으시는 분들에게 도움이 되었으면 합니다 .

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김민서 댓글 0 좋아요 0 조회수 72

26:23에서 모두 주석처리 어떻게 하죵?ㅎㅎ

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

26:23에서 모두 주석처리 어떻게 하죵?ㅎㅎ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
윤유나 댓글 3 좋아요 1 조회수 201

model based

미해결

강화학습 입문에서 Deep Q-learning/Policy Gradient까지

model based method 에서 모델을 안다는 것이, value function 정보까지 다 알고 있다는 것일까요? 만약 아니라면, planning 시 가치함수는 어떻게 고려가 되는 것인지 궁금합니다.

  • python
  • 딥러닝
  • 강화학습
  • pytorch
능함가 댓글 1 좋아요 0 조회수 73

time sequential data 관련

해결됨

강화학습 입문에서 Deep Q-learning/Policy Gradient까지

안녕하세요. 강화학습이 time sequential data 를 다룬다고 하셨고, 예시로 language 데이터 를 말씀하셨는데, 이런 이유로 최근 LLM 개발시, 앞단에서 강화학습 알고리즘을 적용하는 것일까요? 감사합니다.

  • python
  • 딥러닝
  • 강화학습
  • pytorch
능함가 댓글 2 좋아요 0 조회수 71

streaming 페이지 보완 필요

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

안녕하세요, 잘 학습하고 있는 학생입니다. 강의 따라가면서, streaming 파트는 다 적용을 했습니다. 소개 탭에서 홈 탭으로 이동 시에 태그목록과 포스트리스트도 skeleton 로딩페이지 잘 적용됩니다. '홈'을 눌렀을때, 기존의 '로딩 되는 중에 아무 변화 없이 사용자를 마냥 기다리게 함'에서 현재의 '로딩 되는 중에 skeleton 보여줌으로써 로딩되고 있음을 나타내줌'으로의 개선은 사용자 경험에 있어서, 정말 효과적인 방법이라고 느꼈습니다. 다만, 문제가 있습니다. '홈' 을 눌러 이동하는 경우말고, 태그 목록에서 나머지 'css'태그, 'git'태그 등등 이를 직접 클릭해서 이동하는 경우에는 streaming 이 적용되지 않습니다. 예를 들어, 홈을 클릭한 상황에서는 skeleton ui가 잘 나타나지만, 그렇게 홈으로 이동한 상황에서 다른 태그(css,Git 등)로 다시 이동하는 상황에서는 적용되지 않고 그대로입니다. 이를 해결하기 위해선 어떻게 해야 하나요?

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
주병규 댓글 2 좋아요 1 조회수 84

useSuspenseQuery 사용 시 SSR 401 이슈 관련

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 강사님 좋은 강의 잘 듣고 있습니다! useSuspenseQuery를 사용 중에 고민이 생겨서 질문 드립니다. 제가 구현하고 있는 프로젝트의 대부분 API는 인증이 필요합니다. refresh token 은 http only 쿠키로 관리하고, access token 은 쿠키에 저장하고, 요청 헤더에 넣어 인증을 하고 있습니다. useSuspenseQuery 를 사용하는 페이지에서 SSR 단계에 401 에러가 발생합니다. 이후 CSR 전환 시에는 정상적으로 데이터를 불러와 화면은 최종적으로 렌더링됩니다. 해당 페이지를 dynamic import 로 CSR 강제하면 401이 발생하지 않습니다. 제가 추정한 원인은 클라이언트 컴포넌트 내부라도 초기 렌더링 시 SSR 패스에서 useSuspenseQuery 가 실행되어 서버에서 API 요청이 발생. 이때 공통 axios 인스턴스가 클라이언트 전용 방식으로 쿠키를 읽어 헤더에 토큰을 주입하도록 구현되어 있어, 서버 환경에서는 토큰을 읽지 못해 401이 발생하는 것으로 판단했습니다. 해결을 위해 시도한 방법 prefetchQuery + useSuspenseQuery 조합으로, prefetchQuery 단계에서 next/headers 를 통해 서버 환경에서 토큰을 읽어 주입하면 401이 사라졌습니다. 다만, 모든 useSuspenseQuery 호출 지점마다 prefetchQuery 를 추가하는 것은 과도하다고 느껴 대안을 모색 중입니다. 질문 사항 왜 SSR에서 실행되나요? 클라이언트 컴포넌트 내부에서 호출하는데도 useSuspenseQuery 가 SSR 렌더링 단계에서 동작하는 메커니즘을 정확히 이해하고 싶습니다. useSuspenseQuery 의 단점/주의점 강의에서는 주 사용을 권장해 주셨는데, 모든 데이터 관리에 useQuery 대신 useSuspenseQuery 사용하는게 좋은건지 실제 서비스에서 고려해야 할 단점이나 주의사항이 궁금합니다. 401을 피하는 권장 패턴 제 환경처럼 서버에서 토큰을 읽지 못해 401이 나는 경우, 제가 시도한 방법 인 prefetchQuery 적용 외에 권장되는 표준 패턴이 있을까요? prefetchQuery 를 여러 곳에서 사용할 때의 리스크 여러 페이지/쿼리에서 prefetchQuery 를 널리 적용하면 TTFB 지연, 직렬화된 캐시의 HTML 페이로드 증가, 중복 호출 등의 문제가 커질 수 있을까요? 그렇다면 적절한 적용 기준이나 완화 전략이 궁금합니다. 그리고 어떤 기준으로 prefetchQuery 를 적용하면 좋을지도 궁금합니다. 문서와 블로그, GPT 등을 찾아봤지만 명확히 정리하기 어렵고, 제가 질문을 드릴 수 있는 최고 전문가라고 생각하여 의견을 여쭙니다. 긴글 읽어주셔서 감사합니다! 아래 에러가 발생하는 예시 코드 첨부 드립니다. (APage를 CSR로 강제하면 에러 미발생) import Spinner from "@/components/common/spinner/Spinner"; import A from "@/components/pages/A"; import { Suspense } from "react"; import { ErrorBoundary } from "react-error-boundary"; interface APageProps { params: { id: string; }; } export default async function APage({ params, }: APageProps) { const { id } = params; const parsedId = parseInt(id); return ( <ErrorBoundary fallback={<div>에러가 발생했습니다</div>}> <Suspense fallback={<Spinner fullscreen />}> <A id={parsedId} /> </Suspense> </ErrorBoundary> ); } "use client"; import { useGetAList } from "@/api/A/queries/useGetAList"; interface AProps { id: number; } export default function A ({ id }: AProps) { const { data: probiomeList } = useGetAList(id); // 생략 import { queryKeys } from "@/constants/queryKeys"; import { UseSuspenseQueryCustomOptions } from "@/types"; import { useSuspenseQuery } from "@tanstack/react-query"; import { getAList } from "../A"; import { AList } from "@/types/A"; export function useGetAList( id: number, queryOptions?: UseSuspenseQueryCustomOptions<AList> ) { return useSuspenseQuery({ queryFn: () => getAList(id), queryKey: [ queryKeys.A.BASE, queryKeys.A.GET_A_LIST, id, ], ...queryOptions, }); }

  • react
  • next.js
  • react-query
  • next-auth
  • msw
dubu777 댓글 1 좋아요 0 조회수 201

질문)바이브코딩 웹제작

해결됨

비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE

안녕하세요 선생님, 혹시 전체 강의를 수강하진 않았지만 이 부분이 가능할것으로 생각들어 강의 결제하였는데, 궁금해서 문의드려요 lovable이나 replit으로 만든 웹을 안드로이드 앱으로 만들려면 어떻게 해야되는건가요? 이거에 대한 강의나 관련내용이 있을까요??저 그 방법이 있는거 같아서 결제했는데, 알려주실수 있나요?강의에 포함안되어 있다면 통상적으로 어떤식으로 만드는 궁금합니다.

  • flutter
  • next.js
  • cursor
화이팅! 댓글 2 좋아요 0 조회수 175

[8-12] ios 연동 시, 라이브러리 버전 에러 질문

미해결

맛집 지도앱 만들기 (React Native & NestJS)

현재 기준 react-native-apple-authentication 버전을 2.4.1 로 설치하면 Gradle 에러가 발생합니다. 강의에서는 2.3.0 버전을 사용하는 것 같은데, 혹시 해당 버전이 강의에서 사용된 버전이 맞는지 궁금합니다.

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
댓글 2 좋아요 0 조회수 120

31번 실습시 에러 발생

해결됨

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

첫번쨰 dag 실행시 링크로 가쟈오는 csv 파일이 xml 파일로 읽어드리면서 에러로 띄우네요?? 도커에서 csv 파일을 읽을떄 에러메세지를 xml로 리턴하는거같은데 우선 csv 파일자체를 넣어서 하드코딩했습니다. 혹시 도커로 사용시 외부 파일받아올때 보안적인 부분에서 해제해야되는경우가있나요?

  • python
  • sql
  • airflow
  • snowflake
진시황 댓글 2 좋아요 0 조회수 113

supabase 연결하는 프로젝트 단위 기준

해결됨

비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE

supabase에 연결할 때, 만드는 서비스마다 프로젝트를 다르게 설정하면 되는 걸까요? 아니면 같은 프로젝트에다가 그냥 연결해도 알아서 별개로 DB를 구축해주는 건지 궁금합니다!

  • flutter
  • next.js
  • cursor
  • supabase
  • 바이브코딩
고구고구마 댓글 2 좋아요 0 조회수 155

파이썬이 아니라 sql영상이 나와요

미해결

Generative AI with Python: Build Text & Image Creators

다른 영상이 나오는 것 같아요

  • python
  • huggingface
  • generative-art
기석 댓글 1 좋아요 0 조회수 54

강의자료 링크로 들어가면 페이지를 찾지못한다고 나와요

미해결

FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기

💡 질문하기 전에 먼저 확인해보세요! 답변을 기다리는 동안, 아래 항목들을 먼저 확인해보시면 문제가 해결될 수도 있어요. 강의 내용 다시 보기: 혹시 놓친 부분이 없는지 해당 챕터의 강의를 한 번 더 돌려보셨나요? 오타 및 들여쓰기 확인: 파이썬은 특히 들여쓰기에 민감해요. 코드에 오타나 잘못된 들여쓰기는 없는지 꼼꼼히 확인해주세요. 에러 메시지 검색: 빨간색 에러 메시지가 떴다면, 메시지 전체를 복사해서 구글에 그대로 붙여넣기 해보세요. 전 세계 개발자들이 비슷한 문제를 겪고 해결책을 공유해두었을 확률이 높습니다. Q&A 게시판 검색: 혹시 다른 분이 먼저 비슷한 질문을 올렸는지 게시판을 한번 살펴보는 것도 좋은 방법이에요.

  • python
  • aws
  • docker
  • sqlalchemy
  • FastAPI
개브라운 댓글 2 좋아요 1 조회수 125

선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

지금 강의에 대한 질문은아니고, 선생님 강의를 여러개를 구매했는데, 선생님 강의중에서 sqlite3를 설명해주신 강의가 있던거 같은데, 오늘 오랜만에 보려고 하니까 못찾겠더라구요.. 그래서 제 기억이 틀린건지. 아니면 못찾는건지 궁금해서 문의드립니다.

  • python
  • 웹-크롤링
가후 댓글 2 좋아요 0 조회수 169

안녕하세요 급하게 next.js를 배워아햐는데

해결됨

한 입 크기로 잘라먹는 Next.js

현재 react.js는 수강한상태이고 타입스크립트는 수강안한 상태입니다. 급하게 회사에서 next.js를 배우라고해서 인강을들어아햐는데 타입스크립트 모르고 react.js만 알아도 수강하는데 아무지장없을까요?

  • react
  • typescript
  • next.js
임다정 댓글 2 좋아요 0 조회수 109

리액트 쿼리 useinfinitequery 무한스크롤 구현 시 페이지가 이동할 경우 데이터가 보존되게 할 수 있나요??

미해결

Next + React Query로 SNS 서비스 만들기

더보기 버튼 클릭 시 페이지 이동 (page=1 -> page=2) + 무한스크롤 구현 기능 구현이 필요해서 아래와 같이 구현해보았는데 어쩔땐 되고 어쩔땐 안되더라구요... 만약 데이터를 10개씩 불러올 경우 10개 -> 20개 -> 30개 -> 40개 이러다 갑자기 다시 10개가 됩니다... 원래 useInfiniteQuery 무한스크롤 구현 시 페이지이동하면서 기존 데이터를 보존하는 방법이 불가능한건지 아님 제가 코드를 잘못짠건지 궁금합니다... const useInfiniteQuery = (params: Params) => { const searchParams = useSearchParams() const page = searchParams.get('page') return useInfiniteQuery({ queryKey: [CONTENTS_KEY, params], queryFn: ({ pageParam }) => { return getContentsApiClient({ ...params, ...outLinkParams(), page: Number(pageParam) }) }, getNextPageParam: (lastPage, _, lastPageParam) => { // 마지막 page라면 hasNextPage가 false const lastPageNumber = Math.ceil(lastPage.totalCount / (params.size || 10)) if (lastPageNumber === lastPageParam) { return undefined } return Number(lastPageParam) + 1 }, initialPageParam: Number(page) || 1, placeholderData: keepPreviousData, }) } //더보기 버튼 // 클릭 시 페이지 이동 function AddMore({ fetchNextPage, totalPages }: { fetchNextPage: () => void; totalPages: number }) { const searchParams = useSearchParams() const pathname = usePathname() const params = new URLSearchParams(searchParams.toString()) const pageNo = Number(searchParams.get('page') || 1) params.set('page', (pageNo + 1).toString()) if (totalPages === pageNo) return null return ( <div className={cn('wrap')}> <Link className={cn('link')} href={`${pathname}?${params.toString()}`} onClick={fetchNextPage} scroll={false} > <span className={cn('label')}>더보기</span> </Link> </div> ) } 강의 잘 듣고있습니다. 감사합니다! 참고로 백엔드는 문제가 없습니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
변재정 댓글 3 좋아요 0 조회수 213

api 를 호출해야만 ISR 이 적용 되는것 같은데 자동으로 적용하려면 어떻게 해야 하나요?

해결됨

한 입 크기로 잘라먹는 Next.js

🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다!

  • react
  • typescript
  • next.js
강지웅 댓글 1 좋아요 0 조회수 126

수료증은 어떻게 받나요?

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

완강했는데 수료증은 어떻게 받나요?

  • python
  • 웹-크롤링
김영호 댓글 2 좋아요 0 조회수 139

커리큘럼 질문

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM 안녕하세요. 코드팩토리님, 강의 너무 잘보고 있습니다. 커리큘럼에 대해서 질문이 있는데 강의 소개에서는 배포에 대한 부분이 언급이 되어있는데 현재 커리큘럼을 쭉 보면 배포에 대한 부분이 없는데 혹시 아직 추가가 안된건가요?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
석지웅 댓글 2 좋아요 0 조회수 123

카카오맵 API 를 사용해서 내컴퓨터의 갤러리맵 만들기

해결됨

파이썬으로 뭘 만들지? 남박사의 파이썬 알쓸파잡

해당 강의를 해볼려고 해도 카카오 개발자 사이트에서 'Web 플랫폼 등록'탭이 없는데 다른 방법이 없나요?

  • python
  • 웹-크롤링
  • gui
이종익 댓글 2 좋아요 0 조회수 115

인기 태그

인프런 TOP Writers

주간 인기글