inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

cropper 오류 문제로 질문드립니다..

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

좋은 강의 덕분에 공부를 열심히 잘 하고 있습니다 선생님 감사드립니다. 다름이아니라 이번 강의 중 cropper 사용에서 똑같이 설치 후 이미지 파일을 불러오면 Uncaught TypeError: $newImage.cropper is not a function at reader.onload 지정된 함수가 아니라고 뜨는데 cropper가 안 먹혀서 그런 걸까요 ㅠㅠ..? 서치하고 코드를 계속 봐도 답이 나오지 않아 이렇게 질문 드립니다..

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
leekyungbin55 댓글 2 좋아요 0 조회수 308

widget.color 가 헷갈립니다.

미해결

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

안녕하세요! widget.color가 동작 방식이 이해가 가질 않습니다. ㅜ stateful 클래스와 state 클래스를 바인딩 시켜주면 widget.color의 state클래스에서 widget은 stateful클래스를 참조한다고 생각하면 될까요?

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

vercel 배포했는데 잘 되다가 안들어가집니다.

미해결

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

안녕하세요 제로초님 강의 잘 듣고있었는데, 강의 질문이 아니라 다른 질문이라 죄송합니다. 당장 다음주 월요일부터 심사가 시작되는 공모전에 나갈 프로젝트인데 잘 되던게 갑자기 안들어가져서요 ㅠㅠㅠㅠ 약 한달전에 배포 cicd 설정 다 해놓고 어제밤까지만해도 문제없이 잘 들어가졌는데 오늘 갑자기 안들어가지네요.. dns_probe_finished_nxdomain 이라고 뜬대요 근데 제 pc로는 캐시를 다 삭제하고 들어가도 잘 되거든요 근데 모바일에선 안되고 다른 사람은 안들어가진다고 하는데 원인이 뭘까요..? 제 pc에서도 크롬에서만 들어가지고 다른 브라우저는 안됩니다. 메일로 vercel에서 뭐 온것도 없습니다.. vercel 설정에서 domains에 문제도 없구요. 메일로 vercel에서 뭐 온것도 없습니다. 빌드 에러도 없구요 무료플랜이었어서 유료플랜으로 업그레이드 했는데도 똑같습니다.. ㅠㅠ 도메인이름은 공개적으로 못 적지만 개인적으로 알려드리겠습니다. ci/cd 되어있어서 main에 계속 push해봐도 빌드 잘 되는데 들어가지지를 않아요...

  • next.js
  • vercel
  • dns
  • domain
apinksky00 댓글 1 좋아요 0 조회수 2384

MVC와 API의 차이점

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요 강사님!! 다름이 아니라 공부를 하다가 MVC와 API의 차이점(?)에 대해 알아보게 되었습니다! 그래서 내린 결론이 Spring MVC구조의 @Controller는 컨트롤러의 리턴값이 ViewResolver에 의해 해석되어서 특정 View가 html응답으로 전송된다. 반면 REST API구조의 @RestController에 의한 호출은 View를 리턴하는 것이 목적이 아닌, 데이터를 전송하는 것을 목적으로 응답이 전송되어 진다. 라고 내렸습니다. 첫번째로, 위에서 제가 내린 결론이 맞는 말인지와 두번째로, 그럼 MVC를 쓰는 경우와 API를 쓰는 경우가 언제인지가 궁금합니다. 제가 아직 개념이 부족해서 그런건지는 몰라도 MVC를 쓰면 프론트엔드의 역할이 없어지는게(?) 아닌가 하는 착각이 들어서... 답변 부탁드리겠습니다!!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
JMJ 댓글 1 좋아요 0 조회수 1156

checkToken 함수 read 에러 관련 질문

미해결

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

안녕하세요. iOS 시뮬레이터로 개발중입니다. checkToken 함수 실행 시 Unhandled Exception: PlatformException(Unexpected security result code, Code: -25300, Message: The specified item could not be found in the keychain., -25300, null) 에러가 발생하여 질문드립니다. 값이 없을 경우 nullable string이 나와야 하는데 exception이 나오는 이유가 궁금해요. 혹시 몰라서 write를 먼저 하고 read를 했더니 값이 잘 불러와집니다.

  • flutter
  • 하이브리드-앱
AJJ 댓글 2 좋아요 0 조회수 321

