묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
MSB3073 빌드 에러
안녕하세요 수업자료 비주얼 스튜디오에서 빌드시 아래 에러가 발생하는데 무엇이 문제일가요?Severity Code Description Project File Line Suppression State DetailsError MSB3073 The command ""C:\Program Files\Epic Games\UE_5.1\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="F:\Workspace\Unreal5\Inf_LDW_GAS_Lecture2\ArenaBattleGAS.uproject" -WaitMutex -FromMsBuild" exited with code 6. ArenaBattleGAS C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44
-
미해결스프링 핵심 원리 - 고급편
선생님 작성한 정적 팩토리 메서드에 대해 의견 주실 수 있으실까요??
안녕하세요! 프로젝트와 관련해 코드를 작성하다 궁금한 점이 생겨 질문 드립니다..! 혹 선생님께서는 정적 팩토리 메소드의 역할이 어디까지라고 생각하실까요? 저는 팩토리 메소드이기 때문에 1. 단순히 파라미터를 받아 생성자를 통해 인스턴스를 생성하는 것 뿐만 아니라, 인스턴스를 생성하기 위해 2. 파라미터 valiation을 확인하고, 인스턴스 생성을 위한 데이터들을 가공하는 과정 또한 포함해도 괜찮은 것이 아닌가 하였는데,저와 다른 의견 중에서는 팩토리 메소드는 가공이 전부 완료된 값을 단순히 받아서 인스턴스를 new 하기만 해야 한다는 의견이 있더라구요. 가공은 서비스 클래스에서 수행하구요! 예를 들면 아래와 같은 메소드가 validation과 데이터 가공을 처리하는 팩토리 메소드의 예시입니다 ::public static SearchRequest from( AnotherRequest request) { 55 //AnotherRequest 클래스로부터 SearchRequest 클래스를 생성함. if(request.get고객리스트().size() > 9) { 56 //validation? 혹은 비즈니스 로직? throw new Exception(); 57 } 58 //아래부터 데이터 가공 List<Passenger> 새로운 고객리스트 = request.get고객리스트().stream() 59 .map(p -> new Passenger(p.get생일(), p.get성별()) ) 60 .collect(Collectors.toList()); 61 62 //인스턴스 생성 후 return return new SearchRequest(새로운 고객리스트); 63 } 또한 webClient를 이용해 외부로 API 요청을 보내고자 할 때, path 값을 관리하는 과정에서,해당 path 값 ( ex. /a/b/xxx ) 을 반드시 webClient를 변수로 주입받아 실제 통신을 하는 class에서 가지고 있는 것과 혹은 통신 시 사용되는 request 데이터 dto 에서 그 변수 값을 가지고, 실제 통신을 하는 class에서는 request dto에서 getPath()를 통해 가져와 사용하는 것 어느 부분이 더 적절하다고 생각하실까요?저는 2번의 경우 webClient를 사용하는 클래스에서 추가적으로 여러 개의 path에 대한 상수 변수를 가지고 있을 필요가 없고 getPath()라는 메소드를 통해서 request dto의 종류를 신경쓰지 않고 일관되게 가져올 수 있다는 점에서 2번이 더 괜찮다고 생각을 하였는데, 다른 의견에서는 패스 값은 통신에 사용되는 값이기 때문에 dto가 아닌 통신을 하는 클래스가 가져야 하는게 더 자연스럽다. 그래서 새 기능이 추가되었을 때 통신을 하는 클래스 ( webClient를 변수로 가진 ) 에 패스에 대한 상수변수를 추가하고 패스에 따른 통신 메서드를 추가하는 것이 더 낫다. 라는 의견이 있었습니다. 코드 스타일에 따라 정답은 없겠지만, OOP의 입장에서 선생님의 의견을 여쭙고자 합니다! 답변 해주시면 정말 감사하겠습니다!
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
케라스모델을 이용한 소프트맥스 서브클래싱에서 call함수는 내장함수인가요?
내장함수는 __call__과 같이 언더바가 있는 거 같은데...혹시 오버라이딩일까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
host 자신을 가리키는 ip주소
보통 local에서 tomcat 서버 올리거나, 웹서버 올리면localhost로 접속하잖아요이것도 127.0.0.1로 자기자신을 가르키는 ip주소인거죠??왜 로컬호스트로 올라가는지 궁금했는데 이해가됩니다. 감사합니다.
-
미해결
잔차이탈도 계산
7회 기출문제 작업형 3에서 1-2의 잔차이탈도를 계산하려면 glm을 사용하지 않고 기존 logit을 활용한 Logit Regression Results의 Log-Likelihood를 활용하여 계산하면 안되는지 문의드립니다. 실제 정답값이 286.93와 Log-Likelihood를 활용한 계산값이 286.94 조금 차이가 나네요from statsmodels.formula.api import logit formula = "gender~age+length+diameter+height+weight" model =logit(formula,data=train).fit() print(model.summary()) # 잔차이탈도 = -2* Log-Likelihood print(round(-2*-143.47,2))
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
db에 HelloA member 저장 안되는 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 12:45 에 작성되어있는 코드 오류 발생합니다..WARN: HHH90000025: H2Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)INFO: HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) hibernate 문제인 것 같은데 어떻게 해결할 수 있을까요? 전체 에러 코드입니다.h2 db에 값이 저장도 안되고 옵션 값 true로 설정되어있는데 sql문도 표시가 안됩니다.<property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/>
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
VMware Player
vmware가 pro가 비상용으로 풀리면서 player가 지금 다운로드가 안되는거 같습니다. pro 버전도 다운로드에서 이상하게 막혀버리고요 혹시 지금 상황이 계속 되면 어떻게 해야될까요 ㅠㅠ강의를 멈추고 다운로드를 계속 시도하고 질문 드리는 건데 버츄얼 박스로 해도 별 문제 없을까요?
-
미해결Next + React Query로 SNS 서비스 만들기
link태그의 prefetching 질문
안녕하세요 선생님상세페이지에서 홈으로 이동할때 로딩화면에 관련해서Link태그의 prefetching 질문있습니다.아래와 같이 suspense를 적용했을때app/(afterLoging)/home/page.tsximport style from './home.module.scss' import Tab from "@/app/(afterLogin)/home/_component/Tab"; import TabProvider from "@/app/(afterLogin)/home/_component/TabProvider"; import PostForm from "@/app/(afterLogin)/home/_component/PostForm"; import TabDeciderSuspense from '@/app/(afterLogin)/home//_component/TabDeciderSuspense'; import { Suspense } from 'react'; import Loading from './loading'; import { auth } from '@/auth'; export default async function Home() { const session = await auth(); return ( <main className={style.main}> <TabProvider> <Tab /> <PostForm me={session} /> {/* suspense는 서버컴포넌트여야만 한다. */} {/* suspense는 부모컴포넌트여야지 자식(아래)있는 컴포넌트 감지할 수 있다. */} <Suspense fallback={<Loading />}> <TabDeciderSuspense /> </Suspense> </TabProvider> </main> ); } next.js 문서를 보면link태그가 있는 경우, 화면에 들어왔을때static한 부분은 prefetch하고, 데이터 호출이 필요한 경우는 loading.tsx까지 호출해준다고 되어있더라구요.그래서 제가 기대한 것은 상세페이지에서, 홈의 Link태그가 화면에 들어오기 대문에, 홈으로 이동했을때 첫번째 이미지가 아닌, 두번째 이미지처럼 로딩이 되어야할 것 같은데 첫번째 이미지 처럼 되더라구요. (이동한것도 30초 이내였습니다)혹시 제가 잘못이해한건지 알려주시면 감사합니다.유저 상세페이지에서 홈으로 이동할때suspense적용후 새로고침하거나 팔로우중 클릭시
-
미해결김영한의 실전 자바 - 중급 1편
내부 클래스 관련 질문이있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.강사님 내부 클래스 관련해서 질문이있습니다.내부 클래스가 외부 클래스에 대한 숨은 외부 참조를 갖기 때문에 가비지 컬렉션이 제대로 이루어 지지 않아 메모리 누수가 발생할 수 있다.제가 구글링을 해보니 내부 클래스의 단점으로 위와같은 내용이있던데 내부 클래스는 메모리 누수를 발생할 수 있어서내부 클래스에서 외부 필드를 참조하지않는다면 클래스앞에 static을 붙여 정적 중첩 클래스를 사용하는걸 권장한다던데 이 내용이 사실인지 궁금합니다..!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Error parsing HTTP request header 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]logging.level.org.apache.coyote.http11=trace 를 했을때, 아래 콘솔창에 2024-06-02T14:13:17.992+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]2024-06-02T14:13:17.992+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]2024-06-02T14:13:18.002+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]2024-06-02T14:13:18.002+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 이런 에러가 뜨는데 이유가 뭘까요??
-
미해결Next + React Query로 SNS 서비스 만들기
찜하기하고 해당글 상세페이지 이동시 찜 정보제대로 안내려오는 현상
안녕하세요 선생님홈에서 찜했다, 안했다 잘 작동하고상세페이지로 이동하면 찜하기 데이터가 제대로 내려오지 않는 부분을 확인했습니다.호출은 아래와 같이 하고있습니다./src/app/(afterLogin)/[username]/status/[id]/page.tsximport BackButton from "@/app/(afterLogin)/_component/BackButton"; import style from './singlePost.module.scss'; import Post from "@/app/(afterLogin)/_component/Post"; import CommentForm from "@/app/(afterLogin)/[username]/status/[id]/_component/CommentForm"; import SinglePost from '@/app/(afterLogin)/[username]/status/[id]/_component/SinglePost'; import Comments from '@/app/(afterLogin)/[username]/status/[id]/_component/Comments'; import { HydrationBoundary, QueryClient, dehydrate } from '@tanstack/react-query'; import { getSinglePost } from '@/app/(afterLogin)/[username]/status/[id]/_lib/getSinglePost'; import { getComments } from '@/app/(afterLogin)/[username]/status/[id]/_lib/getComments'; type Props = { params: { id: string} } export default async function Pasge({ params }: Props) { console.log('----------------------------- single post params', params); const { id } = params; const queryClient = new QueryClient(); await queryClient.prefetchQuery({ queryKey: ['posts', id], queryFn: getSinglePost }); await queryClient.prefetchQuery({ queryKey: ['posts', id, 'comments'], queryFn: getComments }); const dehydratedState = dehydrate(queryClient); return ( <div className={style.main}> <HydrationBoundary state={dehydratedState}> <div className={style.header}> <BackButton/> <h3 className={style.headerTitle}>게시하기</h3> </div> <SinglePost id={id} /> <CommentForm id={id} /> <div> <Comments id={id} /> </div> </HydrationBoundary> </div> ) }/src/app/(afterLogin)/[username]/status/[id]/_component/SinglePost.tsx'use client'; import { Post as IPost } from '@/models/Post' import { useQuery } from '@tanstack/react-query' import { getSinglePost } from '@/app/(afterLogin)/[username]/status/[id]/_lib/getSinglePost'; import Post from '@/app/(afterLogin)/_component/Post'; export default function SinglePost({id, noImage}: {id: string, noImage?: boolean}) { const { data: post, error } = useQuery<IPost, Object, IPost, [_1: string, _2: string]>({ queryKey: ['posts', id], queryFn: getSinglePost, staleTime: 60 * 1000, gcTime: 300 * 100, }); console.log(post, '--------------------------single post'); if (error) { return ( <div style={{ height: 100, alignItems: 'center', fontSize: 31, fontWeight: 'bold', display: 'flex', justifyContent: 'center' }}>게시글을 찾을 수 없습니다.</div> ) } if (!post) { return null; } return <Post post={post} key={post.postId} noImage={noImage} /> }찜하기 코드export default function ActionButtons({ white, post }: Props) { const queryClient = useQueryClient(); const { data: session } = useSession(); const commented = !!post.Comments?.find(d => d.userId === session?.user?.email); const reposted = !!post.Reposts?.find(d => d.userId === session?.user?.email); const liked = !!post.Hearts?.find(d => d.userId === session?.user?.email); const { postId } = post; const heart = useMutation({ mutationFn: () => { return fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/posts/${postId}/heart`, { method: 'post', credentials: 'include', }) }, onMutate() { const queryCache = queryClient.getQueryCache(); const queryKeys = queryCache.getAll().map(cache => cache.queryKey); console.log('queryKey', queryKeys); queryKeys.forEach((queryKey) => { if (queryKey[0] === 'posts') { const value: Post | InfiniteData<Post[]> | undefined = queryClient.getQueryData(queryKey); if (value && 'pages' in value) { const obj = value.pages.flat().find(d => d.postId === postId); if (obj) { // 존재는 하는지? const pageIndex = value.pages.findIndex(page => page.includes(obj)); const index = value.pages[pageIndex].findIndex(d => d.postId === postId); const shallow = produce(value, draft => { draft.pages[pageIndex][index].Hearts = [{ userId: session?.user?.email as string }]; draft.pages[pageIndex][index]._count.Hearts += 1; }) queryClient.setQueryData(queryKey, shallow); } } else if (value) { // 싱글 포스트인 경우 if (value.postId === postId) { const shallow = { ...value, Hearts: [...value.Hearts, { userId: session?.user?.email as string }], _count: { ...value._count, Hearts: value._count.Hearts + 1, } } queryClient.setQueryData(queryKey, shallow); } } } }) }, onError() { }, onSettled() { } }); 다른 찜하기 질문에서키를가지고 호출하지 않해서라고 하신걸 봤었는데,위와 같은 경우에는 클라이언트 서버에서 쿼리키를 가지고 호출했는데 데이터가 잘 안내려오는 것을 확인했습니다.찜을 눌렀을때찜을 누르고 해당글 상세로 이동했을때이러한 경우에는 찜하기를 누르고 추가적인 작업이 필요한지 궁금합니다. 예를들면 찜하기를 누르고 해당 쿼리키의 데이터를 호출해야한다는지... 혹은 제가 잘못호출한것이라면 알려주시면 감사하겠습니다.
-
미해결
왜 확대 축소를 해야만 화면에 제대로 보이는건지
굳이 확대 축소 하지 않아도 화면에 한번에 보이게 할 수는 없는건가요?
-
미해결스프링 핵심 원리 - 기본편
XML작성 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.XML 이런 오류가 나옵니다 제가 오타가있는거같아서 자료를 복사 붙여넣기 했는데도 이런 오류가 나옵니다
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
폰트 설정 뒤 텍스트 입력이 안되는 문제
안녕하세요 일코님!글자속성 부분 강의를 들으면서, 매크로로도 확인해서 함수를 작성해보았는데요. 먼저 텍스트 입력 함수입니다.def 텍스트입력(text): hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = text hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) 그다음 폰트를 설정하는 함수입니다.def 폰트설정(글꼴,크기): hwp.HAction.GetDefault("CharShape", hwp.HParameterSet.HCharShape.HSet); hwp.HParameterSet.HCharShape.FaceNameUser = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeUser = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameSymbol = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeSymbol = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameOther = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeOther = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameJapanese = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeJapanese = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameHanja = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeHanja = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameLatin = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeLatin = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameHangul = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeHangul = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.Height = hwp.PointToHwpUnit(크기) hwp.HAction.Execute("CharShape", hwp.HParameterSet.HCharShape.HSet) 이렇게 하니까, 변경까지는 아주 잘 되는데, 변경후에 텍스트를 입력하면 커서만 깜빡이고 텍스트가 입력되질 않네요..매크로로 해서 그런가 싶어서, 다시 일코님이 작성해주신 코드를 복붙해서 사용해보았는데 charshape = hwp.XHwpDocuments.Item(0).XHwpCharacterShape charshape.Height = 5000 # 5000 HwpUnit = 50 pt charshape.Italic = True # 이탤릭 charshape.Bold = True # 진하게 charshape.ShapeNormal() # 글자크기와 서체를 제외한 모든 속성 초기화 이코드도 동일하게 적용까지는 되는데,, 텍스트가 입력이 되지 않네요.움짤로는 아래와 같습니다!
-
미해결빅데이터/텍스트마이닝 분석법 (LDA,BERTtopic,감성분석,CONCOR with ChatGPT)
LDAvis 시각화가 안됩니다.
사진과 같이 오류가 계속 뜹니다... 어떻게 하면 좋을까요?
-
해결됨실전! FastAPI 입문
유닛테스트 관련 질문입니다
강사님 안녕하세요! api 테스트가 아닌 유닛 테스트도 한번 해보고 싶어서 시도를 해봤는데요.(예를 들면, UserRepository의 get_user_by_username를 test 코드에 UserRepository.get_user_by_username 이렇게 입력하고 테스트 시도)depends 관련해서 AttributeError: 'Depends' object has no attribute 이러한 에러가 나는데이 에러를 해결해보려고 검색도 해보고 그랬는데 잘 모르겠어서..혹시 유닛 테스트는 어떤 방식으로 할수 있을지 조언 부탁드립니다 ㅠㅠ검색해보니 repository의 depends와 연관된 것 같기도 한데 이를 어떻게 해결할지 방법을 잘 모르겠습니다. 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선언문에 대한 질문
수업을 듣다보면 함수나 모델이나 이런것들을 가져올때 nump, sklearn, sklearn.preprocessing 등...그리고 import 해오는 것들이 어디에 속해있는 것인지? 이런 것들이 외우려니 좀 많이 혼동이 되서 잘 안외어져서 질문드립니다. 시험장에서 좀더 효율적으로 잘 기억나게 하는 방법이 있는지요?아니면 나올때 마다 다 외워야하는지요?
-
해결됨스프링 핵심 원리 - 기본편
섹션 4. BeanDefinition
(1)스프링 컨테이너는 BeanDefinition만 알면 된다.(2)BeanDefinition을 빈 설정 메타정보라 한다.(3)@Bean, <Bean> 당 하나씩 메타정보가 생성된다.(4)이 메타정보를 기반으로 스프링 빈을 생성한다. 교재에 써있는 내용입니다!헷갈리는 부분이 있어서 질문드립니다ㅠㅠ 첫 번째 질문: 우선 (2)에서 BeanDefinition을 빈 설정 메타정보라고 되어있는데, 빈 설정 메타정보가 모든 메타정보를 담는 하나의 바구니고 @Bean 으로 생성된 메타정보들이 이곳에 담기는 건가요?아니면, (3)에서 나온 메타정보가 (2)에서 나와있는 빈 설정 메타정보랑 동치인 건가요? 두 번째 질문: 스프링 컨테이너는 BeanDefinition(추상화)을(를) 알고있다고 하셨는데, reader로 구성 설정 정보를 읽고 BeanDefinition을 생성하는 게 BeanDefinition을 상속받은 각각의 객체가 생성되는 건가요? 세 번째 질문: @Bean의 갯수만큼 BeanDefinition이 생성되는 건지 궁금합니다...!
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
갑작스런 경로 문제로 질문드립니다..
안녕하세요 일코님.저번에 visible설정을 잘 알려주셔서 무척 도움을 받았습니다!다름이 아니고 원래는 제가 mac에서만 작업을 했는데요.이번에 hwp 강의를 구매하면서 삼성 노트북을 구매하여 쓰고있습니다. 그런데 이 시스템 환경변수가 매번 말썽입니다.vscode + anaconda + bash터미널을 쓰고있는데요. bash 터미널에 which conda 명령어를 입력하면$ which conda /c/Users/samsung-user/anaconda3/Scripts/conda 이렇게 잘 인식을 하고 있는데요. conda 명령어를 입력하면$ conda bash: C:\Users\samsung-usernaconda3\Scripts: No such file or directory samsung-user/anaconda3 로 인식되어야 하는데,samsung-useraconda3 로 이렇게인식이 되고 있네요.GPT랑 아무리 씨름을 해보아도 답이 안나오더라구요.GPT가 시킨것은 ~/.bashrc 파일과 ~/.bash_profile 파일을 수정하라는 것인데,각 파일은 아래와 같이 수정했습니다. ~/.bashrc ~/.bash_profile 시스템 환경 변수 설정도 아래와 같이 했는데요... 혹시 뭐가 문제가 있는걸까요??부탁드립니다 ㅠㅠㅠ 늘감사합니다!!
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
선생님 인프런에 있는 고급 크롤링 강의는 리뉴얼이 안되는 걸까요?
선생님 인프런에 있는 고급 크롤링 강의는 리뉴얼이 안되는 걸까요? ( 쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome] )예전에 구매한 이 강의 들을 예정인데 강의 자체가 구매불가로 내려가고,선생님이 자체 운영하는 사이트에서 새 강의가 올라온 걸로 보여서요. ㅠㅜ