우선 다음과 같이 실행을 하고 edge를 통해서 localhost:8080/hello-mvc 를 진행하면 위와 같은 화면이 실행이 되고 localhost:8080/hello-mvc에 ?name=spring!!를 붙여서 실행을 해도 다음과 같이 페이지가 출력될 뿐 강사님과 같은 화면을 출력할 수가 없습니다.ㅠㅠ
useEffect(() => { // componentDidMount, componentDidUpdate 역할 interval.current = setInterval(changeHand, 100); ----> 1번 코드 return () => { // componentWillUnmount 역할 clearInterval(interval.current); ----> 2번 코드 } }, [imgCoord]); 위 코드에서 조금 찝찝한 부분이 있어서 질문(Q1, Q2, Q3) 드립니다. 처음 RSP 함수 컴포넌트 코드가 실행되고 컴포넌트가 생성되면, 1번 코드가 실행됨 0.1초 후 changeHand 함수가 실행돼서 state가 바뀜 state 의 변화로 RSP 함수 컴포넌트 코드가 재실행되기 전에 2번 코드가 실행된 후 기존 RSP 컴포넌트가 소멸됨 함수 컴포넌트 코드가 재실행되면서 컴포넌트가 생성되면, 1번 코드가 다시 실행됨 === (1번 과정) (2번 과정으로 다시 반복) Q1. 그러면 componentDidMount 랑 componentWillUnmount 인 상황만 반복될 뿐, class 컴포넌트 라이프사이클에서의 componentDidUpdate 와 동일한 역할을 하는 상황은 Hooks에서는 만들어지지 않는 건가요? Q2. 강의 설명에 '두 번째 인수 배열에 넣은 값(예제에서는 imgCoord)들이 바뀔 때 useEffect가 실행됨' 이라고 나와있는데, 처음 컴포넌트가 생성되었을 때 useEffect의 componentDidMount가 실행되는 것을 보면 두 번째 인수 배열에 넣은 값들이 바뀌지 않아도 useEffect는 반드시 실행되어야 하는 것 아닌가요? 또한 class 컴포넌트에서는 비동기 함수 외부에서 선언한 변수를 함수 내부에서 사용할 때 함수 내부의 변수의 참조값이 변하지 않는 문제가 생겼었는데, 함수 내부에 변수를 선언해 줌으로써 해결했던 걸로 기억합니다. Q3. 여기서도 마찬가지로 useEffect의 두 번째 인수 배열은 외부에서 선언한 변수를 useEffect 함수 내부로 가져와서 참조관계를 그때그때 바꾸기 위한 용도로 사용된 것 아닌가요?
[영상 5분 30초] Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'memberRepository' for bean class [jpabook.jpashop.repository.MemberRepository] conflicts with existing, non-compatible bean definition of same name and class [jpabook.jpashop.MemberRepository] 에러내용은 위와 같습니다. 찾아보니 [jpabook.jpashop.repository.MemberRepository]에 있는 MemberRepository의 bean 이름과 [jpabook.jpashop.MemberRepository]에 있는 MemberRepository의 bean의 이름이 중복돼서 나는 에러라고 나오는데, [jpabook.jpashop.MemberRepository] 의 MemberRepository 는 이미 삭제된 상태인데도 위와 같은 에러가 뜨는 이유를 모르겠습니다.ㅠ
안녕하세요 문의드립니다. Mecab 설치 오류가 나서 파이썬, 아나콘다를 모두 삭제하고 재설치했습니다. pdf 에 나온 anaconda.com으로 접속해서 다운 받고 설치했습니다. 아나콘다 네비게이터를 켠 뒤 쥬피터 노트북 launch를 누르면 exit code1 이라는 오류가 뜹니다. 그런데 쥬피터는 일단 설치가 되어 있고 실행도 됩니다. 이후 cmd에 말씀하신 conda create –n py37 python=3.7.9 anaconda 를 입력하면 아래와 같은 창이 뜹니다. 가상 환경 설치가 안 되었는데 어떻게 해야 하나요?
2022-08-29 23:00:36.173 WARN 4072 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use 이라고 뜨는데 정확히 어떤 문제인지
안녕하세요! 강의를 너무나 잘 듣고 있습니다. 일대일 강의를 들으면서 이것저것 만져보다가 @OneToOne(optional=true) 인 경우에는 UNIQUE 제약이 걸리지 않고 반대로 false인 경우에는 UNIQUE 제약이 걸리는 것을 알게 되었습니다. 혹시 이렇게 구현된 이유가 무엇인지 알 수 있을까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
제가 군인 신분이라서 싸지방에서 웹 ide인 goormide를 사용하며 강의를 듣고 있습니다. 근데 이 환경설정을 하던 도중 windows.h 라는 헤더파일이 없다고 떠, 난항을 겪고 이때문에 windows.h 파일에서 끌어다 쓰는 모든 코드를 다시 일반적으로 고친 후에 해봤는데 "bash: /tmp/a.out: 허가 거부" 라고 뜨며 실행이 되지 않습니다. 혹시 해결방안을 아시는지 궁금합니다. ㅠ
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; public class AR_13 { public static int sol(int n,int n1,int[] aa0) { int k = n; int max = Integer.MIN_VALUE; int cnt = 0; int sum = 0; boolean is_ex = true; while ( is_ex ) { if( cnt == n1 - k ) is_ex = false; for(int i = cnt; i < k + cnt;i++) { sum += aa0[i]; } max = Math.max(max,sum); sum = 0; cnt++; } return max; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n1 = Integer.parseInt(st.nextToken()); int n = Integer.parseInt(st.nextToken()); int[] aa = new int[n1]; st = new StringTokenizer(br.readLine()); for(int i = 0; i < n1;i++) { aa[i] = Integer.parseInt(st.nextToken()); } System.out.println(sol(n,n1,aa)); } } 슬라이딩 윈도우 개념을 이용해서 문제를 좀 다르게 푼거같은데 이렇게 풀고 정답이 나오면 정상적으로 이해한게 맞을까요?
아마존 말고 vultr 라는 클라우드 서비스에서 우분투를 설치하고 테스트 겸 배포를 한번 해봤습니다. 로컬에서 정상 작동 다 했는데요 서버에 올리니까 그냥 접속이 안되더라구요 ㅠㅠ 선생님께서 하신 내용이랑 동일하게 했는데 말이죠 어흑 ㅠ 아마존 서비스와 차이점이 있는걸까요?? pm2 monit 화면인데 혹시 ㅠㅠ 제가 틀리거나 한 부분이 있을까요?? ㅠㅠ redis는 일부러 안올렸습니다 app.js 에서도 해당 코드는 전부 주석처리 했구요 ㅠㅠ 그냥 아마존으로만 써야 하는건가요?? ㅠㅠ
모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
서브쿼리문 select from (select from ex_member where 1=1) where id = ? 를 쓰면 placeholder 개수를 신경 안써도 된다는건 서브쿼리의 실행여부로 조건구문을 테스트 할 수 있다는 뜻인거죠? 즉, 서브쿼리가 성공적으로 수행되면 placeholder의 개수로 인한 에러가 뜰 것이고, 서브쿼리가 실패하면 테이블 없다는 에러가 뜨는 걸로 테스트 한다고 이해하면 될까요? 그리고 sql 쿼리문 실행과정이 웹 기초 강의에서 구문분석,정규화->컴파일->쿼리 최적화->캐시->실행이라고 하셨는데 서브쿼리문을 쓰게 되면 서브쿼리에서 위의 과정을 한번 거치고, 전체 쿼리에서 위의 과정을 또 거쳐서 총 2번 거치는건가요?