inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

smooth-scrollbar 관련 질문

해결됨

웹 애니메이션을 위한 GSAP 가이드 Part.03

smooth-scrollbar js 는 scrollerProxy 랑 연동해야하는 귀찮은 문제가있는데 Lenis는 scroll 값을 window.scrollY 에 그대로 반영하면서 부드러운 스크롤 효과를 주기 때문에, GSAP의 ScrollTrigger 랑 자연스럽게 연동되거든요 굳이 왜 어려운길을 가는지 이유가 궁금합니다. scrollerProxy 의 학습을 위해서인지 아니면 Lenis의 어떠한 문제가있어서 인지 궁금해서 여쭈어 봅니다.

  • javascript
  • 애니메이션
  • 인터랙티브-웹
  • gsap
  • scrolltrigger
duddnd 댓글 2 좋아요 1 조회수 263

prevIsConfiromed 질문

미해결

처음 만난 리액트(React)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 9 실습에서 setIsConfirmed((prevIsConfirmed) => !prevIsConfirmed); 로 setState 정의 했는데 prevIsConfrimed라는 state는 어디에서 나온 건가요

  • HTML/CSS
  • javascript
  • react
오00 댓글 2 좋아요 1 조회수 170

목록(페이징)처리구현 - import package 문의

미해결

코드로 배우는 React 19 with 스프링부트 API서버

강의수강중에 Pageable import 관련하여 아래와 같은 Pageable을 선택하니까 오류가 나오더라구요...type unmatch 형태 //import java.awt.print.Pageable; springboot를 사용할 때는 아래와 같은 org.springframework의 형태가 import 우선순위가 되는것이 맞는건가요? import org.springframework.data.domain.Pageable;

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
wonyongick 댓글 2 좋아요 0 조회수 90

2.8 페이지별 라우팅 설정에 강의 이외 과제를 하다가 막힌 부분이 있어 문의드립니다.

미해결

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

