게임에 있는 카드보드 캐릭터로 볼때 리슨서버로 동작하는 어플리케이션에서는 Authority를 가진 엑터이고 이 리슨서버에 접속된 클라의 입장에서 봤을때 이 엑터(햔재 리슨서버의 카드보드)는 SimulatedProxy엑터가 되는게 맞을까요?? 그리고 클라의 카드보드 캐릭터는 Authority로 되던데 이렇게 되면 자기 자신은 신뢰하게 되는건가요...?? 햇갈리네요 ㅜㅜ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 테스트코드 작성할 때 ItemRepository를 강의에서는 new 키워드로 직접 생성했는데, 저는 생성자 주입을 사용해보고 싶어서 시도했는데 주입이 안된건지 에러가 발생하네요 무언가 빼먹은게 있을까요? 다시 직접 new 키워드로 직접 객체를 생성하면 에러 발생하지 않고 제대로 테스트실행이 됩니다. 찾아보니 Jupiter는 스프링 IoC와 작동방식이 다르고 @Autowired를 명시해주어야한다라고 하는데 저는 명시했는데도 같은 에러를 발생시키네요 org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [hello.itemservice.repository.ItemRepository arg0] in constructor [public hello.itemservice.repository.ItemRepositoryTest(hello.itemservice.repository.ItemRepository)]. at java.base/java.util.Optional.orElseGet (Optional.java:36 4) at java.base/java.util.ArrayList.forEach (ArrayList.java:159 6) at java.base/java.util.ArrayList.forEach (ArrayList.java:159 6)
분명 강의중에 설명해주셨던 내용같은데,,, 넓은 범위를 복습하다보니 내용을 찾기가 어려워서 잘문 남깁니다. 강의 내용에서는 주문을 생성할 때, orderService 계층의 order() 메서드를 호출하여 orderItem 을 생성하고, 이는 내부적으로 createOrder 를 다시 호출해서 디비에 저장되는 식으로 코드를 짰습니다. 그런데 문득 클라이언트 단에서(예를 들어 controller 계층에서) order.createOrder 를 직접 접근하면 어떤 문제들이 있을지가 궁금해졌습니다. 예릃 들어 아래 제 테스트 코드 처럼요. 이런 설계가 안좋아보이긴 하나, 마땅히 생각나는 문제가 없어서 질문드립니다. @Test @DisplayName("Direct access thru Order Domain") @Transactional @Rollback(value = false) public void directAccess(){ Item bread = new Bread( "red bean", 100, 2000, "a", BreadSize.LARGE ); itemService.createItem(bread); Order order = new Order(); orderService.createOrder(order); OrderItem orderItem = OrderItem.createOrderItem1(bread, bread.getItemPrice(), 20); order.addOrderItem1(orderItem); }
말풍선의 최대 최소를 설정하고부터, 강의와 다른 결과가 나옵니다. 말풍선 자체의 auto layout에 크기 제한을 걸었을때 ➡ min, max 크기는 제한 ok그러나 전체 프레임을 줄였을때 min크기로 줄어드는게 아니고 프레임 바깥으로 잘림 말풍선+시간이 들어있는 auto layout에 크기 제한을 걸었을 때 (강의 내용) ➡ 한글자만 들어있어도 항상 크기가 max로 고정그러나 전체 프레임을 줄였을때 맞춰 조정되나 min 크기 제한이 무시됨 hug와 fill을 하나씩 바꿔봤는데도 동시 적용이 안된다는 점 때문에 무엇이 문제인지 도통 모르겠네요ㅠㅠ
dt_clf = DecisionTreeClassifier(random_state=156) skfold = StratifiedKFold(n_splits=3) n_iter=0 cv_accuracy=[] # StratifiedKFold의 split( ) 호출시 반드시 레이블 데이터 셋도 추가 입력 필요 for train_index, test_index in skfold.split(features, label): # split( )으로 반환된 인덱스를 이용하여 학습용, 검증용 테스트 데이터 추출 X_train, X_test = features[train_index], features[test_index] y_train, y_test = label[train_index], label[test_index] #학습 및 예측 dt_clf.fit(X_train , y_train) pred = dt_clf.predict(X_test) # 반복 시 마다 정확도 측정 n_iter += 1 accuracy = np.round(accuracy_score(y_test,pred), 4) train_size = X_train.shape[0] test_size = X_test.shape[0] print('\n#{0} 교차 검증 정확도 :{1}, 학습 데이터 크기: {2}, 검증 데이터 크기: {3}' .format(n_iter, accuracy, train_size, test_size)) print('#{0} 검증 세트 인덱스:{1}'.format(n_iter,test_index)) cv_accuracy.append(accuracy) # 교차 검증별 정확도 및 평균 정확도 계산 print('\n## 교차 검증별 정확도:', np.round(cv_accuracy, 4)) print('## 평균 검증 정확도:', np.mean(cv_accuracy)) 안녕하세요 선생님. k-fold 작동방식에 관한 질문이 있어 글 남깁니다. 전체 데이터셋에서 테스트셋을 제외하고, k개의 데이터셋으로 나누어 학습과 검증을 k번 반복한다. 그리고, 교차 검증 최종 평가는 k번의 학습과 검증에서의 평가지표를 평균낸다. 정도로 이해하였습니다. 여기서 저의 궁금점은 다음과 같습니다. k번의 학습과 검증을 반복하면서 가장 좋았던 iteration의 모델을 최종 모델로 가져가는것인지, 아니면 k번의 학습을 통한 모델의 파라미터들을 평균을 내어 최종 모델을 새로 구하는 것인지 궁금합니다. 최종 평가지표는 k번의 학습과 검증에서의 평가지표 평균이 아닌, 테스트셋에 대한 평가지표가 더 적당하지 않은지 궁금합니다. 위 코드에서처럼 for문 안에 fit을 통해 모델 학습을 시킬 때, 이전 iteration에서의 모델 학습과는 전혀 연관되지 않게 새로 학습을 시작하는것인지 아니면 이어서 학습하는 것인지 궁금합니다.
저도 같은 경우가 발생해서 해결한 방법 공유 드립니다. 먼저 강의는 MySQL 8 버전으로 했는데 connect.php의 mysql_connect와 mysql_select_db 함수는 7 버전부터 제거 되엇습니다. 8 버전에 맞게 새로 작성 한 후 성공하였습니다. 아래 공유 드릴게요 <?php $username = "awslearner"; $password = "awslearner"; $hostname = "yourhostnameaddress"; $dbname = "awslearner";try { // mysqli를 이용한 데이터베이스 연결 $dbhandle = new mysqli($hostname, $username, $password, $dbname); // 연결 확인 if ($dbhandle->connect_error) { throw new Exception("MySQL에 연결할 수 없습니다: " . $dbhandle->connect_error); } echo "MySQL 접속 성공! username - $username, password - $password, host - $hostname<br>"; // 연결 종료 $dbhandle->close(); } catch (Exception $e) { // 오류 메시지 출력 echo $e->getMessage(); exit; // 스크립트 종료 } ?>
안녕하세요 선생님 덕분에 머신러닝 너무 재밌게 공부중입니다. 데이터의 분포가 가우시안 분포가 아닐 경우에 minMaxScaler을 적용해 볼 수 있습니다. 라고 나와있는데, 이유가 무엇인지 알 수 있을까요? 제가 생각해본 이유들은 다음과 같습니다. 이미 평균은 0, 표준편차는 1로 정규화되어있어 다시 정규화를 진행할 필요가 없다. 정규분포는 양끝값이 없나..? 그래서 min값과 max값이 너무 멀리 떨어져있나?? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
다음과 같이 playground에서 mutation한 결과 "Cannot return null for non-nullable field Product.productSalesLocation." 오류 메시지가 뜹니다. mutation안의 반환값으로 product의 column만 받을 때는 오류 없이 작동되었는데 productSalesLocation의 column을 반환하려 하면 다음과 같이 오류가 뜹니다. 위 사진을 보시면 DBeaver에 product와 saleslocation에 생성한 값이 잘 입력되었지만 product table에서 productSalesLocationID가 NULL값으로 되어있습니다. 이 부분에 연관된 코드가 여러 파일로 나뉘어져있어 코드 어느 부분을 확인해야 하는지 알려주시면 해당 코드 캡처본을 보내드리겠습니다.
제가 scanf("%s",stringarr)를 이용해서 콘솔 입력(키보드)에 데이터를 이용하면 1. 화면에 커서가 깜빡깜빡 거리면서 콘솔화면(모니터)창에 쓰는 값이 보이는데 이게 입력 버퍼인가요? (그리고 이러한 버퍼는 일반적으로 4kB까지 입력을 칠 수 있는 건가요?) 아니면 입력 버퍼는 저희 눈에 안보이고 "CON"이라는 파일안에 들어가 있는 건가요? 이 부분이 혼동이 옵니다. 리눅스에 man puts 를 쳐서 설명을 보니 개행 문자가 딸려온다고 써져 있습니다. puts("")로 치면 출력버퍼안에 \n이 있다는 말인가요? 그렇다면 출력 버퍼는 \n으로 인해 비워지게 된건지 궁금합니다 질문과는 다른 이야기인데 4kB는 페이지 크기도 4kB인데 이게 무엇을 기준으로 나눈 건가요?? ps/ 수업을 너무 많이 듣고 정리하면서 이러한 개념들이 혼동이 생기네요... 마음은 급하고 배울건 많고, 배운건 또 안보면 까먹고 왕도가 없네요 하하.. 항상 열심히 수업듣고있습니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 뭐가 잘못된건지 모르겠습니다. 로그인 메서드를 스태틱으로 만들어야하나요..? https://drive.google.com/file/d/1gjPbYTN4X-ozjYDISGWff1BvvFdNOfen/view?usp=sharing
해답지와 다른데 elif 로 해도 되나요? 오류가 나는 이유도 잘 모르겠습니다 ㅠㅠ 그리고, 해답지에 if가 3번 나오고 나서 else 가 3번 나온 구조도 신기합니다. 왜 이렇게 하는 건가요? 첫번째 if 랑 첫번째 else 랑 이런식으로 짝꿍인데 그냥 띄어서 쓴건가요? if year % 4 == 0: if year % 100 == 0: if year % 400 == 0: print(year, "년도는 윤년입니다") else: print(year, "년도는 평년입니다") else: print(year, "년도는 윤년입니다") else: print(year, "년도는 평년입니다")