안녕하세요 김영한 강사님^^ 열심히 응용하다가 문제가 생겨 여쭈어봅니다 1. 일반예제 - 메모리 DB persistence-unit: test 2. 실전예제 - 실제 DB persistence-unit: jpa_shop 제가 공부 목적으로 DB를 용도별로 나눠 여러 케이스 예제를 만드는 중입니다. 저의 경우는 만들어놓은 엔티티 개수대로 테이블이 생성이 되는데 다음과 같이 EMF를 나누어 특정 DB만 작동되게는 해보았습니다. 예제1) 의 EMF 생성옵션 Persistence.createEntityManagerFactory("mem"); 예제2) 의 EMF 생성옵션 Persistence.createEntityManagerFactory("jpa_shop"); 그런데 필요없는 다른 챕터의 Member 시리즈 객체 까지 모두 엔티티화 되어 테이블까지 같이 생성이 됩니다. 필요없는 @Entity 를 주석처리 하지않고 특정 앤티티는 생성되지 않게 하는 방법이 있을까요? 패키지 필터 같은 기능이 있는지 궁금합니다. 읽어주셔서 감사합니다.
안녕하세요. 강의 다시 들으면서 실습해보고 있는데, Vuex 설치한 후 package.json 에는 다음과 같이 제대로 Vuex 라이브러리가 설치된 것 같으나 실제 설치하는 과정에서는 Error / Warning이 너무 많았습니다. 혹시 이런경우엔 라이브러리 기능중 일부 기능이 누락된 상태로 설치되거나 그런건가요?
4: 42초 경에 void doSomething(A& a, B& b) 함수를 각각 A와 B에 friend 함수로 선언을 해주었는데요. 여기서 궁금한게 생겼습니다. A 입장에서 friend 해준 doSomething함수가 A만을 다룰 때는 상관이 없지만 B까지 다루는데 어째서 허용이 되는지가 궁금합니다. 제가 강의를 보고 생각한것은 A입장에서 doSomething 함수가 뭘하던지 그리고 어떠한 매개변수를 받는지 상관을 안할테니 내꺼만 사용할 수 있도록 허용해줄테니 그다음은 doSomething 니가 알아서 해라 인가요? 음.. 그러니까 a,b라는 사람에게 dosomething이라는 사람이 무언가를 할려고 허락받는것을 각각 a,b에게 허락받는다고 생각하면 될까요? A입장에서는 자신의 것만 허용해준다고?
안녕하세요. get_integer()에서 정수값을 리턴받고 그 값이 count()에서 num값으로 쓰이는데 count()에서 그 어떤값도 getchar()을 통해 입력받지않죠. while (getchar() != '\n') continue; 이 문장들이 count()에서 왜 필요한지 모르겠습니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> char get_choice(void); char get_first_char(void); int get_integer(void); void count(void); int main() { int user_choice; //사용자의 입력 while ((user_choice = get_choice()) != 'q') { switch (user_choice) { case 'a': printf("Avengers assemble!\n"); break; case 'b': printf("\a"); break; case 'c': count(); break; default: printf("Error with %d.\n", user_choice); exit(1); break; } } return 0; } char get_choice(void) { int user_input; printf("Enter the letter of your choice:\n"); printf("a. avengers b. beep\n"); printf("c. count q. quit\n"); user_input = get_first_char(); while ((user_input < 'a' || user_input>'c') && user_input != 'q') // 입력 유효성 검증 { printf("Please try again.\n"); user_input = get_first_char(); } return user_input; } char get_first_char(void) // 첫 번째 글자만 받는 함수 { int ch; ch = getchar(); while (getchar() != '\n') continue; return ch; } int get_integer(void) { int input; char c; while (scanf("%d", &input) != 1) { while ((c = getchar()) != '\n') putchar(c); printf("is not an integer.\nPlease try again."); } return input; } void count(void) { int i, num; printf("Enter an integer:\n"); num = get_integer(); for (i = 1; i <= num; i++) printf("%d\n", i); while (getchar() != '\n') continue; }
안녕하세요, 항상 수업 잘 듣고 있습니다! Inner join과 left join 의 차이가 '데이터 비어있을 때 NaN이 뜨는데, 이걸 제외해서는 안되는 경우 left join 을 쓴다' 맞을까요? 맞다면, 일단 웬만한 경우에는 left join을 쓰고 NaN을 처리하는 것이 안전해보이는데 풀어주신 세 문제 전부 Inner join을 쓰신 이유가 있나요? 일단 Left join으로 문제 풀었을 때 오답이 나왔는데, 왜 오답인지 와닿지가 않습니다. + 제가 짜본 코드가 강의에서 보여주신 코드와 딱 한 지점이 다르거든요. INNER JOIN 을 LEFT JOIN 으로 써서, NULL 266866 요 NULL 대륙이 추가되어 있는데, 이거는 필요가 없는 데이터인가요? T-T 어떤 NULL은 유의미하고, 어떤 NULL은 일단 무시해도 되는지 그 기준을 잡기가 어려운데, 조언 받고 싶습니다!
DEBUG: Filtered duplicate request: <GET http://corners.gmarket.co.kr/Bestsellers> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates) 마지막 G마켓 크롤링 예재에서 세부카테고리(subcategory)를 크롤링할때 동일한 for문을 2번 작성하여 위와 같은 duplicate오류가 발생하는것을 확인했습니다. 이에, request 안에 dont_filter = True처리를 해주어서 처리를 하였더니 정상적으로 출력이 되었습니다. 혹시 선생님께서는 DUPEFILTER_DEBUG의 default값을 FALSE로 설정해 놓으셔서 별도로 코드 작성없이 정상적으로 실행이 되신건가요??? 또한 혹시 만약에 INFINITE LOOP안에서 크롤링을 해야하는 경우는 위와 같이 duplicate처리를 어떻게 하면 좋을까요???