일코님, 안녕하세요. 오랜만에 질문 올립니다. 여러 장이 있는 hwp파일의 첫 페이지부터 한 페이지 씩 1.hwp, 2.hwp, 3.hwp, ... 로 저장하는 코드를 작성해 보았는데요. 한 가지 문제점만 빼면 원하는 대로 작동합니다. 한 가지 문제점은, 코드 실행 후 저장된 1.hwp 파일 속에 1페이지가 아닌 전체 페이지가 들어가 있다는 점입니다. 그거 외에 다른 페이지는 문제 없이 작동되고 있습니다. 이거 왜 그럴까요? 코드를 반복해서 살펴봐도, 논리적으로는 저장되는 1.hwp 파일에는 원본파일의 첫 페이지만 들어가 있어야 할 거 같은데.. 그렇게 안되는 이유가 궁금합니다. 전체 코드는 아래와 같습니다. import os from pyhwpx import Hwp hwp = Hwp() target_dir = r"D:\magicfolder" os.chdir(target_dir) hwp.add_tab() hwp.switch_to(0) # 탭0: 카피해 올 원본 파일용 hwp.open("D:\magicfolder\페이지분할대상.hwp") hwp.switch_to(1) # 탭1: 한 페이지씩 붙여서 저장할 일종의 작업공간 hwp.open("D:\magicfolder\페이지분할대상.hwp") hwp.switch_to(0) for j in range(1, hwp.PageCount + 1): hwp.goto_page(j) hwp.CopyPage() hwp.switch_to(1) hwp.HAction.Run("SelectAll") hwp.HAction.Run("Delete") hwp.MoveDocBegin() hwp.PastePage() # 바로 위에서 hwp.PastePage()할 때 페이지가 넘어가서 붙으므로, 앞 페이지로 당겨 붙이기 위해서 맨 위 페이지로 커서 옮기고 Del 2번 해 준 것임. hwp.MoveDocBegin() hwp.HAction.Run("Delete") hwp.HAction.Run("Delete") hwp.save_as(target_dir + "\\" + str(j) + ".hwp") hwp.switch_to(0) hwp.Close() hwp.FileClose() 코드를 많이 짜봐야 늘텐데 정말 오랜만에 시도해 본 거 같습니다. ^^ㅋ
멀티체인 부분에서 chain1의 답변이.. 길게 나옵니다. 한 단어로 'future'라는 답변이 나와야 사실 chain2에 english_word라는 변수에 알맞는 값이 들어가는 걸텐데요. 문장으로 답이 나와서 이상한 상황입니다. 무슨 문제가 있어서 이렇게 invoke 결과값이 달라지는지 제가 뭘잘못했는지 모르겠습니다. 제 잘못이 아니라면 이게 무엇 때문인지, 어떻게 해결할 수 있을지 궁금합니다. (chain2도 답변을 영어로 하는 문제도 있습니다.)
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다. 원활한 답변을 위해, 자세한 질문 사항 부탁드려요 😋 [33초] 각 단어에 맞는 영어 번역이 잘못된 것 같습니다. 환경 / 구성 / 설정 Environment / Configuration / Setting 로 이해하면 될까요?
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요 제공해주신 깃허브 홈페이지 url의 경우는 페이지가 넘어갈 때마다 'url/page{page_num}' 형식으로 변하게 되는데 제가 살펴본 네이버 카페의 경우(링크 아래 첨부)는 페이지 수를 넘겨도 페이지 수가 변하지 않았습니다. 네이버 카페 url: https://cafe.naver.com/cantsb 혹시 이러한 경우 페이지 수에 따른 크롤링을 어떻게 하는지 궁금합니다.
안녕하세요 챕터18 강의에 대한 질문 두가지가 있습니다.. retry 관련 yml에 설정을 하였을 경우에는 아래 코드에 자동으로 retryTemplate 이 적용되는 것으로 확인하였는데요.. 여기서 스프링이 어떻게 구분을 하고 해당 메서드에 retry를 적용 시키는 건가요? 아니면 큐 이름을 보고 ORDER_COMPLETED_QUEUE에 설정된 .withArgument(데드레터인자) 이 설정값들을 보고 확인 했던 것일까요..? 그리고 @Retryable 해당 어노테이션도 존재하던데 해당 어노테이션은 aop 방식으로 template이 적용되는 것 같은데 이 방법을 사용하여도 똑같이 적용 되는 것일까요.? @RabbitListener(queues = ORDER_COMPLETED_QUEUE) public void consume(String message){ if ("fail".equalsIgnoreCase(message)){ System.out.println("retry count: " + ++retryCount); throw new RuntimeException(); } System.out.println("Received Message: " + message); }
안녕하세요 강사님 최근에 YOLO를 이용해 이것 저것 연습을 하는데 궁금한 점이 있습니다. 데이터셋의 크기가 너무 커서(2TB) 일단 필요한 부분만 선택해서 학습을 했습니다. 그런데 이렇게 하면 새로운 데이터셋을 추가해서 학습을 시키려면 <기존 1TB + 새로운 데이터셋> 이렇게 합친 데이터셋을 다시 학습을 해야 하나요...? 예를 들어 a, b, c, d를 탐지할 수 있게 학습을 하고 추가적으로 ㄱ, ㄴ, ㄷ, ㄹ도 탐지할 수 있게 데이터를 추가해서 총 a, b, c, d, ㄱ, ㄴ, ㄷ, ㄹ을 모두 탐지할 수 있도록... 마지막 출력 계층만 새롭게 학습을 하는 방법은 기존 데이터셋에 대한 성능이 떨어질 수 있어 좋은 선택은 아닌가요...?
저한테도 있어서 봤는데, 크게 신경 쓸 필요는 없을 것 같습니다. Appdata/local/temp 는 말 그대로 앱의 임시파일 저장하는 곳이고, config 서버 기동 시 git에서 해당 설정파일들을 읽어들여 저 위치에 저장하는 것으로 보입니다. 근데 왜 윈도우만 저렇게 임시파일을 저장하고 그 위치의 주소를 붙여서 출력해주는지는 잘 모르겠네요. 맥OS는 그때그때 git에서 파일을 가져오는 것일까요? 제가 맥이 없어서 그걸 모르겠네요.
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
d = {'USA': 36, 'Germany': 17,'France':32, 'Australia': 77, 'South Africa': 99, 'India': 108, 'South Korea': 200, 'South Japan':300} print(d.get("France")) t = input("You won't search of contury?").title() print(t,"<<입력값") def add_space(a): if 'South' in a: print(a.find('South')) i = a.find('South') # print(a[i:i+5]) a = a[i:i+5]+' '+a[i+5:len(a)].title() return a # if 'East' in a: # --- # if 'Wset' in a: # --- # if 'North' in a: # --- t = add_space(t) if t == "Usa": t = "USA" else: print(a) country = d.get(t) if not country: print('No results were found for your search.') else: print(country) 안녕하세요 강의 수강 중 궁금한 점이 있어서 질문드립니다. 강의 7:33에서 key가 소문자인 형태로 새로운 dict을 생성하신 이유가 궁금합니다. 문제 해결을 위한 생성 이외에 원본 변수인 'd'의 수정을 방지하기 위함과 지금 예제는 눈으로 모든 값을 확인할 수 있지만 많은 데이터를 가진 시퀀스의 경우에는 어떠한 예외가 발생할지 모르니 그에 대한 대비 제가 생각해 본 이유가 맞는지 또한 다른 이유가 있으신지 궁금합니다. 또한 제 코드에서 'add_space'함수를 매번 실행하는 게 비효율적이라는 생각이 들지만 필요하다고도 생각돼서 선생님의 의견을 여쭤봅니다.
안녕하세요 해당 챕터에서 듣던 중 궁금한 점이 있습니다. FanoutExchange, java, spring, vue queue 이렇게 세가지를 바인딩 설정을 하였는데 FanoutExchange는 메세지를 발행하면 바인딩 설정된 모든 큐에 메세지를 전달하는것으로 이해했습니다. 그리고 rabbitTemplate.convertAndSend(fanoutExchange, news(라우팅키) , message) 이렇게 pub에서 발행, sub 에서는 3개의 rabbitListner 들이 있던데 이렇게 되면 3개의 sub 메세지를 다 받아야 되는게 아닌가 싶어서요. 강의를 보면은 java로 보내면 java큐에만 메세지가 들어가서 sub이 받는거 같더라구요 이 부분이 이해가 안갑니다..
안녕하세요 두 개념의 차이점이 궁금한데요 pub/sub 은 특정 topic으로 메세지를 발행하면 해당 topic을 구독중인 여러 구독자들에게 전달될 수 있고 producer/consumer는 메세지를 큐에 발행하면 큐에 저장된 메세지는 한명의 소비자에게만 전달 될 수 있는 건가요? 그러면 rabbitmq는 producer/consumer 이고 websocket은 pub/sub 인가요?
안녕하세요. 강의 잘 듣고 있습니다 선결지식 확인 질문과, 강의 질문이 있습니다. Q1. 원래는 프로듀서 모듈, 컨슈머 모듈, 클라이언트(API) 이렇게 3개의 모듈로 분리되어서 처리되는게 맞는거죠? 그리고 모듈이라하는거는 하나의 jar로 묶일 수 있는 모듈과, 각각 pid를 갖는 단일 프로세스 모듈 이렇게 있는데 보통은 프로듀서/컨슈머/클라이언트 모듈이라 하면 후자를 지칭하는 것도 맞구요!? Q2. 강의에서 애플리케이션을 jar로 말아서 2개를 띄우신 것은 어떻게 보면 현재 애플리케이션 내부에서 produce/consume/client 3개의 역할을 혼자 다 맡고 있기때문에 의도하신 바는 consumer를 2개 띄웠을 경우 RR 방식으로 동작한다는 것을 뜻하신게 맞을까요? 감사합니다 :)
[Unique Paths] 완전탐색 / DP (후반부) 강의에서 13분에서 질문있습니다. 첫 번째 행과 첫 번째 열이 모두 왜 1 인가요? 만약 방향을 바꾸기 전까지 1이라고 친다면, 아래 그림 처럼 도착지에서 최대 방법이 28이 아니라 8이 되어야 하는거 아닌가요? 왜냐면 방향은 오른쪽 아래로만 이동이 가능하다고 해서 올라가거나 왼쪽은 이동이 불가능하잖아요.
59분 14초까지 따라가서 arr[0]까지 되는건 이해가 가는데 그 뒷부분이 설명이 여러번 다시들어봐도 거기서 길을 잃었어요.. 계산을 return줄에서 해서 그 값으로 위로 쭉쭉 올라가면서 계산하는게 맞나요? 59분 42초에서 arr[1] arr[0] 이렇게 적으셨는데 return(arr[size-1]>max)?arr[size-1]:max; 에서 size에 1을 넣으면 배열[0]이 1인건 알겠는데 5(배열[1])가 어디서 어떤식으로 나와서 어떻게 비교가 되는건지 모르겠어요
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=todos -e MYSQL_DATABASE=todos -d -v todos:/db --name todos mysql:8.0 ALTER USER 'root' @ ' localhost ' IDENTIFIED WITH caching_sha2_password BY '비밀번호' ; 명령어로 root계정의 비밀번호를 바꿨고, 이후에 mysql -u root -p로 root계정에 접속할 때는 변경된 비밀번호로 잘 작동합니다. 그러나, workbench에서 localhost:3306 root계정에 접속하려할 때, 계속해서 강의중 설정한 todos라는 비밀번호를 입력해야 접근이 가능한 상황입니다. 왜 cmd에서 변경한 비밀번호가 워크벤치에 적용되지 않는것인지 궁금해서 문의드립니다. 해결방법이 있을까요?