묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상품삭제 API 강의에서 소프트 삭제 관련 질문
TypeORM을 이용한 소프트 삭제에서 softRemove와 softDelete를 이용하는 방법 두가지가 있는데, 강의에서는 softDelete를 이용하는 경우에 대해 설명을 해주셨는데요.softRemove를 하는 경우에도 entity에 똑같이 @DeleteDateColumn 으로 deleteAt을 추가해주면 되나요?@RemoveDateColumn은 내장되어 있지 않은것 겉더라구요..그리고 softRemove 에서는 .affected 가 안되던데 true 나 false로 리턴받을 수 있는 방법이 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
asset폴더 통채로 옮기는건 맥에서만 가능한 기능인가요
asset폴더 통채로 옮기는건 맥에서만 가능한 기능인가요?windows는 직접 폴더 만들어서 넣어야 합니까
-
미해결실전! Querydsl
JPAQueryFactory 의 @Bean 등록
안녕하세요,위 사진처럼 JPAQueryFactory를 별도로 생성해주거나, 아니면 JPAQueryFactory 를 별도로 @Bean 등록해서 생성자 파라미터로 주입받거나 두가지 방식으로 아무거나 해도 되잖아요? 그런데 문득 궁금한데, 습관처럼 사용하던 EntityManager 같은 것들은 Spring이 자동으로 @Bean 으로 등록해서 관리하고 있는 거죠? 그렇다면 JPAQueryFactory는 왜 별도로 스프링이 @Bean 으로 자동 등록해두지 않은 거죠? 감사합니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
npm run start:dev 에러
터미널에 npm run start:dev 를 입력하면 자꾸 Error: Cannot find module 라는 에러가 뜹니다;;npm를 지웠다 깔기도 하고, node module 폴더를 삭제하기도하고, lock.json 파일을 삭제해보기도 했는데 여전히 계속 에러가 뜨는데 왜 이런건가요?.....
-
미해결
워드프레스 관련 강의 추천 강의가 있을까요?
워드프레스 관련 강의 듣고 싶은데 뭐부터 시작해야 할지 모르겠네요~괜찮은 강의 있을까요?
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
room계층 소켓 연결 후 소통 질문
서버쪽에선 socket.on("join", (data) => { socket.join(data); // 방 참가 socket.to(data).emit("join", { user: "system", chat: `${socket.request.session.color}님이 입장하셨습니다.`, }); });이렇게 room계층 소켓으로 연결했고, 해당 room으로 join이벤트를 보냈는데 브라우저 쪽에선const socket = io.connect("http://localhost:8005/chat", { path: "/socket.io", }); socket.emit("join", new URL(location).pathname.split("/").at(-1)); socket.on("join", function (data) {...}/chat 네임스페이스 계층 소켓으로 밖에 연결하지 못했는데 어떻게 해당 room계층으로 온 join이벤트인지 구별하는 게 가능한지 궁금합니다. room계층보다 상위인 네임스페이스 계층에 연결했으니 어느 room으로 오든 네임스페이스만 같으면 모든 이벤트를 다 감지하게 되는 것 아닌가요?
-
미해결
blob으로 영상 재생하기
react - spring 으로 블로그 만들기 프로젝트를 개인적으로 하고있습니다.image를 blob형태로 가져와서 띄우는 것 까진 잘 되는데, 영상 재생이 원활히 되지 않아서 질문을 남깁니다. public ResponseEntity<Resource> getVideo(String videoName) throws IOException { String fileDirectory = "src/main/resources/static/video/"; String fileName = videoName + getExtension(fileDirectory, videoName); Path videoPath = Paths.get(fileDirectory + fileName); Resource videoResource = new UrlResource(videoPath.toUri()); System.out.println("videoResource = " + videoResource); String videoUrl = "http://localhost:4000/videos/" + fileName; System.out.println("videoUrl = " + videoUrl); return ResponseEntity.ok() .contentType(MediaType.valueOf("video/mp4")) // 비디오 타입에 맞게 설정 .body(videoResource); }서버측에서 다음과 같이 로컬에 저장된 영상을 프론트로 보내줍니다.(임시)이후 프론트에서 이를 재생하려고 하는데,export const getVideoApi = async (token: string | null, videoName: string | number) => { const url = `http://localhost:4000/api/videos/${videoName}`; try { const response = await axios.get(url, { headers: { Authorization: `Bearer ${token}`, }, responseType : "blob", }); console.log(response.data) const videoUrl = URL.createObjectURL(response.data); console.log(videoUrl) return videoUrl; } catch (error) { console.error("Error fetching board data:", error); return null; } };video를 다음과 같은 api호출로 가져오고, 저장하였습니다. useEffect(() => { async function fetchProfileImage() { try { if (!boardData) return; // Return early if boardData is not available yet const token = cookies.token; const profileUrl = await getImageApi(token, boardData.boardWriterEmail); setProfileImages({ [boardData.boardNumber]: profileUrl }); const imageUrl = await getImageApi( token, boardData.boardNumber.toString() ); setBoardImages({ [boardData.boardNumber]: imageUrl }); const videoName = boardData.boardNumber.toString(); const videoBlobUrl = await getVideoApi(token, videoName); setVideoUrl(videoBlobUrl || undefined); } catch (error) { console.error("Error fetching profile image:", error); setVideoUrl(undefined); } } fetchProfileImage(); return () => { // Clean up Blob URL when the component unmounts if (videoUrl) { URL.revokeObjectURL(videoUrl); } console.log(videoUrl); }; }, [boardData,cookies.token]);그리고 다음과 같이, 게시물에 접속할 때, 게시물의 사진과 영상이 보여질 수 있도록 useEffect()를 사용하였고 여기서 받은 링크를 {boardVideo && ( <div> <video width="60%" controls style={{ display: "block", // Center align the video margin: "0 auto", // Center align the video }} > <source src={videoUrl || "default.mp4"} type="video/mp4" /> Your browser does not support the video tag. </video> <p>videoUrl: {videoUrl}</p> </div> )}이런식으로 보여주려고 하고있습니다. (p,div 태그는 로그를 찍어보기 위함)브라우저 개발자 도구에서, 영상이 제대로 프론트로 넘어오는 것 까진 확인이 되는데, 생성한 blobUrl로 영상을 불러오는 것이 잡히지 않았고, 또한 bloburl을 2번 생성하는 것을 확인할 수 있었습니다.리액트에 관한 지식이 많이 부족하고, 공부하지 않은 터라, useEffect를 사용하는데 미숙해서 그런건지, 왜 2번이나 bloburl을 만드는지도 이해가 가지 않고, 영상이 재생되지 않는 부분도 이해가 가지 않습니다. blob으론 영상을 재생할 수 없는 것이라면, 서버에서 url을 string으로 넘겨주는 방식을 사용해야하는건지도 궁금합니다. 아래와 같이 blob 객체가 2번 보이고, url도 두개가 생성됩니다. Blob {size: 34970691, type: 'video/mp4'}fileApis.ts:53 blob:http://localhost:3000/c7bb643e-2d0b-4838-9b8b-dd0863a349d4fileApis.ts:50 Blob {size: 34970691, type: 'video/mp4'}fileApis.ts:53 blob:http://localhost:3000/dfe61c3b-8faa-4b01-8a3c-1ef7a743ce6a 제 이해가 많이 부족합니다. 혹시 blob방식을 사용하는 것이 옳지 않은 건지, 스프링과 리액트를 같이 사용할 때 (혹은 타 프레임워크를 사용하더라도,) 서버에 저장되어있는 영상을 프론트에서 재생하는데 좋은 방법이 있다면 알려주시면 감사하겠습니다.
-
미해결데이터 분석 SQL Fundamentals
with temp_01 as () 관련 질문입니당
안녕하세요 선생님혹시 with temp_01 as ()를 사용해야만 하는, 특정 상황이 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 객체의 재정의된 equals 메서드를 호출하게 되면 초기화되나요?
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Post post)) return false; return id.equals(post.getId()); }위에 처럼 equals 메서드를 재정의했고 id값만 사용해 객체를 비교했습니다. 예상한걸로는 id값만 사용했기에 객체가 초기화 되지 않는걸 예상했고 하지만 실제로 동작에서는 초기화가 되는것을 확인했습니다. @Override public boolean equals(Object o) { return true; }그리고 테스트 하기위해 위에 처럼 필드를 사용하지 않게 재정의를 했고 하지만 역시 equals를 사용하면 객체가 초기화 되었습니다. 이유가 무엇인가요? 스택오버플로우 에서는 equals가 재정의되면 프록시 객체에서는 원본객체로 위임한다는 답변이 있습니다. 원본 객체로 위임하면서 초기화가 발생하는것일까요?
-
미해결스프링 핵심 원리 - 고급편
로그 추적기의 요구 사항이 public 메서드 호출을 로깅하는 건데, private 메서드 호출까지도 로깅하는 걸로 하고 싶다면 어떻게 해야할까요?
로그 추적기의 요구 사항이 public 메서드 호출을 로깅하는 건데, private 메서드 호출까지도 로깅하는 걸로 하고 싶다면 어떻게 해야할까요? private 메소드는 AOP 적용 불가능한대, 디버깅시 어떤 흐름으로 함수가 호출되지 파악하기 위해서 private 메서드 호출도 봐야되는 것 같고, 그러면 어떻게 하는지 궁금해서 여쭤봅니다. 혹시 모니터링 툴로 함수의 전체적인 호출 흐름을 파악할 수 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nestjs graphql API 요청 관련 질문
안녕하세요. express 에서 rest 방식에서는 API를 생성할 때, get이나 post 등의 메소드 방식을 정하고 주소를 지정하여 프론트엔드에서 fetch 나 axois 함수에 주소를 기입하여 API 요청을 했었습니다.graphQL 방식의 nestjs에서는 프론트엔드에서 API 요청을 보낼 때 어떤 방식으로 하나요? 따로 주소 같은 것을 지정해주지는 않는 것같은데..똑같이 fetch 나 axois 함수를 통해 요청을 하는 건가요?
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
EnCase 기능 중 질문있습니다.
안녕하세요. 교수님.교수님 강의를 잘 듣고 있습니다.질문드립니다.EnCase 기능중 분석을 위한 Acquire 와 Process가 있습니다.Acquire는 이미징을 위한 E01을 생성하면서 분석을 같이 진행Precess는 E01등의 파일을 분석하기 위한 기능이렇게 생각하면 되는지 궁금합니다.만약에 맞다면 Acquire의 기능중 무결성이 유지가 되는지 그 밖에 이기능의 차이점이 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
완강하고 공부할거 질문입니다
완강하면 코테,CS 준비하면 되나요?근데 코테 언어는 어떤 걸로 준비해야 할까요
-
미해결
vscode 파이썬 실행 bash오류
안녕하세요 vscode로 파이썬을 실행하면 저런 오류가 뜨는데 vscode랑 파이썬 둘다 지우고 다시 설치했는데도 해결이 안되고 아무리 구글링해도 같은 오류가 뜨는 분이 없는데 저 오류는 왜 나는거고 어떻게 해결하면 좋을까요??
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
h2 실행
맥북 사용자 입니다.h2를 실행할 때 마다 터미널콘솔창에서 실행해야하나요?처음에 모드변경해주면 그다음부터는 파일에서 바로 실행해도 되나요??
-
미해결[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
scope에 대해 질문 있습니다.
var i = 999; for (var i = 0; i < 10; i++) { console.log(i); } console.log(`i in global scope : ${i}`); // 10 ------------------------------------------------------------------- i = 999; for (let i = 0; i < 10; i++) { console.log(i); } console.log(`i in global scope : ${i}`); // 999 안녕하세요 강의 너무나 잘 듣고 있습니다!scope에 대해 배웠는데 내용이 헷갈려서 질문을 올리게 되었습니다."var은 함수를 선언할 때만 스코프가 생긴다. 블록레벨 에서는 var을 썼을때 새로운 스코프를 만들어내지 않는다. 그래서 global scope인 i가 for으로 바꿔준 값인 10이 출력된다."라고 하셨는데 이 부분을 계속 돌려보아도 이해가 잘 가지 않습니다..스코프를 만들지 않는 것과 for에서 10으로 바꿔준 값이 global scope인 i에도 적용이 되는 것과 무슨 상관이 있는 건가요..?? 감사합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost:8080 웹 페이지가 생성되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님 코드를 따라 적었는데 해당 오류가 발생하면서 위와 같이 서버가 생성되지 않습니다.왜 그런건가요?답변 부탁드립니다 더위 조심하세요 혹시나 필요하실꺼 같아 build.gradle 코드도 첨부합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
자바 스프링 강의를 수강하면서 자바를 공부해도 되나요?
안녕하세요컴퓨터 전공으로 대학교 3학년에 재학 중인 학생입니다. 다름이 아니라 현재 김영한 강사님 강의를 스프링 입문과 기초를 수강한 상황입니다.그리고 DB 기초와 웹 MVC 강의를 함께 수강 중입니다.하지만 강의를 들으면서도 이해가 안되는 부분이 많았습니다.그래서 다음과 같은 고민이 생겼습니다.1.강사님 강의를 들으며 이해가 안되는 부분은 인터넷을 찾아가며 들으니 강의에서 이해 못하는 부분도 많지만 확실히 쉽게 설명해주셔서 많이 배워가는 느낌이 듭니다. 하지만 자바 스프링 자체가 어렵고 이해가 안되는 부분이 많아 강의를 들을 땐 항상 "지금 이렇게 이해가 안되는 상태로 배워도 내가 직접 사용할 수 있을까? 코드를 작성할 수 있을까? 라는 걱정이 듭니다.원래 다른 분들도 자바 스프링을 배우면서 이런 고민을 겪게 되는 건가요?아니면 자바 언어나 다른 개념들이 익숙하지 않아 저만 겪고 있는 문제점인가요?만약에 후자가 문제라면 자바 언어 및 다른 개념을 어떻게 채울 수 있는건가요?2.현재 계획은 자바 언어 공부 + 자바 스프링 수강 => 작은 프로젝트 진행 + 강의 복습 => DB 강의 심화 + 웹 MVC 심화 강의 수강 이렇게 할 계획인데 괜찮을까요? 답변 부탁드립니다더위 조심하세요
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
git 실습 파일 clone 실패
안녕하세요, 맛비님. 강의 잘 보고 있습니다. 다름이 아니라, " Verilog HDL [HDL 1장] Testbench 에서 Clock 생성하기 " 강의에서 git 실습파일 clone에 실패해서 문의 드립니다. 강의 대로 git clone https://github.com/matbi86/sulgyedokhak.git 를 입력하니 첨부파일과 같은 결과가 나옵니다. 설치 완료가 시작 단계의 끝인 줄 알았는데 아직 한 단계 남았었네요 ^^ 답변 부탁드립니다.
-
해결됨실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
준비하고 계신 다음 강의가 있을까요??
안녕하세요,,,자동차 업계 종사자인데잘 보고 있습니다...내용과 설명이 너무 잘 되어 있어서 다음 강의도 기다려지는데,,,혹시 어떤걸 해야겠다거나 준비중이신 강의 같은게 있을까요??감사합니다.