본문 바로가기

스타일7

Pynecone tutorial: 투두리스트 스타일 매기기 지난 포스팅에서는 로직 파트까지 구현하고 마쳤습니다. Pynecone tutorial: Todo앱의 로직파트 작성하기 지난 시간에는 화면의 컴포넌트를 모두 구성해보았습니다. Pynecone tutorial: Todo앱을 만들어봅시다. 지난 포스팅에서는 터미널에서 pc run을 실행하여 pynecone 프로젝트를 초기화할 때 생성되는 프로 martinii.fun 이번 마지막 포스팅에서는 CSS스타일을 매겨서 우리의 앱을 더 예쁘게 만들어보겠습니다. 본격적으로 시작하기 전에 Pynecone 웹앱에 스타일을 매기는 세 가지 방법에 대해 간략히 설명드리겠습니다. 참고로 일반적인 CSS 스타일 적용방법은 인라인 스타일(Inline style) 내부 스타일 시트(Internal style sheet) 외부 스타일 .. 2023. 1. 21.
[HDMI] 비슷한 문자열 매치 (by difflib.SequenceMatcher) 지난 포스팅까지, 스타일 이름을 가져오는 과정을 마쳤습니다. 이번에는 유사하지만 미묘하게 다른 단어들끼리 매칭할 때 많이 사용되는 파이썬 내장모듈인 difflib의 SequenceMatcher를 활용하는 방법을 알려드리겠습니다. 지금까지 이 고생을 해서 스타일 이름을 가져온 이유를 다시 상기해보면, 취합문서의 스타일 이름이 템플릿문서 대비 전부 미묘하게 바뀌어 있고 특히 템플릿의 스타일과 취합문서의 스타일 순서가 뒤죽박죽이 되어버렸기 때문입니다. (극단적인 예를 들었습니다.) 위 엑셀파일에는 취합문서 스타일의 이름이 템플릿 문서의 스타일과 전부 다릅니다. 여기 SequenceMatcher를 도입하면 어떨까? 그럼 SequenceMatcher의 사용법에 대해 간략히 보여드리겠습니다. 사실 SequenceM.. 2022. 12. 7.
[HDMI] 진짜 본격적으로 header.xml 파헤쳐보기 자, 이제 모든 준비가 끝났...다고는 말할 수 없지만 본격적으로 header.xml을 분석해보겠습니다. 왜 아직 모든 준비가 끝나지 않았냐면, 한/글의 xml 파일들은 "네임스페이스"라는 일종의 축약어를 사용하는데, 예를 들면, header.xml의 시작부분은 아래와 같습니다. 뾰족괄호와 콜론(:) 사이의 "hh"가 네임스페이스인데요. head 태그 안에 보면 xmlns:hh="http://www.hancom.co.kr/hwpml/2011/head" 라는 문구가 있습니다. xmlns 는 xmlNameSpace의 약자로, 이 문서 내 는 모두 실제 태그이름이 로 치환됩니다. iter() 메서드나 findall() 메서드 이용시 "hh:태그"로는 탐색이 되지 않기 때문에 1. 직접 저렇게 길게 입력하거나 .. 2022. 12. 7.
[HDMI] 빈 문서1.hwpx를 분해해보면 안녕하세요? 일코입니다. HDMI(Hangul Document Manipulation and Information, 이름 참 잘 지었다!) 시리즈 예전에도 이와 관련한 포스팅을 한 번 올린 적은 있었습니다. 한/글 없이 hwpx 파일의 표를 pd.DataFrame으로 추출하는 방법 (tistory.com) 한/글 없이 hwpx 파일의 표를 pd.DataFrame으로 추출하는 방법 안녕하세요? 일상의 코딩, 일코입니다. hwpx 포맷이 만들어진지 벌써 10년도 훌쩍 넘었습니다. 한컴오피스에서는, 데이터 추출이 번거로운 기존의 hwp 포맷 대신 machine-readable한 hwpx 포맷을 사용해 martinii.fun 솔직히 말ㅆ므드리면 그 뒤로 틈틈이 파이썬의 xml 모듈 문서를 읽어보거나 튜토리얼을 .. 2022. 12. 7.
[hwpx 분석하기] HDMI 시리즈를 시작하며 잠시 과거회상 업무자동화 공부를 시작한지도 벌써 6년이 넘었습니다. 사실 업무 중에 가장 많은 시간을 썼던 코드는 아래아한글이 아니라 파이썬-셀레늄으로 브라우저(회사 그룹웨어) 작업을 자동화하는 거였어요. 이게 나름 해킹하는 느낌의 재미가 있어서 파고들게 되었습니다. 해킹이라는 표현은 좀 오바 같지만, 공기업의 그룹웨어가 이렇게 취약점이 많을 줄은 몰랐거든요. 재직 당시 보안팀에 제보했던 수십 개의 취약점 중에 굵직한 걸 꼽으라면 그룹웨어 로그인 비밀번호 입력 무력화, 로그인할 때 휴대폰 2차인증 패스, 다른 사우 사번으로 그룹웨어 및 메신저 로그인하기, 타 부서 기록물, 비공개문서 열람하기, 비밀번호 "1"로 바꾸기 등등 서비스 대부분이 주로 클라이언트 측에서 자바스크립트로 이뤄지는 구조라서 소스코드만.. 2022. 12. 7.
[QnA] 스타일문서를 임의로 변경한 경우 복원하기 안녕하세요. 한글자동화를 이용해 문서의 서식을 바꾸는 코드를 만들고 싶어 문의드립니다. 회사에서 보고서 작업을 하는데 동일한 문서에서 서식을 다르게 하여 수정 후 내용을 첨가하여 제출하는 경우가 많습니다. "서식 유지한 채로 스타일을 모두 "바탕글"로 바꾸는 코딩" 에서 일부 수정하면 될 것 같은데 "스타일_조회"함수에서 "Act = hwp.CreateAction("Style")"에서 object가 추출되지 않아서 Nonetype object로 되고 그로 인해 "Set = Act.CreateSet()" 부분이 작동하지 않아 오류가 발생합니다. 그래서 "hwp" 자식 클래스를 "dir" 함수로 살펴보는데 "CreateAction"는 있으나 그 하부에는 "Style"이라는 자식 클래스가 없습니다. 설치 과정.. 2022. 12. 4.
[QnA] A문서 스타일을 B문서에 적용하는 가장 간편한 코딩 더브릴레 가벼운 남자 여자 블루라이트차단 안경 COUPANG www.coupang.com 똑똑해 보이는 안경이네요! 여친 선물해주시면 좋겠어요^^ (이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.) 안녕하세요. 한글자동화를 이용해 문서의 서식을 바꾸는 코드를 만들고 싶어 문의드립니다. 회사에서 보고서 작업을 하는데 동일한 문서에서 서식을 다르게 하여 수정 후 내용을 첨가하여 제출하는 경우가 많습니다. "서식 유지한 채로 스타일을 모두 "바탕글"로 바꾸는 코딩" 에서 일부 수정하면 될 것 같은데 "스타일_조회"함수에서 "Act = hwp.CreateAction("Style")"에서 object가 추출되지 않아서 Nonetype object로 되고 그로 인해 "Set .. 2022. 12. 4.