묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
data jpa로 form 객체 사용 시 정리가 안된 부분 질문드려요..
실전 data jpa를 완강하고 다시와서 듣는 중인데요머리속에 정리가 안되는 부분이 있습니다.. 예를들어Member라는 엔터티가 있고MemberForm이라는 객체를 만들었습니다(뷰템플릿에서 사용자에게 받은 파라미터를 Member로 전환하기 위해) 여기서 제가 정리가 안되는 것은 MemberForm이 Dto의 역활까지 해서 MemberForm 객체를 생성해서 사용 한다면 굳이 MemberDto를 생성, 사용을 안해도 되는 건가요? 즉 서비스계층에서 memberForm을 member로 전환 시켜주는 작업을 한번만 수행하면 되는걸까요? 추가로 서비스계층에서 그 전환과정이 있다면 서비스 계층에서는 Member 엔터티를 노출해도 되는지(Member member= new Member():와 같이) 궁금합니다. 그게 안된다면 Member 엔터티 객체 안에 MemberForm을 매개변수로 받는 생성자를 만들거나 변환메서드를 작성해야하는지 궁금합니다. 감사합니다.
-
해결됨김영한의 실전 자바 - 기본편
객체란 무엇입니까?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 밤에 잠이 안 와서 ,여러가지 생각들을 하다가, 문득 "객체가 뭐지?" 라는 생각을 하게 되었습니다. 근데.. 객체에 대해서 정리가 안되고, 그냥 벙찌게 되더라고요.나중에 면접관이 객체가 뭔가?? 라는 질문이 왔을때..(물론 다들 객체에 대해서 당연히 알고 있을 거라고 생각하고 질문은 안하시겠지만) 대답을 못하겠더라고요.객체에 대해서 말을 쓰면서도 말이죠.만약에 객체에 대해서 설명하라고 하면 어떻게 설명 해야할지 답변 부탁드립니다.(짜증나는 다형성 맨 마지막 문제풀이 때문에 계속 복습하고 부족한게 뭘까 생각하다가 여러가지들을 공부하게 되고 생각을 하다보니 이렇게 되네요... 빨리 영한님처럼 그냥 풀고 싶네요.)
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
웨이브 리프레시 버그(?) 대응이 안되네요
"Wave" 텍스트와 숫자가 겹치는 버그 고치려고 해도 잘 안됩니다원인이 Horizontal Layout Group 때문인 것 같은데 LayoutRebuilder.ForceRebuildLayoutImmediate(GetObject((int)GameObjects.WaveObject).GetComponent<RectTransform>()); 을 써도 안되네요..선생님께서는 어떻게 해결하셨는지 궁금해서 질문 드립니다
-
해결됨Next + React Query로 SNS 서비스 만들기
tanstack query 타입 지정
"use client"; import {useQuery, useQueryClient} from "@tanstack/react-query"; import {getUserPosts} from "../_lib/getUserPosts"; import Post from "@/app/(afterLogin)/_component/Post"; import {Post as IPost} from "@/model/Post"; type Props = { username: string; } export default function UserPosts({ username }: Props) { const { data } = useQuery<IPost[], Object, IPost[], [_1: string, _2: string, _3: string]>({ queryKey: ['posts', 'users', username], queryFn: getUserPosts, staleTime: 60 * 1000, // fresh -> stale, 5분이라는 기준 gcTime: 300 * 1000, }); const queryClient = useQueryClient(); const user = queryClient.getQueryData(['users', username]); console.log('user', user); if (user) { return data?.map((post) => ( <Post key={post.postId} post={post} /> )) } return null; }import {QueryFunction} from "@tanstack/query-core"; import {Post} from "@/model/Post"; export const getUserPosts: QueryFunction<Post[], [_1: string, _2: string, string]> = async ({ queryKey }) => { const [_1, _2, username] = queryKey; const res = await fetch(`http://localhost:9090/api/users/${username}/posts`, { next: { tags: ['posts', 'users', username], }, cache: 'no-store', }); // The return value is *not* serialized // You can return Date, Map, Set, etc. if (!res.ok) { // This will activate the closest `error.js` Error Boundary throw new Error('Failed to fetch data') } return res.json() } 기존 강의에서의 코드입니다. 제 생각에는 둘 다 타입을 지정해 줘야 할 필요가 있나? 라는 생각이 들어서 getUserPosts의 타입만 설정해봤는데, useQuery부분에서도 data 타입, key에 대한 타입, fn에 타입 모두 정상적으로 적용이 되는 거 같습니다. "use client"; import Post from "@/app/(afterLogin)/_component/Post"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { getUserPosts } from "../_lib/getUserPosts"; type Props = { username: string; }; export default function UserPosts({ username }: Props) { const { data } = useQuery({ queryKey: ["posts", "users", username], queryFn: getUserPosts, staleTime: 60 * 1000, // fresh -> stale, 5분이라는 기준 gcTime: 300 * 1000, }); const queryClient = useQueryClient(); const user = queryClient.getQueryData(["users", username]); console.log("user", user); if (user) { return data?.map((post) => <Post key={post.postId} post={post} />); } return null; } import { Post } from "@/model/Post"; import { QueryFunction } from "@tanstack/query-core"; export const getUserPosts: QueryFunction< Post[], [_1: string, _2: string, username:string] > = async ({ queryKey }) => { const [_1, _2, username] = queryKey; const res = await fetch(`http://localhost:9090/api/users/${username}/posts`, { next: { tags: queryKey, }, cache: "no-store", }); // The return value is *not* serialized // You can return Date, Map, Set, etc. if (!res.ok) { // This will activate the closest `error.js` Error Boundary throw new Error("Failed to fetch data"); } return res.json(); }; 이런식으로 약간 변형을 줘봤는데 기존의 코드 타입 지정과 차이가 있을까요?바꾼 부분은 UserPost에서 타입 지정은 모두 없애줬고, getUserPosts에서 next tags에 queryKey를 그대로 할당했습니다. (간혹 tags의 규칙상 queryKey에서는 가능해도 안되는 경우도 있다고 강의에서 말씀해주셨는데, 대부분의 경우에는 가능하기 때문에 대부분은 이렇게 충분하고 그런 경우에만 별도로 바꿔주면 될 거라고 생각했습니다.)
-
해결됨Backend 멀티쓰레드 이해하고 통찰력 키우기
1_Process와 Thread protobuf 부분 질문
위쪽 부분에서 궁금한점 있습니다protobuf를 사용해도 필드가 추가되면 어쨌든 어떤 것을 쓰던 JSON이랑 똑같이 공유되어야할 것 같은데 제가 놓친게 있을까요?참고로 전 protobuf 써본적 없습니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
스택 프레임에서
지역변수의 경우에는 매개변수, 이전bp값과는 다르게push 명령어 없이도 스택에 저장되는 것인가요?만약 맞다면mov ebp, espsub esp, ..... 이후 어느 명령어를 통해서지역변수 c의 값이 스택에 저장된 것인지 궁금합니다.
-
해결됨[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
강의자료 다운로드가 딱 53~54MB 정도에서 멈춥니다.
강의자료 다운로드가 계속 같은 진행정도에서 멈추네요.어떤 문제가 있는 것인지 알 수 있을까요?
-
미해결스프링 핵심 원리 - 기본편
member와 findMember의 .isEqualTo 비교
강의내용 7:00 에 등장하는 Assertions.assertThat(member).isEqualTo(findMember);에서 member와, findMember를 isEqualTo(내용비교)를 통해 내용이 같은지 검증을 하고 있습니다. 여기서는 당연히 member와 findMember의 내용비교가 같다는 것을 이해하였습니다.그런데 isSameAs(주소값 비교)로 검증을 해보아도 주소 값이 같다는 결과가 나왔습니다. println() 메서드를 통해 member와 findMember의 주소값이 같다라는 결과도 눈으로 확인하였습니다. member는 new Member(1L, "memberA", Grade.VIP); 를 통해 객체를 새로 생성하여 member객체에 담았고,findMember 객체는 member의 값을 join을 통해 memberServiceImpl.join -> MemoryMemberRepository.save를 호출하여 store에 저장되어이있는 값을 findById를 통해 가져와서 Member 타입의 findMember에 새로 저장을 했다라고 생각이 들어, 제 생각에는 member와 findMember의 주소값 비교가 다르다는 결과가 나와야 되지 않나 싶어 질문 남깁니다.member객체와 findMember의 주소값 비교가 어떻게 같을 수 있는 것인가요 ?
-
미해결Flutter 중급 1편 - 클린 아키텍처
freezed JsonKey 사용 예시 공유
import 'package:freezed_annotation/freezed_annotation.dart'; part 'photo.freezed.dart'; part 'photo.g.dart'; @freezed class Photo with _$Photo { factory Photo({ required int id, required String tags, @JsonKey(name: 'previewURL') required String previewUrl, }) = _Photo; factory Photo.fromJson(Map<String, dynamic> json) => _$PhotoFromJson(json); }
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
application.properties: Unused property
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa apllication.properties 파일 내용입니다. 이게 동작을 안하는 것 같아요. unused property 라는 것을 보아 파일 안에 내용을 작성하였더라도 사용되지 않는 것 같아요. Q1. 구글링, IntelliJ 권장에는 IDEA Ultimate를 설치하라는 얘기가 있던데 기존 설치되어있는 IntelliJ 를 지우고 새롭게 다시 설치해야하는 것인가요 ?? Q2. 질문 1의 방법을 사용하지 않고 이 문제를 해결할 수 있는 방법이 있을까요 ?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
질문
이 else 들여쓰기는 의도 하신건가요? 제가 알기로는 if else 는 같은 라인상에 존재해야하지 않나요??
-
미해결Next + React Query로 SNS 서비스 만들기
서버 컴포넌트 fetch와 클라이언트 컴포넌트 fetch 구분
이전 질문에서 SEO가 필요없는 경우 보통 클라이언트에서 데이터를 가져오는게 더 좋다. 라는 답변을 받았습니다. 그런데 어떤게 서버에서 데이터를 가져오는거고, 어떤게 클라이언트에서 데이터를 가져오는건지가 매우 헷갈리고 있는 상황입니다. react-query를 사용할 때 query가 있는 컴포넌트에 "use client"가 있다면 클라이언트 데이터 fetch라고 보면 될까요? 그렇다면 수업 내용 중 client 컴포넌트에서 데이터를 가져온건 PostRecommends 부분이 유일한가요? 다른 react-query 부분은 모두 "use client"가 상단에 없습니다. (거기에 signup 정도...?)기존의 서버 컴포넌트에서 데이터를 가져오려고 하는데, SEO가 필요 없어 클라이언트 컴포넌트를 선택하고 싶다면, 위에 "use client"를 일부로 적어서 클라이언트 컴포넌트로 만들면 되는게 맞을까요? (데이터 페치 이전에는 함수 같은 것들이 있어서 반드시 바꿔야 되는 경우에만 "use client"를 썼기에, 필수적인게 아닌 제가 선택적으로 바꾸면 되는것인지 헷갈리네요) 컴포넌트 함수에 async를 쓰는 경우도 안쓰는 경우도 있는데, 이건 서버/클라이언트는 무관하게 단순히 async/await를 쓰기 위해 사용하는걸까요?요즘 질문이 많이 생기네요... 항상 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
localhost,css
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.db도 연결 잘되고 css적용하는 부분에서 막혔는데요, html에 인텔리제이에 있는 크롬을 작동시키면 css가 적용되지 않는 localhost:63342로 연결이 되고 따로 localhost:8080을 입력하면 계속 연결이 거부된다고 뜨네요.. 그리고 css에 관한 질문들을 보면서 버전도 확인하고 CDN도 해보면서 해도 css가 적용이 되지를 않아요.. 코드는 제가 몇번을 확인했는데도 다 맞아서 뭐가 문제인지를 모르겠네요.. 뭐가 문제인지 알려주시면 감사하겠습니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
좋아요 기능 구현
제로초님의 코드대로 한다라고 하면 게시물 데이터를 받을때 프론트쪽에 postId와 userId를 보내고 프론트에서 계산을 해야하던데 백엔드에서 이 게시물을 로그인한 유저가 좋아요를 눌럿는지 안눌엇는지에 대한 데이터를 바로 내주고 싶어서 이렇게 짜봣는데 자꾸 에러가 납니다.게시물에 대한 코드는 이거구요 const express = require("express") const { Post, Sequelize, User, Like } = require("../models") const router = express.Router() router.get("/",async(req,res,next)=>{ try { const posts = await Post.findAll({ // where:{ // id:lastId // }, limit: 10, // DESC 최신순 ASC 오래된순 order:[["createdAt","DESC"]], // 다른사람도 좋아요를 햇는지를 보여주는데 의미 없어보임 // include: [{ // model: User, // 좋아요 누른 사람 // as: 'Liked', // required: false, // attributes: ['id'], // through: { // attributes: [] // }, // }], attributes:[ "id", "content", "title", "createdAt", // 만든사람 [Sequelize.literal("(SELECT `nickName` FROM `Users` WHERE `Users`.`id` = `Post`.`userId`)"), "nickName"], // 이미지 소스 [Sequelize.literal("(SELECT `src` FROM `Images` WHERE `Images`.`postId` = `Post`.`id`)"), "src"], [ Sequelize.literal(` (SELECT CASE WHEN COUNT(*) FROM Liked WHERE Liked.PostId = Post.id AND Liked.UserId =: userId END) AS isLiked `), "isLiked" ], ], raw: true, }) res.status(201).send(posts) } catch (error) { console.error(error) next(error) } }) module.exports = router 에러는 이렇게 나고 있습니다.sqlState: '42000', sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Liked\n" + ' WHERE Liked.PostId = Post.id\n' + " ' at line 3",대체 뭐가 문제인건지도 감이 안잡히네요 ㅠㅠ
-
해결됨독하게 시작하는 C 프로그래밍
피드백 부탁 드립니다 ~! (달팽이 배열)
냉정하게 평가해주시면 감사하겠습니다 (●'◡'●)자주 피드백 요청 드려도 될까요??
-
미해결15일간의 빅데이터 파일럿 프로젝트
Cloudera에서 식별되는 HDFS, HBase 에러
안녕하세요지난 2월 1일, Ooize를 통해 table을 create, alter, insert에 대한 task 정의하고, workflow를 실행하고, 아래와 같은 쿼리를 실행했습니다.SELECT * FROM MANAGED_SMARTCAR_STATUS_INFO WHERE BIZ_DATE = '20220201' LIMIT 10;,그러나, 중간의 파일명이 꼬였는지, 조회값이 나오지 않았습니다(제가 자투리 시간을 이용하여 공부하다보니, 20220130, 20220131, 20220201에 대한 log 파일이 모두 존재한 상황이었습니다. 해서, 맨 처음 flume 단계부터 다시 실행하기 위해 실행되는 모든 service를 종료하고, cloudera를 다시 실행하였더니, 첨부된 사진과 같이 HDFS와 HBase에 에러가 감지 되었습니다. 현재 shell을 통해 확인하니, HDFS는 에러가 있었음에도 정상적으로 파일을 저장하였지만, HBase는http://server02.hadoop.com:8888/에 접속이 되지 않아, 이후 공부가 진행을 하지 못하는 상황입니다... 무엇이 문제인지와 해결방법에 대해 알려주시면, 감사하겠습니다. P.S. 요즘 너무 많은 에러를 겪고, 이걸 스스로 해결을 하지 못하는 경우가 너무 많아 의지가 많이 약해지네요.. ㅠㅠ 주말에 리프레시 하고.. 다음주 월요일부터 다시 화이팅하겠습니다 ..
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field를 할 경우에 네추럴 템플릿 기능 소실
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 섹션2 입력 폼 처리 강의를 듣고 질문드립니다 ! th:object로 객체를 지정하고 th:field로 해당 객체의 필드를 지정해서 name , id , value속성의 값을 할당할 수 있다는 사실을 알게 되었습니다 ! 그런데 name , id , value값을 지정 안 하고 th:field 하나로 해당 값들을 대체를 했으면랜더링 안 하고 절대경로로 정적인 html 파일을 웹 브라우저에서 그대로 열었을때 th:field 기능이 사용되지 않고 name , id , value 값 또한 없으니 정적인 html을 유지하면서 그 위에 랜더링 시에 th로 지정된 속성의 동적인 html을 출력하는 네추럴 템플릿 기능을 상실하게 되는 것 아닌가요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
STM32cubeIDE 에디터 분할 방법
강의보면서 잘 배우고 있습니다. ^^강의하실때 에디터 분할창으로 소스코드 2개 보시면서 코딩하시는 방법이 궁금합니다.Window/ Editor/ Toggle Split Editor(Vertical)이 메뉴는 같은소스를 분할 합니다.분할창에 다른소스를 열고 싶은데요....
-
미해결Autodesk Inventor Professional 2023 고급모델링
강의 시작 질문
재생속도 더빠르게 안되나여?지금 2배속이구 6배속까지 늘리고싶어요...그리고 강의노트 다운 어디서하나요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
2d 이동 로직 관련 질문 드립니다.
안녕하세요 강의를 들으면서 메이플스토리 모작 2d 포폴을 만들고 있습니다.상태 변화에 따른 처리 로직을 만들던 중 한 가지 질문드립니다.void Player::OnComponentBeginOverlap 땅과 충돌 했을때SetState(PlayerState::MoveGround) 로 바꿔주어서 중력 작용을 받지 않게하고 void Player::OnComponentEndOverlap 땅과 충돌이 끝났으면SetState(PlayerState::GroundFall) 로 바꿔주면서 중력 작용을 받게 하는충돌 처리 로직이 - 충돌 했을때 밀어주는 방법을 사용하여 플레이어 상태가 GroundFall <-> MoveGround 상태를 계속 왔다 갔다 하면서 동작을 하게 됩니다. 땅과 떨어졌을때 계속 중력을 받아야 하는건 맞는 상태인 것 같은데 플레이어의 상태가 계속 변화하는 문제가 생기게 됩니다.-> 땅과 떨어 졌을때는 GroundFall 상태로만 되고 땅과 붙었을때는 MoveGround 상태로만 동작이 되었으면 합니다.State 패턴 강의에서 슈퍼마리오 예제를 하시다.아름다운 방법을 찾으셨다고 말씀 하셨는데 어떠한 방법으로 해결 하셨는지 알 수 있을까요?