안녕하세요 선생님 자주 질문드려서 선생님의 귀중한 시간을 빼앗는거 같아 죄송합니다. 최근 최신버전 클러스터에 성공하였고 대시보드에 클러스터롤 바인딩을하여 인증서및 토큰로그인에 성공하여 StorageOS설치하다 문제가 발생하였습니다. 상태를 보니 파트 이니셜라이징과 파드스케줄은 잘되었으나 컨테이너에 문제가 발생한듯합니다. 스토리지OS 홈페이지 찾아서설치를 진행하였습니다. 데몬셋의 파드 이벤트 메시지와 컨테이너 로그메시지 첨부하였습니다. {"error":"no TLS ca certificate provided","level":"warning","msg":"no TLS certificate provided for etcd, communications will not be secured","time":"2021-04-08T09:31:19.911914134Z"} {"error":"is the ETCD_ENDPOINTS env var correctly set? missing configuration value for env var \"ETCD_ENDPOINTS\"","level":"error","msg":"failed to initialise store client","time":"2021-04-08T09:31:19.912034423Z"} {"level":"info","msg":"shutting down","time":"2021-04-08T09:31:19.912076259Z"} 데몬셋을 제외하곤 모든 오브젝트가 문제없이 가동중입니다. 언제나 질좋은 수업과 답변 감사드립니다.
안녕하세요! 좋은 강의 해주셔서 감사드립니다! 다름이아니라 리액트+스프링부트+스프링시큐리티 환경에서 로그인api 연동중에 CORS 이슈가 발생하여 구글링을 계속하였지만 결국 문제점을 해결하지 못하였습니다.. 죄송스럽지만 이렇게 질문 요청드립니다!! 질문요청드릴 내용은 스프링 시큐리티에서 CORS 설정 부분입니다. 우선 제가 적용한 코드는 아래와 같습니다! @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public CorsConfigurationSource corsConfigurationSource(){ CorsConfiguration configuration = new CorsConfiguration(); configuration.addAllowedOriginPattern("*"); configuration.setAllowedMethods(Arrays.asList("*")); configuration.setAllowedHeaders(Arrays.asList("*")); configuration.setAllowCredentials(true); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", configuration); return source; } @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .cors().and() .authorizeRequests() .antMatchers("/","/api/register","/api/login","/h2-console/**","/api/email","/api/verify","/api/matching/**").permitAll(); http.addFilterBefore(loginProcessingFilter(), UsernamePasswordAuthenticationFilter.class); //ajax 인증방식 사용 http.headers().frameOptions().disable(); //h2 console 접근 } } 이후 talend API Tester를 이용해서 api 테스트를 해본 결과 GET방식에는 문제가 없었으나 POST방식에서 403 에러 가 발생하였고 확인해본결과 preflight 요청에 대한 응답을 보내지못하는 문제로 판단되었습니다. 문제점을 해결하기 위해 configure 메소드에 아래와 같이 preflight 요청을 허가하는 코드를 작성 해보았지만 결과는 동일 하였으며 http.authorizeRequests() .requestMatchers(CorsUtils::isPreFlightRequest).permitAll( 스프링부트에서 configuration.allowCredentials(true) 와 configuration.allowedOrigins("*") 는 동시에 설정 못하도록 하였다고 해서 configuration.allowCredentials(true) 대신 .allowedOriginPatterns("*") 으로 변경해보았지만 역시 결과는 동일했습니다. 추가로 fliter의 순서가 문제인것같아 Filter를 상속받는 CORSFilter를 만들어서 적용해보았지만 결과는 동일 하였습니다. (해당부분은 https://sas-study.tistory.com/298 이 블로그를 참조했습니다.) 현재 어느 부분에서 해결점을 찾아야 할지 갈피를 못집고 있는 상황이라 이렇게 질문 요청드립니다..ㅜㅜ 답변해주시면 정말 감사드리겠습니다!
안녕하세요. 밑에 질문이랑 비슷한 경우인것 같습니다. npm start 콘솔에 (cmd에서) 쳤을 땐 nodemon app이 실행되면서 포트 연결이 되는데 nodemon app을 콘솔에 입력했을때 제대로 실행되지않습니다. 어떤문제일까요? (nodemon 버전 2.0.4) 입니다.
강의 시간 2:30 쯤 부터 List tag 안에서 Task 컴포넌트를 map 메서드로 여러개 나열하는 부분을 따라 진행중이였습니다 아래와 같은 오류때문에 질문드립니다. 오류가 뜬 이후에도 딱히 이유를 모르겠어서 일단 강의따라 코드는 더 작성하긴했습니다. 사진아래에 깃헙 레포 주소 올려놨습니다 확인 가능하실까요?? https://github.com/14-yoonl/2021_0408-RN_TodoList
근데 스크립트에 아래 코드 적으면 제가 클릭하는 애가 아니라, 제일 마지막 ilbuni부터 삭제가 돼요ㅠㅠ 이상해서 console.log(this)도 함께 했었는데 제가 클릭한 애가 맞게 출력되는데 삭제는 꼭 마지막 애 부터 시작돼요ㅠ 제가 그냥 내부 함수를 this.style.display = "none"; 으로 바꿔주면 결과는 맞게 나오긴 하는데 위에 코드는 왜 틀린 걸까용?ㅜㅜ
@Async 애노테이션을 사용해서 비동기적으로 실행하실 때 설명으로 각각의 쓰레드 '풀'에서 동작한다고 설명(10:11)해주셨는데 결과 값을 본 후에는 각각의 쓰레드에서 동작한다고 설명(11:19)하셨습니다. 쓰레드와 쓰레드 풀의 차이가 있다고 알고 있었는데 어느쪽이 정확한지 알고싶습니다.
안녕하세요 Orchestrator 에서 Cluster > Discover 서버 추가가 안됩니다. 강의 내용대로 따라하였는데 왜 안되는지 모르겠습니다 계속 로딩바만 돌아가고 추가가 안되는데 호스트네임도 정상이고 특별히 이상이 없어보입니다 이럴 경우 어떤 방법으로 접근해야 원인 찾기가 가능한지 알고 싶습니다.
안녕하세요, 강의 잘 보고 있습니다. new collection 배열안에 있는 요소들을 버블정렬을 이용해서 정렬을 하셨는데 아시다시피 버블정렬은 시간복잡도가 O(n^2)로 데이터 수가 많을수록 속도가 상당히 느려지는데 이를 보완하기 위해 병합정렬이나 퀵소트가 있는걸로 알고있습니다. 액셀 내에서는 이러한 merge sort나 quick sort를 내장함수로 지원하지 않는지 궁금합니다. 무조건 버블정렬을 써야하는지, (현업에서는 그냥 써도 무방하니까 쓰는 것인가요?? ㅎㅎ) 궁금하네요!
안녕하세요! kafka 설치경로의 logs 파일들을 보다가 궁금한 점이 있어서 남깁니다. controller 관련 로그가 있던데요. 찾아보니 broker들중 하나가 controller가 되는것같더라구요. broker 하나가 leader 역할도 하는데, 이 controller와의 차이점이 명확하지않아서 문의드립니다. 감사합니다!
안녕하세요. 강사님, LAZY로딩과 관련해서 성능최적화 공부중에 있는데요, 작업중 특이한 경우를 보게되서 질문을 드립니다. 어떠한 User라는 Entity가 있고, 해당 entity에는 다른 테이블들과 @ManyToOne, @oneToMany 관계를 가지고 있습니다. 당연히 로딩은 Fetch.LAZY로 설정해 두었구요. 이 상태에서 해당 entity를 조회하는 userRepository.findById() 의 코드를 실행시켰을때, user를 제외한 나머지에대해서도 조회쿼리가 발생하는 문제가 발생했습니다. (user 조회후 , A,B,C,D에 대해서 추가 쿼리가 발생) 이것저것 수정하다가 @Data를 @Getter@Setter로 변경후에 정상적으로 동작하는것을 확인했습니다. (user만 조회) 혹시 @Data어노테이션이 LAZY로딩 에 영향을 주는게 있는지 궁금합니다. 구글에서 검색해봣지만 만족스러운 내용을 찾지 못해서 질문드립니다. 해당 entity는 대략적으로 아래와 같습니다. @Entity @Getter @Setter @Table(name = "user") public class User{ //// 기타 컬럼 field @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "a_id") private A a; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "b_id") private B b; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "c_id") private C c; @OneToMany(mappedBy = "ds", fetch = FetchType.LAZY) private List<D> ds; }
안녕하세요 ㅎㅎㅎ 제가 첫 질문 글 남기게 됐네요 ㅎㅎ 강사님 무료강의를 듣고 강의력이나 설명에 너무 반해서 이번 강의 결제해서 듣고 있습니다. KRX 전체 종목 분석 - input 에 해당하는 주피터에서 하나하나 타이핑 해보면서 따라해보려고 했는데 input 파일 , output 파일 두개 모두 코드가 다 쳐져 있어서 문의 드려요! 감사합니다 :)
제가 생각하기로는 takeLatest는 어찌됐 건 클릭을 실수로 2번 하더라도 마지막 요청만 보낸다고 하셨는데 takeEvery와 다름이 없는 것 같아서 조금 헷갈리네요 ㅜㅜ 1. takeLatest가 backend 처리가 없다면, takeEvery와 같다고 볼 수 있을까요 ? 2.takeEvery를 사용하는 경우에는 대표적으로 어떤 경우가 있을까요..? 정보를 조회하는 로그인과 로그아웃 같은 경우 takeEvery로 요청시 여러번 막 눌러도 db에는 "저장"되지 않고 "조회"만 가능하므로 takeEvery를 사용하신걸까요 ?! 3.takeLatest도 어떻게보면 front단에서 요청은 1번으로 보이는 기법?을 활용하지만 그럼에도 불구하고 back단에서 요청이 다 들어간다면, 단순히 front 단에서 요청이 1번으로 보여지는 속임수? 를 위해 사용하시는걸까요 ?
혹시 저렇게 객체로 받지말고 ...써서 String으로 받고 ...의 길이를 받아서 개수-1 사이만큼 "and"를 만들어주고 동적으로 변수+1을 변수명으로 만들어줘서하면 비슷한 노가다겠지만 조금 더 단순해지지 않을까요..? => 이럴바에 queryDSL을 쓸거같긴합니다만..아직 잘 몰라서.. 앞에 말한게 생각대로 구현이 가능한 코드일까요..?
마리아 디비에 유저 테이블이있어서 그거 활용하고싶어서 그렇습니다. 예제에는 네임과 아이디밖에 없지만 제 테이블엔더 많아서 한번 해보고싶어서요... 그리고 멤버 테이블생성시 by default as identity가 나오는데 이건 마리아DB에서 AUTO_INCREMENT 이거랑 같은건가요? 제가 스프링은 처음이라 마리아DB는 어떻게 연결하는지 알려주시면 감사하겠습니다
안녕하십니까 선생님. 강의 잘 듣고 있습니다. 질문이 있어서 질문 드립니다. 아래는 [코딩시간]에 제가 코딩해 본 코드입니다. 결과값으로는 짝수누적값 650, 홀수누적값 625, 전체누적값 1275을 얻었습니다. ★질문 : 저는 변수 선언 후, 반복문 들어가기 전에 null값을 초기값으로 할당해 주었는데, 다른 분은 0을 할당하시기도 하더라고요..... 널값을 할당하든, 0을 할당하든 결과값은 동일한 것을 확인하였지만, 보통 아래와 같은 코딩을 쓸 때, 널과 0중에 어떤 값을 초기에 할당하는지 궁금하여 질문드립니다... 저는 반복문 들어가기 전에는 값이 숫자인지 무엇인지 미리 할당하지 않는 편이 낫다고 생각해서 0이 아닌 .. 아무것도 없는 값(?)인 널값을 할당하였습니다만.. 결과값이 숫자임이 명확한(1~50 의 양수 무엇을 더해도 결과값은 반드시 숫자) 아래와 같은 코드에서는 초기값에 0을 할당하는 것이 더 코딩적(?)으로 혹은 수학적으로 정확한 것일까요??? 이 질문이 .. 좀 이상한 질문일 수도 있겠지만 ㅠ... 비전공 출신으로 물어볼 데가 없어서 선생님께 질문드리는 점 양해부탁드리겠습니다.ㅠㅠ //변수선언 var totalOdd ; var totalEven ; var totalNum ; var Result ; //변수에 null 할당 totalOdd = null; totalEven = null; totalNum = null; //1부터 50 반복문 for (i = 1 ; i <= 50 ; i ++ ) { Result = i % 2 ; //나머지값 구하기 = i를 2로 나누기 if ( Result === 0 ) { //나머지가 0과 일치할 경우 totalEven = totalEven + i ; // 짝수끼리 더하기 } else { //나머지가 0이 아닌 경우 (1인 경우) totalOdd = totalOdd + i ; //홀수끼리 더하기 } totalNum = totalNum + i ; //전체 더하기 } console . log (totalEven) ; console . log (totalOdd) ; console . log (totalNum) ;