본문 바로가기

Programing/Scripts

(8)
[python] BeautifulSoup 로 XML 처리하기 엄밀히 이야기 하면 XML은 아니나 마크업 문서를 처리하기 위함이다. from bs4 import BeautifulSoup with open("user.xml") as fp: soup = BeautifulSoup(fp, 'html.parser') body = soup.grid.body.b for ele in body.find_all("i"): print ele["name"].encode('utf8') 처리하다 발견한 예외 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) 관련내용: https://ourcstory.tistory.com/39 처리방법: .encode('utf8')
[python] Python의 버전 관리 툴 pyenv 설치 사이트: https://github.com/pyenv/pyenv homebrew가 설치되어 있으면 아래 명령으로 설치 가능 $ brew install pyenv 설치가 가능한 목록 확인 $ pyenv install -l Available versions: 2.1.3 2.2.3 ... 3.8.1 버전 설치 $ pyenv install 3.8.1 pyenv shell 먼저 사용을 위해서는 pyenv init 명령 수행이 필요하다. $ pyenv shell pyenv: shell integration not enabled. Run `pyenv init' for instructions $ pyenv init # Load pyenv automatically by appending # the following to..
[JS] ESLint를 썼더라면... 자바스크립트는 유연한 언어이다. 특히 타입에 있어 dynamic typing을 하고 있어 어려움이 많다. 일부 혹자는 타입이 없다는 말도 안되는 주장을 하는 사람도 있지만 말이다. 이런 특성으로 인해 어제 배포시에 버그가 끼어들어간 일이 있었다. 동일하지만 약간 다른 두 시스템에 배포를 했는데, 문제의 Command-C, Command-V 코드가 문제. 하나는 require를 추가했는데 다른 코드는 추가를 안했다. 문제의 util.js IntelliJ IDEA가 보여주는 코드 상에는 특별한 문제가 없어 보였다. 하지만 import를 하는 부분이 빠져 있었다. 옆에 용혁님의 화면에서는 util이 빨간펜 선생님이 밑줄 쫙 하듯이 아래와 같이 표시가 되어 있었다. 혹시 IDE의 차이가 이런 안전망(밑줄쫙)을 ..
[Google 스프레드시트] AWS 로그 찾기 올해 초와 작년 두 해에 걸친 로그를 찾아야 했다. 배치 작업이 돌았는지, 또한 제대로 돌았는지를 확인해야 할 일이 생겼기 때문이다. 대상은 DB에서 쿼리를 통해 뽑으면 되는데, 문제는 수행된 결과는 AWS CloudWatch에 적재되어 있었다. 보안상 AWS CLI가 막혀서 API를 통한 방법은 할 수 없었다. 결국 AWS Console에서 로그를 찾아야 했는데, 페이징을 수행하기 때문에 뭔가 찾는 작업이 더뎠다. 구글 스프레드 시트에 DB에서 뽑은 key는 찾았는데, 그 key가 특정 로그에 있는지 찾는 것은 어려웠다. 처음에는 검색 시간으로 바이너리서치를 통해 날짜를 점점 줄여서 했지만 이것도 날짜마다 마지막 결과가 어디에 있는지 알 수 없었다. 결국 나중에 쓴 방식은 날짜와 키를 기반으로 로그 링..
spring.boot - yml에서 특정 클래스 로깅 레벨 설정하기 기본적으로 레퍼런스는 아래와 같다.https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-custom-log-levels 여기서는 .properties 기준으로 설명이 되어 있는데,logging.level.org.hibernate=ERROR식으로 하이버네이트 패키지에 대해 로깅 레벨을 ERROR로 설정할 수 있다. 그렇다면 yml에서는 어떻게 해야 하나? 🔴logging: level: org.hibernate=ERROR이렇게 하면 바인딩 에러가 난다.org.springframework.boot.context.properties.bind.BindException: Failed to bind pro..
자바스크립트에서 날짜별 iterate 하기 Date 객체는 자바스크립트에서 날짜와 시간을 표시하는 객체이다. for loop처럼 날짜를 generate해서 iterate하는 것을 만들어보자.참고로 시간은 yyyymmdd 형식으로 만드는 것이 보기에 좋을 것이라서 아래 prototype을 사용한다.출처: Stack Overflow: Get String in YYYYMMDD format from JS date object?Date.prototype.yyyymmdd = function() { var mm = this.getMonth() + 1; // getMonth() is zero-based var dd = this.getDate(); return [this.getFullYear(), (mm>9 ? '' : '0') + mm, (dd>9 ? '' :..
복사/붙여넣기 대안 가끔 클립보드로 복사할 필요가 있다.하지만 브라우저의 특성상 클립 보드를 제어 못할 수 도 있다. 이럴 때 유용한 것이 window.prompt이다. function copyToClipboard(text) { window.prompt("Copy to clipboard: Ctrl+C, Enter", text); } 실행하면 브라우저에 따라 다르지만 보통 아래와 같이 보일 것이다. 여기서 텍스트 문자열은 copyToClipboard 함수의 인자로 넘긴 text 파라메터이다.
Y분 만에 자바스크립트 배우기 Learn X in Y minutes 시리즈가 GitHub에 있다. => https://github.com/adambard/learnxinyminutes-docsY는 자바스크립트라고 보면 된다. 자바스크립트에 대한 한글본은 아래 링크에 있다.https://github.com/adambard/learnxinyminutes-docs/blob/master/ko-kr/javascript-kr.html.markdown 이 위치를 알게해준 곳의 출처는 아래와 같다. 번역자에 위키북스가 찍혀있는 걸로 봐서 출판사의 어떤 분이 한 것 같다.http://wikibook.github.io/learnjavascript/