안녕하세요 가령 a,b,c,d 테이블이 있을때 case 1) a b inner a c left a d left case 2) a b left a c inner a d left case 3) a b inner b c left c d left 저런식으로 case 1,2,3등에 대해서 머리속으로 join형태가 잘 안그려져 질문드립니다. case1 번처럼 a,b inner join 이후에 left join을 하는건 머리속으로 그리기 쉬운데 2번처럼 left를 갔다가 inner가 튀어나왔다가 left join 하는등 아니면 3번처럼 a기준 테이블이 아닌 b,c로 left join을 하는등 이런 부분은 쉽게 이해하려면 어떻게 해야하나요??
안녕하세요 선생님. 함수와 재귀함수 영상에서(29분40초) 포인터를 입력값으로 받는 함수 부분 질문드립니다. myArray의 대한 배열값을 avgArray를 호출하여 return (double)sum / size;로 반환하는데 괄호 (double)부분의 계산은 따로 생략인건가요? 혹은 (double)의 의미가 무엇인지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의 내용을 따라 Controller쪽을 하기 사진처럼 작성하였습니다. hello를 매핑하여 templates/hello.html을 렌더링하고, 화면 실행 시, attributeValue 부분이 화면에 뜨게 하기 위해선 하기와 같은 코드를 짜야한다고 이해했습니다. 다만, 데이터를 넘겨받는 $부분이 문자열로 인식되어, 아래처럼 뜹니다. 저와 비슷한 에러를 겪는 분의 질문도 봤지만 무료/유료 버전의 차이라고 하셨는데, data 자체를 받질 못하는거 같아 문의글 남기게 되었습니다. 어디가 잘못된 것인지 잘 모르겠습니다 ㅠ
안녕하세요! 강의 정말 잘보고 있습니다. 한 가지 질문이 있는데요. 스레드도 많이 생성될 경우 컴퓨터의 자원을 빠르게 소모하여 서버가 다운될 수 있기 때문에 스레드 풀로 관리를 할텐데 코루틴의 경우에도 코루틴 자원을 무분별하게 많이 생성을 방지하기 위해 별도의 pool 같은게 있을까요?
안녕하세요. method 마지막 문제풀이중 질문이 있어 남깁니다! MethodEx4인데요, 문제를 띄워놓고 먼저 풀이한 후에 강사님 풀이와 비교를 해보니 아래와 같이 저는 if문으로 풀었는데 break용법이 switch문과 차이가 있는 것같아 문의드립니다. *switch에서는 while문으로 돌아갈 때 사용 *if문에서는 while문을 완전히 종료할 때 사용 예제 보여주시는 것을 보며 if문에도 break와 return을 모두 적용했는데 완전히 종료되는것을 보았습니다. 이해한 부분이 맞는지 궁금합니다 :)
개인정보 제공과 목적 외 이용 제공 강의 3분 06초에 나오는 필수 항목에서 개인정보 제3자 제공 동의는 개인정보처리자가 업무를 수행함에 있어서 필수적인 부분이 아닌데 왜 필수 항목으로 반드시 동의를 해야만 할 수 있게 되어있나요?? 거부할 권리가 있으니 선택항목 아닌가요?
import UIKit class TestClass {} class SomeClass { var a = 10 var b = TestClass() func myFunc() { print(self.a) } lazy var myClosure1: (()->Void)? = { () -> Void in print(self.a) } lazy var myClosure2 = { [a] () -> Void in print(a) } lazy var myClosure3 = { [b] in print(b) } deinit { print("SomeClass deinit") } } var myClass1: SomeClass? = SomeClass() var myClass2 = myClass1 var myClass3 = myClass1 var myClass4 = myClass1 myClass1?.myClosure1 myClass1?.myClosure1 = nil myClass1?.myClosure2 myClass1?.myClosure3 myClass1 = nil myClass2 = nil myClass3 = nil myClass4 = nil 위 코드에서 myClusore3 의 캡쳐 리스트엔 b를 작성했고, b는 클래스의 인스턴스로 참조타입으로 알고 있습니다. 이 때 위 코드를 실행하면 deinit이 실행되는데요. weak 키워드를 사용하지 않았는데도 deinit이 실행되는 이유가 있을까요?
안녕하세요 교수님 질문이 있습니다. 일반 클래스에서 언리얼 오브젝트를 멤버 변수로 가지고 있을 경우 언리얼 오브젝트를 가비지 컬렉터가 관리할 수 있도록 하기 위해서 FGCObject를 상속받아 함수를 구현하는 것으로 알고 있습니다. 혹시, 언리얼에서 제공하는 스마트 포인터 TSharedPtr나TWeakObjectPtr을 사용하여 언리얼 오브젝트를 관리할 경우에는 FGCObject를 상속받지 않고도 문제가 없을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 내용에서 제가 이해한게 맞는지 궁금해서 생각 정리와 중간 질문을 남깁니다. 개념적 이해가 들리거나 부족한 부분을 알려주시면 감사합니다 ㅠㅠ 1. Repository가 DB를 접근을 하려면 3 way handshake 방식을 통해 커넥션 객체를 얻게되고 해당 객체를 통해 DB에 필요한 sql 문을 전달하고 응답을 받습니다. 2. DB 회사마다 시스템이 다르기때문에 커넥션 객체를 얻기위해 (데이터 연결) JDBC 라는 인터페이스로 추상화하였고,각 DB들(Oracle DB, mysql 등등)은 JDBC인터페이스로 구현하여 라이브러리로 제공합니다. DriverManager 를 통해 해당 구현체를 탐색 후 연결할 수 있습니다. 3. DriverManager로 연결하는 것은 직접 커넥션을 받아오는 방법이고 sql전달 후에 커넥션을 닫아야하기에 번거로워 커넥션풀이라는 새로운 연결방식이 나왔습니다. 4. Connection pool 은 프로그램 실행시 설정해둔 개수만큼 미리 DB와 연결작업을 하여 커넥션 객체를 받아오고 저장해놓습니다. ------ 중간 질문 ------ 4 번에서 Connection Pool이 미리 커넥션 객체를 받아올때, DriverManager를 사용하는 것인지 아니면 커넥션풀 구현체가 직접 라이브러리에 있는 드라이버 구현체를 통해 연결을 얻어오는 것인지 궁금합니다. ---------------------- 커넥션 풀 또한 다양한 구현체들이 있기에 DataSource 라는 인터페이스로 추상화하였습니다. DriverManager 같은 경우 스프링에서 DriverManagerDataSource 구현체를 제공합니다. 하지만 DriverManagerDataSource은 커넥션 풀은 아닙니다. 6. 결국 DB를 연결하고 sql을 전달하기 위해선 DataSource 인터페이스를 사용하면 되고, 커넥션풀을 사용하고 싶으면 해당 구현체를 DriverManager 를 통한 직접연결을 하고 싶으면 DriverManagerDataSource를 사용하면 됩니다.
안녕하세요! 우선 강의 정말 잘 보고있습니다. 강의를 들으며 프로젝트에 적용 중인데 궁금한 점이 있어 질문드립니다. oauth 회원가입 시 리소스 서버에서 받은 수 없는 필수 추가 정보는 어떤 식으로 받으시나요? 예: 사용자 혈액형, 학교 등.. (회원가입에 필수 정보라 가정)
언리얼 엔진 소스 코드를 살펴보다 회전이동 행렬 코드에서 헷갈리는 부분이 있어 질문드립니다. 책에선 언리얼 엔진은 z->x->y순서로 회전행렬을 곱한다고 되어있는데, 그러면 언리얼은 행 기준 행렬을 사용하기 때문에 z(yaw) * x(roll) * y(pitch) -> 순서로 곱해야 하는데 이 결과가 언리얼 엔진 소스코드의 결과와 달라서 너무 혼동이 옵니다.. 저 결과가 나오려면 x(roll)->y(pitch)->z(yaw)순서로 곱해야하고, x,y,z축 회전행렬이 이렇게 돼야 저 결과와 같아지는데, x축과 y축 회전 행렬이 행 기준 행렬이 아닌 열 기준 행렬로 돼있고, z축 회전 행렬만이 행 기준 행렬로 돼있어 너무 혼동이 옵니다.. DX는 z->x->y순서로 곱해야 하고, 모두 행 기준 행렬인걸로 알고 있는데, 저 코드는 왜 다르게 나오는 건가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 큰돌님 강의 정말 잘 수강하고 있습니다. 다름이 아니라 해당문제에서 아래 go함수가 기존의 완탐 유형인 방문처리 / go / 방문처리 해제와는 조금 다르게 max가 중간에 들어가게 되어 헷갈리는 부분이 있어서 질문드립니다. 제가 이해한바로는 각 단계에서 가능한 모든 말을 이동시키고, 각 말이 도착한 위치에서 얻을 수 있는 점수를 계산. 그 중에서 최대 점수를 선택한 후, 다음 단계로 넘어가며 또다시 최대 점수를 선택하는 과정을 반복. 이렇게 마지막 주사위까지 처리된 후, 각 단계에서의 최대 점수를 더한 값이 최종적으로 출력. 되는 로직으로 이해하였는데, 혹시 제가 이해한대로 실행되는게 맞는지 궁금합니다. int go(int here){ if(here == n) return 0; int ret = 0; for(int i = 0; i < 4; i++){ int temp_idx = mal[i]; int mal_idx = move(temp_idx, a[here]); if(isMal(mal_idx, i)) continue; mal[i] = mal_idx; ret = max(ret, go(here + 1) + v[mal_idx]); mal[i] = temp_idx; } //cout << "RET : " << ret << "\n"; return ret; }
다른분 말씀대로 아래 명령어로 진행해보았으나 똑같은 오류가 발생합니다ㅠㅠ 혹시 해결방법을 여쭤볼 수 있을까요... yarn remove react-native-maps 실행 yarn add react-native-maps@1.8.3 실행 node_modules 디렉터리 삭제 yarn 명령으로 패키지 설치 npx pod-install ios 실행 cd android 명령으로 android 디렉터리 이동 rm -rf .gradle 실행 ./gradlew clean 실행 npm run android, npm run ios 로 재빌드하여 실행