inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

next-auth로 다시 한번 질문을 올립니다...

해결됨

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

공지의 올려주신대로 auth.ts 를 수정하였으며 loginModal 의 redirect:true export const { handlers: { GET, POST }, auth, signIn, } = NextAuth({ pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, callbacks: { // async signIn() // async authorized({ auth }) { // if (!auth) { // // 쿠키가 없으면 로그인 페이지로 돌리기 // return NextResponse.redirect("http://localhost:3000/i/flow/login"); // } // return true; // }, }, providers: [ CredentialsProvider({ async authorize(credentials) { const authResponse = await fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, // NEXT_PUBLIC_BASE_URL=http://localhost:9090 { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ id: credentials.username, password: credentials.password, }), } ); // 여기 주목!!! 서버에서 에러가 발생할 때 그 에러 내용이 서버에 담겨 있을 겁니다. console.log(authResponse.status, authResponse.statusText); if (!authResponse.ok) { const credentialsSignin = new CredentialsSignin(); if (authResponse.status === 404) { credentialsSignin.code = "no_user"; } else if (authResponse.status === 401) { credentialsSignin.code = "wrong_password"; } throw credentialsSignin; } const user = await authResponse.json(); console.log("user", user); // id, name, image, email만 허용 return { id: user.id, name: user.nickname, image: user.image, }; }, }), ], }); 아래와 같은 오류가 계속 해서 발생하고 있습니다. TypeError: next_dist_server_web_exports_next_request__WEBPACK_IMPORTED_MODULE_0__ is not a constructor pakage.json 의 버젼은 아래와 같이 사용하고 있고요 "@auth/core": "^0.27.0", "next-auth": "^5.0.0-beta.16", 혹시 이 부분의 같은 에러가 나오신 분들 중 해결 하신 분들이 있을까요?

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

프로젝션 'new 명령어로 조회' 질문 입니다.

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 프로젝션 쿼리에 new 명령어 관련 헷갈리는 부분이 있어서 질문 드립니다! try{ Member member = new Member(); member.setUsername("member1"); member.setAge(10); em.persist(member); em.flush(); em.clear(); List<MemberDTO> result = em.createQuery("SELECT new jpql.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class) .getResultList(); MemberDTO memberDTO = result.get(0); System.out.println("memberDTO = " + memberDTO.getAge()); System.out.println("memberDTO = " + memberDTO.getUsername()); tx.commit(); } 위와 같은 쿼리를 실행하게 되면 상위에서 생성한 member 객체에 있는 값을 result 로 복사하고 result 값을 memberDTO List의 인덱스 0으로 들어 간 값을 조회하라는 뜻이 맞는건가요..? 수업듣다가 제가 이해한게 맞는지 헷갈려서 질문 드립니다.. 답변 부탁드립니다!! 감사합니다.

  • java
  • jpa
자바만판다 댓글 1 좋아요 0 조회수 342

섹션 7 GraphQL 관련 질문 드립니다

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요 섹션 04-05-graphql-mutation-product 따라하고 있는데 도중에 저런 에러 메세지가 떴습니다. 디버깅 하려고 해도 Network 부분에 message 부분이 안 뜨네요ㅠ 검색해보니 쿠키 및 인터넷 기록 삭제해보라고 나오는데.. 삭제해도 해결이 안 되고요ㅠㅠ 어떻게 해야 해결될까요? 도움 부탁드립니다

  • react
  • node.js
  • seo
  • graphql
  • next.js
edo020424 댓글 2 좋아요 0 조회수 287

섹션 8 - Follow, Unfollow 기능 추가 파트에서 UserState에서 UserModel을 얻어지지가 않습니다.

해결됨

Flutter로 SNS 앱 만들기

문제가 되는 것으로 추정되는 코드는 UserModel currentUserModel = context.read<UserState>().userModel; 입니다. 이전 강의인 '특정 사용자의 정보 표시' 에서부터 문제가 발생했는데, 이번 강의에서 그냥 지우시길래 일단 넘어갔었습니다. 그러나, 이번 강의에서 똑같이 UserState에서 userModel을 얻어오려고 하니, 실제로는 값이 저장되지 않았습니다. user_state.dart와 user_model.dart를 올려놓으신 Github 최종 코드로 그대로 복사해봤으나, 별다른 효과는 없었습니다... 어떻게 해야할 지 모르겠습니다. 의견 부탁드립니다. userModel에는 값이 저장되었으나, currentUserModel에는 저장되지 않은 모습 메일에 프로젝트 파일을 첨부하여 보내겠습니다. 감사합니다.

  • flutter
  • android
  • firebase
  • dart
정태현 댓글 2 좋아요 0 조회수 290

SpinLock & Busy Waiting 강의 질문입니다.

미해결

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

안녕하세요! 강의 너무 잘 듣고 있는 수강생입니다. 이전 동기화와 CPU의 관계 강의에서는 CPU가 두 개 이상의 명령어를 처리하면 원자성이 보장이 안된다고 설명을 하셨는데, SpinLock & Busy Waiting 강의에서 test_and_set(int *lock) 메서드는 CPU 하드웨어 계층에서 원자성이 보장된다는 게 이해가 잘 가지를 않습니다. test_and_set(int *lock) 이 메서드는 하나의 명령어만 처리하는 건가요??

  • java
  • 동시성
  • multithread
  • synchronisation
bom 댓글 1 좋아요 1 조회수 267

앱 구조에 대해서

미해결

따라하며 배우는 리액트 네이티브 기초

혹시 expo를 설치를 했는데 구조가 너무 달라서 질문드립니다! app.js 파일도 없고 component hooks script폴더들이 있는데 어떤식으로 사용이되는 파일인지 모르겠습니다

  • react
  • react-native
  • expo
댓글 2 좋아요 0 조회수 641

섹션 7 - 게시글 목록 화면 - 게시글 정보 가져오기에서 Logger에 아무것도 출력되지 않습니다...

해결됨

Flutter로 SNS 앱 만들기

커뮤니티에서 저랑 비슷한 증상을 보이는 2분의 질문을 봤습니다. FeedModel도 createAt으로 되어 있었습니다. 에뮬레이터를 수차례 삭제해보고, 재설치를 반복했습니다만 아무것도 찍히지 않았습니다. 사용하는 에뮬레이터는 Pixel 8 API 34였고, 실제 안드로이드 14인 갤럭시 S21+ 에도 연결해서 테스트해봤으나, 똑같은 상황이 발생했습니다. 코드는 아마 이메일로 보내면 되는 것 같아 이메일로 첨부하겠습니다!

  • flutter
  • android
  • firebase
  • dart
정태현 댓글 2 좋아요 0 조회수 252

에러가 생기네요 - 미세먼지앱 섹션57-19 부터 입니다.

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

에러가 생기네요 - 미세먼지앱 섹션57-19 부터 인데 에러가 생기네요 - 미세먼지앱 섹션57-19 부터 인데, 구판 섹션26-19 입니다. 수시로 에러 생기고 가끔 수십번에 1번은 데이터가 들어오는데 그것도 조금 지나면 에러 메세지가 나오네요. 첨부파일 참조 아마 오타 일건데 암만 강의하구 비교해도 오타를 찾지를 못하겠습니다. 포기하구 강의따라가도 20, 21 에서도 계속 에러 나와서 강의 포기하구 있다가 연락드립니다. 코드는 첨부 합니다. /// component/main_app_bar.dart /// import 'package:flutter/material.dart'; import 'package:section26_fine_dust/constant/color.dart'; import 'package:section26_fine_dust/model/stat_model.dart'; import 'package:section26_fine_dust/model/status_model.dart'; class MainAppBar extends StatelessWidget { final StatusModel status; final StatModel stat; MainAppBar({ required this.status, required this.stat, super.key, }); @override Widget build(BuildContext context) { final ts = TextStyle( color: Colors.white, fontSize: 30.0, ); return SliverAppBar( backgroundColor: status.primaryColor, expandedHeight: 500, flexibleSpace: FlexibleSpaceBar( background: SafeArea( child: Container( margin: EdgeInsets.only(top: kToolbarHeight), child: Column( children: [ Text( '서을', style: ts.copyWith( fontSize: 40.0, fontWeight: FontWeight.w700, ), ), // const SizedBox(height: 20.0), Text( getTimeFromDateTime(dateTime: stat.dataTime), style: ts.copyWith( fontSize: 20.0, ), ), const SizedBox(height: 20.0), Image.asset( status.imagePath, width: MediaQuery.of(context).size.width / 2, ), const SizedBox(height: 20.0), Text( status.label, style: ts.copyWith( fontSize: 40.0, fontWeight: FontWeight.w700, ), ), const SizedBox(height: 8.0), Text( status.comment, style: ts.copyWith( fontSize: 20.0, fontWeight: FontWeight.w700, ), ), ], ), ), ), ), ); } String getTimeFromDateTime({required DateTime dateTime}) { return '${dateTime.year} ${dateTime.month} ${dateTime.day} ${dateTime.hour} ${dateTime.minute}'; } String getTimeFormat(int number) { return number.toString().padLeft(2, '0'); } } /// screen/home_screen.dart /// import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:section26_fine_dust/component/card_title.dart'; import 'package:section26_fine_dust/component/category_card.dart'; import 'package:section26_fine_dust/component/hourly_card.dart'; import 'package:section26_fine_dust/component/main_app_bar.dart'; import 'package:section26_fine_dust/component/main_card.dart'; import 'package:section26_fine_dust/component/main_drawer.dart'; import 'package:section26_fine_dust/component/main_state.dart'; import 'package:section26_fine_dust/constant/color.dart'; import 'package:section26_fine_dust/constant/status_level.dart'; import 'package:section26_fine_dust/model/stat_model.dart'; import 'package:section26_fine_dust/repository/stat_repository.dart'; import '../constant/data.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { Future<List<StatModel>> fetchData() async { final statModels = await StatRepository.fetchData(); print(statModels); return statModels; } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: primaryColor, drawer: MainDrawer(), body: FutureBuilder<List<StatModel>>( future: fetchData(), builder: (context, snapshot) { if (snapshot.hasError) { // 에러가 있을때 return Center( child: Text('에러가 있습니다.'), ); } if (!snapshot.hasData) { // 로딩 상태 return Center( child: CircularProgressIndicator(), ); } List<StatModel> stats = snapshot.data!; StatModel recentStat = stats[0]; // 1 - 5, 6 - 10, 11 - 15 // 7 final status = statusLevel .where( (element) => element.minFineDust < recentStat.seoul, ) .last; return CustomScrollView( slivers: [ MainAppBar( stat: recentStat, status: status, ), SliverToBoxAdapter( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ CategoryCard(), const SizedBox(height: 16.0), HourlyCard(), ], ), ), ], ); }, ), ); } }

  • flutter
  • 클론코딩
cdway 댓글 2 좋아요 0 조회수 214

[문의드립니다] supabase에서 제공하는 kakao Auth Providers를 활용하여 인증을 구현을 어떻게 진행하면 되는지요?

해결됨

[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!

요셉님께.. 강의 잘 듣고 있습니다. 질문을 드립니다. Supabase 의 Auth Providers 에서 Kakao를 제공해주는데요..이를 활성화해서 로그인을 구현하고자 하려면 어떻게 해야 할런지요?

  • flutter
  • no-code
  • supabase
  • flutterflow
Jason Goo 댓글 3 좋아요 0 조회수 1671

8.2에서 보이는 site안에 page파일과 7.6에서 보이는 page파일의 코드가 다른거 같습니다.

해결됨

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

8.2에서 보이는 site안에 page파일과 7.6에서 보이는 page파일의 코드가 다른거 같습니다. 깃허브에는 7.7 챕터가 따로 있던데... 혹시 그 브랜치에 site안의 page파일을 그대로 사용하면 될까요??

  • react
  • 인터랙티브-웹
  • 클론코딩
  • next.js
  • tailwind-css
  • zustand
임민규 댓글 1 좋아요 2 조회수 210

restaurant_repository.g.dart 파일에서 에러가 나옵니다.

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

g dart 파일을 생성하면 final value = RestaurantDetailModel.fromJson(_ result.data !); 여기서 에러가 발생합니다.

  • flutter
  • 하이브리드-앱
seungkoo Lee 댓글 1 좋아요 0 조회수 250

데이터가 구조가 List<dynamic> 형식일때 질문 드려 봅니다.

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

[ { "no": 1, "write_date": "2015-03-25 13:28:15", "content": "쇼핑몰 공지사항\r\n 활용한 게시판입니다." }, { "no": 2, "write_date": "2015-03-25 13:28:40", "content": "쇼핑몰 오픈이벤트!\r\n쇼핑몰 오픈이벤트로 최대 30% 까지 할인된 가격으로 만나보세요." }, ] 안녕하세요. 데이터가 강의처럼 meta와 data로 나뉘고 그안에 List로 들어오는게 아니고 위에처럼 그냥 List로 들어온다면 1. Future<CursorPagination<RestaurantModel>> paginate(); 이렇게 사용 못하는건가요? 된다면 class CursorPagination<T> extends CursorPaginationBase { 여기를 어떻게 해야 할지 모르겠습니다. } 2. Future<List<RestaurantModel>> paginate(); 이렇게 사용해야 한다면 abstract class CursorPaginationBase {} 이거는 어떻게 사용해야 할까요? 3. Error: type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>?' in type cast 이렇게 에러가 뜨는데 CursorPagination<T> 이런 구조로 한다는거 자체가 말이 안되는건가요? Future<List<RestaurantModel>> 이런 형식으로 해야 한다면 RestaurantModel을 T로 받으면서 할 수 없는건가요? CursorPaginationBase 이거는 RestaurantModel을 class RestaurantModel extends CursorPaginationBase이런식으로 사용해야 할까요?

  • flutter
  • 하이브리드-앱
김의성 댓글 1 좋아요 0 조회수 263

테스트 모드 구글 Oauth 도메인 추가 방법 발견

해결됨

[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기

테스트 모드로 앱을 켠다. 개발자 모드로 들어간다. 콘솔에 보면 다음과 같은 형태의 도메인이 노출되어 있다: ' ff-debug-service-frontend-ygxkweukma-uc.a.run.app ' 노출된 도메인을 firebase->authentication->settings->승인된 도메인에 추가한다. 칭찬해주시죠 강사님!

  • flutter
  • firebase
  • no-code
  • flutterflow
Yoongiable 댓글 2 좋아요 1 조회수 400

is not valid JSON 에러 ..!

미해결

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

import { http, HttpResponse } from "msw"; const testData = [ { result: "success", userId: 2, nickname: "닉네임", favoriteCount: 223, viewCount: 336, position: "Backend", userFileUrl: "/Users/user/Desktop/pictures/userPicture.jpg", year: "경력없음", techStack: "react, java, ---", softSkill: "소통, 적극성, ---", links: "http://블로그주소", alarmStatus: true, content: "안녕하세요 구인 중입니다", }, ]; export const handlers = [ http.post("/api/post", () => { return HttpResponse.text(JSON.stringify("ok")); }), http.get("/api/get", ({ request }) => { console.log("request", request); return HttpResponse.json(testData); }), ]; export default handlers;"use client"; import { redirect } from "next/navigation"; export default function Home() { const handleClick = () => { fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/get`, { method: "get", }) .then((res) => console.log("res", res.json())) // JSON 형식으로 변환된 데이터를 가져옴 .then((data) => console.log("res?", data)); // JSON 데이터를 로그에 출력 }; return ( <> <div> <button onClick={handleClick}>test btn</button> <p>계정을 생성하세요</p> <form> <div> <> <label htmlFor="id">아이디</label> <input type="text" id="id" name="id" required /> </> <> <label htmlFor="name">이름</label> <input type="text" id="name" name="name" required /> </> <button type="submit">가입하기</button> </div> </form> </div> </> ); } browser.ts, handlers.ts, http.ts, MSWComponent.tsx, server.ts 는 제로초님과 다 동일하게 설정하였고 get부분에서 위와같이 하였는데 Unexpected token '<', "<!DOCTYPE "... is not valid JSON 라는 에러가 계속 발생합니다 ㅠㅠ 어떤부분이 문제일까요.. ! console.log("res", res.json())) 이부분에서 res만 콘솔로 확인하면 이렇게 나옵니다..!

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

여러개의 Repository 에서 하나의 Dio를 공유해야 하는 이유가 뭔가요?

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

여러개의 Repository 에서 하나의 Dio를 공유해야 하는 이유가 뭔가요? 장점에 대해서 나중에 설명해 주신다고 하셨는데 그 내용을 못찾았어요.

  • flutter
  • 하이브리드-앱
escargot han 댓글 1 좋아요 0 조회수 251

속도 이슈

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

안녕하세요. 맥북 사양이 낮아서 그런지 시뮬레이터를 켜두면 렉이 심해서 코드를 작성할때마다 재시작을 하고 있는데 부팅하는데 시간이 꽤 걸려서요. 혹시 시물레이터를 계속 켜두면서 컴퓨터에 부담이 덜가는 방법이 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!

  • flutter
  • 클론코딩
toomuchsour 댓글 1 좋아요 0 조회수 208

itemcode.name

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

미세먼지 강의 중에 itemCode.name 에 name을 쓰는 근거가 이해가 안됩니다. 어디를 확인해 봐야 될까요 ?

  • flutter
  • 클론코딩
xhzero 댓글 1 좋아요 0 조회수 138

class를 직접사용

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

강의를 들으면서 class에 대한 혼동이 생겨 문의합니다... static 을 쓰지 않았는데..class를 인스터스화 하지 않고 class를 직접사용이 가능한가요..? 미세먼지 강의 영상중 캡쳐해서 올립니다.

  • flutter
  • 클론코딩
xhzero 댓글 1 좋아요 0 조회수 172

인기 태그

인프런 TOP Writers

주간 인기글