묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장 혹시 가능할까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋은 강좌 감사합니다업무에바빠 시험응시를 미루고있습니다혹시 연장해주시면 감사하겠습니다.
-
미해결홍정모의 따라하며 배우는 C++
수업 예제 중
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업 예제 중에int x=5;double d=123.0; int *ptr_x=&x;double *ptr_d=&d; cout << ptr_x << endl;cout << *ptr_x << endl; cout << ptr_d << endl;cout << *ptr_d << endl;의 결과가주소5주소123으로 나왔는데 왜 x와 d의 주소가 같은가요?int x 의 주소가 004FF7F8이면 그 다음 선언한 변수 double d는 004FF7FC가 되어야하지 않나요??*ptr_d를 프린트 했을 때 소수점도 나와야하지 않나요? 0이면 소수점은 아예 생략되나요?
-
미해결쉽게 설명하는 AWS 기초 강의
엔드포인트에 라우팅 테이블 연결
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 강의 24분경 엔드포인트 생성하는 부분에서 이전부터 같은 방식으로 진행했는데 엔드포인트를 생성할 vpc 를 선택한 이후 라우팅 테이블이 나타나지 않습니다.라우팅 테이블에 들어가 잘 생성되어있는것도 확인했고 서브넷과 연결되어있는것도 확인했는데 추가로 확인해야할 부분이 어디일까요?
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
자문자답) 수강 시작 전에 아나콘다 버전을 강의와 맞추면 즐강
안녕하세요 선생님.선생님의 강의 덕분에 많은 것들을 배웁니다. 감사합니다. 많은 사람들이 강의 수강에 앞서 프로그램 환경설정에서 공통된 질문이 많은데, 선생님께서 계속 같은 질문에 답변을 반복하시는 모습에.. 다음 분들을 위해 가이드로 공유하고자 합니다. 참고로 버전이 업그레이드되면 API는 수시로 바뀝니다. 사용 방식이 조금씩 바뀌거나, 아예 달라지기도 합니다. 부디 해당 강의와 같은 버전으로 진행하시길 강력히 권장합니다. 현시점 아나콘다 공식 홈페이지의 다운로드 링크는 최신 버전만 다운로드할 수 있게 웹 브라우저를 보여줍니다. 따라서 아나콘다 공식 아카이브로 접근하여 원하는 버전을 다운로드합니다.아나콘다 아카이브 저장소 접근(link)아나콘다 아카이브에 접근하면 원하는 버전의 아나콘다를 다운로드 받을 수 있습니다. 여기서 주의해야 할 사항은 Python 3.9 기반의 아나콘다를 다운로드 받으셔야 합니다. 2022년도 아나콘다 쓰세요. 2023년도 아나콘다부터는 Python 3.10이더군요. Python 3.9을 기반으로 하는 2022년 아나콘다 다운로드2022년도 5월과 10월 버전이 있는데, 이 둘의 차이는 아나콘다 release 노트에서 확인할 수 있습니다. 참고로 많은 분들이 남기신 scikit-learn 버전도 2022.05 아나콘다부터 1.0.2가 기본 버전입니다. 2022년도 아나콘다로 진행하시면 lightgbm이고 뭐고 다 강의와 동일하게 진행하실 수 있습니다.아나콘다 버전만 잘 설치하시면, 나머지는 강의 따라가면 됩니다. 즐강하십쇼.p.s. 이미 아나콘다 최신 버전을 설치해 버리셨다면.. 다시 설치하시길 바랍니다. 윈도우 기준, C:\Users\{user}\anaconda3 경로에 Uninstall-Anaconda3.exe라는 파일을 실행시켜 지울 수 있습니다....
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
data.ai
안녕하세요??data.ai에서 앱의 아이디어를 얻는다고 하셨는데 국가가 여러개 있는데 그중에 메인으로 보는 국가가 있으신걸까요?
-
미해결3DS MAX 입문강좌 (입문부터 자동차 예제까지)
3ds max 2025 user interface
2025버전에서는 user interface에 마우스만 있고 키보드가 없는데 설정을 어떻게 해야할까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
snowflake 알고리즘 - synchronized 활용한 동시성 제어
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님 안녕하세요다름이아니라 snowflake 알고리즘에서 의문점이 생겨서 질문 드립니다. 질문1) snowflake 알고리즘에서 synchronized를 활용하여 동시성 제어를 하는데,만약 각 도메인 모듈마다 멀티 서버를 구상한다면 동시성 제어가 가능한가요? 질문2) 만약 안된다면, redis 와 같은 외부 미들웨어를 통해서 동시성제어를 하는 방식으로 해당 알고리즘을 수정해야 될까요?
-
미해결김영한의 실전 자바 - 중급 1편
Object clone 메서드는 protected인데 호출이 불가능한 이유가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Object의 clone 메서드를 찾아보니 protected 로 접근 제어자가 설정되어 있는데 모든 클래스는 Object 클래스의 하위 클래스이니 clone 메서드를 사용 가능한것으로 이해했습니다. 그런데 실제로 clone 메서드를 실행하면clone() has protected access in java.lang.Object에러가 발생하는데 어떤 차이가 있어서 접근 불가능한 지 궁금합니다!
-
미해결포토샵 마스터 클래스 (만들면서 배우는 포토샵 입문)
선생님 펜으로 누끼따기가 너무 어려워요
13강의 2분30초쯤 펜으로 누끼를 따시는걸 보고 따라하고있는데 왜 저는 아랫부분에 곡선을 그리고 나면 곡선 이후에 직선이 아닌 한바퀴 감긴 곡선이 나올까요 ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Gradle-groovy/Kotlin
스프링 프로젝트 생성시에 강의에서는 Gradle로 만들어라고 했는데 Gradle-groovy랑 Kotlin으로 나눠져 있더라고요.둘의 차이가 무엇인가요??
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
[오타 제보] 7. 네트워크 - 프로그램1.pdf
[오타 정보]대상 강의록: 7. 네트워크 - 프로그램1.pdf대상 위치: p.40 하단 (실행 결과 박스의 바로 다음 문장)오타 내용 변경 전: try-with-resources는 단순하게 close()를 자동 호출해준다는 정도의 기능한 제공하는 것이 아니다.변경 후: try-with-resources는 단순하게 close()를 자동 호출해준다는 정도의 기능만 제공하는 것이 아니다.
-
미해결레트로의 유니티 C# 게임 프로그래밍 에센스
FreeLook 카메라 Zone 설정관련
저는 유니티6를 0.38f1 버전을 사용하고 있는데요카메라에서 Dead Zone, Soft Zone 등이 안보여서 찾아보니 FreeLook 카메라 인스펙터 창에서 Status Live 부분을 클릭해주시고아래 Rig 관리하는 부분에 Aim 이라는 탭을 여시면 선생님이 화면에서 보시던 Zone 설정하는 부분이 보이게 됩니다.
-
미해결
좋아요 수 구현부 질문 드립니다.
좋아요 수에 대해서 구현을 할 때 @Version이 붙을 경우 계속 해서 에러가 발생을 합니다.@Version을 이용을 할 시에 좋아요 수 JPA를 이용해서 저장을 하는 Method가 있는 부분에@Lock(LockMode.OPTIMISTIC)을 붙여주면 에러가 발생을 하지 않습니다. 혹시 에러가 나는게 당연한 건지 아니면 잘못 되어서 에러가 나는지 궁금하고 해당 에러를 해결 하는 방법 중 다른 것이 있는지 궁금합니다. 발생하는 에러의 경우 아래와 같이 발생을 합니다. org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [kr.co.won.like.entity.ArticleLikeCountEntity#1111] at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:426) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.event.internal.DefaultMergeEventListener.merge(DefaultMergeEventListener.java:214) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.event.internal.DefaultMergeEventListener.doMerge(DefaultMergeEventListener.java:152) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:136) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:89) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:854) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:840) ~[hibernate-core-6.6.5.Final.jar:6.6.5.Final] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320) ~[spring-orm-6.2.2.jar:6.2.2] at jdk.proxy2/jdk.proxy2.$Proxy114.merge(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:630) ~[spring-data-jpa-3.4.2.jar:3.4.2] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:277) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:515) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:284) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:752) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:174) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:149) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:69) ~[spring-data-commons-3.4.2.jar:3.4.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.2.jar:6.2.2] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.2.jar:6.2.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ~[spring-tx-6.2.2.jar:6.2.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165) ~[spring-data-jpa-3.4.2.jar:3.4.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.2.2.jar:6.2.2] at jdk.proxy2/jdk.proxy2.$Proxy121.save(Unknown Source) ~[na:na] at kr.co.won.like.service.ArticleLikeService.likePessimisticLock(ArticleLikeService.java:80) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) ~[spring-tx-6.2.2.jar:6.2.2] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.2.2.jar:6.2.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.2.jar:6.2.2] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727) ~[spring-aop-6.2.2.jar:6.2.2] at kr.co.won.like.service.ArticleLikeService$$SpringCGLIB$$0.likePessimisticLock(<generated>) ~[main/:na] at kr.co.won.like.controller.ArticleLikeController.likePessimisticLockUsingArticleLikeUser(ArticleLikeController.java:39) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.2.jar:6.2.2] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.2.jar:6.2.2] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.2.jar:6.2.2] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.2.2.jar:6.2.2]
-
미해결쉽게 설명하는 AWS 기초 강의
bastion server
베스쳔 서버에서 private 인스턴스 접근할 때 키페어를 복사해서 하는 방식으로 하셨는데 이 경우에도 iam role을 사용하는게 나을까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
순서 정리해봤는데 이게 맞는건가요?
알려주신 내용에 덧붙여서 챗지피티한테도 물어보고 정리해봤습니다1. 호스트 파일에서 DNS 주소 찾기2. 없으면 OS & 브라우저의 DNS 캐시 확인3. 없으면 로컬 DNS 서버(예: ISP DNS) 요청4. 없으면 상위 DNS 서버 요청 (Root DNS까지 재귀적으로 요청)5. IP 주소 획득 후 라우팅 수행6. IP 주소 획득 후 TCP/IP 연결 (3-Way Handshake)7. 리다이렉트 수행 (필요한 경우)8. 브라우저 캐시 확인 (304 응답 처리)9. 프록시 서버 캐싱 확인 (CDN, 로컬 네트워크 캐시)10. 컨텐츠 다운로드 (HTML, CSS, JS, 이미지 등)11. 브라우저 렌더링 후 사용자에게 웹사이트 표시근데 알려주신 강의에는 브라우저 캐싱과 공유 캐싱이 DNS캐시보다 먼저 수행된다고 하니까 어떤게 맞는건지 모르겠네요
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
3:30 - sys.stdin.readline 질문
my_input = sys.stadin.readline 으로 정의해주셨는데, 혹시 my_input = sys.stadin.readline() 이렇게 정의하고 list(map(int, my_input.split()))이렇게 쓸 수도 있나요?
-
미해결코틀린 함수형 프로그래밍 - 입문편
안녕하세요 강사님, discountCache 처리 방식에 대해 질문드립니다.
@Component class DiscountAdapter { private val discountCache = CacheUtil<Int, Double>() fun getDiscountRate(): (Int) -> Double = { amount -> discountCache.getOrLoad(amount) { when (amount) { in 100..1000 -> 0.1 in 1001..10000 -> 0.2 else -> 0.0 }} } }처럼 서비스는 굳이 고치지 않고 DiscountAdapter 클래스 내에서 캐시처리 하는 방법은혹시 함수형 프로그래밍 방식에 어긋나는 부분이 있을까요?
-
미해결
배포했는데 로딩중 밖에 안 떠
배포까지는 성공했는데 배포링크로 접속하면 사진처럼 나와요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
댓글 수정 함수 바인딩이 안되는 것 같습니다.
import BoardCommentWriteUI from "./boardCommentWrite.presenter"; import { ChangeEvent, useState } from "react"; import { useMutation } from "@apollo/client"; import { CREATE_BOARD_COMMENT, UPDATE_BOARD_COMMENT, } from "./boardCommentWrite.queries"; import { useRouter } from "next/router"; import { FETCH_BOARD_COMMENTS } from "../list/boardCommentList.queries"; import { IMutation, IMutationCreateBoardCommentArgs, IMutationUpdateBoardCommentArgs, } from "../../../../commons/types/generated/types"; import { IBoardCommentWriteProps } from "./boardCommentWrite.types"; export default function BoardComment(props: IBoardCommentWriteProps) { const [createBoardComment] = useMutation< Pick<IMutation, "createBoardComment">, IMutationCreateBoardCommentArgs >(CREATE_BOARD_COMMENT); const [updateBoardComment] = useMutation< Pick<IMutation, "updateBoardComment">, IMutationUpdateBoardCommentArgs >(UPDATE_BOARD_COMMENT); const [writer, setWriter] = useState(""); const [password, setPassword] = useState(""); const [comment, setComment] = useState(""); const [star, setStar] = useState(0); const router = useRouter(); const handleChangeWriter = (event: ChangeEvent<HTMLInputElement>) => { setWriter(event.target.value); }; const handleChangePassword = (event: ChangeEvent<HTMLInputElement>) => { setPassword(event.target.value); }; const handleChangeComment = (event: ChangeEvent<HTMLTextAreaElement>) => { setComment(event.target.value); }; const updateComment = () => { alert("수정하기 입니다."); }; const onClickSubmitComment = async () => { try { if (typeof router.query.boardId !== "string") { alert("시스템에 문제가 있습니다."); return; } const result = await createBoardComment({ variables: { createBoardCommentInput: { writer, password, contents: comment, rating: star, }, boardId: router.query.boardId, }, refetchQueries: [ { query: FETCH_BOARD_COMMENTS, variables: { boardId: router.query.boardId }, }, ], }); } catch (error) { if (error instanceof Error) { alert(error.message); } } setWriter(""); setComment(""); setPassword(""); setStar(0); }; return ( <BoardCommentWriteUI handleChangeWriter={handleChangeWriter} handleChangePassword={handleChangePassword} handleChangeComment={handleChangeComment} onClickSubmitComment={onClickSubmitComment} updateComment={updateComment} setStar={setStar} writer={writer} comment={comment} password={password} el={props.el} /> ); } boardCommentWriter.container.tsx 에서 updateComment 바인딩이 안된것인지함수가 작동을 안하는 것인지updateComment의 "수정하기 입니다. " 알림창이 안뜹니다.수정/삭제 버튼 onClick 내부에서 해봐도 태그 바깥에서 삼항연산자를 써보아도 적용이.. 안됩니다. onClickSubmitComment 함수는 제대로 작동하는데 말이죠 ㅠㅠ 도저히 왜 안되는지 모르겠어요import * as S from "../../board/commons/style/style"; import * as Own from "./boardCommentWrite.styles"; import { IBoardCommentWriteProps } from "./boardCommentWrite.types"; export default function BoardCommentWriteUI(props: IBoardCommentWriteProps) { console.log(props.el); return ( <S.BoardWrapper> <S.Row> <Own.Writer placeholder="작성자" onChange={props.handleChangeWriter} value={props.editComment ? props.el?.writer : props.writer} readOnly={props.editComment} /> <Own.Password placeholder="비밀번호" onChange={props.handleChangePassword} value={props.password} /> <Own.RankWrapper> <Own.RateComment value={props.editComment && props.el.rating} onChange={props.setStar} /> </Own.RankWrapper> </S.Row> <Own.Comment onChange={props.handleChangeComment} placeholder="댓글을 입력해주세요." value={props.editComment ? props.el.contents : props.comment} /> <Own.BottomComments> <S.Row> <p>0</p> <div>/</div> <p>100</p> </S.Row> {/* <Own.SubmitButton onClick={ props.editComment ? props.updateComment : props.onClickSubmitComment } > {props.editComment ? "수정하기" : "등록하기"} </Own.SubmitButton> */} {props.editComment ? ( <Own.SubmitButton onClick={props.updateComment}> 수정하기 </Own.SubmitButton> ) : ( <Own.SubmitButton onClick={props.onClickSubmitComment}> 등록하기 </Own.SubmitButton> )} </Own.BottomComments> </S.BoardWrapper> ); }
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
레벨 블루프린트 제작 후 실행 시 메시지 로그- 맵체크 창 뜨는 경우
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 레벨 블루프린트 제작 후에 실행 을 눌렀는데 메시지 로그 -맵체크가 뜨고 창을 닫으니까 레벨에 화면이 검은색으로 보입니다. 블루프린트로 print text 작성한 부분은 화면에 잘 뜨는데 레벨이 아예 검은색으로 보이는데 혹시 레벨 제작 과정에서 문제가 있었던 걸까요?