안녕하세요 교수님. 벽에 부딪힐 때 작성하는 if 문안에 <=(>=)대신 == 을 넣으면 공이 투과하는 이유가 무엇일까요 컴퓨터가 연속적이지 않기 때문에, 혹시 pos.x 가 정확히 0.9f를 지나지 않을 수 있다고 생각해서, cout을 써서 실시간으로 x좌표를 찍어보니, 0.9를 지날 때도 있고, 안지날 때도 있었습니다. 그런데 0.9가 찍힐때도 벽을 투과 하는 이유를 모르겠습니다. 감사합니다.
package.json 에서 npm관련 업데이트 이후에 저장 버튼 눌르면 이런 경구문구가 뜹니다. 그리고, package.json에 자동으로 버전업데이트가 안돼서 수동으로 입력해줬습니다. 제가 궁금한점은 오류 문구가 뜨는데 어떤 조치가 필요합니까? 아니면 저 오류를 무시해도 프로젝트 진행하는데 무리가 없나요?
안녕하십니까 선생님!! 선생님 알고리즘 강의 너무 잘듣고 잘 배우고 있는 학생입니다! 다름이 아니라 이번문제를 풀면서 cnt +=1을 하는 조건이 1부터 시작하여 5에 최종적으로 도달한 경우에 cnt를 1씩 늘리는 것으로 판단하였는데 선생님의 풀이에서의 조건이 "if v == n"이 되는 것이 이해가 되지 않아 질문남깁니다. 예를 들어 path의 경우에서 1 2 3 4 5의 경우와 같이 5개의 노드를 지난 경우는 위의 조건이 직관적으로 이해가 가지만 1 2 5와 같이 3개의 노드만을 지나서 5에 도달한 경우에는 DFS(v)에서 v가 3일때 문제에서 요구하는 조건을 충족하게됩니다. 그럼 이 경우는 5에서 또 가지를 뻗어 DFS(v)에서 v가 4인 경우 5인경우까지 모두 실행을 한후 cnt+=1이 실행되는 것인가요? 이 부분이 헷갈려 질문남깁니다.
안녕하세요! 강의에서 Validation 으로 필드에 입력된 값들의 유효성 검사는 어느정도 이해하였는데요! 제가 하고싶은건 회원가입시 아이디 중복시 필드 오류처럼 필드에 표시해주는 기능인데요 회원 서비스에서 중복가입 시도시 예외가 발생하는데요. 이를 컨트롤러에서 try catch로 잡아서 처리하는 방법을 생각해봤는데요. 오브젝트 오류를 bindingresult에 추가하여 처리하듯이, 중복 가입 예외 발생시 bindingresult에 필드에러를 생성해서 추가하면 될것같은데 이러한 접근방법이 맞을까요? 예외발생시 Validation으로 처리하는 좋은 방법이 있을까요? 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문( http://bit.ly/3fX6ygx )을 먼저 확인해주세요. 3. 질문 잘하기 메뉴얼( http://bit.ly/2UfeqCG )을 먼저 읽어주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요, 영한님. 이 강의를 듣고나서 개인적으로 건강자가검진 체크 애플리케이션(혈당, 몸무게, 복용해야할 약만 체크)을 만들어보기 시작했습니다. ERD를 만들어보다가 멤버 즉, 로그인 하는 사람의 엔티티까지는 쉽게 설계할 수 있었으나, 몸무게와 혈당 부분에 테이블을 어떻게 설계해야할지 감이 안 오더라구요. 몸무게라는 테이블을 만들어서 멤버와 1:n관계를 매핑시키는 것만으로도 충분할지 고민되어 여쭤봅니다.
7분대부터 나오는 예제에서 무한루프 안에 객체를 생성 하는데요 main 함수가 종료되지 않음에도 소멸자가 호출되는것을 볼 수 있습니다. 알아낸것이 n번째 루프에서 생성된 객체는 n+1 루프에서 소멸자가 호출이 되더라구요 왜 이렇게 소멸자가 호출이 되는지 알 수 있을까요??
select(member, team).from(member) 이 부분이 이해가 너무 안되는데요 ㅠㅠ 이전 강의에서 selectFrom(member)를 했을 때는 멤버의 모든 필드를 조회해서 보여준다고 생각했습니다. 만약에 select(member, team)을 하게 되면, member필드와 team필드 모두 다 붙여서 보여주게 되나요? 가령, member테이블에는 id, username, team테이블에는 id,teamname이 있다면 id | username | id | teamname 이런식으로요..! 쿼리로 select * from member, team과 같은건지 궁금합니다 ! 그리고 .leftJoin(member.team, team)에서 member.team은 어떤걸 의미하는지도요..! ㅠㅠ 제가 join을 공부했을 때는 select * from member LEFT JOIN team ON ~ 이런 쿼리가 있을 때, 왼쪽(member 테이블)을 기준으로 오른쪽 테이블을 붙여서 출력해라! 이런 식으로 이해를 했는데요, 쿼리dsl에서는 어떻게 되는지 이미지화가 안돼요 ㅠㅠ 혹시나 제 질문에 도움이 될까 싶어서 https://www.youtube.com/watch?v=pJqBR2TNe24 이 영상으로 공부했다는 점 알려드립니다..! 프로젝트 중이라 급히 사용해야 하는데 아직 이해가 안되서 큰일이에요 ㅠㅠㅠ 가능하면 상세한 답변 부탁드립니다! 감사합니다 !!
안녕하세요, 영한님!! Lazy loading일 때 N + 1 개의 쿼리가 발생할 때 N + 1 select 문제라고 하고, Eager loading일 때 N + 1 개의 쿼리가 발생할 때도 N + 1 select 문제라고 하나요? 아니면, Lazy loading 일 때 N + 1 개의 쿼리가 발생하는 경우만 N + 1 select 문제라고 하고, Eager loading 일 때 N + 1개의 쿼리가 발생하는 경우는 N + 1 select 문제라고 하지 않는건가요?? 동욱님 블로그 에서는 Lazy loading만 언급되어있는데 NHN 블로그 에서는 Lazy loading 과 Eager loading 모두 N + 1 select 문제를 해결할 수 없고 fetch join등으로만 해결할 수 있다고 해서 질문드립니다!! Eager loading 일 때 N + 1개의 쿼리가 발생하는 경우는 N + 1 select 문제인가요? 아닌가요?
안녕하세요. 수업 진행 마지막에 spring-boot-devtools 라이브러리를 추가하면 서버를 재시작 하지않고 컴파일만 해도 된다고 하셔서 추가해볼려고하는데 몇 가지 문제가 있습니다. 구글에서 찾아본 결과 의존성 추가부분이 다르더라구요 1. compile( 'org.springframework.boot:spring-boot-devtools' ) 2. implementation 'org.springframework.boot:spring-boot-devtools' 첫번째와 두번째 둘다 해봤는데 아무 반응이 없었습니다. 그리고 Ctrl + Shift + A를 눌러서 Registy를 검색 후 compiler.automake.allow.when.app.running를 체크하라는데 아무리 찾아봐도 compiler.automake.allow.when.app.running이 없네요 ㅠㅠ 답변해주시면 정말 감사하겠습니다..
안녕하세요. 강의 잘 보고 있습니다. 템플릿 조각 사용 관련해서 궁금한 점이 있는데, pdf 자료에 ~{...} 를 사용하는 것이 원칙이지만 템플릿 조각을 사용하는 코드가 단순하면 이 부분을 생략할 수 있다. <-- 라고 쓰여 있는데 여기서 말하는 단순하다의 기준이 뭐일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문( http://bit.ly/3fX6ygx )을 먼저 확인해주세요. 3. 질문 잘하기 메뉴얼( http://bit.ly/2UfeqCG )을 먼저 읽어주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 영속성 관리 - 내부 동작 방식 부분 강의를 듣고 lock과 관련하여 의문점이 있어 질문을 남기게 되었습니다. EntityManager로 Entity(entityA)를 조회하고 다른 EntityManager에서도 Entity(entityA)를 조회한 후 setter를 이용해서 두 엔티티를 equal하지 않게 만들면 논리적으로는 같은 엔티티인데 각각의 PersistenceContext에서는 다른 상태가 될 것 같습니다. 이 상황에서 commit을 하게 되면 나중에 commit한 EntityManager의 PersistenceContext 내용이 반영되게 될 것 같습니다. (실제로 하나의 스레드에서 간단히 실험해보니 예상과 같은 결과를 얻었습니다.) Lock과 관련된 처리를 해야 할 것 같은데, 이 부분을 어떤 식으로 처리해야 하는지 질문 드립니다. 감사합니다.
클라이언트가 서버에 요청을 보내기 위해서 APP계층에서 메세지를 작성 후 소켓라이브러리를 이용해서 3hand shake로 가상연결 후, tcp/ip계층에서 패킷을 생성해서 요청을 전송하는 것으로 이해했습니다. 궁금한 점은 1. 서버에서 요청을 받았을 때도 마찬가지로 클라이언트와 3 hand shake 를 하고 응답을 보내나요? 2. 서버에서는 3 hand shake를 하지 않는다면 어떻게 가상연결 상태인 것을 알 수 있나요? 3. 서버에서 가상연결 상태인 것을 알고있다면, http는 비연결성이 아닌 건가요? 감사합니다.
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ... To install under x86_64, install Homebrew into /usr/local. 이런 오류가 발생하는데 M1 맥북에서는 설치를 못하는걸까요?
처음에는 질문에 있는 사람들처럼 환경에 따른 문제인가 하고 여러 방면에 대해 확인해봤는데 문제가 이상한 곳에서 해결이 되어 문의 드립니다. 다음과 같이 Managers 에서 데이터매니저를 init 해주면 스택오버플로우가 발생하는데 플레이어 컨트롤에서 매니져를 불러와 init을 시키면 해당 문제가 발생하지 않네요. 코드를 봐도 정확히 어떤 지점이 문제가 되는 건지 가늠이 잡히지 않아 문의 드립니다.