강의 06:35초 부근 order-service/actuator 추가시 기존 order-service 전역 라우팅 부분의 아랫쪽이 아닌 윗쪽에 해야 합니다. 아랫쪽에 입력해놓으니 계속 404가 뜨더라구요. 아마 순차적으로 라우터처리되서 그런것같습니다. - id : order-service uri : lb://ORDER-SERVICE predicates : - Path=/order-service/actuator/** - Method=GET filters : - RemoveRequestHeader=Cookie - RewritePath=/order-service/(?<segment>.*), /$\{segment} - id : order-service uri : lb://ORDER-SERVICE predicates : - Path=/order-service/** 강의 잘 듣고 있습니다~!
여기 파트에서 막힐뻔 했지만 선생님 말을 한마디씩 재생 정지 반복하면서 보니까 명쾌했음. 왜 빌트인String에 toString() 이 존재할까? 빌트인Number에만 toString()이 있어야 정상아닌가? 1. 일단 일반적인 인스턴스를 만들 때를 보면 인스턴스가 빌트인오브젝트에 있는 prototype하위 레벨들을 __proto__에 상속을 받는다. (length파트에서도 설명함) 2. new String으로 받는 인스턴스를 전개해보면 __proto__ 가 나오는데 거기에 toString()이 존재한다. 근데 스크롤을 내리다보면 __proto__ 가 한 개 더있다 근데 거기에도 toString()이 존재한다. 3. 인스턴스에 __proto__ . __proto__ 가 있는데 첫번째 프로토는 빌트인 스트링 이고, 두번째 프로토는 빌트인 오브젝트 이다. 첫번째 프로토에 내가 호출하려는게 없다면 JS는 두번째 프로토를 들어가서 찾는다. 근데 두번째 프로토에도 없다? 에러난다. 또 함수가 아니라 프로퍼티면 undefined 반환 즉 자바스크립트는 계층적으로 내려가면서 호출하려는 함수를 찾는 구조를 갖는것이다. 그렇다면 만약에 String오브젝트에 toString()이 없다고 가정해보자. Object 오브젝트에 toSring()이 호출될것이다. (두번째__proto__에 있는 toString()) 근데 빌트인 오브젝트는 {key:value}형태이다. 그러면 toString()도 {key:value}에 맞춰서 문자열로 바꿀텐데 거기에String을 넣어버리면 이상한 모습이 된다. 이상한 모습을 더 자세히 말하자면 {key:value} 형태를 문자열로 바꿔야하는데 value만 작성하는게 아니라 온전하게 {key:value}로 작성해야해서 이상해진다는 것이다. 그렇게 되지 않게하려고 첫번째 __proto__즉, 빌트인 스트링에 toString() 함수를 넣어준것이다. {key:value}형태의 이상한 모습이 되지 않게 하려고 일부러 넣어준것이라 볼 수 있겠다. 빌트인 Number도 똑같은 맥락이다. 인스턴스 첫번째 프로토에 toString()이 없으면 두번째 프로토인 빌트인오브젝트로 계층이 이동하여 {key:value}형태로 만들어져 모습이 이상해진다. __proto__: toString(), __proto__: toString() 그래서 대부분 빌트인 옵젝에 toString()과 valueOf()가 있다. 이해가 안되면 length프로퍼티 강의가서 한 번 더보기
저는 OS X 환경입니다. 세 가지 방법을 써서 됐는 데요, 어떤 게 정말 됐는 지 파악이 안됐는 데 일단 다 적어볼게요. 첫 번째로 sendAjax('http://localhost:3000/ajax_send_email', inputdata); localhost 로 바꿔줍니다. 두 번재로 크롬을 모두 닫고 cmd + Q로 닫으셔야합니다. open -a Google\ Chrome --args --disable-web-security --user-data-dir 를 터미널에 입력하면 그 다음 부터는 xhr.send(data) 가 올바르게 작동할 수도 있습니다. 보안상 안전하게 크롬의 default 세팅이 send 를 못하도록 되어 있는 것같습니다. 출처: javascript - Disable same origin policy in Chrome - Stack Overflow 세 번째로 개발 시에 CORS 보안을 해제해주는 확장 익스텐션을 설치해줍니다. 사용방법은 해당 페이지에 동영상으로 되어 있습니다. extension 설치 링크
(0). 예제들은 여기있어요. https://drive.google.com/open?id=1_L5oA2ShmA66PcJuOp3XV-m_Bv-JTTcj (1). 구글링 설명을 보시면서 vcpkg 를 설치해주세요. vcpkg는 파이썬의 pip 과 비슷하게 라이브러리를 손쉽게 설치/관리하는 도구에요. (2). cmd 에서 vcpkg 가 설치된 폴더로 이동하시고 vcpkg list 명렁어로 보유한 라이브러리를 확인해주세요. 불필요한 라이브러리가 설치된 경우, vcpkg remove 명령어로 제거해주세요. 이제 다음 세가지 라이브러리를 설치해주시고, intergrate를 해주세요. vcpkg install opengl:x64-windows vcpkg install glew:x64-windows vcpkg install glfw3:x64-windows vcpkg integrate install [출처] blog.naver.com/gkdud4797/221576974760 (3). 비쥬얼 스튜디오를 재실행해주세요 예제는 솔루션(.sln) 열기를 통해서 열어주세요. 3시간만에 해결했네요.. 이제 버닝합시다..
앞의 강의 내용을 그대로 따를 시에 cloud storage가 생성되는데 그렇게 하면 cloud firestore를 생성할 수 없습니다. 프로젝트를 다시 만드셔서 storage를 생성하기 전에 ( 자동으로 cloud storage가 생성되므로) cloud firestore를 먼저 만드신 다음에 스토리지를 생성하시면 문제가 해결됩니다.
아래 코드 사용해보세요. (윈도우환경입니다) # PhamtomJS phantomjs_file = 'D:\\WebDriver\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe' driver = webdriver.PhantomJS(executable_path=phantomjs_file) phantomjs_file 에는 phantomjs.exe 파일 있는 경로 써주시면 됩니다. executable_path 넣어주니까 실행되네요