묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Next + React Query로 SNS 서비스 만들기
next-auth ./auth.ts 질문입니다 !
import NextAuth from "next-auth" import CredentialsProvider from "next-auth/providers/credentials"; import {NextResponse} from "next/server"; export const { handlers: { GET, POST }, auth, signIn, } = NextAuth({ pages: { signIn: '/i/flow/login', newUser: '/i/flow/signup', }, providers: [ CredentialsProvider({ async authorize(credentials) { const authResponse = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ id: credentials.username, password: credentials.password, }), }) if (!authResponse.ok) { return null } const user = await authResponse.json() console.log('user', user); return { email: user.id, name: user.nickname, image: user.image, ...user, } }, }), ] });@/auth.ts 파일 코드입니다. 이런식으로 에러가 나서 에러 창을 확인해보면 전달된 매개변수의 타입이 적절치 않다고 하는데, 강의 그대로 따라가면서 깃허브 참고하면서 코드를 작성했음에도 불구하고 오류가 나옵니다..
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
강의 "requests, Beautifulsoup4 사용법 빠르게 알아보기"에서 질문이있습니다.
7:59초에 출력값을 여러개로 하고 싶은데 선생님 같이 똑같이 설정을 해도 출력값이 한 줄로만 나옵니다 .
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
Spring Web 의존성을 추가했는데도 intelliJ에서 @RestController 인식이 안 됩니다
안녕하세요'[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기'에서 그대로 따라 했는데이렇게 RestController가 인식이 안 됩니다build.gradle이고 이걸 다시 run했는데 동일합니다 아래는 run 후 콘솔에 찍히는 내용입니다확인 후 답변 부탁드립니다!오후 4:51:31: Executing... > Task :help Welcome to Gradle 8.10.1. To run a build, run gradle <task> ... To see a list of available tasks, run gradle tasks To see more detail about a task, run gradle help --task <task> To see a list of command-line options, run gradle --help For more detail on using Gradle, see https://docs.gradle.org/8.10.1/userguide/command_line_interface.html For troubleshooting, visit https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.10.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 451ms 1 actionable task: 1 executed 오후 4:51:32: Execution finished.시키기
-
미해결
런타임에서 texture2d를 만들었을떄 압축 옵션 적용
코드로 이미지 파일을 decompress RawData로 가져와서 FImage를 확보하고,이거를 Texture2D로 변환하는데 메모리를 아끼려고 압축옵션을 적용해도 변화가 없습니다. 런타임중에 직접 texture2d를 생성하고 UpdateResource() 를 호출하여 최종 적용했을 때, 미리 설정한 압축 옵션이 작동되게 하는 방법이 무엇인가요??? 압축옵션 뿐만 아니라 mipmap, 그룹 옵션 등등 작동이 안됩니다. (런타임 중)
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
except 이후에 실행이 안되는데 finally가 되려면 finally 코드를 영상말고 다르게 수정해주어야 되는건가요?
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
질문이있습니다 선생님!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이미지와같이 맥스힙일때 190이 push되어 맨 아래 즉 말단 노드에 일단 추가되고 부모노드와 비교를 통해 스왑되다가 190이 위 이미지와같이 위치해있는 상황일떄150 노드 하위에 60과 100이 존재하는데요, 150노드는 90과 같은 위치에 존재하는데 100이 90보다 큰값이어도 서로 스왑할 필요는 없이 저대로 존재하는게 맞는건가요?!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
notify() 호출 후의 상황에 대해 질문 있습니다.
@Override public synchronized void put(String data) { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { wait(); // RUNNABLE -> WAITING, 락 반납 log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); notify(); // 대기 스레드, WAIT -> BLOCKED }생산자 스레드가 먼저 실행되면 마지막 스레드는 wait() 호출 후 스레드 대기 집합에서 관리 되는걸로 이해했습니다.이 상태에서 소비자 스레드가 실행되면 데이터를 처리하고 마지막에 notify()를 호출하면 스레드 대기 집합에서 관리 되던 생산자 스레드가 깨어날텐대 여기서 wait(); 바로 다음 코드를 실행하지 않고 바로 BLOCKED 상태가 되는건가요?BLOCKED 상태에 있다가 소비자 스레드가 락을 반납 했을때 BLOCKED 상태가 풀리면서 wait() 바로 다음 코드를 실행한다고 이해하면 될까요?
-
미해결
수강자료 다운로드 안돼요
수업자료 버튼을 2가지 다 눌러보았는데 다운로드가 되지 않습니다몇번이나 눌러보았는데도 따로 다운로드가 되지 않습니다 확인부탁드리겠습니다
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
Main interface 지정 방법
안녕하세요. 강의 중에 설명해주시는 내용 중 Development info > Main interface 설정하는 부분이 안보여서 질문드립니다. 최신 xcode, mac 버전을 사용하고 있어 업데이트가 된 거 같은데 어디에서 설정할 수 있을까요? 강의 중 화면 제 화면.
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
이벤트 트리거 pull_request의 types
이 부분에서types에 closed 가 추가되는 이유가 있을까요?
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
센서신호와 CAN
안녕하세요 강의를 듣다가 궁금한게 있어서 질문 드려봅니다.차량 GSW를 살펴보면 센서신호선이 있고 CAN 선이 또 따로 있던데 센서 신호선은 CAN과 다른 역할을 하는 걸까요?센서신호선의 전압 값을 ECU에 보낸다고 설명에는 적혀있는데 CAN도 동일하게 센서의 정보들을 내부 컨트롤 모듈에 보내는 걸로 알고있는데 어떻게 다른지 궁금하네요.
-
해결됨홍정모의 따라하며 배우는 C언어
라이브러리 구조의 대한 질문
라이브러리에 대하여 궁금한 점이 있습니다.main함수가 있는 파일 : A라이브러리 파일 : BA파일에서 B라이브러리에 있는 함수들을 사용해서 실행파일로 만들경우 컴파일러(링커)에서 A파일에 정의되어 있지도 않는 함수들을 사용했기 때문에 오류가 발생할 수 있지만 여기선 두가지 길이 있다는 걸 확인 했습니다.첫번째 : 헤더파일을 만들어서 거기에 함수의 선언과 정의를 몰아적기 그리고 해당 헤더파일을 include 하기첫번째 방법대로 했을 경우 라이브러리 파일을 따로 만들지 않아도 된다. 두번째 : 헤더파일엔 함수의 선언(프로토타입)부분만 적어놓고 몸체(정의)부분은 .c파일로 만들어서 라이브러리 파일로 만들기두번째 방법의 경우 vs(IDE)의 기능 덕분인지 다양한 방법들이 있다.이 경우에는 include를 따로 하지 않아도 알아서 실행이 되더라구요. 같은 프로젝트에 있으니까 vs(IDE)가 알아서 지원 해주는 것 이겠죠?또 다른 방법으로는프로젝트를 분류하여 lib파일을 만든 다음 lib파일을 전혀 다른 폴더 위치에 옮긴 다음 진행해봤습니다.main함수가 있는 프로젝트 옵션에서 사용하려는 lib를 등록만 했는데 include를 따로 하지 않아도 작동되는 걸 확인할 수 있었습니다.이처럼 따로 include를 하지 않고 다른 프로젝트에서 라이브러리를 만들고 그 라이브러리를 링커에 등록만 해주면 사용할 수 있는 구조가 맞는 구조인건가요? 어차피 링커는 함수의 몸체(정의)부분만 찾으면 되는 거니까요?그렇다면 굳이 헤더파일과 라이브러리 파일을 분류하여 둘 다 만드는 이유는 라이브러리 파일만 쓰자니 라이브러리 파일에 어떤 함수가 있고 어떤 것들이 있는지는 .c파일을 열어보기 전까지 확인할 수 없고.헤더파일만 쓰자니 함수의 선언과 몸체부분을 한 곳에 다 몰아적으면 함수가 많아질 경우 직관적으로 보기가 힘들어서 사용하기 불편하기 때문이고이걸 남들이 사용할 수 있도록 배포 했을 경우 라이브러리 파일만 배포했을 경우 사람들이 해당 라이브러리엔 어떤 함수들이 있는지 보지 못하기 때문에 헤더파일엔 어떤 함수들이 있는지 선언(프로토타입)부분만 보여주며 입력값은 무엇이고 리턴값은 무엇인지 알려주고 그 함수들이 어떻게 정의(몸체)가 되었는지 보여주고 싶지 않기 때문에(비밀) lib파일과 .h파일 둘 다 만들어서 배포하는 건가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
void method 선언 시, 자바 컴파일러가 return을 자동 추가 관련
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]영상 기준 4:46초쯤에 void 메서드는 return이 생략되어도 자바 컴파일러가 마지막줄에 넣어준다고 하셨는데 .class로 컴파일된 파일을 확인해보니 반대로 적어두었던 return도 생략이 되어있습니다.자바 버전이 올라가면서 바뀐걸까요 아니면 컴파일된 파일이 아닌 파일을 실행 시에 return이 추가가 되는건가요?
-
미해결따라하며 배우는 리액트 네이티브 기초
프로젝트 예제 코드는 깃헙에서 따로 볼 수 있을까요?
깃헙에 올리셨다면 링크 공유해주실수 있나요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
혹시 이 부분은 강의 찍을 때와는 다르게 현재 바뀐 걸까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.// flush 자동 호출 commit, query int resultCnt = em.createQuery("update Member m set m.age = 20") .executeUpdate(); Member findMember = em.find(Member.class, member1.getId()); System.out.println("findMember.getAge() = " + findMember.getAge()); 이 부분을 보시면 영한님의 12분 코드와 같잖아요?이때 Member findMember = em.find(Member.class, member1.getId()); 의 findember를 출력할 때, 영속성 컨텍스트 때문에 update문의 age가 20인 것이 반영이 안 돼야 하는데 제 환경에서는 반영이 되는 걸로 나옵니다..!정리하면, em.clear() 를 하지 않았을 때는 age가 0이 나와야 하지만, em.clear() 를 하지 않았음에도 불구하고 age가 20이 나옵니다물론 아래처럼 member의 age 초기값을 0으로 지정해줬습니다Member member1 = new Member(); member1.setUsername("회원1"); member1.setAge(0); member1.changeTeam(teamA); em.persist(member1); 이유가 무엇일까요??
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
혹시 AI 관련 강의도 Zybo Board가 필요한가요?
혹시 AI 관련 강의도 Zybo Board가 필요한가요?
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
RoleHierarchyImpl 관련 deprecated 이슈로 인한 수정 코드 기록
Spring security 6.3.3 버전에서 setHierarchy와 생성자인 RoleHierarchyImpl()가 deprecated 되어 공식문서 권장 방법으로 수정한 코드를 남깁니다.전) 이전 방식@Bean public RoleHierarchy roleHierarchy() { RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl(); roleHierarchy.setHierarchy("ROLE_ADMIN > ROLE_DB\n" + "ROLE_DB > ROLE_USER\n" + "ROLE_USER > ROLE_ANONYMOUS"); return roleHierarchy; } 후) 정적 메소드 fromHierarchy 사용@Bean public RoleHierarchy roleHierarchy() { return fromHierarchy("ROLE_ADMIN > ROLE_DB\n" + "ROLE_DB > ROLE_USER\n" + "ROLE_USER > ROLE_ANONYMOUS"); }
-
해결됨React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발
문제 해결했습니다.
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import path, {resolve} from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], // resolve:{ // alias: [ // { // find: "@src", // replacement: path.resolve(__dirname, "src") // // @src 를 쓰면 src 폴더를 의미하게 된다. // // ../../ 이런거 안 써도 된다. // }, // { // find: "@components", // replacement: path.resolve(__dirname, "src/components") // } // ] // } resolve: { alias: { '@components': path.resolve(__dirname, 'src/components'), '@src': path.resolve(__dirname, 'src') } } })chatGPT 가 알려줬어여 ㅎㅎ
-
해결됨React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발
문제 있어요! alias Path @ 문제
{ "compilerOptions": { "baseUrl": ".", "paths": { "@components/*" : ["src/components/*"], "@src/*" : ["src/*"] } }, "files": [], "references": [ { "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" } ] } 6분 08초 인데, 제꺼는 강사님꺼와 다르게 tsconfig 가 위와 같이 되어 있고, 여기 부분에서 넘어가 지지 않습니다. import React from "react"; import { Canvas } from "@react-three/fiber" import ShowRoom from "@components/ShowRoom" import { OrbitControls } from "@react-three/drei"; export default function Home(){ return ( <> <Canvas> <OrbitControls/> <directionalLight position={[5, 5, 5]}/> <axesHelper args={[5]}/> <gridHelper/> <ShowRoom/> </Canvas> </> ) } import ShowRoom from "@components/ShowRoom" 여기부분에 에러가 뜹니다에러메세지 [plugin:vite:import-analysis] Failed to resolve import "@components/ShowRoom" from "components/Home.tsx". Does the file exist? vite.config.js 는 아래와 같이 설정 했습니다. import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import path from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], resolve:{ alias: [ { find: "@src", replacement: path.resolve(__dirname, "src") // @src 를 쓰면 src 폴더를 의미하게 된다. // ../../ 이런거 안 써도 된다. }, { find: "@components", replacement: path.resolve(__dirname, "src/components") } ] } }) 파일 구조입니다.
-
미해결
이미 스트링 풀에 존재하는 상수를 참조해 새로운 문자열을 만들 경우 저장되는 방식에 대해 질문드립니다.
강의에서 각 스레드 스택 마다 지역변수로 objectReference 참조 변수를 생성하시는 것을 예시로 들어주셧는데요, 해당 변수는 문자열 풀 값들을 이용해서 만들어진 것이잖아요.힙에 저장될 때 어떻게 데이터가 저장되나요? thread 1번에서 생성한 지역변수인 objectReference 는"1" 의 문자열 풀 주소값 + ": Hello World" 의 문자열 풀 주소값, thread 2번에서 생성한 지역변수인 objectReference 는"2" 의 문자열 풀 주소값 + ": Hello World" 의 문자열 풀 주소값,...이렇게 저장되는 것이 맞을까요?? 혹은 "1 : Hello World" 라는 문자열 전체가 하나의 스트링 풀에 저장되고, 그 상수에 대한 주소값이 저장되는 것일까요?