묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
로그인을 눌러도 프로필창으로 넘어가지 않아 질문드립니다.
AppLayout.js LoginForm.js 의도대로 잘 작성된 것 같은데 로그인버튼을 클릭해도 프로필로 넘어가지 않아서 뭐가 문제인지 감도 잡히지 않아 질문 올려봅니다..
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
swr... 저장소...
안녕하세요 제로초님 swr이 redux를 대체할수 있다는 것은 swr로 상태관리를 할수 있다는 것인가요? swr이 redux와같이 중앙저장소가 있어서 상태값을 따로 저장해두는 건지... 궁금합니다.useSWR(key, fetcher); 에서 key값이 같을때 같은 데이터를 불러오는 부분이 이해가 안가는데key값은 api url 주소가 될것이고 a 컴포넌트와 b 컴포넌트가 같은 key(url)로 useSWR를 사용한다 하였을 때 결국 a와 b 컴포넌트는 각각 api call을 해주는것 같고 이렇게되면 매번 서버와 통신을 하게되면서 낭비일거같은데 문제가 되지 않는지.. 상태를 저장한다는 개념 보다는 그때 그때 api 통신한다로 이해하면 될까요? 2. redux의 dispatch와 같이 useSWR로 api 콜 시점을 정할수도 있을까요 ? 3. 실무에서 next.js가 아닌 react.js로 프로젝트를 진행한다면 redux(saga), swr, react-query 중에 제로초님이라면 어느것을 선택하시나요?redux를 사용하는것보다 react-query를 사용하는게 요즘 트렌드일까요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
this 관련 문의드립니다.
node.js 교과서로 공부중에 궁금한것이 있습니다. 화살표 함수는 본인의 대한 this를 갖지 않는다는것인데요. 때문에 화살표 함수가 없던 시절에 메서드 내부에 콜백함수 안에서 this를 사용해 매서드 외부의 객체(friends)를 참조하기 위해서 매서드 내부에서 this값을 가지는 변수를 선언하고 콜백함수에서 그값으로 참조를 하였죠. const relationship1 = { name: "zero", friends: ["nero", "hero", "xero"], logFriends: function () { const that = this; // this는 relationship1을 가리킨다. this.friends.forEach(function () { console.log(that.name, that.friends); }); }, }; relationship1.logFriends(); 그리고 화살표 함수가 생긴 이후로는 이런코드를 작성하구요. const relationship2 = { name: "zero", friends: ["nero", "hero", "xero"], logFriends() { this.friends.forEach(() => { console.log(this.name, this.friends); }); }, }; relationship2.logFriends(); 그런데 궁금한것이 logFriends역시 함수인데 logFriends는 화살표 함수를 쓰지 않아도 this.friends로 메서드 외부에 friends에 접근 할 수 있다는 것이 신기하네요. 그래서 제가 함수 프로퍼티를 화살표함수로 만드는 시도를 했습니다. const relationship3 = { name: "zero", friends: ["nero", "hero", "xero"], logFriends: () => { console.log(this.friends); }, }; relationship3.logFriends(); 하지만 이렇게 하면 undefined가 출력되더군요. 두번째 코드의 logFriends가 함수 프로퍼티라 가능한건가요??
-
미해결최고의 프론트엔드 CSS Frameworks, UIkit
UIKIT snippets 설정
안녕하세요. 선생님, 강의 시청중에 궁금한 점이 있어 질문드립니다. vs code 에 uikit snippets 설치하여 강의 따라 하며 코딩중인데요. html 파일, css 파일에서 'uk' 입력하면 snippets 이 uk-xxx 목록 전체를 보여줍니다. 강의 화면에서는 styles. css 파일에서 ".uk" 로 입력 시작해도 snippets이 작동 하는 거 같아 질문드립니다. 다른 설정이 필요한 것인가요? 제 환경에서는 css 파일에서 "." 없이 uk를 입력하면 스니펫이 실행되나 ".uk" 로 시작하면 스니펫이 작동하지 않습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Post 정보에서 태그 정보를 같이 받아오려고 합니다..
안녕하세요 제로초님 노드버드 강좌를 보면서 열심히 공부 중이며 노드버드에서 배운 부분을 조금씩 응용해보려고 하는 중에 질문이 있어서 이렇게 글을 쓰게 되었습니다. 우선 수업과 동일하게 Post table, Tag table이 M:N 다대다 관계를 설정하여 PostTag 라는 테이블이 생성되었습니다. 이것을 이용해서 게시글(Post) 정보를 한번에 불러올때 각 게시글마다 존재하는 태그들도 같이 받아오고 싶습니다. 제가 시도한 방법으로는 findAll 에서 include를 이용해서 받아오려고 했지만 실패했습니다. 제가 설정한 관계와는 맞지 않는 코드의 형태로 에러 메세지가 나오는 것 같습니다. sql 쿼리문의 조인에 대해 지식이 부족하다고 생각하여 조인 부분을 찾아보고 공부를 해도 sequelize 로 어떤식으로 풀어가야 할 지 모르겠습니다 ㅠㅠ 먼저 테이블 정보 입니다. 제가 작성한 코드 부분입니다. 마지막으로 에러메세지 입니다
-
해결됨데이터 사이언스 입문 부트캠프
안녕하세요. 강의 하나가 도중에 잘려있길래 문의드려요
좋은 강의 감사드립니다. 재밌어요 다만 ds807 비즈니스 분석 실무 - 비교분석 부분의 강의가 1분 28초인데요.. 이 파트 강의가 대부분 10분이 넘어가는데, 1분 30초밖에 되지 않아서 좀 짧다 싶었는데, 아니나 다를까 도중에 강의가 끊어지더라구요. 아마 편집이 잘못되었거나, 잘못된 파일을 올린게 아닌가 싶습니다. 최대한 빨리 수정해서 업데이트 부탁드립니다. 고생하세요~
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
#include wrl.h 헤더를 사용하면 에러가납니다
wrl.h 헤더를 사용했을때 계속해서 아래와 같은 에러가 뜨는데 혹시 방법이 있나요?
-
미해결입문자를 위한 파이썬 기초 따라잡기
/와 //
/ 와//둘 다 나누기로 몫이 나오나요? 코드 실행했을때 값이 다르게 나와서요
-
미해결R 프로그램 - 시즌 1
runif(10000) 실행 시 에러
runif(10000) 실행 시 에러가 나요. - reached getOption("max.print") -- omitted 9000entries 라고 뜨네요...
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
오류 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 org.springframework.dao.InvalidDataAccessApiUsageException: id to load is required for 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 섹션6. 주문기능테스트에서 이런오류가 발생합니다. 왜 이런 오류가 발생하는지 모르겠습니다.. 오류를 보면 ItemRepository에서 public Item findOne(Long id){ return em.find(Item.class ,id);}이 함수가 오류가 난다고 합니다. loading; nested exception is java.lang.IllegalArgumentException: id to load is required for loading at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) at jpabook.jpashop.repository.ItemRepository$$EnhancerBySpringCGLIB$$6ea5eb6b.findOne(<generated>) at jpabook.jpashop.service.OrderService.order(OrderService.java:25) at jpabook.jpashop.service.OrderService$$FastClassBySpringCGLIB$$ad373727.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) at jpabook.jpashop.service.OrderService$$EnhancerBySpringCGLIB$$2d0884fb.order(<generated>) at jpabook.jpashop.service.OrderServiceTest.주문취소(OrderServiceTest.java:96) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: java.lang.IllegalArgumentException: id to load is required for loading at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:96) at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:64) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.doLoad(SessionImpl.java:2827) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lambda$load$1(SessionImpl.java:2807) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.perform(SessionImpl.java:2763) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2807) at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3395) at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3357) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) at com.sun.proxy.$Proxy112.find(Unknown Source) at jpabook.jpashop.repository.ItemRepository.findOne(ItemRepository.java:25) at jpabook.jpashop.repository.ItemRepository$$FastClassBySpringCGLIB$$dc3fed7a.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 49 more
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
'나와 매칭이 되었는가에 대한 로직' 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 영상 잘 보고 있습니다. 다름이 아니라, '유저 리스트뷰 클릭 시, 매칭된 회원인지 확인하기 로직 수정' 2분짜리 영상에서 2분 18초 에for (dataModel in dataSnapshot.children){if(likeUserKey.equals(uid)){Toast.} else {Toast.}}이 로직을 var check = false;for (data in snapshot.children) { val likeUid = data.key.toString() if (likeUid == FirebaseAuthUtils.getUid()) { Toast.makeText(baseContext, "나와 매칭된 회원입니당 !!", Toast.LENGTH_SHORT) .show() check = true; break; }}if (!check) { Toast.makeText(baseContext, "나와 매칭된 회원이 아닙니다 ㅠㅠ", Toast.LENGTH_SHORT) .show() likeToken.setBackgroundColor(Color.RED)} 이와 같이 바꿔야 되지 않는가해서 질문드립니당
-
미해결입문자를 위한 파이썬 기초 따라잡기
에디터 모드 calc
에디터 모드에 작성한 calc가 실행된게 왜 쉘모드에서 보여지는 건가요?
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
html에서 id 속성에 대해 간단한 질문..
어느 사이트에서든 어떤 태그 내의 id 속성값은 유일무이하게 해당 태그에서만 사용된다고 봐도 정말로 문제없나요? 이전에 html 실습하면서 공부했을 때 id속성이나 class속성이나 두개 사용하면서 크게 다른게 없다고 느꼈는데 이 영상을 보면서 id가 실무에서는 해당 태그에만 적용되도록 사용하는건지 정확히 알고싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
API객체바인딩 실패시 객체 생성문제에 질문있습니다.
API객체 바인딩 실패시, 실제 개발할때 해당 에러객체들을 그대로 사용하는것이 아니라 필요한 데이터만 뽑아서 새로운 객체를 만들어 사용한다고 말씀주셨습니다. 새로운객체를 만들때 해당 데이터들을 뽑는 방법은 어떻게 해야하나요?
-
미해결
동영상재생
video append of 156745b failed for segment #37 in playlist 0-placeholder-uri-0 이렇게 뜨면서 동영상 재생이 안되네요
-
미해결15일간의 빅데이터 파일럿 프로젝트
Hue 쿼리 실행 오류
Hue에서 아래 에러가 발생하면서, 테이블 생성 쿼리를 진행 할 수 없습니다. 에러 메세지> QueryError: Could not connect to server02.hadoop.com:10000 (code THRIFTTRANSPORT): TTransportException('Could not connect to server02.hadoop.com:10000',) 진행 강의 > "06-05. 탐색 파일럿 실행 3단계 - 데이터 탐색&처리1" 상황 설명 > 어제 Hue 설치까지 별다른 오류없이 진행을 했고, 모든 서비스를 종료를 했습니다. 오늘 다시 강의를 이어서 보려고, 클라우데라에서 모든 서비스를 시작했습니다. Hue 계정을 생성하고 접속하면, 아래와 같은 오류 메세지를 출력하고 있습니다. 쿼리를 실행해도 동일합니다. 클라우 데라에서 ThriftServer 포트는 9090인것 같은데, 왜 10000으로 접속하려는 걸까요? 클라우데라에서 ThriftServer 실행 상태도 양호인 것을 확인 했습니다. 다만 HBase의 connection health 상태가 concerning으로 표시되는데 연관이 있을까요?
-
미해결웹게임을 만들며 배우는 인터렉티브웹! JAVASCRIPT
캐릭터가 점프하면서 앞으로 나아가게 만들고있습니다
점프하면 앞으로 나가게는 만들었는데 방향이 left인 상태에서 점프를 up하면 right을 향한채로 뒤로 점프하게 됩니다. 계속 생각해보다가 도무지 모르겠어서 질문드립니다..! up에서 기본으로 방향이 right으로 향하는거 같은데 어떻게 해결해야할까요 if (key.keyDown["right"] && key.keyDown["up"]) { this.el.classList.add("jump_run"); this.el.classList.remove("run"); this.el.classList.remove("jump"); this.el.classList.remove("flip"); this.direction = "right"; this.moveY = this.moveY - this.jump; this.moveX = this.moveX + this.speed; setTimeout(() => { this.el.classList.remove("jump_run"); this.el.classList.add("run"); }, 300); } else if (key.keyDown["left"] && key.keyDown["up"]) { this.el.classList.add("jump_run_back"); this.el.classList.add("flip"); this.el.classList.remove("run"); this.el.classList.remove("jump"); this.direction = "left"; this.moveY = this.moveY - this.jump; this.moveX = this.moveX - this.speed; setTimeout(() => { this.el.classList.remove("jump_run_back"); }, 300); ////// 이하 CSS .hero_box .hero.flip { transform: rotateY(180deg); } .hero_box .hero.jump { animation: hero_jump 0.5s 1; } .hero_box .hero.jump_run { animation: hero_jump_run 0.5s 1; } .hero_box .hero.jump_run_back { background-size: 1498px 182px; animation: hero_jump_run_back 0.5s 1; } @keyframes hero_jump_run_back { 0% { transform: translate(0, 0); } 50% { transform: translate(-25px, -150px); } 100% { transform: translate(-40px, 0); } } @keyframes hero_jump_run_back_flip { 0% { transform: rotateY(180deg); } 50% { transform: rotateY(180deg); } 100% { transform: rotateY(180deg); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
전체 소스코드 제공...
html소스코드는 어디서 얻나요?ㅠ 깃주소가 있는지..ㅠㅠ 저희도 복붙좀ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Session Clear() 함수 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Session클래스내 Disconnect시 Clear함수를 안해주었을때 발생하는 문제가 있을까요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요 localhost:8080/hello 부분 질문드립니다.
안녕하세요 localhost:8080/hello를 요청하는 부분에서 매핑페이지가 없다고 오류가 나옵니다. // hello 서블릿 클래스 입니다. //서버는 8080포트라고 잘 뜹니다. //스프링부트 메인 클래스 입니다. 스프링부트 메인페이지가 최상단에 위치해야 한다고 하여 main 클래스를 확인해보아도 hello.servlet 으로 위치해있고 , 위치를 hello로 바꾸어도 결과는 똑같았습니다. webapp에 만들어놓은 정적 페이지를 요청했을땐 잘 실행이 됩니다. 그 이후에 response 등등 여러 클래스를 만들었던 url로 요청을해도 모두 매핑페이지가 없다고 뜹니다. 감사합니다