코드 확인 부탁드립니다 ㅠ

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[n][n]; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { arr[i][j] = sc.nextInt(); } } int m = sc.nextInt(); int[] moves = new int[m]; for(int i = 0; i < m; i++){ moves[i] = sc.nextInt(); } ArrayList<Stack<Integer>> board = new ArrayList<>(); for(int i = 0; i < n; i++) { Stack<Integer> temp = new Stack<>(); for(int j = 0; j < n; j++) { if(arr[n-1-j][i] == 0) break; temp.push(arr[n-1-j][i]); } board.add(temp); } Stack<Integer> basket = new Stack<>(); int result = 0; for(int i = 0; i < m; i++) { int num = moves[i]-1; Stack<Integer> stack = board.get(num); if(stack.empty()) continue; int popNum = stack.pop(); if(!basket.isEmpty() && basket.peek() == popNum) { basket.pop(); result += 2; } else { basket.push(popNum); } } System.out.print(result); } } 어느 부분에서 틀린지 모르겠습니다. 확인 해주시면 감사하겠습니다.ㅠㅠ

  • java
  • 코딩-테스트
모깅 댓글 2 좋아요 0 조회수 220

searchParams props

미해결

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

안녕하세요 search 페이지 props에서 searchParams props가 기본적으로 제공된다고 알고있는데 저는 콘솔로 찍어보니 나오지 않습니다..! 혹시 제가 잘못적용한건지 아니면 다시한번 확인해야 될곳이 있을까요?/ import SelectBox from "@/components/common/SelectBox"; import SelectStack from "@/components/common/SelectStack"; import Peoples from "@/components/people/Peoples"; import SearchForm from "@/components/common/SearchForm"; type Props = { searchParams: { page: string; size: string; sort?: string; keyword?: string; position?: string; teckStack?: string; }; }; export default function Page({ searchParams }: Props) { console.log("??", searchParams); return ( <div> <div className="relative flex items-center gap-4"> <h1 className="text-[36px] font-bold">People</h1> </div> <div className="flex justify-between"> <div className="flex gap-3"> <SelectBox options={option} title="포지션" /> <SelectStack /> </div> <SearchForm keyword={searchParams.keyword as string} /> </div> <Peoples searchParams={searchParams} /> </div> ); }

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

프리즈마로 api만드시는 강의는 언제쯤 나올지 알 수 있을까요?

미해결

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

안녕하세요 선생님 프리즈마로 api만드시는 강의는 언제쯤 나올지 알 수 있을까요? 직접만든 api랑 이번수업에서 배울next로 플젝을 만들고 싶은데 궁금합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
챠챠_ 댓글 2 좋아요 0 조회수 274

PageController 를 statelesswidget 에서 사용하면

미해결

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

해당 pageview를 stateful에서 구현하라고 힌트 주셨는데 . controller와 timer를 @dispose 처리해야해서 인가요? 일단 성미가 급해서 힌트 안듣고 ㅋㅋ stateless에서 구현하고 나니 ful로 하라시길래 "아 이유를 설명해주시겠지" 했는데 잘 이해를 못했어요 ㅠㅠ

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

Access Token과 Refresh Token을 어디에 저장해야 할까요?

미해결

현재 프로젝트를 진행중인데, Access Token과 Refresh Token을 헤더에 담아 로컬스토리지에 저장하는 방법을 사용중입니다. 그런데 로컬 스토리지는 보안에 취약하다는 글을 보았습니다. 로컬 스토리지에 담아도 jwt 정책으로 대응이 가능하다는 글도 있었습니다. Access Token과 Refresh Token을 어디에 저장해야 할까요? 만약 로컬 스토리지나 쿠키에 저장한다면 어떻게 관리해야하나요?

  • java
  • spring
  • accesstoken
  • refreshtoken
  • localStorage
  • cookies
유하정 댓글 1 좋아요 0 조회수 2175

섹션 2 회원가입화면

해결됨

Flutter로 SNS 앱 만들기

예상하지 않게 안드로이드와 플러터 업 하면서 에러로 인하여 섹션 2에 이름,패스원드 확인 검징로직작성편을 다시 보고 있습니다. 그런데, 검증로직에서 에러 부분에 색상이 흰색으로 나와요. 강의화면처럼 빨강색으로 나오고 싶은데 어떻게 하면 됩니까 validator: (value) { if (value == null || value.trim().isEmpty || !isEmail(value.trim())) { return '이메일을 입력해주세요';

  • flutter
  • android
  • firebase
  • dart
vadain2000 댓글 2 좋아요 0 조회수 320

섹션 6. 순수 jbdc

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

이 부분이 임포트가 아예 안 됩니다ㅠㅠ import org.springframework.jdbc.datasource.DataSourceUtils; 그래서 DataSourceUtils .getConnection(dataSource); 이렇게 인텔리제이에서 빨간 불이 들어오구요ㅠㅠ DataSourceUtils에만 빨간 불이 들어옵니다!! 어떻게 해결해야 할까요!! private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); }

  • java
  • spring
  • mvc
  • spring-boot
권정익 댓글 1 좋아요 0 조회수 205

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

섹션 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

인기 태그

인프런 TOP Writers

주간 인기글