안녕하세요 선생님 강의 정말 잘 듣고 있습니다..! 혹시 더 좋은 방법이 있을까 싶어 질문 드립니다. spring: application: name: api-gateway cloud: gateway: routes: - id: A uri: lb://USER-SERVICE predicates: -Path=/user-service/** 위와 같이 gateway 설정을 하게 되면, user service에도 /user-service/ 라는 path가 같이 합해져 요청 url로 전달되어, Controller의 /user, /health-check, /welcome 같은 매핑을 모두 /user-service/user, /user-service/health-check, /user-service/welcome 으로 변경하라고 말씀 주셨습니다 혹시 이렇게 컨트롤러의 매핑 정보를 변경하지 않고, api gateway 단에서 필터를 이용해 사용자 요청 url을 조작해서 라우팅 할 수 있는 방법이 있을까요..??
안녕하세요! 바둑이 승차 문제 풀이 영상을 보고 다른 풀이로도 한번 풀어봤는데 예제 입출력대로는 제대로 나오는데 혹시 제 풀이가 맞는지 질문하고자 코드를 올립니다. C,N=map(int,input().split()) weights=[] result=[] for _ in range(N): weights.append(int(input())) def dfs(L,sum): if sum>C: return if L==N: result.append(sum) else: dfs(L+1,sum+weights[L]) dfs(L+1,sum) dfs(0,0) print(max(result))
공공데이터와 Folium(Python Library)으로 만드는 제주 오름 지도 안내 서비스
위 이미지는 강의에서 만드신 geojson파일이고 아래 이미지는 제가 만든 geojson파일입니다. 같은 방법을 사용했고 좌표계도 바꿔보고 이렇게 저렇게 시도를 해봐도 좌표가 서로 다르게 나와서 안되는데 좌표를 같게 하려면 해야할까요? 내보내기 할 때 좌표계 EPSG:4326 - WGS 84로 했습니다.
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
안녕하세요. 강의 잘들었습니다! 강의 내용 토대로 비동기로 API 수집을 구현했었는데 API 서버가 제가 보낸 모든 요청을 처리하지못해 오류 발생하여 요청 수를 제어하려고 합니다. 예를 들어들어 각기 다른 파라미터로 서버에 요청해야 할 수가 총 1000번이라면 1초당 10개씩만 요청하려고 합니다. 이럴 경우에는 어떻게 구현하는게 좋을까요? semaphore 사용해서 하는게 맞는건지 아님 aiohttp.BaseConnector 의 limit 수 파라미터를 조정하는게 맞는건지 궁금합니다. https://docs.aiohttp.org/en/stable/client_reference.html#baseconnector 그리고 한번에 요청 보내는 수뿐만아니라 요청보내는 간격에 대해서도 제어하려면 어떻게하면 좋을지 의견부탁드립니다!
웹소켓부분은 처음 배워봐서 조금 헷갈리네요 ㅠㅠ app의 views에서 렌더링 된 echo_page.html은 클라이언트를 의미 그 클라이언트에서 ws객체를 이용해 여러가지 이벤트 핸들러 처리와 메세지를 웹소켓 서버(ws:// localhost:8000/ws/echo/)로 전송할 수 있음 웹소켓 서버로 전송된 메세지는 routing.py에 등록된 path에 맞게 매칭된 Consumer를 호출 호출된 Consumer는 receive 오버라이딩을 통해 클라이언트에서 보낸 메세지에 대해 후속 처리 이 프로세스로 흘러가는게 맞나요? 한 가지 더 궁금한 점은 이번 예제의 EchoConsumer에서 send로 보낸 메세지는 단순히 '메세지 전송 요청을 보냈던' 클라이언트에게 되돌아가는데 만약 서로 다른 여러 클라이언트에서 요청이 들어오면 각 클라이언트는 어떻게 구별하나요? http의 헤더처럼 요청 주체를 구별하는 방법이 웹소켓 통신에도 따로 있는건가요?
users microservice 프로젝트 생성 시, jar와 war의 차이에 대해서 언급해주신 부분에 대해 궁금한 점이 있어 질문 드립니다! 설명 해주시기로, jar로 패키징 시 임베디드 톰캣을 통해 실행이 된다고 하셨는데, IDE에서 프로젝트 실행 시에도 jar는 jre를 통해서 실행되는 것이 아닌가요?.. war로 패키징하는 프로젝트가 웹 어플리케이션 구조로 임베디드 톰캣에 의해 기동된다고 알고 있어서 혼란스러운 부분이 있어서요! 제가 IDE에서 기동할 때와 그냥 서버 위에서 기동할 때를 혼돈하고 있는 걸까요??..
StockListing 함수를 직접 제작해서 조회하는 부분 질문입니다. 22년 1월 KRX 데이터와 23년 1월 현재 KRX 데이터가 많이 다른거 같습니다. 그래서 StockListing 함수를 동일하게 제작하면 전혀 다른 결과가 나옵니다. KRX 데이터가 변동이 생길때마다 StockListing 함수를 수정해야 하는 상황인데 해결 방법 문의드립니다.
안녕하세요. user-service application.yml spring: application: name: user-service cloud: config: name: ecommerce config: import: optional:configserver:http://localhost:8888 포스트맨에서, POST방식으로 actuator/refresh를 실행했을 때, org.springframework.cloud.config.server.environment.NoSuchLabelException: No such label: main 위와 같은 에러가 발생해서 main 브랜치를 추가했더니, actuator/refresh를 실행했을 때 에러가 발생하지 않게 되었습니다. 예를 들어, token.secret 값을 변경하고 main브랜치에 커밋한 후, actuator/refresh를 실행하면 정상적으로 refresh가 되는 것 같습니다. [ "config.client.version" ] http://localhost:8888/ecommerce/default 에서도 값이 변경되는 것을 확인했습니다. "source": { "token.expiration_time": 86400000, "token.secret": "user_token2", "gateway.ip": "192.168.0.8" } 그런데, /health_check를 실행해보면 새로운 값으로 변경되지 않습니다. It's working in user service, port(local.server.port)=61250, port(server.port)=0, token secret=user_token1, token expiration time=86400000 어디가 잘못된 건지 혹시 알 수 있을까요?
강사님. 도메인 이벤트 추출관련해서 여쭤보고 싶은 부분이 있는데 하기와 같이 단순히 "영화가 예매됨"이 아닌 " 상영중인 영화가 예매됨"과 같이 구체적으로 추출해도 상관이 없는것인지 궁금합니다! 예를들어 "상영중인 영화가 예매됨"같은 경우에는 커맨드를 추출할 때, 조금 표현하는게 애매한거 같아서요... 이렇게 구체적인 표현보다는 좀 더 추상적으로 표현하는게 좋을까요 ?
강사님. Controller에 사용자의 요청이 캡슐화되어 전달되어지면서 실제 요청하는 URL과 매핑되어있는 처리 메소드가 호출되는 구조로 알고있습니다! 따라서, Controller는 핸들러와 비슷한 개념인거 같은데... 어째서 표현 계층에 속하는 것인지요 ? 컨트롤러가 사용자의 요청을 전달받기 때문일까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. list(map(int, input().split(" "))) input.split(" ")은 추가적인 공백문자를 포함해서 구분해주는걸로아는데 input.split() 안쓰고 input.split(" ")을 쓰는 특별한 이유가 있는지 궁금합니다 다른데도 보면 같은코드에 input.split(), input.split(" ") 두개가 혼용되어 쓰이기도 하던데 큰 의미를 두고 구분해서 사용되지는 않죠? 그냥 input.split() 나 input.split(" ") 중 아무거나 사용되고있는 거죠?