묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker
scale out 환경에서 api 호출로 circuit 상태 변경하기
안녕하세요 강사님.너무 좋은 강의 감사합니다!일반적인 모놀리틱 서비스(spring cloud 사용 X)의 상황에서, scale out 환경에서 서킷의 상태를 변경하는 것에 대해 질문을 드리고 싶습니다.예를 들어 aws의 로드밸런서 & 오토 스케일링 그룹을 통해 스케일 아웃이 자동으로 진행되는 환경에서, 모든 서버를 api 호출을 통해 상태를 바꾸는 것이 가능할까를 고려해 보았을 때 조금 어려움이 있을 것 같았습니다.(사실 잘 모르는 부분이 많아, 이게 가능할지도 의문입니다..)이런 경우에는 굳이 api 호출을 사용하기보다는, redis 나 kafka 등의 pub/sub을 활용하여 상태를 변경하도록 하는 것이 좋을까요?
-
해결됨Next + React Query로 SNS 서비스 만들기
generic type과 관련하여 문의드립니다.
useQuery사용할 때 <> 속에 넣는 generic type이 <쿼리함수로 나오는 값, 오류시 나오는 값, 최종 결과, 키로 넣는 값>의 타입이라는 것을 강의 및 검색을 통해서 인지하였습니다.그런데 공식문서 검색을 해보니 이런 설명을 안해주는거 같더라고요.https://tanstack.com/query/latest/docs/framework/react/reference/useQueryhttps://tanstack.com/query/latest/docs/framework/react/typescript혹시 타입스크립트에서 generic type에 어떤것을 넣어야 하는지 모르는 경우에는 어떻게 찾는게 일반적인 방법인가요?
-
해결됨Next + React Query로 SNS 서비스 만들기
실제 현업에서 특정 페이지 진입 시, replace 또는 redirect 만 시키는 경우가 있을까요?
로그인 모달에서 발생하는 문제 해결하기(router.replace) 위 강의 시청 중 질문드립니다.실제로 위와 같이 login 페이지에서 어떠한 주요 로직 실행없이다른 페이지(i/flow/login)로 replace 또는 redirect만 시키는 경우가 있을까요?실제로 이런 동작이 필요한 경우가 있다면 어떤 경우에 필요하게 될 지 궁금합니다.
-
해결됨Airflow 마스터 클래스
docker_compose.yaml파일이 비어있습니다
안녕하세요 강사님, 문제 사항 질문 드립니다.Bash Operator DAG만들기 부분에서docker_compose.yaml파일을 vi편집기로 열어보았는데요, 이렇게 표시되며 j, k로 스크롤해보아도 변함이 없습니다.혹시 컴포즈 파일이 비어있는 상태인걸까요?docker compose up명령어는 문제 없이 실행됩니다.++ 질문 수정vscode로 파일을 확인해보니 같은 파일이 두 개 있고, 하나는 비어있고 하나는 강의에서와 동일하게 내용이 차 있습니다. ++ 해결되었습니다.찾아보니 새로 생긴 파일 하나는 macos자체에서 생성하는 메타데이터 파일이라고 하는것 같네요. 시간 좀 지나고 다시 vi편집기로 열어보니 내용이 있는 파일이 열렸습니다. 감사합니다!
-
해결됨Next + React Query로 SNS 서비스 만들기
js 문법 관련하여 질문드립니다.
제가 아직 타입스크립트 문법에 익숙하지 않아서 강의 5분 36초 쯤에 나오는 부분이 제대로 이해하고 있는게 맞는지 문의 드립니다.지금 const {data : IPost[] | undefined}의 data와const { data : Session | null}의 data가 겹쳐서 후자를const { data: session Session | null} 으로 수정하였는데, 이 경우엔 앞의 const {data : IPost[] | undefined} 의 데이터는 IPost[] | undefined 둘 중 하나의 타입을 가지는 value가 되고const { data: session : Session | null} 에서 data는 key가 되고 session이 Session | null둘 중 하나의 타입을 가지는 value가 입력되는 것이지요? 그러면 data. 라고 적으면, key로 사용된 data는 인식이 안되고 value로 사용된 data가 인식이 되어서 IPost[] 배열의 데이터를 가져오는 것이 되나요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
네임드락에서 부모 트랜잭션과 별도로 실행해야하는 이유
네임드락에서 Propagation.REQUIRES_NEW을 설정하는 이유로 부모 트랜잭션과 별도로 실행되어야 한다고 하셨는데, 왜 별도로 실행해야하는지 궁금합니다.다른분들 질문에서 아래처럼 답변해주셨는데 제가 이해한바가 맞을까요?부모의 트랜잭션과 동일한 범위로 묶인다면 Synchronized 와 같은 문제가 발생합니다. Database 에 commit 되기전에 락이 풀리는 현상이 발생합니다. 그렇기때문에 별도의 트랜잭션으로 분리를 해주어 Database 에 정상적으로 commit 이 된 이후에 락을 해제하는것을 의도하였습니다. 핵심은 lock 을 해제하기전에 Database 에 commit 이 되도록 하는것입니다. Synchronized와 같은 문제 : 트랜잭션이 시작 -> 락 획득 -> 로직 수행 -> 락 반납 -> 트랜잭션 커밋과 같이 커밋되기 전에 락 반납한 상황에서 다른 요청이 들어올 수 있기 때문에 동시성 이슈는 여전히 발생위의 내용대로라면 부모 트랜잭션의 로직은 보류해두고, 동시성이 발생하는 로직만 따로 분리해서 새로운 트랜잭션으로 로직 실행후 commit하고, 부모 트랜잭션의 나머지 로직 수행으로 이해했는데, 제가 응용한 프로젝트는 왜 네임드락의 정합성이 안맞는지 궁금합니다..동시성 테스트할때 시간도 엄청 오래걸립니다.2번 질문에 이어서 제가 위에서 이해한대로 트랜잭션 로그도 확인해봤는데, 부모 트랜잭션 이후로 새로운 트랜잭션 완료한 뒤 기존 트랜잭션을 처리하는걸로 로직은 잘 동작하는데 부정합이 이유가 무엇일까요..?20240302 22:10:41.691 [http-nio-8080-exec-1] INFO o.a.c.c.C.[.[.[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 20240302 22:10:41.691 [http-nio-8080-exec-1] INFO o.s.w.s.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 20240302 22:10:41.695 [http-nio-8080-exec-1] INFO o.s.w.s.DispatcherServlet - Completed initialization in 4 ms 20240302 22:10:41.957 [http-nio-8080-exec-1] TRACE o.s.t.i.TransactionInterceptor - Getting transaction for [com.flab.offcoupon.service.CouponIssueService.issueCoupon] 20240302 22:10:41.957 [http-nio-8080-exec-1] INFO c.f.o.s.CouponIssueService - 트랜잭션 1 : 쿠폰 발급 요청. eventId : 1, couponId : 1, memberId : 1 20240302 22:10:41.988 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. SELECT id, category, description, start_date, end_date, daily_issue_start_time, daily_issue_end_time, created_at, updated_at FROM event WHERE id = 1; {executed in 14 msec} 20240302 22:10:41.998 [http-nio-8080-exec-1] INFO j.resultsettable - |---|---------|-------------|-----------|-----------|-----------------------|---------------------|--------------------|--------------------| |id |category |description |start_date |end_date |daily_issue_start_time |daily_issue_end_time |created_at |updated_at | |---|---------|-------------|-----------|-----------|-----------------------|---------------------|--------------------|--------------------| |1 |바디케어 |바디케어 전품목 할인 |2024-02-27 |2024-02-29 |13:00:00 |15:00:00 |2024-02-27T22:34:01 |2024-02-27T22:33:57 | |---|---------|-------------|-----------|-----------|-----------------------|---------------------|--------------------|--------------------| 20240302 22:10:42.012 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. SELECT GET_LOCK('namedLock', 3000); {executed in 9 msec} 20240302 22:10:42.013 [http-nio-8080-exec-1] INFO j.resultsettable - |----------------------------| |get_lock('namedlock', 3000) | |----------------------------| |1 | |----------------------------| 20240302 22:10:42.014 [http-nio-8080-exec-1] INFO c.f.o.s.CouponIssueService - getLock = 1 20240302 22:10:42.014 [http-nio-8080-exec-1] TRACE o.s.t.i.TransactionInterceptor - Getting transaction for [com.flab.offcoupon.repository.IncreaseIssuedCoupon.increaseIssuedCouponQuantity] 20240302 22:10:42.014 [http-nio-8080-exec-1] INFO c.f.o.r.IncreaseIssuedCoupon - 트랜잭션 2 쿠폰 발급 수 증가. couponId : 1 20240302 22:10:42.015 [http-nio-8080-exec-1] INFO c.f.o.r.IncreaseIssuedCoupon - 트랜잭션 2 쿠폰 조회. couponId : 1 20240302 22:10:42.029 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. SELECT id, event_id, discount_type, discount_rate, discount_price, coupon_type, max_quantity, issued_quantity, validate_start_date, validate_end_date, created_at, updated_at, version FROM coupon WHERE id = 1; {executed in 13 msec} 20240302 22:10:42.041 [http-nio-8080-exec-1] INFO j.resultsettable - |---|---------|--------------|--------------|---------------|------------------------|-------------|----------------|--------------------|------------------|-----------------|-----------------|--------| |id |event_id |discount_type |discount_rate |discount_price |coupon_type |max_quantity |issued_quantity |validate_start_date |validate_end_date |created_at |updated_at |version | |---|---------|--------------|--------------|---------------|------------------------|-------------|----------------|--------------------|------------------|-----------------|-----------------|--------| |1 |1 |PERCENT |50 |[null] |FIRST_COME_FIRST_SERVED |500 |10 |2024-02-01T00:00 |2024-02-05T00:00 |2024-02-01T00:00 |2024-02-01T00:00 |0 | |---|---------|--------------|--------------|---------------|------------------------|-------------|----------------|--------------------|------------------|-----------------|-----------------|--------| 20240302 22:10:42.058 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. UPDATE coupon SET issued_quantity = 11 WHERE id = 1 {executed in 15 msec} 20240302 22:10:42.059 [http-nio-8080-exec-1] TRACE o.s.t.i.TransactionInterceptor - Completing transaction for [com.flab.offcoupon.repository.IncreaseIssuedCoupon.increaseIssuedCouponQuantity] 20240302 22:10:42.090 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. SELECT RELEASE_LOCK('namedLock'); {executed in 29 msec} 20240302 22:10:42.092 [http-nio-8080-exec-1] INFO j.resultsettable - |--------------------------| |release_lock('namedlock') | |--------------------------| |1 | |--------------------------| 20240302 22:10:42.093 [http-nio-8080-exec-1] INFO c.f.o.s.CouponIssueService - releaseLock = 1 20240302 22:10:42.138 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. SELECT EXISTS (SELECT 1 FROM coupon_issue WHERE member_id = 1 AND coupon_id = 1 AND DATE (created_at) = 2024-02-29 LIMIT 1); {executed in 25 msec} 20240302 22:10:42.139 [http-nio-8080-exec-1] INFO j.resultsettable - |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |exists (select 1 from coupon_issue where member_id = 1 and coupon_id = 1 and date (created_at) = '2024-02-29' limit 1) | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |false | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 20240302 22:10:42.176 [http-nio-8080-exec-1] DEBUG j.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) 1. INSERT INTO coupon_issue (member_id, coupon_id, coupon_status, created_at, updated_at) VALUES (1, 1, 'NOT_ACTIVE', 2024-03-02T22:10:42.141176, 2024-03-02T22:10:42.141176) {executed in 32 msec} 20240302 22:10:42.178 [http-nio-8080-exec-1] TRACE o.s.t.i.TransactionInterceptor - Completing transaction for [com.flab.offcoupon.service.CouponIssueService.issueCoupon]
-
해결됨Next + React Query로 SNS 서비스 만들기
웹주소에서 :는 어떤 의미를 가지나요?
강의 시간 1분대에서 /api/users/:userId/posts 에서 userId앞에 :를 넣는 것이 일반적인 약속이나 특정한 이유때문에 넣는 것인지 알고 싶습니다. 그리고 search기능을 제공하는 웹사이트에서 검색결과 주소에 물을표를 넣는 이유도 그냥 일반적인 약속 같은 것인지 같이 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
소수점
만약 소수점 #자리까지 표현해야 하는 문제는그냥 printf 쓰는게 낫나요?아니면 cin함수를 유지하되 precision 같은 함수를 쓰는게 낫나요?
-
미해결따라하며 배우는 자바스크립트 A-Z
Todo App(1) 스타일 파일 코드
StopWatch 자료만 있고, Todo App 자료 및 스타일 파일 코드 자료가 없는데, 혹시 어디 있을까요????
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
투비소프트 넥사크로 만기일
투비소프트 만기일이 다가오고 있는데 어떻게 만기일을 늘릴 수 있나요?
-
해결됨김영한의 실전 자바 - 기본편
강의듣다가 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.질문1.method2(Data data2)를 해주셨는데 괄호 안에 의미가Data라는 클래스의 변수값 data2를 임의로 지정해준건가요? 질문2.method1 에서 Data data1 = new Data(10) 해서 data1이라는 인스턴스를 생성해서 method2를 만들떄 method2(Data data2)를 만들 수 있는건가요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
asyncio.run() cannot be called from a running event loop 에러 질문 드립니다
안녕하세요 선생님강의 듣고 있는 이광희라고 합니다.올려주신 강의로 텔레그램 자체 API를 써서 메세지 전송하기까진 했는데요이미지를 전송하려고 보니 거의 모든 블로그, 유튜브 설명들이 파이썬 텔레그램봇으로 설명 하더라구요근데 이 봇이 v20으로 바뀌면서 비동기 프로그래밍(?)이 된거 같습니다.설명하고 있는 코드들이 다 과거 버전 코드들이네요. 그래서 위키에 직접 가서 코드를 보고 있는데요 import asyncio import telegram async def main(): bot = telegram.Bot("TOKEN") async with bot: print(await bot.get_me()) if __name__ == '__main__': asyncio.run(main())그냥 위키에 나오는 간단한 코드인데도 RuntimeError: asyncio.run() cannot be called from a running event loop이런 에러가 계속 뜹니다.async 부터 공부하려고 다른 유튜브를 찾아서import asyncio async def main(): await asyncio.sleep(1) print('hello') asyncio.run(main())이런 간단한 코드를 입력해도똑같은 오류가 뜨네요...이벤트 메인 루프가 실행되고 있는 동안에 함수가 작동할수 없다 그런 내용인거 같은데위키에 있는 그대로 따라해도 에러가 나니 비전공자 입장에서는 어떻게 해야 좋을지 모르겠네요. 경영학과 출신 직장인이 실무에서 쓰려고 파이썬을 배우고 있는데물어볼곳이 여기밖에 없어 여쭤봅니다ㅠㅠ 좀 도와주세요깃헙? 말고 국내 파이썬 qna있는 커뮤니티라도 알려주시면 가서 좀 물어보고 싶은데 그게 어디인지도 모르겠네요.
-
미해결Vue 3 시작하기
vue 개발자도구에서의 timeline
강사님꺼에선 refresh라는 로그가 보이는데 제꺼에선 안보이네요ㅠㅠ 4layers라는 검정색 동그라미 버튼 누르니까 log가 찍히는건 다른 레이어에서 확인했으나 mouse에서만 보이지 componet events에서는 나오지 않습니다ㅠㅠ 새로고침 이라고 뜨는 것 보면 잘은 나오는 것 같은데...이 부분 어떻게 해야 해당 refresh log를 볼 수 있을 지 궁금합니다! 코드는 강사님과 똑같히 했다고 생각하는데, 우선 첨부합니다!<div id = "app"> <!-- <app-contents v-on:이벤트이름 = "상위 컴포넌트의 메서드 이름"></app-contents> --> <app-contents v-on:refresh = "showAlert"></app-contents> </div> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <script> var appContents={ template:` <p> <button v-on:click = "sendEvent">갱신</button> </p> `, methods:{ sendEvent(){ this.$emit('refresh'); } } } //root 컴포넌트 Vue.createApp({ methods:{ showAlert(){ alert('새로고침'); } }, components:{ //'컴포넌트 이름' : 컴포넌트 내용 'app-contents':appContents } }).mount('#app'); </script>
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의자료
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]소스코드가 포함된 강의 자료 다운받으려하는데 어디에 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
eofexception
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 섹션 2 헬로서블릿 강의를 듣던중 로그 출력하는 부분에서 eofexception이 떠서 질문드립니다.이쪽부분(server port 8081로 변경했습니다!)https://drive.google.com/file/d/1lxxwrNhSiYF06bRP4Ue6chq787NVAXuc/view?usp=drive_linkhttps://drive.google.com/file/d/1lxxwrNhSiYF06bRP4Ue6chq787NVAXuc/view?usp=drive_link다른 분들도 비슷한 질문이 많은 것 같아 확인해보았으나 , 잘 적용이 되지 않았습니다. implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' 이 의존성을 추가해도 잘 되지않았습니다. javax->jakarta로 변경
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
ch07 urllib error
mac에서의 문제인지 다른 문제인지 모르겠지만 실습 중 urllib 에러가 발생해서 다음과 같이 해결했습니다. 다른 분들에게 도움이 되었으면 좋겠네요.그리고 urllib만 import해오면 urlretrieve를 불러오지 못해서 urllib.request를 import했습니다. <에러 메시지>Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1344, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1319, in request self._send_request(method, url, body, headers, encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1365, in sendrequest self.endheaders(body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1314, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1074, in sendoutput self.send(msg) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1018, in send self.connect() File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1460, in connect self.sock = self._context.wrap_socket(self.sock, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/ssl.py", line 1046, in _create self.do_handshake() File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/ssl.py", line 1317, in do_handshake self._sslobj.do_handshake()ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)During handling of the above exception, another exception occurred:Traceback (most recent call last): File "/Users/adampark/Documents/personal/inflearn_chatGPT/ch08/01_dalle_exp_NewVersion.py", line 18, in <module> urllib.request.urlretrieve(image_url, "test.jpg") File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 240, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: ^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 215, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 515, in open response = self._open(req, data) ^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 532, in _open result = self._call_chain(self.handle_open, protocol, protocol + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 492, in callchain result = func(*args) ^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1392, in https_open return self.do_open(http.client.HTTPSConnection, req, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1347, in do_open raise URLError(err)urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)> <해결>pip install certifiCERT_PATH=$(python -m certifi)export SSL_CERT_FILE=${CERT_PATH}export REQUESTS_CA_BUNDLE=${CERT_PATH}https://github.com/asdf-community/asdf-python/issues/106
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
8강 표 복사가 안되네요
8강을 보고 있는데 표 복사 붙여넣기가 안되네요ceil을 안쓰고 바로 그냥 4로 적어봤는데 그래도 안됩니다. 표 테두리를 선택한채 멈춰 있네요왜그럴까요? 한글은 2020버전입니다.복사할표개수 = 4 #표진입 hwp.get_into_nth_table(-1) #표선택 hwp.SelectCtrlFront() #표복사 붙여넣기 hwp.copy() for i in range(복사할표개수): hwp.paste()
-
미해결Pandas 팬더스 데이터분석 기초 실습
dataframe append 불가능
Pandas v2.0.0+ 이상의 버전에서 DataFrame.append 메소드를 사용할 경우 아래의 에러가 발생합니다.'DataFrame' object has no attribute 'append'. Did you mean: '_append' 따라서 아래와 같이 데이터프레임의 row를 추가해야 합니다.import numpy as np import pandas as pd friend_list = { "name": ["John", "Jenny", "Nate"], "midterm": [95, 85, 85], "final": [90, 90, 70], } df = pd.DataFrame(friend_list) df2 = pd.DataFrame([["Ben", 90, 95]], columns=["name", "midterm", "final"]) new_df = pd.concat([df, df2]) print(new_df)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-O 관련 질문이 있습니다.
안녕하세요 큰돌님!정확히는 6-O에 국한된 질문은 아니지만6-O 2565 전기줄 문제 풀다가어떻게 풀지 감이 잘 안잡혀서 영상보고내가 직관력이 부족한건가 싶어서 여쭙습니다.이번 6주차, 이분 탐색과 LIS를 하면서이분 탐색은 제가 연습량이 부족한거 같아 solved.ac실버 난이도 무지성 박치기 하니깐 이제 감이 좀 잡혔습니다.다만, LIS 관련 문제는 "최장 증가 수열" 이란 단어가 없으면 LIS를 이용할 생각이 전혀 안나요.6-O 강의를 보면서 정말 깜짝 놀랐습니다. 어떻게 LIS를 이용해서 푸실 생각을 하신건지...실제로 문제중에 "최장 증가 수열"이란 단어가 없음에도 LIS를 이용해 풀이가 가능한 문제들이 많은가요?
-
미해결
Parameter 0 of constructor in org.doochul.application.UserService required a bean of type 'org.doochul.domain.user.UserRepository' that could not be f
아무리 봐도 뭐가 문제인지 모르겠어서 질문드립니다.. 왜 못찾는다고 할까요..repositoryservice