해당 화면에서 강의와 비슷하게 검색기능을 누르거나 엔터키를 치면 search결과가 나오도록 코드를 짰는데, 에러도 나오지 않고 아무것도 나오지않아. 이리저리 해보다가 우선 문의를 남깁니다! 파일 구조는 아래와 같습니다! index.tsx import SearchableLayout from "@/components/searchable-layout"; import { ReactNode } from "react"; export default function Home() { return <h1>ONEBITE CINEMA</h1>; } Home.getLayout = (page: ReactNode) => { return <SearchableLayout>{page}</SearchableLayout>; }; searchable-layout.tsx import { useRouter } from "next/router"; import React, { ReactNode, useEffect, useState } from "react"; import style from "./searchable-layout.module.css"; export default function SearchableLayout({ children, }: { children: ReactNode; }) { const router = useRouter(); const [search, setSearch] = useState(""); const q = router.query.q as string; useEffect(() => { setSearch(q || ""); }, [q]); const onSubmit = () => { router.push(`/search?q=${search}`); }; const onChangeSearch = (e: React.ChangeEvent<HTMLInputElement>) => { setSearch(e.target.value); }; // Enter 키 입력 이벤트 const onkeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => { if (e.key === "Enter") { onSubmit(); } }; return ( <div> <div className={style.searchbar_container}> <input value={search} onChange={onChangeSearch} placeholder="영화를 입력해주세요..." onKeyDown={onkeyDown} /> <button onClick={onSubmit}>검색</button> </div> {children} </div> ); } global-layout import Link from "next/link"; import { ReactNode } from "react"; import style from "./global_layout.module.css"; export default function GlobalLayout({ children }: { children: ReactNode }) { return ( <div className={style.container}> <header className={style.header}> <Link href={"/"}>ONEBITE CINEMA</Link> </header> <main className={style.main}>{children}</main> </div> ); } search - index.tsx import SearchableLayout from "@/components/searchable-layout"; import { useRouter } from "next/router"; import { ReactNode } from "react"; export default function Page() { const router = useRouter(); const { q } = router.query; return <h1>검색결과 {q}</h1>; } Page.getLayout = (page: ReactNode) => { return <SearchableLayout>{page}</SearchableLayout>; }; 위와 같이 구성되어있고, 도저히 제가.. 찾지 못하여 문의드립니다 후.. 아마 input쪽이나 search.tsx에 문제가 있는거 같은데 좀 자괴감이 드네요.. 일어나서 다시한번 살펴볼 예정입니다! 다른분들 git도 궁금해서 봤는데 코드는 너무 똑같은데 대체 뭐가 다른 지 모르겠네요..

  • react
  • typescript
  • next.js
ssi02014 댓글 4 좋아요 0 조회수 238

개인 개발자 비즈 앱 전환 버튼이 안보여요

해결됨

[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)

✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 강의처럼 개인 개발자 비즈 앱 전환 버튼이 뜨지 않고 카카오 비즈니스 통합 서비스 약관 동의로 표시되어있는데,, 어떻게 해야 이메일 필수항목도 넣을 수 있을까요?

  • firebase
  • next.js
  • tailwindcss
  • react-query
  • supabase
codestudy 댓글 2 좋아요 0 조회수 286

supabase에서 가입된 유저를 강제로 로그아웃 시키는 방법?

해결됨

[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)

✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. supabase에서 가입된 유저를 강제로 로그아웃 시키는 방법이 궁금합니다.

  • firebase
  • next.js
  • tailwindcss
  • react-query
  • supabase
codestudy 댓글 2 좋아요 0 조회수 451

FormControl 컴포넌트 사용시 htmlFor prop 값 넘길 때 중괄호 이유

미해결

[React 2부] 고급 주제와 훅

안녕하세요, 강의 잘 보고 있습니다 😀 FormControl 컴포넌트 사용시 htmlFor prop 값 넘길 때 문자열을 중괄호로 감싸서 넘기는데요, "label" prop의 값은 문자열을 그냥 전달하는데, htmlFor의 값은 문자열을 중괄호로 감싸서 전달하는 이유가 뭘까요 ? 그냥 문자열만 보내면 안되는건가요 ?

  • react
  • React-Context
  • react-hooks
  • react-router
  • react-component
mspark 댓글 1 좋아요 1 조회수 142

혹시, 중간에 book에서 catach all 쪽 강의 부분에서 에러뜨는 분들은 .next 지우고 다시 해보세요!

해결됨

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

갑자기 500에러가 뜨면서 강의랑 코드가 틀린게 없는데 뜨길래 뭐지 싶어서 찾아봤는데, .next쪽에 손상이 있어서 그럴 수 있다고 하여, .next를 없애고 다시 'npm run dev'로 빌드했더니, 강의대로 잘 작동하였습니다! 참고하실분들, 참고하시길..!

  • react
  • typescript
  • next.js
ssi02014 댓글 2 좋아요 0 조회수 59

spread ... 사용하는 이유가 궁금합니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요? [조회 페이지 이동] 영상을 보고 있는데요. List, Read Component에서는 spread를 하지 않고 바로 set으로 값을 넣었는데 Add Component에서는 왜 {...initState}, {...todo}를 하는지 궁금합니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
정아연 댓글 2 좋아요 0 조회수 96

메세지를 전송하면 DB에는 남는데 화면에 보이지 않아요.

해결됨

[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)

✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 제목 그대로 DB에는 채팅이 잘 남고 있는데 화면에는 보이지 않습니다 console로 찍어봐도 빈배열을 반환하는데 이유가 뭘까요?? 강의를 돌려보고 gpt를 써도 원인을 못찾겠어요. 제가 생각했을때 채팅 목록을 나타내는 코드를 캡쳐해서 보내고 현재까지 문제생긴 부분을 커밋해둘테니 캡쳐사진으로 확인이 안되시면 제 깃헙에서 확인해주세요! 깃헙 링크

  • firebase
  • next.js
  • tailwindcss
  • react-query
  • supabase
찬우 이 댓글 2 좋아요 0 조회수 166

구글 애드센스의 경우 한 개의 아이디로 여러 사이트에 등록이 가능한 것인지 궁금합니다.

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

안녕하세요 강의 잘 듣고 있습니다. 좋은 강의 만들어주셔서 감사합니다. 구글 애드센스의 경우 한 개의 구글 아이디로 여러 사이트에 등록이 가능한 것인지 궁금합니다. (각 사이트별로 승인을 받을 경우) 하나의 구글계정당 하나의 사이트만 등록이 가능한 경우 여러개의 구글 아이디로 사이트마다 애드센스를 붙여도 나중에 수익을 지급받거나 하는데 문제가 없을까요? 미리 감사드립니다.

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
robotics 댓글 2 좋아요 0 조회수 300

chapter14 잘이해가 되지않습니다..

해결됨

처음 만난 리액트(React)

안녕하세요 소플님 덕분에 리액트 공부 잘하고 있습니다. chapter14 실습영상을 계속 돌려보고 있는데 이해가 안가서요.. DarkOrLight 컴포넌트가 ThemeContext MainContent 두개의 컴포넌트를 하위로 가지고 있는거 같은데 return ( <ThemeContext.Provider value={{ theme, toggleTheme }}> <MainContent /> </ThemeContext.Provider> ); ThemeContext.Provider Provider 로 감싼다는 부분이 이해가 잘안되서요 ㅠ Provider 로 감쌌을때 ThemeContext 컴포넌트를 사용한다는 의미인가요? 전체적인 설명 부탁드립니다 ~!!

  • HTML/CSS
  • javascript
  • react
limganji 댓글 2 좋아요 1 조회수 164

moveToList 질문 드립니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요 선생님. 좋은 강의를 정말 잘 듣고 있습니다ㅎㅎ [네비게이션관련 커스텀 훅] 강의에서 궁금한게 생겼는데요~ 쿼리 스트링에 page와 size가 있는데, moveToList에 파라미터로 page와 size를 전달해서 처리해야 하는 이유가 무엇인지 알 수 있을까요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
댓글 2 좋아요 0 조회수 88

2.8 페이지별 레이아웃 질문있습니다!

해결됨

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

2.8 페이지별 레이아웃을 설정하는 방법을 듣고있는 학생입니다! getLayout이란 메서드를 레이아웃을 적용할 컴포넌트 객체에 생성해서 _app.tsx 파일에서 메서드를 통해 레이아웃을 적용시키는 방법이라는건 이해했습니다. 그런데 여기서 궁금했던 점이 특정 레이아웃을 적용하기 위해 페이지 마다 따로 코드를 작성해줘야 하는 방식이라면 그냥 레아이웃 컴포넌트를 적용시킬 컴포넌트의 최상위 요소로 감싸주는게 app.tsx에 추가로 코드를 작성할 필요도 없어 더 좋지 않나요? 그리고 리액트 라우터에서는 특정 레이아웃을 적용시킬 컴포넌트들을 <Route element={<Layout/>}><Route/> 이런 path가 없는 컴포넌트 안에서 감싸주는 방식을 사용하는걸로 알고 있습니다. 지금 배우는 방식보다 더 직관성이나 코드 길이 등에서 리액트 라우터가 더 좋은거 같은데 Next는 페이지별 레이아웃 설정방식이 getLayout로 설정하는것 밖에 없는건가요? 유지보수 할 때 특정 레이아웃이 적용된 페이지를 찾기 위해 getLayout을 사용한거라 보기에도 뭔가 애매하게 느껴지고 app.tsx에서 타입을 추가로 만들어줘야 해서 코드가 더 복잡해 보이는거 같습니다.

  • react
  • typescript
  • next.js
wl990 댓글 2 좋아요 1 조회수 214

jwtService.verify() 사용 시 ESLint 관련 경고가 발생합니다

미해결

[코드팩토리] [초급] 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 결과에 타입을 명시해줘야 하는 건가요?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ssavengers 댓글 2 좋아요 0 조회수 187

decodeBasicToken() 사용 시 'void 타입 에러' 발생 원인 질문드립니다

미해결

[코드팩토리] [초급] 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의 일시적인 추론 문제일까요? 리턴 타입을 명시하니까 에러가 사라지긴 했는데, 강의에서는 따로 리턴 타입 없이도 문제없이 작동하던 것 같아서요! 혹시 제가 놓친 부분이 있는지, 아니면 단순히 타입스크립트 인텔리센스의 문제인지 궁금합니다 감사합니다!

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ssavengers 댓글 1 좋아요 0 조회수 103

동적 함수(쿠키, 헤더, 쿼리스트링)을 사용하는 컴포넌트를 SSG로 바꾸려면 어떻게 해야할까요?

해결됨

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

안녕하세요! 이번 강의에서 동적 함수(쿠키, 헤더, 쿼리스트링)을 사용하는 컴포넌트가 포함된 페이지는 다이나믹 페이지라고 이해했습니다. 글을 찾아보니 middleware 에서 쿠키를 처리할 수 있다고 했습니다. 찾아보니 Middleware에서 쿠키를 처리할 수 있다 는 글을 봤는데, 이를 활용하면 동적 함수의 영향을 제거하여 정적 페이지로 만들 수 있는지 궁금합니다. 또한, 클라이언트 컴포넌트 측으로 뺴면 정적인 페이지로 만들 수 있는지 궁금합니다.

  • react
  • typescript
  • next.js
qjatjs123123 댓글 2 좋아요 0 조회수 143

오류 질문

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

https://inf.run/h8zSF An error occurred in the <App> component. Consider adding an error boundary to your tree to customize error handling behavior. Visit https://inf.run/MNrmr to learn more about error boundaries. Error Component Stack at App (App.jsx:63:28) 라는 오류가 뜹니다

  • javascript
  • react
  • node.js
ㄹㄹㄹ 댓글 2 좋아요 0 조회수 196

로또 추첨기 중 입력값을 검사할 때

미해결

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

안녕하세요 로또 추첨기 공 뽑기(피셔 예이츠 셔플) 강좌 중 초반에 입력값 검사를 작성하는 도중 에러는 안 뜨는데 입력값에 1,2,3,4,5,6 을 쳤을 때 해당 조건에 맞지 않는데도 자꾸 검사에 걸려 alert가 뜹니다. 배열값이 잘못 들어가는 건가 싶어 console.log(myNumbers)로 값을 찍어봤는데 이게 문제가 아닌 것 같더라구요 바로 위 사진이 1,2,3,4,5,6을 입력했을 때 뜨는 창 사진이고 아래가 제가 해당 검사를 하기 위해 썼던 문장입니다. 어떤 게 문제인지 알 수 있을까요? console.log(myNumbers); if (myNumbers.filter((v) => v > 45 || v < 1)) { return alert("1부터 45까지의 숫자만 입력할 수 있습니다"); }

  • javascript
댓글 2 좋아요 0 조회수 166

bcrypt.compare에서 에러가 나옵니다.

미해결

[코드팩토리] [초급] 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; } }

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ssavengers 댓글 2 좋아요 0 조회수 240

인기 태그

인프런 TOP Writers

주간 인기글