데이터를 bbb 같은 데이터에 담고 그걸 presenter에 담으면 presenter에서 데이터를 알아보기 어려우니까 3번과 같이 map 자체를 <div> 에 담아서 렌더링 한다고 말씀하셨는데요, 그렇다면 3번과 같은 렌더링은 컨테이너의 return에 적는걸까요 아니면 presneter의 return에 적는걸까요?
@Data @Builder @NoArgsConstructor @AllArgsConstructor public class LoginDto { @NotBlank private String email; @NotBlank private String password; } ------------------------------------- @Component public class LoginValidator implements Validator { private final UserRepository userRepository; public LoginValidator(UserRepository userRepository) { this.userRepository = userRepository; } @Override public boolean supports(Class<?> clazz) { return LoginDto.class.isAssignableFrom(clazz); } @Override public void validate(Object target, Errors errors) { LoginDto loginDto = (LoginDto) target; User user = userRepository.findByEmail(loginDto.getEmail()); if (user == null) { throw new LoginFailedException("User not found"); } if (!user.getPassword().equals(loginDto.getPassword())) { throw new LoginFailedException("Invalid password"); } } } 위 코드처럼 DTO 클래스에서 간단한 검증은 bean validation으로 시행하고, 복잡한 검증로직은 LoginValidator에서 관리 및 커스텀 예외를 리턴하는 방식은 안좋은 방식인가요? 제가 알기로는 errors는 bindingresult처럼 복잡한 검증이 아니라 단순한 검증결과를 담는 것으로 알고 있는데, validate를 override하여 복잡한 검증 실행 및 검증 결과를 LoginFailedException(커스텀 예외)으로 반환하려고 하니 Errors를 리턴해야 한다는 강제성 때문에 혼란이 생겼습니다. 따라서 제가 궁금한 점은, 간단한 검증작업(ex. 정규식) 과 복잡한 검증작업(ex.이메일,비밀번호가 DB에 있는지 검증)은 어떻게 처리하는게 이상적인가? 입니다. 저는 각각 Bean Validation, Validator(커스텀 예외 반환)로 해보려했는데 아닌 것 같아서 질문드립니다. 감사합니다.
앞에서부터 70% 데이터 중 views 컬럼의 3사분위 수에서 1사분위 수를 뺀 값을 아래와 같이 풀이했는데, 코드가 실행되지 않는 이유가 궁금합니다. df = df[:int(len(df) * 0.7)] cond3 = df['views'].quantile(0.75) - df['views'].quantile(0.25) df[cond3]
여유 없으면 랜덤포레스트 모델 하나만 해도 크게 지장없는 걸로 알고 있습니다. 근데 모델 구성 중에 max_depth 이나 random_state에 따라 점수가 차이가 날 수 있는 건 당연한데, 이 차이가 많이 날 수 있나요...? 저번 시험에서 max_depth 설정한 사람과 안한 사람 차이 점수가 10점 이상 난 걸로 알고 있어서...ㅠ 그리고 예를들어 모델 검증으로 max_depth=7이 max_depth=5가 더 좋은 평가지표가 나왔는데, 실제 test랑 비교했을 때 max_depth=5가 더 좋을 수 있는 것 아닌가요...?
@Data @Builder @NoArgsConstructor @AllArgsConstructor public class LoginDto { @NotBlank private String email; @NotBlank private String password; } ------------------------------------- @Component public class LoginValidator implements Validator { private final UserRepository userRepository; public LoginValidator(UserRepository userRepository) { this.userRepository = userRepository; } @Override public boolean supports(Class<?> clazz) { return LoginDto.class.isAssignableFrom(clazz); } @Override public void validate(Object target, Errors errors) { LoginDto loginDto = (LoginDto) target; User user = userRepository.findByEmail(loginDto.getEmail()); if (user == null) { throw new LoginFailedException("User not found"); } if (!user.getPassword().equals(loginDto.getPassword())) { throw new LoginFailedException("Invalid password"); } } } 위 코드처럼 DTO 클래스에서 간단한 검증은 bean validation으로 시행하고, 복잡한 검증로직은 LoginValidator에서 관리 및 커스텀 예외를 리턴하는 방식은 안좋은 방식인가요? 제가 알기로는 errors는 bindingresult처럼 복잡한 검증이 아니라 단순한 검증결과를 담는 것으로 알고 있는데, validate를 override하여 복잡한 검증 실행 및 검증 결과를 LoginFailedException(커스텀 예외)으로 반환하려고 하니 Errors를 리턴해야 한다는 강제성 때문에 혼란이 생겼습니다. 따라서 제가 궁금한 점은, 간단한 검증작업(ex. 정규식) 과 복잡한 검증작업(ex.이메일,비밀번호가 DB에 있는지 검증)은 어떻게 처리하는게 이상적인가? 입니다. 저는 각각 Bean Validation, Validator(커스텀 예외 반환)로 해보려했는데 아닌 것 같아서 질문드립니다. 감사합니다.
T1-21 문제 풀어보고 있는데요, 캐글에서 올려주신 코드로 작성한 결과와 제가 작성한 코드의 결과가 달라 질문 드립니다. (*제가 작성한 전체 코드는 맨 아래에 있습니다.) 바로 아래 코드에 대한 출력값은 90, 30, 30, 30 입니다. (답은 167.0 으로 출력됩니다.) 이를 통해 이상값 처리와 데이터 분할 모두 옳게 했다고 볼 수 있는데, 답은 165가 아닌 167이 나와서 도대체 어디서 잘못된건지 모르겠습니다. 답변 주시면 감사하겠습니다! # print(len(df['age'])) # print(len(df['age'].iloc[:30])) # print(len(df['age'].iloc[30:60])) # print(len(df['age'].iloc[60:90])) import pandas as pd import numpy as np df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') # print(df.head()) # print(df.info()) cond1 = df['age'] > 0 cond2 = df['age'] == round(df['age'], 0) df = df[cond1 & cond2] # print(df.head()) # print(len(df['age'])) # print(len(df['age'].iloc[:30])) # print(len(df['age'].iloc[30:60])) # print(len(df['age'].iloc[60:90])) median1 = df['age'].iloc[:30].median() median2 = df['age'].iloc[30:60].median() median3 = df['age'].iloc[60:90].median() print(median1+median2+median3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 작업형 2 한 가지 방법으로 풀기를 봤는데요 지금까지는 결측치나 이상치가 없었던 것으로 알고있는데요 1.만약 8회차에 결측치나 이상치가 존재한다면 여기서 EDA이후 결측치나 이상치를 제거하고 인코딩으로 넘어가면 되는거죠?? 2.그리고 영상에서는 target빼고 원핫 인코딩으로 다 진행 하던데 혹시나 조금 더 꼼꼼하게 진행할려면 target데이터 제외후 범주형은 원핫 인코딩 수치형은 스케일링 돌린후 검증 데이터 나누고 randforest로 학습 및 평가 후 제출 하면 되는 걸 까요??
section 5 : OpenSource를 통해HTML 파일편 에서 11분 21 초에 보시면 터미널에서 578,000원 데이터를 못 가져오고 있습니다. 실제로 실습에서도 실행한 결과. 동일한 카드셀렉터와 inner셀럭터 그리고 태그가 같더라도 일부 금액을 못 읽어오네요.
아이콘을 개발자에게 전달할 때 어떤 방법을 이용해야할까요? 제가 제작한 아이콘은 레이어가 하나씩 다 살아있었는데 이것을 하나로 합쳐달라고 하더라고요... 그룹으로하고 프레임 안에 넣어봐도 다운이 각자 된다고 하셔서 flatten으로 무조건 다 합쳤는데 이러면 수정이 불가하더라고요... export로 전달하는 방법도 있다는데 무슨 얘기인지 이해하기 어려워서...ㅠㅠ 혹시 어떻게 전달할까요? 제가 협업은 처음이라 방법을 모르겠습니다...
캐글에 올려주신 자료 중 T1-23 문제를 다시 풀어보고 있는데 선생님 답과 다른 답이 나와서 질문 드립니다. 선생님 풀이와 다른 부분은 10번째 값을 찾는 부분만 다른 코드로 했는데요 10번째 값은 88으로 같은데 중복값 제거 후 f1 중앙값이 75로 선생님 풀이의 값 77과는 다르게 나옵니다. 이유가 뭔지 알 수 있을까요? # f1 결측치를 f1을 내림차순으로 소팅했을 때 10번째 인덱스에 위치한 값으로 채움 df=df.sort_values('f1', ascending=False) df=df.reset_index() # print(df.head(10)) a=df.loc[9,'f1'] print(a) # print(df.isnull().sum()) df['f1']=df['f1'].fillna(a) # print(df.isnull().sum()) # age컬럼의 중복 제거 전 f1중앙값 m1=df['f1'].median() print(m1) # age컬럼의 중복 제거 후 f1중앙값 print(df.shape) df=df.drop_duplicates(subset=['age']) print(df.shape) m2=df['f1'].median() print(m2) print(abs(m1-m2))
kafka가 뭔지 잘 몰랐는데 덕분에 잘 수강하고 있습니다. order-service로 하나의 db에 데이터동기화는 이해했습니다. 제목의 질문인 멀티db의 경우는 어떻게 처리하는지 궁금해서 질문드립니다. order-service1 --- order-db1 order-service2 --- order-db2 이렇게 연결된 서비스의 경우 kafka로 db1에 입력된 정보가 db2로 db2는 db1으로 서로 동기화도 가능한가요? 서비스가 더 증가할 경우도 가능한가요? (db1 -> db2,3,4...) db를 master/slave 구성은 해봤는데 msa로 동일db 여러개가 동기화 설정 가능한지 궁금해서 문의드립니다.