아직 완강은 안했고 현재 강의 진도 나간대까지 혼자서 미니플젝하고있습니다. 그러던중 코드를 참고하던중에 잘 생각이안나는 부분이있어서 코드를 가져왔습니다. function loadUserAPI ( userId ) { // 서버에 요청을 보내는 부분 return axios . get ( userId ? `/user/ ${ userId } ` : "/user/" , { withCredentials: true }); } function* loadUser ( action ) { try { const result = yield call ( loadUserAPI , action . data ); yield put ({ // put은 dispatch랑 동일 type: LOAD_USER_SUCCESS , data: result . data , me: ! action . data // action.data는 현재 UserId인데, UserId가 없으면 내 정보를 표시해준다는 뜻임 }); } catch ( e ) { // loginAPI실패 yield put ({ type: LOAD_USER_FAILURE , error: e }); } } function* watchLoadUser () { yield takeEvery ( LOAD_USER_REQUEST , loadUser ); } 바로 위의 코드인데요, 어떨때 쓰일까요? 1. function loadUserAPI ( userId ) {} loadUserAPI(userId){} 코드에서 userId는 action의 data를 인수로 받는데.. 여기서 action의 리듀스를 보면 ...state라고만 되있던데, 그러면 앞에서 me에 user정보가 들어와있으니 이거를 활용하는걸까요?? 2. me: ! action . data // action.data는 현재 UserId인데, UserId가 없으면 내 정보를 표시해준다는 뜻임 이 부분도 모르겠습니다. 제가 코드주석을 달긴했는데 후우.... 멍청..ㅠㅠ UserId는 백엔드폴더-> 모듈 -> user에 있는 user.js에있는 userId를 뜻하는 걸까요? action.data 앞에 ! 를 붙였다는건 정반대라는건데.. 이 의미를 잘 모르겠습니다. 왜 붙이셨을까요??... 저렇게 코드가 되면 me에는 어떤 정보가 들어오게되나요? 3. 3번 질문은 제 개인적인 질문인데요, 선생님 강의를 따라오면서 제 블로그에 코드 및 강의 내용 정리를 제가 너무 잘 해오다보니 현재 미니프로젝트를 하면서 제 블로그에있는 코드를 거의 복붙으로 해결해왔고 몇몇코드만 수정하는 식으로 작업했습니다. ( 제 미니플젝은 엔티디 안쓰고 styled-components로 제가 직접 스티일링하면서 하고있습니다.) 이렇게 복붙으로 작업을 진행했지만 그래도 기타 에러들은 발생했고 이를 해결하는데에도 적지않은 시간이 걸렸습니다. 강의에서 발생한 에러보다는 약과였습니다 아마 강의에서 발생했던 에러들을 제가 블로그에 상세히 적어놓아서 큰 에러들을 피해갈수있었던거 같습니다. 다시 본론으로 들어가서 자잘한 에러들을 검색과 전체적인 코드를 보며 고쳐가면서 뭔가 뿌듯하고 자신감을 얻었고, 배웠던 지식들을 다시금 되새김질할 수 있어서 좋았습니다만, 제가 생각했던 개발자와는 거리가 먼거같아 불안합니다. 저도 선생님처럼 맨땅에 하나하나 코드를 적어내려가고 잘 생각이 안나는 부분만 검색으로 해결하고싶은데, 현재 저는 선생님의 코드 구조들을 그냥 싹다 복붙했고, 몇몇만 수정해서 사용하는 수준밖에 안됩니다. 지금은 이렇게 해도 괜찮겠지..라고 안일한 생각을 약간은 갖고있지만 응용해야하는 심화문제를 만났을때 엄청난 위기로 작용할것같아서 걱정됩니다..ㅠㅠ 이런 저에게 한말씀 조언 부탁드립니다.. 선생님도 처음엔 저처럼 다 카피했었나요? 강의 중간에 샘은 프리뛸때 모르는 의뢰가 들어와도 일단 ㅇㅋ하고 문서보면서 만드신다고 들었는데.. 대단하세요..
제로초님 혹시 리액트 hook으로 구글 맵 만들고 있는데 저기서 보면은 구글이라고 props로 google를 받던데 저 프롭스가 어디서 받아지는건지를 잘 모르겠어서요 ㅠ.ㅠ node.js에서 다 만들고 이제 리액트로 만들어 보려고 하는데 저 google이 어디서 나오는지 모르겠더라구여 ㅠㅠ 고차 컴포넌트로 하면서 구글이라는 props가 생기는 건지 .... 제로초 님이라면 아실 것 같아 질문 남깁니다
강의하고 다른점이라면 모듈을 필요한 것만 일일이 불러와서 노란색 오류도 모두 제거 후 실행을 했습니다.. 근데 글 작성을 누르고 로그인 창이 떴을 때 로그인을 하면 로그인이 안되고 404 오류가 뜨더라고요...그래서 뭐를 수정해야 되는건지 아무것도 모르겠는데 뒷부분에 html 파일에서 액션 부분을 수정하는걸 보고 login.html에서 폼의 액션 속성을 똑같이 바꿔보니까 정상적으로 되더라고요. 근데 남박사님은 그부분은 수정을 안하신거 같은데 왜 정상적으로 되고 저는 왜 안될까요...?
안녕하세요 webpack 강의 잘 보고 있습니다. 강의 내용이 webpack4로 되어 있어서 인프런 강의 중에서는 가장 최신 버전을 사용하시는거 같아서 너무 좋내요 혹시 webpack Devtool 관련해서 강의내용을 조금더 추가해 주실수는 없으실까요? devtool 설정 및 디버깅설정을 dev와 prod를 나눌때 어떻게 하는지 궁금한 부분이 많아서요^^ 남은 강의도 완강 하겠습니다 감사합니다.
안녕하세요 태원님! 강의 잘 보고있습니다. 미로 탐색을 강의 보기전에 다음과 같이 풀었었는데 자꾸 if not (ncol, nrow) in path: 부분이 참이 되면서 방문했던 곳을 다시 방문하더군요.. 아무래도 깊은복사와 얕은 복사에 관련이 있는것 같아서 아래부분으로 수정하니까 정상적으로 실행이 되었습니다만 저 과정에서 문제가 어떤 것인지 명확하게 이해가 되지 않습니다. DFS의 인자로 바로 path+[(nrow,ncol)]를 주면 안되는 이유가 뭘까요? 머리아프네요 ㅠㅠ # 벽을 만들었다가 없애는 아이디어는 정말 대단하네요.. ㅠㅠ 많은 문제를 풀어봐야겠다는 생각이듭니다. from copy import deepcopy N = 7 Map = [] for i in range(N): Map.append(list(map(int, input().split()))) def DFS(path): global cnt x, y= path[-1] if (x, y) == (N-1, N-1): cnt += 1 return for i, j in [(1,0), (0,1), (-1,0), (0,-1)]: if (x+i, y+j) != (0,0) and 0<=x+i<N and 0<=y+j<N and Map[x+i][y+j] == 0: if not (x+i, y+j) in path: ### 여기가 문제! print((x+i, y+j) not in path) DFS(path+[(x+i,y+j)]) #위 부분에서 not (x+i, x+j) in path가 자꾸 참이 됨 #위 if 단락을 아래와 같이 바꾸면 답이 나옴 #if (x+i, y+j) not in path : # npath = deepcopy(path) # npath.append((x+i,y+j)) # DFS(npath) cnt = 0 DFS([(0,0)]) print(cnt)
intellij가 없어서 그러는데 Spring Tool Suite 4로 만들어도 되나요? ㅜㅜ 그리고 사진처럼오류가 나오는데요 The import org.springframework cannot be resolved 이런식으로 오류메세지가 나옵니다 이런경우에는 버전이 잘못되서 그런건가요? ?
moveMainPage(task. result . user ) 에서 result와 user 사이에 . 에서 빨간물결이 표시 됩니다 에러메세지는 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type AuthResult? 입니다 메세지대로 .을 ?.로도 !!.로도 바꾸어봤지만 에러메세지만 사라질 뿐 에뮬레이터 실행 시 로그인이 되지 않습니다 아래 moveMainPage의 함수 부분은 fun moveMainPage(user: FirebaseUser?) 로 돼 있습니다 어디가 문제일까요..
question1 이게 실행 흐름이 맞나여? 테스트 코드에서 /envent/{event} 과 같은 형식의으로 url 요청을 날림 => eventController에서 받음 => 데이터 바인딩 설정에 의해 이벤트 에디터에 오버라이딩된 함수들중 setAsText가 실행됨 => id를 문자열로 바꿔서 리턴 -> 테스트 통과 question2(init 함수의 역할에 대해) EventController 클래스의 @InitBinder 어노테이션이 적용된 WebDataBinder 객체를 인자로 받는 (이런 형식은 그냥 스펙이고 문서에 나온 그대로 쓰는거져?) init 함수의 역할은 /envent/{event} 과 같은 형식의 url 요청에 대해 EventEditor 클래스의 오버라이딩된 함수들 즉 setAsText , getAsText가 자동으로 실행되도록 하는것인가여? question3 (EventEditor class의 setAsText, getAsText 함수의 실행 흐름과 데이터 바인딩의 의미에 대해 ) /envent/{event} 과 같은 형식의 url 요청에 대해 EventEditor 클래스의 setAsText 함수가 실행되서 파라 미터로 넘어오는 1이 String 으로 받아져서 아래의 setAsTest(String text) 에서 인자 로 받아지면 그걸 인티저로 바꾸고 생성자를 이용해 이벤트 event.id로 세팅하면 이후 getAsText()가 실행되어 event.id를 문자열로 바꿔서 리턴하는건가여? 이때 굳이 문자열로 다시 바꾸는건 데이터 바인딩을 확인하기 위해서인가여? 즉 이번 강의의 데이터 바인딩이란 url 요청의 파라미터를 이벤트 클래스에 세팅하고 다시 겟하기 위한 도메인 클래스 설정+ init 함수 설정 + 이벤트에디터 함수의 오버라이딩된 setAsText 함수 설정을 말하는거져? question4 event.getId().toString()하면 무엇이 리턴되는건가여? 문자열로 1이 리턴되는건가여? 즉 도메인 클래스에 아래처럼 toString() 함수를 설정해놓으면 객체.특정변수getter.toString 하면 그냥 해당 변수를 문자열로 변환해서 리턴해준다는거져?
전처리 코드에 관해 질문드립니다. 올려주신 guthub링크에서 받은 코드를 실행하면 get_train_test_split_dataset함수를 실행하는 과정에서 ---> 55 Y_scaled_data = target_value . reshape ( - 1 , ) 'Series' object has no attribute 'reshape' 라는 에러메시지를 받게됩니다. 55번째 줄에서 reshape할 수 없는 형태를 억지로 reshape하려시도해서 그런가보다하고 Y_scaled_data = np.array( target_value) . reshape ( - 1 , ) 위와 같이 수정하여 다시 작동시켜보면 ---> 62 x_qual_predict_scaled = one_hot . transform ( df_quality_type . iloc [ test_index ] . values ) . toarray ( ) Found unknown categories [150] in column 0 during transform 와 같은 에러를 마주하게됩니다. 해당 문제는 제가 해결하기가 어려워 질문드립니다. 해당 코드와 관련해 이전에도 문제를 겪었지만 다음에는 마주하지 않겠지하고 질문드리지 않았던 것인데, 다음 강의를 대략 훑어보니 해당 py파일을 계속 활용하시고 이를 통해 전처리한 데이터를 활용하시는 것을 알 수 있었습니다. 이 문제를 해결하지 않으면 앞으로 다른 실습진행도 어려울 것 같다고 판단하여 이제야 질문드립니다.
강좌 kubeadm 셋팅 2번째 버전으로 Hyper-v 로 3대의 가상화 컴퓨터를 만들어 클러스터 환경을 구축 하였습니다. 그리고 로컬 PC(Host PC) 에서 kubectl 명령을 실행 하기 위해 kubectl 을 설치 하였습니다. Host PC에서 Master IP로 Dash 까지는 접속 되어 집니다. 그리고 kubectl 를 이용해 배포나 커맨드를 실행하기 위해 로컬의 .kube 디릭토리의 config 파일의 설정을 master의 config를 확인 하여 동일하게 변경 하였습니다. 그런데 접속시 인증 문제로 아래와 같은 오류가 발생 합니다. error tls: failed to find any PEM data in certificate input google 을 해보니 인증키 문제로 보이나 자세한 해결 방은을 찾진 못하여 도움을 요청 하고자 합니다. 실무에서도 kubectl 커맨드는 빌드 서버나 외부 환경에서 실행 하거나 api 를 이용하여 툴을 만들어야 할 것으로 보여지는데... 혹시 어떻게 이 문제를 해결 할 수 있을지 가이드를 주실수 있을까요?