묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결맛집 지도앱 만들기 (React Native + NestJS)
react-native-gesture-handler 설치 오류
동영상 강의대로 진행하다가 index.js에 import 'react-native-gesture-handler'; 를 입력하고 저장하자마자 아래 오류가 떴습니다..어떻게 해야하나요 ㅠㅠ 이 강의에서 너무 많은 오류가 떠서 진행이 며칠 째 안되서 너무 힘들어요.2번째 오류> Task :react-native-safe-area-context:compileDebugKotlin FAILED 'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
auth 관련 에러
7강 마지막 들으면서 적용하는데분명 에뮬레이터도 정상동작인데 dio.dart의 onError함수에서 계속 401 auth에러가 발생한다고 표시가 돼서 콘솔로 디버깅을 했습니다. 그런데 마지막 resending하는 부분까지 정상 도달은 하지만 onResponse의 콘솔은 뜨지않고 재시작해서 accessToken을 다시 발급 받았음에도 계속 onError에서 401auth 에러가 발생합니다. 어떤 부분이 문제일까요[요약]토큰만료 =>홈 스크린에 데이터 사라짐 => 재시작 => 홈 스크린에 데이터 불러와짐 => 문제발생 데이터는 불러와지는데 디버그 콘솔에 REQ랑 ERROR표시남(401 AUTH 관련 에러) => 재시작 => 동일 에러 무한[에러 내용]I/flutter ( 4232): [REQ] [GET] http://10.0.2.2:3000/restaurant/I/flutter ( 4232): [ERROR] [GET] http://10.0.2.2:3000/restaurant/I/flutter ( 4232): [ERROR] [MESSAGE] This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.I/flutter ( 4232): The status code of 401 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"I/flutter ( 4232): Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/StatusI/flutter ( 4232): In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.dio.dartimport 'package:dio/dio.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:section2/common/const/data.dart'; class CustomInterceptor extends Interceptor { final FlutterSecureStorage storage; CustomInterceptor({ required this.storage, }); /// 1) 요청 보낼 때 /// 요청이 보내질때마다 /// 만약에 요청의 Headers에 accessToken이 true 이면 /// 실제 토큰을 가져와서 기존 accessToken값을 삭제하고 { /// authorization : Beader $토큰} 값을 추가 @override void onRequest( RequestOptions options, RequestInterceptorHandler handler) async { print('[REQ] [${options.method}] ${options.uri}'); if (options.headers['accessToken'] == 'true') { options.headers.remove('accessToken'); final accessToken = await storage.read(key: ACCESS_TOKEN_KEY); options.headers.addAll( {'authorization': 'Bearer $accessToken'}, ); } if (options.headers['refreshToken'] == 'true') { options.headers.remove('refreshToken'); final refreshToken = await storage.read(key: REFRESH_TOKEN_KEY); options.headers.addAll( {'authorization': 'Bearer $refreshToken'}, ); } return super.onRequest(options, handler); } /// 2) 응답 받을 때 @override void onResponse(Response response, ResponseInterceptorHandler handler) { print( '[RES] [${response.requestOptions.method}] ${response.requestOptions.uri}'); super.onResponse(response, handler); } /// 3) 에러 났을 때 @override void onError(DioException err, ErrorInterceptorHandler handler) async { // 401에러 났을 때 (status code) // 토큰을 재발급 받는 시도를하고 토큰이 재발급되면 // 다시 새로운 토큰을 요청한다. print('[ERROR] [${err.requestOptions.method}] ${err.requestOptions.uri}'); print('[ERROR] [MESSAGE] ${err.message}'); // refreshToken이 없는 경우 final refreshToken = await storage.read(key: REFRESH_TOKEN_KEY); if (refreshToken == null) { // 에러 던질때는 handler.reject()사용 return handler.reject(err); } final isStatus401 = err.response?.statusCode == 401; final isPathRefresh = err.requestOptions.path == '/auth/token'; if (isStatus401 && !isPathRefresh) { final dio = Dio(); try { final res = await dio.post( 'http://$ip/auth/token', options: Options( headers: { 'authorization': 'Bearer $refreshToken', }, ), ); final accessToken = res.data['accessToken']; final options = err.requestOptions; //기존 토큰 변경 options.headers.addAll({ 'authorization': 'Bearer $accessToken', }); await storage.write(key: ACCESS_TOKEN_KEY, value: accessToken); // 에러난 요청options에 토큰값을 신규로 변경하여 재전송 final resending = await dio.fetch(options); return handler.resolve(resending); } on DioException catch (e) { return handler.reject(e); } } return handler.reject(err); } }
-
미해결
해킹당했어요..
저는 오늘 동생한테 컴퓨터를 빌려줬는데 동생이 디스코드에 이상한서버에 들어가서 발로란트 스푸핑?그런걸 다운받았데요 그런데 화면에 mzmz바이러스라고 떠서 놀랐어요... 이제 어떻하죠 그 해킹범이 아주 친절 하게도^^ 이미 전원을 강제로 껏으면서 바탕화면 못가게 막아놨으면서 바탕화면에가서ip 바꾸라고 하더라고요^^ 그래서 질문합니다.... 제발... mzmz바이러스 라는걸 좀 제발... 푸는법좀 알려주세요...
-
미해결코드로 배우는 React with 스프링부트 API서버
9강 kakao api로 아이디 생성 후 오류
9강 리액트 사용자 정보 수정 중에 kakao api 연동해서 그전까지 잘되는데, 디비에 카카오 사용자 정보가 없는 상태에서 로그인을 하면 디비에 member와 member_member_role_list 두 테이블 사용자가 잘 생성됩니다. 서버에는 getClaims 함수실행에서 오류가 발생하고 DTO에 정보를 못찾는다는거 같은 오류인거 같은데화면상에는 이렇게 나옵니다.새로고침 후의 상태이고그냥 localhost:3000 으로 다시 들어가서 로그인을 하면 디비에는 카카오사용자가 생성이 된 상태라 로그인이 잘됩니다.... 원인이 무엇일까요@GetMapping("/api/member/kakao") public Map<String, Object> getMemberFromKakao(String accessToken) { log.info("access Token : {}", accessToken); MemberDTO memberDTO = memberService.getKakaoMember(accessToken); Map<String, Object> claims = memberDTO.getClaims(); String jwtAccessToken = JWTUtil.generateToken(claims, 10); String jwtRefreshToken = JWTUtil.generateToken(claims, 60 * 24); claims.put("accessToken", jwtAccessToken); claims.put("refreshToken", jwtRefreshToken); return claims; }public Map<String, Object> getClaims() { Map<String, Object> dataMap = new HashMap<>(); dataMap.put("email", email); dataMap.put("pw", pw); dataMap.put("nickname", nickname); dataMap.put("social", social); dataMap.put("roleNames", roleNames); return dataMap; }import axios from "axios" import { API_SERVER_HOST } from "./todoApi" const rest_api_key = `` const redirect_uri = `http://localhost:3000/member/kakao` const auth_code_path = `https://kauth.kakao.com/oauth/authorize` const access_token_url =`https://kauth.kakao.com/oauth/token` export const getKakaoLoginLink = () => { const kakaoURL = `${auth_code_path}?client_id=${rest_api_key}&redirect_uri=${redirect_uri}&response_type=code` return kakaoURL } export const getAccessToken = async (authCode) => { const header = { headers: { "Content-Type": "application/x-www-form-urlencoded", } } const params = { grant_type: "authorization_code", client_id: rest_api_key, redirect_uri: redirect_uri, code: authCode } const res = await axios.post(access_token_url, params, header) const accessToken = res.data.access_token return accessToken } export const getMemberWithAccessToken = async (accessToken) => { const res = await axios.get(`${API_SERVER_HOST}/api/member/kakao?accessToken=${accessToken}`) return res.data }rest_api_key에 restkey입력되어있습니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
버퍼, 한번에 읽고 쓰기, 크기 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다."I/O 기본1 정리"를 보고 들으면서, 버퍼에 한번에 가득 채워서 쓰기(bos.write(buffer)) 및 한번 만에 읽기(bos.readAllbytes())에서 궁금증이 생겼습니다. (7:25 부분)어느 정도의 파일 용량이 까지, 한번 만에 쓰기 및 한번 만에 읽기를 하는지 알 수 가 없었습니다.어느 정도가 파일 용량이 작은 거라고 생각하는지 알고 싶습니다. 답변 부탁드립니다.
-
미해결
2월 11일 혹시 25%할인 없었나요?
오후에 보고싶은 강의나 몇가지 강의 들이25% 할인 한다고 되어있어서 퇴근하고 결재할려고 하니까. 할인표시가 없어져버렸네요 있었는데 ㅠㅠ 혹시 할인 공지 같은거 확인할 방법 없을까요? 홈페이지를 열어도 할인소식이 없어서 눈에 안 들어오면 기회를 바로 잃어버리네요. ㅠㅠ
-
미해결15일간의 빅데이터 파일럿 프로젝트
SpoolDIR 폴더로 옮기
mv를 했는데 파일이 사라지기만 하고 옮겨지지 않습니다
-
미해결UDS 진단통신을 통한 SW 업데이트(SW ReProgramming)
Control DTC Setting
안녕하세요. Control DTC Setting 강의를 듣는 과정에서 질문드릴 내용이 있어 말씀드립니다! 해당 Service를 사용하는 이유는 하나의 제어기 (ex: 엔진제어기)가 SW Update 동안에 주기적인 신호 및 정보들을 다른 제어기(ex: 자율주행 제어기)에게 송신하지 못하기 때문에, 다른 제어기가 이를 Error로 인식해서 SW Update 동안에는 DTC Status Byte를 Update하지 마라는 Service로 이해했습니다. 해당 파트 동영상 3:07 부분에서 엔진제어기가 신호를 보내지 못하면 자율주행 제어기 입장에서 Error로 판단한다고 하셨습니다. 이 때 차량의 고장상태를 확인할 때에 저는 엔진제어기가 신호를 보내지 못한 것이기 때문에 자율주행 제어기가 (ex:"엔진제어기가 지금 고장났어")와 같은 엔진제어기 관련 DTC가 발생할 것으로 생각했는데, 자율주행 제어기에서 고장이 발생했었다고 DTC 코드에 기록된다고 하셔서 이 부분 관련해서 궁금합니다! (아니면 혹시, "자율주행 제어기에서 엔진제어기로부터 신호를 받지 못해서, 이에 따라 본인의 동작을 하지 못한 부분에 대한 DTC로써 자율주행 제어기에서 고장이 발생했다" 라는 말씀으로 하신것일까요?)뒷부분에서는 Functional Address에서의 SPRMIB에 대해서 설명해주셨는데, 혹시 해당 비트를 사용하면 Positive response 응답은 없다고 하셨는데, 제어기 입장에서 Pending Response(NRC: 0x78) 후의 Positive Response를 응답할 수도 있는 것일까요? 이 부분은 OEM에 따라 상이한 부분인지, 아니면 무조건 Positive 면 응답을 하지 말라는 것일까요?항상 좋은 강의 감사드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@OneToMany,@JoinColumn 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요, 공부하다가 정리한 제 생각이 맞는지 궁금합니다.> @JoinColumn: 외래 키(Foreign Key, FK)를 소유하는 엔티티이며, 해당 필드를 가진 엔티티는 연관관계의 주인이다. JPA가 연관된 상대 엔티티에 name으로 지정한 Column을 추가한다.> @OneToMany: 기본적으로 연관관계의 주인이 아니며(1인 team에 FK값인 member_id를 가지면 불필요한 데이터 증가하기 때문) 연관관계 주인인 테이블에 추가적인 update SQL이 진행된다. 감사합니다.
-
미해결
Mssql 사용 시 실제 테이블에 영향 발생 문의
안녕하세여.Mssql에 debesium을 활용해서 source connector 사용 중 사고가 발생해서 문의드립니다. Mssql은 트랜젝션로그를 활용하는 것으로 알고 있습니다만,실제 테이블에 양향이 발생해서 곤란한 상황을 당했습니다. CDC가 로그파일을 사용하며, 실제 테이블에는 큰 영향이 없는걸로 생각하고 작업했으나 실제 테이블에 영향이 발생했습니다. 제가 잘못 알고 있는건지? 아니면 MSSQL 옵션 등의 영향으로 실제 테이블에 영향이 발생한건지요? 좋른 답변에 미리 감사드립니다.^^
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
ST-Link 디버깅 문제 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 질문 & 답변에 나와있는 다른 분들처럼 디버거 문제가 있는 것 같습니다. 장치 관리자 USB 연결 목록 확인해보니 잘 연결 되어있습니다.ST-Link Utility에서도 연결 및 업그레이드가 잘 진행되고 있습니다. ST유틸리티에 Target - Connect 진행 시 Memory영역 잘 읽어 오는 것 확인했습니다. 위와 관련해서 확인 부탁드립니다.
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
Direct connection / Transaction pooler / Session pooler 차이가 무엇인가요?
Supabase 가 업데이트 되면서, 강의 화면과 다른 부분이 있어서 질문드립니다.Direct connection / Transaction pooler / Session pooler 차이가 무엇인가요?강의를 따라가기 위해 Transaction pooler 를 사용해서 연결은 하긴 했습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
맥북 사용하시는 분 들 단축키 알려 드립니다.
맥북 사용하시는 분들 Command + L Command + O 누르면 Live Server가 자동으로 오픈됩니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-I 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/e6389548e0ca4fc78ad5f26dcfbd6c1b처음엔 다음과 같이 minPaLength로 가장 짧은 파를 찾아서 해당 값을 hi로 넣었습니다. 이렇게 진행한 이유는 문제에'하나의 파닭에는 하나 이상의 파가 들어가면 안 된다.'라고 적혀있었기 때문입니다. http://boj.kr/f0fd87d4a5924d068ce2cbf1fa312d84저 코드를 실패한 이후 다음과 같이 hi를 1e18로 바꿔서 진행했더니 정답이 되었습니다.이 문제에서 왜 hi를 가장 짧은 파의 길이로 설정하면 안되는지가 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
공유자님 이 강의 공부 방법에 대한 질문입니다.
이 강의는 어떤 식으로 접근해야 되나요?이런 것이 있구나~ 라고 생각하고 넘어가야 하나요? 아니면 하나하나 다 알아가면서 넘어가는 것이 좋나요?
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
tailwind css 버젼 다름문제
노션에 링크에 들어가면 https://tailwindcss.com/docs/installation/using-vite여기로 옮겨지는데 강의 내용과 완전히 다른 터미널 명령어를 알려줍니다. 홈페이지말고 강의 처럼 따라하니깐 init 부분에서 npm error could not determine executable to runnpm error A complete log of this run can be found in: C:\Users\shin\AppData\Local\npm-cache\_logs\2025-02-11T09_22_29_046Z-debug-0.log이런 오류가 뜨는데 새로 변경된 홈페이지를 따라해야하나요?따라해야한다면 어떻게 하면될까요?
-
미해결
중고신입 백엔드 개발자(Java, Python) 모의면접 + 자소서 스터디
[개발 스터디 모집 내용 예시]스터디 주제 : 자소서 바탕 기술 면접 + CS 면접 대비 + 자소서 피드백 및 보완스터디 목표 : 상호 피드백예상 스터디 일정(횟수) : 주 1회(한 달에 한 번은 오프라인 모의 면접 강남 or 판교)예상 커리큘럼 간략히 : 주 1회 1인 30분씩 면접(2팀, 번갈아가며)예상 모집인원 : 저 포함 4명, 6개월 이상 경력자, Java또는 Python 경험자.스터디 소개와 개설 이유 : 면접 피드백스터디 관련 주의사항 : 불참 벌금 있음! 1회 5000원 / 보증금 10,000원스터디에 지원할 수 있는 방법을 남겨주세요. (이메일, 카카오 오픈채팅방, 구글폼 등) : https://open.kakao.com/o/sYWCKCch참고 사항 : 스터디 게시판에 영리를 목적으로 하는 게시글(유료 과외 및 멘토링 등)을 작성한 경우 해당 글은 운영 방침에 의해 중단, 삭제될 수 있음을 안내드립니다.
-
해결됨[초급] QML 프로그래밍 2편
그래프를 그리려면 어떤 모듈을 사용하는 것이 좋을까요?
GPL 모듈인 QtChart를 피해서 LGPL 모듈만 사용하여 2차원 그래프를 그리려고 합니다. 자료를 찾아본 결과 강의해 주신 QPainter와 QOpenGLWidget 2가지 방식이 있는 것을 알았습니다. 복잡한 그래프가 아니더라도 실시간으로 그래프를 업데이트하려면 QPainter보다는 QOpenGL을 사용하는 것이 더 좋을까요? 기기는 라즈베리파이4에서 실습하고 있습니다!! 항상 자료들과 강의 잘 보고있습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect와 useMemo 차이점에 대해서
안녕하세요 설명해주신 useMemo의 역할이 재랜더링 되는 경우 컴포넌트를 랜더링 특정 경우에만 재랜더링 하도록 하고 그 외는 그대로 값을 두는 것으로 성능을 증가 시키는 개념으로 이해를 했습니다. 지난 시간에 알려주신 useEffect의 경우도 deps에 값을 지정해주면 그 상태에 따라서면 랜더링을 진행하는데 차이점이 있나요?
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
crontab 결과가 market.log 에 저장이 안돼요ㅠ
crontab 결과가 market.log 에 저장이 안돼요ㅠcrontab 내용 오타 없는지도 계속 확인했고, 파일 실행도 직접했을 때는 환율 잘 나와요. 로그 파일도 자동 생성이 됐는데cat market.log 하면 아무것도 뜨지 않네요ㅠ 이유가 뭘까요?
주간 인기글
순위 정보를
불러오고 있어요