전체 글92 nodejs, phantomjs 통합 라이브러리 phantom - Fast NodeJS API for PhantomJS 이 문서는 2017-09-18 에 작성되었습니다. 변경이 많지 않은 프론트엔드를 만들고, 테스트 프로그램을 작성하기 위해 찾아보니 Python 의 Selenium 을 사용해 Chrome Driver 또는 PhantomJS, Firefox Driver 등을 사용해 테스트 코드를 작성한 후 자동으로 테스트 할 수 있었습니다.(Jenkins 씨를 통해서)샘플로 메인 페이지만 하고, 작성하였는데 문제는 Chrome Driver 와 같이 GUI를 보면서 할 수 있는 드라이버들은 문제가 없었는데 Headless 인 PhantomJS 의 같은 경우는 너무 느리고, Chrome Dirver 에서 잘 되던 기능들이 안되는 문제가 있었습니다.아무래도,.. 2017. 9. 18. 파이썬 자료구조 순회하면서 값 변경하기 어느날 파이썬의 list 와 dict 를 혼합된 값을 처리하려는데, 콘솔에서 자꾸 에러가 출력되서 확인해 보니 어떤 패키지에서 한글을 bytes 로 주더군요. 예를 들자면 b'안녕?' 이런 형식으로요. 그러다보니, json_dumps 도 동작을 안하더군요. 멍청한 저로서는 무식하게, 순회하면서 bytes 의 값들을 전부 utf-8 문자열로 바꿔주는 방법밖에 떠오르지 않아 만들었습니다. 코드는 다음과 같습니다: #!-*- coding: utf-8 -*- userDefine = {} def process(_value): if type(_value) in userDefine.keys(): return userDefine[type(_value)](_value) return _value def traversalA.. 2017. 9. 12. flask-simpleldap 사용하기 Flask-simpleldap flask 기초 지식 필요.ldap 기초 지식 필요.기존에 Flask 를 통해 oauth2 인증이 없는 restfulAPI 서비스를 개발해서 사용하고 있었는데, 직원들의 로그인을 위해서, 로그인 기능을 구현하려다가 사내 NAS에 LDAP 서비스를 사용하고 있음을 확인하고 즉시 LDAP 에 인증을 통해, 사용하기로 하였네요.간단하게 LDAP 인증을 하는 과정만 기록하는 정도로만…검색flask 에는 많은 확장 패키지를 제공하기 때문에 있을거 같아 검색을 해보니, 여러개의 LDAP 관련 확장 패키지들이 있었습니다. 프로젝트 구조부터, 환경 설정 까지.. 친절하게 설명된 블로그들.저는 단순하게 인증 만 사용하고 사용자의 정보는 데이터베이스에 저장할게 아니라서, 복잡한건 필요가 없어.. 2017. 9. 5. python3 한글 모든 글자 출력하기 Python3 한글 모든 단어 출력어느날 개발하다가 문득 필요하게 되어 작성한 코드입니다.가 부터 힣 까지 일괄적으로 출력하기 위해 작성하였고, 별 내용은 없습니다.환경 python3.xmac osx코드#!-*- coding: utf-8 -*- def nextKorLetterFrom(letter): lastLetterInt = 15572643 if not letter: return '가' a = letter b = a.encode('utf8') c = int(b.hex(), 16) if c == lastLetterInt: return False d = hex(c + 1) e = bytearray.fromhex(d[2:]) flag = True while flag: try: r = e.decode('utf.. 2017. 8. 1. [python] selenium 비동기 스크립트 값 받아오기 Selenium 비동기 데이터 받아오기상황셀리니움을 사용하다가 보면 비동기 데이터를 받아오고 싶을 때가 있다. 그럴 때 사용하는 방법입니다.driver = webdriver.Firefox() ... result = dirver.execute_async_script(""" var done = arguments[0]; require(["foo"], function (foo) { done(foo.computeSomething()); }); """) 위의 소스대로 작성해서 받아오면됩니다. execute_async_script 함수는 자바스크립트를 실행할 도록 할 때 해당 스크립트를 함수로 묶어서 보내주는듯 합니다. 어쨋든, javascript 의 argument 변수를 사용해 콜 바이 레퍼런스 처럼 비동기 값을.. 2017. 7. 28. director.js 새로고침 시 이슈 director.js 새로고침 시 이슈클라이언트-사이드 및 서버-사이드 URL 라우터인 director.js 를 사용하던 중, 브라우져에서 새로고침을 했을 경우 해시 라우트 정보가 반영되지 않던 이슈가 있었습니다. 태그에도 넣어보고 readyState 의 interactive, complate 에도 처리해보았지만 반영이 되질 않아, 검색해보니 해당 이슈는 많이 알려진 이슈였었습니다.해결법은 다음과 같습니다.: function initApp(e) { if (e.target.readyState === 'interactive') { var router = Router().init(); router.on('/page/:name', pageLoader); } if (e.target.readyState === 'c.. 2017. 7. 4. 이전 1 2 3 4 5 6 ··· 16 다음