9분 09초 쯤에 getSinCos(double degrees , double &sin_out, double &cos_out) 함수에서 double degrees 부분을 const double °rees로 바꾸셨는데요 궁금한것은 main함수 안에서 getSinCos(..)안의 argment중 degrees부분에 바로 상수를 넣어준다면(ex : getSinCos(30, ...) double degrees에서 const double& degrees로 바꾸지 않아도 효율?의 차이는 별로 없지 않을까 생각되는데 제 생각이 맞을까요? 아니면 degrees를 상수로 넣어준다고 해도 그것에 의해 메모리가 할당되면서 좀 더 효율이 안좋아지나요?
하기 앞서 강사님께서 읽어보시고 틀린 부분이 있다면 댓글로 작성부탁드립니다! -- 본론 -- 맞는지는 모르겠습니다. 하지만 오류가 수정되었고, 수정된 후 취약점이라는 부분들이 있어서 취약점 수정까지 공유해봅니다. cmd를 관리자모드로 실행해주시고, npm install --global --production windows-build-tools 를 써줍니다. 그 후에 터미널로 오시던지 cmd에서 하시던지 상관없는거 같은데 저는 터미널로 돌아왔습니다. 그 후에 npm install을하면 에러는 사라지는데 취약점이라고 install을하면 하단에 found 0으로 떠야하는데 숫자가 붙으실수도있습니다. 개인적으로 취약점을 해결해야 프로그램이 돌아가는지 아닌지를 몰라서 최대한 취약점을 수정하는 방법을 선택했습니다. 방법은 일단 npm audit fix를 하셔서 npm안에서 고칠수 있는것들은 고쳐줍니다. 그후에 다시 install을하시면 found의 숫자가 줄어들거나 그대로일텐데 아직도 0이 아니시라면 npm audit를 검색해보시면 그 취약점에 대한 정보들이나오고 링크가 나옵니다. 링크에 접속해보시면 해결방법이 나오는데 대부분 버전업데이트를 하라는것이었습니다. 그래서 저는 터미널로 다시돌아와서 npm i -g npm 명령어를 쳐서 버전업데이트를 해주었고 취약점들이 많이 잡혔습니다(g를 빼시면 해당 폴더?만 업데이트되는것같습니다) 물론 아직 취약점들이 몇가지남긴했지만 프로젝트하면서 문제가 생길시 수정해야할 것 같습니다. 저처럼 이것떄문에 진행을 못해서 헤메고 계시는 분들한테 도움되었으면합니다. ㅠ 저는 3시간동안 찾아서 겨우 했어요! 그리고 강사님 항상 양질의 강의 감사드립니다! 열심히 배워서 취업뿌실게요! 다들 파이팅!
형 변환을 사용하면 선생님께서 설명해주신 것처럼 쓸 수 있다는 것은 이해가 되었습니다. VIPCustomer customerWho = new VIPCustomer(10010, "Who", 100); 그런데 위와 같이 형 변환을 하지 않고 그대로 적은 것이랑 무슨 차이가 있는지 모르겠습니다. 감사합니다.
안녕하세요. 노드버드 강의 보면서 제가 맡은 프로그램을 짜보고 있습니다. 다름이 아니라, mysql 디비에서 라우팅해서 관련 데이터가 포스트맨으로 넘어오는거까지 확인이 되었는데요, 프론트엔드 부분에서 statusView 페이지에서 관련 데이터 받아와서 뿌리는 테스트 코드를 작성해봤는데, 아무런 반응이 없습니다. 테스트 코드는 다음과 같습니다. 크롬창에서 localhost:3000/statusView 들어가보면 Hello Town1 List만 나오고 console.log(test) 이부분은 undefined로 나옵니다. getInitialProps가 동작을 했다면 console.log('aaaaaa')가 나왔어야 하는데 이건 출력이 안되더군요. 참고로, 백앤드 서버는 실행한 상태에서, 새로 폴더를 만들어서 react, react-dom, next 만 설치한 상태에서 pages 폴더를 만들고 statusView 페이지에 위에 코드를 넣어보니 이때는 또 데이터가 잘 넘어 옵니다. 어디서 부터 디버깅을 해야할지 막막해서 두서없지만 질문 올립니다.
DELETE /workspaces/:workspace/members/:id :workspace에서 :id 멤버 제거(또는 탈퇴) return 'ok' 위 API를 사용하여 워크스페이스 멤버를 삭제하는 것을 구현 중에 막혀서 2가지 정도 질문드립니다. 1. 아래와 같이 workspace에 있는 멤버를 select로 선택하여 value 값을 불러와서 워크스페이스에 있는 유저를 제거하고 싶은데 option의 value 값을 불러오는 방법이 있을까요? <Modal show = {show} onCloseModal = {onCloseModal} > <form onSubmit = {onKickMember} > <Label id ="member-label" > <span> 사용자 이름 </span> { /*<Input id="member" type="text" value={kickMember} onChange={onChangeKickMember} />*/ } <Select id ="memberId" onChange = {onChangeKickMember} > {memberData?. map ((member) => { if (userData?. id !== member. id ) { return <option value = {member. id } > {member. nickname } </option> ; } })} </Select> </Label> <Button type ="submit" > 사용자 삭제 </Button> </form> </Modal> 2. 아래와 같이 delete를 테스트로 호출해보았습니다. 프록시를 사용하여 백엔드 서버에는 3095포트로 전송됩니다. axios . delete ( `/api/workspaces/ ${workspace} /members/2` ) 위에 사진과 같이 오류가 발생했는데, delete는 백엔드 서버에 구현되지 않은걸까요?
@Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = "+policyMap); System.out.println("policies = "+policies); } 이 부분에서 나중에 policies를 discount()에서 사용하지 않는데 Map과 List를 다 생성자 파라미터로 써주신거는 Map이나 List 둘 중 하나를 사용해도 된다는 것을 보여주시려는 건가요? 만약에 List를 쓴다면 다음과 같이 discount를 바꿔줘야 하는게 맞나요? public int discount (Member member , int price , int discountnum) { DiscountPolicy discountPolicy= policies .get(discountnum) ; return discountPolicy.discount(member , price) ; } 테스트는 맞게 나오는데 그럼 policies에 fix, rate가 들어갈때 순서는 어떻게 정해지나요?
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: jpabook.jpashop.domain.item.Item.categories[jpabook.jpashop.domain.Category] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1159) ~[spring-context-5.3.2.jar:5.3.2] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) ~[spring-context-5.3.2.jar:5.3.2] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588) ~[spring-context-5.3.2.jar:5.3.2] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1309) ~[spring-boot-2.4.1.jar:2.4.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1298) ~[spring-boot-2.4.1.jar:2.4.1] at jpabook.jpashop.JpashopApplication.main(JpashopApplication.java:10) ~[classes/:na] Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: jpabook.jpashop.domain.item.Item.categories[jpabook.jpashop.domain.Category] at org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1332) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:870) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:795) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:53) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1693) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1661) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:295) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) ~[hibernate-core-5.4.25.Final.jar:5.4.25.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.2.jar:5.3.2] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.2.jar:5.3.2] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.2.jar:5.3.2] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.2.jar:5.3.2] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) ~[spring-beans-5.3.2.jar:5.3.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-5.3.2.jar:5.3.2] ... 17 common frames omitted 카테고리쪽에서 문제가 있는 거같은데 어떤문제일까요?
.format() 함수의 경우 {} 안에 있는 자료형 타입으로 ()안에 있는 값이 출력된다고 이해를 했습니다. 예를 들어, print('{:4d}' .format(42)) 의 경우 42가 int형이고 {} 안에서도 d(정수형)을 받는다고 생각을 했는데 print(type('{:4d}' .format(42))) 라고 입력을 해보니 class 'str'이라고 출력이 됐습니다 float 형의 경우도 똑같이 출력이 돼서 format으로 받는 값은 무조건 str로만 type이 지정되는지 궁금합니다.
선생님 안녕하세요 영상 잘 보고 있습니다. const currentIndex = Images . indexOf (image) let newImages = [ ... Images] newImages . splice (currentIndex , 1 ) setImages (newImages) props . refreshFunction (newImages) 여기서 newImages말고 그냥 Images를 사용하면 const currentIndex = Images . indexOf (image) /* let newImages = [...images] */ Images . splice (currentIndex , 1 ) setImages (Images) props . refreshFunction (Images) 이미지 클릭해서 지울 때 첫번째만 지워지고 두 번째 부터 안 지워지는걸 알았습니다. Images도 이미지 올려서 저장된 이미지들 배열로 알고있는데 Images와 newImages 차이를 잘 모르겠습니다..
안녕하세요 강의 잘 수강하고 있습니다. 다름이아니라 제 테스트에서 java.lang.AssertionError: Model attribute 'singUpForm' does not exist 에러가 나오며 테스트 통과가 안되어 이상해서 문의드립니다. AccountController에서 model.addAttribute( "signUpForm" , new SignUpForm() ) ; attribute추가도 잘 했는데 .andExpect( model ().attributeExists( "singUpForm" )) ; 테스트에서 이부분만 통과를 못합니다.. 화면에서는 잘 동작해서 테스트코드는 작성 안하고있다가 추가해봤더니 오류가나서.. 혹시 특별한 이유가 있을까요? ㅜㅜ