묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
로그인 실패 시 에러처리
안녕하세요 제로초님! 로그인 실패시 에러가 나는데 아무리 찾아봐도 어디가 문제인지 못찾겠어요ㅜㅜ 로그인 성공시에는 아무 문제가 없는데, 로그인 실패(이메일이나 비밀번호를 잘못 입력할때) 계속 반복적으로 로그인요청을 보냅니다. 그리고 로그인 실패응답을 받아서 콘솔창에 에러메시지가 쌓여요. 사가에서 중간중간 console.log를 사용했더니 위와 같이 응답되었습니다. saga쪽 코드도 첨부할게요. import axios from 'axios'; import { all, delay, fork, put, takeLatest, call } from 'redux-saga/effects'; import { FOLLOW_FAILURE, FOLLOW_REQUEST, FOLLOW_SUCCESS, // 다른 액션 생략.... } from '../reducers/user'; function logInAPI(data) { return axios.post('/user/login', data); } function* logIn(action) { console.log('request'); try { console.log('loading'); const result = yield call(logInAPI, action.data); yield put({ type: LOG_IN_SUCCESS, data: result.data, }); console.log('success'); } catch (error) { console.log('catch'); console.error(error); yield put({ type: LOG_IN_FAILURE, error: error.response.data, }); console.log('fail'); } } // 로그인 외 사가 생략 function* watchLogIn() { yield takeLatest(LOG_IN_REQUEST, logIn); } function* watchLogOut() { yield takeLatest(LOG_OUT_REQUEST, logOut); } function* watchSignUp() { yield takeLatest(SIGN_UP_REQUEST, signUp); } function* watchFollow() { yield takeLatest(FOLLOW_REQUEST, follow); } function* watchUnFollow() { yield takeLatest(UNFOLLOW_REQUEST, unfollow); } export default function* userSaga() { yield all([ fork(watchLogIn), fork(watchLogOut), fork(watchSignUp), fork(watchFollow), fork(watchUnFollow), ]); } 어디가 잘못된 걸까요?ㅜㅜ
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
두개의 녹스에 frida-ps 할려면 어떻게 해야할까요?
frida-ps -H 로 가능할거같긴한데 몇번 시도해봤는데 어떻게 하는지 잘 모르겠네요 ㅜ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
안녕하세요 선생님, 질문이 있습니다!
선생님, 제가 아무리 문제를 해결하려고 해도 어려워서 도움을 요청해봅니다... 포스트맨에서 sending request만 계속 진행되고, 로그인이 되지 않고 있어요... 여기 질문들을 참고해서 ,을 ;로 바꾸어보았지만 아직도 여전하네요... 도움을 주신다면 정말 감사하겠습니다 ㅠㅠ
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
이것도 가능한가요?
탑승승객=0 index=1 while index<=50: from random import* 소요시간=randint(5,50) if 5<=소요시간<=15: print("[o] {0}번째 손님(소요시간:{1}분)".format(index,소요시간)) 탑승승객+=1 else: print("[ ] {0}번째 손님(소요시간:{1}분)".format(index,소요시간)) index+=1 print("총 탑승 승객:{0}분".format(탑승승객)) 제가 한 것도 맞는건가요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
closure_ex2() 예제 질문입니다.
closure_ex1 에서 중첩함수 내부에서 외부 변수인 series를 사용할때는 왜 에러가 안나고, closure_ex2 에서 중첩함수 내부에서 외부변수 cnt, total을 사용할때는 에러가 나는지 정확히 이해하기가 어렵습니다. 정확히 어떤 이유때문에 그런건지 알려주실 수 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
질문은 아니지만 테스트 코드에서 NullExceptionError 해결 방법입니다.
Service, Repository 코드에서 생성자를 롬복을 통해@RequiredArgsConstructor로 생성한 경우 필드에 final을 하지 않으면 repository나 EntityManager가 null이 될 수 있기 때문에 NullException이 터지는거 같습니다. final을 붙이면 해결됩니다.
-
Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
Git 권한 승인 요청드립니다~
삭제된 글입니다
-
미해결스프링 프레임워크 핵심 기술
IOC컨테이너관련 질문입니다
결국, IOC컨테이너는 ApplicationContext인터페이스를 구현한 클래스의 인스턴스라고 생각해도 되는건가요?
-
미해결iOS 개발을 위한 swift5 완벽 가이드
안녕하세요 강의 잘 듣고있습니다
안녕하세요 강의 잘 듣고있습니다 강의중에 '저희는 swift를 배우고 있기 때문에 ios부분은 이야기가 길어질수있으니 여기까지 하겠다'라는 말씀을 종종하시는데 저는 ios랑 swift를 배우는게 무슨차이인지 모르겠어요ㅜㅜ 설명좀 도와주실수있으실까요??
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
모바일 사이즈 질문 드립니다.
안녕하세요. 모바일 사이즈 작업시 컨텐츠로 묶여있는 항목이 두개씩 나오는 현상이 발생합니다 . 다른 사이즈에서는 안나오는데 768이하로 조정하면 미리보기 이미지를 씌운 컨테이너와 씌우지 않은 회색화면 컨테이너가 나타납니다. content로 묶여있는 화면에 이미지를 넣었는데 이미지 넣은 화면이 먼저, 이미지 없는 회색배경에 h2가 적힌 화면이 다음에 이런식으로 총 14개의 화면이 보이게 됩니다. 도와주세요 ! <section id="home" class="cd-section visible"> <div> <div class="content"> <img src="images/temp_1.png" alt=""> <h2>section 1</h2> </div> </div> </section>
-
리액트로 나만의 블로그 만들기(MERN Stack)
connected-react-router 버전관하여
삭제된 글입니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사님! 자바공부를 같이 병행하면서 하는게 나으려나요!
이전에 다른사람들이 올린 람다 질문 글을 봤었는데 강사님께서 자바8인액션 책을 추천하셨더라구요! 그래서 어제 재빨리 알라딘에서 중고책 주문했어요! 이거랑 같이 스프링 강의 병행해가면서 듣는편이 좋으려나요! 충언 부탁드립니다!
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
mysql다운로드
mysql -u root -p 치면 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 이렇게 나옵니다. 그리고 mysql 다운로드 경로가 맘대로 여기로 가있는데..이 path가 맞나요?..
-
미해결누구나 할 수 있는 안드로이드 앱 개발 - 1 (Kotlin)
MainListAdapter를 하는 과정에서 view binding
전에 MainActivity에서 view binding을 해준 것처럼 MainListAdapter에서도 binding을 해야할 것 같은데 어떻게 해야 할지 알려주실수 있나요..?
-
미해결대세는 쿠버네티스 (초급~중급편)
[기초편] 컨트롤러 Deployment실습 CLI환경으로 실습하시는 분들을 위해 (강의 3:00 ~3:10)
강사님은 쿠버네티스 대시보드 화면에서 deployment yaml파일의 image 버전을 v1에서 v2로 변경하셨는데요 저는 강사님의 모든 수업을 CLI로 하다보니 아래와 같은 명령어로 하게 되었습니다. 다 아시겠지만 도움이 되는 분이 있기를 바라며 올려봅니다.~~ (1) deployment yaml편집 방법) #kubectl edit <resource> <name> 예시)#kubectl edit deployments.apps deployment-1 (2) pod및 replicatset 2초단위 모니터링 while true; do sudo kubectl get pods; sudo kubectl get replicasets; sleep 2; done;
-
미해결타입스크립트 입문 - 기초부터 실전까지
js 파일과 ts 파일 중복
왜 sample.ts에 선언한 변수들이 sample.js에 의해서 영향을 받나요? export/import를 해야 다른 파일에 영향을 줄 수 있는것 아니었나요? 영상에서 짧게 설명해주셨는데 정확히 이해하지 못해서 질문드립니다.
-
미해결웹 게임을 만들며 배우는 Vue
git 블로그
수업을 들으면서 알게된 내용이나 vue를 정리하려고 하는데 출처 밝히고 git blog에 올려도 되나요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest 테스트 중 오류
OrderServiceTest의 상품주문 부분을 따라하던 중에 계속 오류가 나서 질문 올립니다. 우선 제가 작성한 상품주문 코드는 아래와 같습니다. @Test public void 상품주문() throws Exception { Member member = new Member(); member.setName("회원1"); member.setAddress(new Address("서울", "강가", "123-123")); em.persist(member); Item item = new Book(); item.setName("시골 JPA"); item.setPrice(10000); item.setStockQuantity(10); em.persist(item); int orderCount = 2; Long orderId = orderService.order(member.getId(), item.getId(), orderCount); Order getOrder = orderRepository.findOne(orderId); assertEquals("상품 주문시 상태는 ORDER", OrderStatus.ORDER, getOrder.getStatus()); assertEquals("주문한 상품 종류 수가 정확해야 한다.", 1, getOrder.getOrderItems().size()); assertEquals("주문 가격은 가격 * 수량이다.", 10000 * 2, getOrder.getTotalPrice()); assertEquals("주문 수량만큼 재고가 줄어야 한다.", 8, item.getStockQuantity()); } 테스트를 돌려보면 orderService.order() 이 부분에서 오류가 발생하고 오류를 타고 들어가보면 orderRepository.save()에서 오류가 납니다. 아래는 OrderService와 OrderRepository 코드 입니다. @Service@Transactional(readOnly = true)@RequiredArgsConstructorpublic class OrderService { private final MemberRepository memberRepository; private final OrderRepository orderRepository; private final ItemRepository itemRepository; @Transactional public Long order(Long memberId, Long itemId, int count) { Member member = memberRepository.findOne(memberId); Item item = itemRepository.findOne(itemId); Delivery delivery = new Delivery(); delivery.setAddress(member.getAddress()); delivery.setStatus(DeliveryStatus.READY); OrderItem orderItem = OrderItem.createOrderItem(item, item.getPrice(), count); Order order = Order.createOrder(member, delivery, orderItem); orderRepository.save(order); // because of cascade option return order.getId(); } @Transactional public void cancelOrder(Long orderId) { Order order = orderRepository.findOne(orderId); order.cancel(); }// public List<Order> findOrders(OrderSearch orderSearch) {}} @Repository@RequiredArgsConstructorpublic class OrderRepository { private final EntityManager em; public void save(Order order) { em.persist(order); } public Order findOne(Long id) { return em.find(Order.class, id); }// public List<Order> findAll(OrderSearch orderSearch) {}} h2 DB는 켜져있고, test용 application.yml도 아래처럼 해당 옵션만 적어놓은 상태인데 어느 부분이 잘못되어 있는 걸까요? logging.level: org.hibernate.SQL: debug 아래는 오류 내용입니다. org.springframework.orm.jpa.JpaSystemException: Unknown integral data type for ids : java.lang.String; nested exception is org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:331) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) 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:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.repository.OrderRepository$$EnhancerBySpringCGLIB$$3c55adcf.save(<generated>) at jpabook.jpashop.service.OrderService.order(OrderService.java:35) 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:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) 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:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.service.OrderService$$EnhancerBySpringCGLIB$$1d13bd74.order(<generated>) at jpabook.jpashop.service.OrderServiceTest.상품주문(OrderServiceTest.java:54) 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:68) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Caused by: org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String at org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder(IdentifierGeneratorHelper.java:224) at org.hibernate.id.enhanced.SequenceStructure$1.getNextValue(SequenceStructure.java:98) at org.hibernate.id.enhanced.NoopOptimizer.generate(NoopOptimizer.java:40) at org.hibernate.id.enhanced.SequenceStyleGenerator.generate(SequenceStyleGenerator.java:523) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:115) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:113) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:744) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:712) at org.hibernate.engine.spi.CascadingActions$7.cascade(CascadingActions.java:298) at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:492) at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:416) at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:218) at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:151) at org.hibernate.event.internal.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:427) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:264) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:135) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:720) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:706) 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.$Proxy102.persist(Unknown Source) at jpabook.jpashop.repository.OrderRepository.save(OrderRepository.java:17) at jpabook.jpashop.repository.OrderRepository$$FastClassBySpringCGLIB$$9808961b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 49 more ----------------------------------------------------------------------------------------------------- 내용추가 OrderServiceTest에서 상품주문_재고수량초과 테스트는 정상 동작합니다. 이 테스트에서도 orderService.order()를 호출하는데 잘 동작하는 거면 다른 부분에 문제가 있는 걸까요?
-
미해결React로 NodeBird SNS 만들기
프론트에서 express를 사용하지 않을때 동적라우팅
next에서 자체적으로 지원하는 동적라우팅 (ex) [id].js )를 이용해서 동적라우팅을 하였습니다. 근데 이렇게하면 Link에서 href를 {{pathname: '/user/[id].js'}} 하고 as: '/user/${post.User.id}' 해도 되지가 않습니다. 혹시 자체적으로 지원하는 것에서는 다르게 해야하나요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
import {} 괄호에대해서
import React from 'react' import {Typography, Button, Form , message, Input, Icon} from 'antd'; import Dropzone from 'react-dropzone'; const {TextArea} = Input; const {Title} = Typography; imort 할때 {}의 사용 유무 차이는 뭔지 알 수 있을까요??