묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] 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 할때 {}의 사용 유무 차이는 뭔지 알 수 있을까요??
-
청와대 청원 데이터 시각화
크롤링 오류
삭제된 글입니다
-
해결됨더 자바, 코드를 조작하는 다양한 방법
PC 레지스터의 설명 부분에 오류가 있는 것 같습니다.
안녕하세요? 기선님 영상에서 작은 오류를 발견한 것 같은데요. PC 레지스터는 현재 실행중인스트럭션의 주소가 저장되는 게 맞는 듯합니다. The pc Register The Java Virtual Machine can support many threads of execution at once (JLS §17). Each Java Virtual Machine thread has its own pc (program counter) register. At any point, each Java Virtual Machine thread is executing the code of a single method, namely the current method (§2.6) for that thread. If that method is not native, the pc register contains the address of the Java Virtual Machine instruction currently being executed. If the method currently being executed by the thread is native, the value of the Java Virtual Machine's pc register is undefined. The Java Virtual Machine's pc register is wide enough to hold a returnAddress or a native pointer on the specific platform. (출처: 오라클)
-
미해결타입스크립트 입문 - 기초부터 실전까지
이넘의 사용법에 대해 이해가 되는 강의였습니다!
안녕하세요! 앞에서 이넘 강의를 들을 때는 막상 어떻게 사용하는건지? 용도가 불분명해서 그렇구나..하고 넘겼던 부분인데 전화번호부 프로젝트에서 이넘을 구체적으로 사용하는 부분을 보고나서야 이해가 되었네요. 개발할 때 상수처리가 필요한 단어들을 const로 정의해서 사용했었는데요. 모양이 똑같은데 타입스크립트에서는 enum으로 정의해서 사용하는군요! const로 정의하고 나서 활용할때는 해당하는 이름과 const에 정의한 이름이 같은지 비교하고, 아닐경우 에러 던져주는 처리까지 따로 했어야했는데.. 타입스크립트의 enum으로 함수의 파라미터로 받을 수 있는 경우를 제한해버리게되면 애초에 enum에 정의된 변수 외에 다른 단어가 들어올 수 없게 되므로 따로 예외처리할 필요가 없어지네요. 이넘에 대한 이해도와 타입스크립트를 통해 갖게되는 이점(?)을 깨달을 수 있는 강의였습니다. 감사합니다!! :)
-
미해결Do it! 프론트엔드 웹 디자인 입문
강의 순서요
아무것도 모르는 입문자라서요 이 강의를 듣고있는데 혹시 이거 다 듣고는 뭐를 들어야할까요?
-
미해결스프링 프레임워크 핵심 기술
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
AOP가 뭔지 이해하는 과정에서 그렇구나 하고 넘어가다 갑자기 인터페이스가 있는 경우 왜 인터페이스 타입으로 주입해야하는거지 하고 질문 게시판을 봤는데 역시나 같은 궁금증을 가진 분이 있어서 답변을 보았습니다. 먼저 클래스가 final이나 생성자가 private일 때는 이해가 갔는데 유튜브로 보여주신 건 보고 좀 생각을 오랫동안 해봤습니다. 스프링 트랜젝션과 AOP 등등 구글링을 많이 해보면서 이해를 해보았는데요 spring.aop.proxy-target-class를 false로 인터페이스 기반으로 프로퍼티를 설정해준다음 인터페이스에서@Transactional 을 메소드에 붙이면 인터페이스 기반으로 프록시 객체가 만들어지고 메소드가 호출될 때 프록시 객체가 그 메세지를 대신 받아 트랜젝션을 실행시키고 메소드를 실행하는데 @Autowired를 클래스로 주입하면 자기 자신의 메서드를 호출하면서 인터페이스 기반으로 트랜잭션 프록시 객체가 만들어졌기 때문에 프록시 객체를 거치지 않게 되고 그래서 에러가 나는걸로 이해했습니다. 이게 맞게 이해한건가요? 아니면 어느 부분을 더 봐야하는지 알려주시면 감사하겠습니다.
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
with open으로 파일 읽는 경우
안녕하세요 '파이썬으로 Plain Text 포맷 다루기' 강의에 관하여 질문드립니다. plaintext_file_format 파일의 연습문제를 풀면서 00_data/text_data_practice.txt 파일 읽고, 다음과 같이 출력되는지 확인하기 를 확인하기 위해 아래와 같이 코드를 작성했습니다. with open('00_data/text_data_practice.txt', 'r', encoding='utf-8-sig') as text_file : print(text_file.readlines()) print(text_file.read()) 위 코드를 실행하니 print(text_file.readlines())는 잘 출력이 되나, print(text_file.read())는 아무것도 출력되지 않아서 질문드립니다. with 블록 안에서 readlines()와 read()를 하나씩만 각각 실행할 때에는 정상적으로 출력이 됩니다. 그러나 두 함수를 둘 다 실행하는 경우(각각 print()로 출력하거나 print(readlines(), read())로 출력하는 경우)에는 readlines()만 출력되고 read()는 공백만 출력됩니다. with 블록 안에서는 하나의 동작만 가능한가요? 에러가 발생한 것도 아니라서 문제점을 모르겠습니다. 감사합니다.
-
미해결웹 게임을 만들며 배우는 Vue
vue에 sass적용할 때 webpack설정 질문입니다
vue에 scss를 적용하는 법이 궁금해서 질문 올립니다. 공식문서를 보면 npm install -D sass-loader node-sass를 한 후 "devDependencies": { "css-loader": "^4.3.0", "eslint": "^7.16.0", "eslint-plugin-vue": "^7.4.0", "node-sass": "^5.0.0", "sass-loader": "^10.1.0", "vue-loader": "^15.9.6", "vue-style-loader": "^4.1.2", "vue-template-compiler": "^2.6.12", "webpack": "^4.44.2", "webpack-cli": "^3.3.12", "webpack-dev-server": "^3.11.0" } webpack config를 아래와 같이 설정하라고 되어 있던데 안되는 이유가 뭔지 잘 모르겠습니다. 제가 뭘 놓치고 있는 걸까요? module: { rules: [{ test: /\.vue$/, use: 'vue-loader', }, { test: /\.scss$/, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ] }, { test: /\.css$/, use: [ 'vue-style-loader', { loader: 'css-loader', options: { esModule: false, } }, ] }, ], }, <style scoped lang="scss"> .login { width: 235px; height: 60px; padding: 20px 91px 13px 87px; border-radius: 5px; background-color: #00c854; p{ font-family: SpoqaHanSans; font-size: 22px; font-weight: bold; font-stretch: normal; font-style: normal; line-height: 1.14; letter-spacing: normal; text-align: left; color: #ffffff; } } </style>
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
.format(변수)가 어떤 원리인지 이해가 안갑니다.
print("대기번호 : {0 }".format(waiting_no)) 를 했을 때 대기번호 : 1 대기번호 : 2 대기번호 : 3 대기번호 : 4 이렇게 출력값이 나오는데, 정확히 .format() 이 어떤 원리인지 이해가 가질 않습니다.
-
미해결모던 안드로이드 - 코틀린과 Jetpack 활용
retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?
코루틴과 retrofit2 둘다 이미 비동기로 처리하는걸로 아는데 단순히 자바스러운(?) 긴 코드를 줄일 수 있기 때문에 사용하는건가요? 성능상의 차이는 없나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님
이미 리트윗한 게시물을 다시 리트윗 버튼을 눌렀다고 가정했을 시 밑의 코드가 실행되잖아요? router.post('/:postId/retweet', isLoggedIn, async (req, res, next) => { // POST /post/1/retweet try { const post = await Post.findOne({ where: { id: req.params.postId }, include: [{ model: Post, as: 'Retweet', }], }); console.log("post:::::::::::::",JSON.stringify(post),"enddddd"); if (!post) { return res.status(403).send('존재하지 않는 게시글입니다.'); } if (req.user.id === post.UserId || (post.Retweet && post.Retweet.UserId === req.user.id)) { //자기 게시글을 리트윗 하는것 자기 게시글을 남이 리트윗한것을 자기가 리트윗 하는것 return res.status(403).send('자신의 글은 리트윗할 수 없습니다.'); } const retweetTargetId = post.RetweetId || post.id; console.log("retweetTargetId:::::::::",retweetTargetId,"enddddddddddd"); const exPost = await Post.findOne({ where: { UserId: req.user.id, RetweetId: retweetTargetId, }, }); // console.log("exxxxxxPost:::::",JSON.stringify(exPost),"enddddd"); if (exPost) { return res.status(403).send('이미 리트윗했습니다.'); } 제가 리트윗한 게시물을 다시 리트윗해도 post.RetweetId는 null로 들어오는데 const retweetTargetId = post.RetweetId || post.id; 여기서 post.RetweetId는 필요 없지 않나요? 이것을 지워도 잘 동작하긴 하더라구요??
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
[강력/최신 크롤링 기술: Scrapy 이해하기] 강의 관련 질문 남깁니다.
안녕하세요, 일단 질 좋은 강의를 들을 수 있게 해주셔서 감사합니다. 다름이 아니라, 해당 강의 11분 38초 가량에서 맥과 다르게 윈도우에서는 오류가 날 가능성이 있으며, 오류가 발생할 때 시도하라고 알려주신 마지막 방법인 visualstidio에서 다운로드를 하여 해결하려 했습니다. 이 때 visual studio install을 마친 후 보이는 위 그림 페이지에서 추가로 설치해주어야 하는 부분이 있는지 궁금합니다. 추가로, 만약 추가로 설치해주어야 하는 부분이 없다면, visual studio를 설치해주는 것만으로 해결이 되는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Mac grade build 오류 문의입니다~
안녕하세요 해당 폴더로 이동은 하였는데 빌드하니 이런 오류가 발생하네요 ㅠ 왜 이런 에러가 나오는걸까요 ㅠ 이미지 다시 업로드 했습니다!