sudo apt-get install nginx 로 nginx 설치 시 아래와 같은 메세지가 뜨면서 에러가 났다. Failed to start A high performance web server and a reverse proxy server. 이는 80 포트를 누가 쓰고 있기 때문. 나같은 경우는 아파치가 쓰고 있었으므로.. sudo /etc/init.d/apache2 stop 위 명령어로 아파치 끄고 하니까 잘 됐음.
와.. 앞으로 진짜 걍 리눅스에서 docker로 작업해야겠다 ㅠ 흑흑 근데 나같은 visual studio 의 intelligence 덕후는.... 어찌 작업하란 말입니까 ㅠㅠ 일단 이런 저런 에러가 났다.. 특히 chromedriver 관련해서 무수히 많이 났다. 이것저것 검색해봤는데.. 그냥 firefox로 바꾸기로 결정 -0- 그렇다면 소스코드도 chromedriver가 아니라 geckodriver로 바꿔야 한다. 다운은 (https://www.seleniumhq.org/download/) 서 받으면 되긴하는데, 다행히 ec2에 firefox랑 geckodriver가 미리 깔려있는듯.. 굳굳. 그래서 실행했더니.. selenium.common.exceptions.SessionNotCreatedExc..
Window에서 작업하던 python 파일을 드디어 서버 (ec2)로 옮겼다. 실행하려고 하니 무수히 많은 dependency 에러가 난다.. 차근차근 해보자.. from urllib import parse ImportError: cannot import name parse 우선 이런 에러가 계속해서 났다.. 검색해보니 (https://docs.python.org/3.3/library/urllib.parse.html#module-urllib.parse) import urllib.parse 를 쓰랜다.. 그리고 온갓짓을 다 해도 안되서 보니깐.. 세상에 완전 컴맹짓을 하고 있었다. 실행할때 python filename.py 를 하면 python2로 실행되는 거였다.... python3 filename.py..
와 진짜 내가 컴맹은 컴맹인가보다 Python에서 그냥 import redis 하고 쓰면 그냥 써지는건줄 알았다. 근데 아니었다. redis server를 설치해야했다 ㅡㅡ 일단 삽질기를 기록해보겠다. 일단 기본적인 튜토리얼은 아래 사이트를 참고했다. http://www.bogotobogo.com/python/python_redis_with_python.php 열라 간단하다. pip install redis prompt에서 위 명령어로 일단 redis를 설치해주자. 그리고 코드는 아래와 같이 간단히 써보았다. import redis r = redis.Redis(host='localhost', port=6379, db=0) #인자는 생략해도 됨 r.set('foo','bar') r.get('foo') 오메..
beautiful soup 등으로 한글 url에 접근하려고 하면 접근이 안된다. 한번 변환을 해줘야 한다 흔히 봤을 것이다. 예를 들어 http://www.instagram.com/explore/tags/존맛탱 의 경우는 http://www.instagram.com/explore/tags/%EC%A1%B4%EB%A7%9B%ED%83%B1 이런식으로 이상한 괴기스러운 문자로 변환된다. 이를 이용하면 된다. urllib의 parse method를 이용해서 아래와 같이 작성해준다. from urllib import parse url_tmp = "www.instagram.com/explore/tags/" + word url = "http://" + parse.quote(url_tmp) 그러면 'word'에 한글..
selenium을 통해서 self.browser.get(url) 하고서 self.browser.page_source 를 해줬는데.. 원하는 페이지의 내용이 아니다..? 왜그런 것일까 나는 막연히 get(url) 메소드가 블락킹 메소드겠거니.. 했다. 근데 생각해보니 ajax로 로딩되는 놈은 page가 loaded 된 이후에도 계속해서 동적으로 로딩 된다는 사실.. 즉 블락킹 메소드고 뭐고를 떠나서 아직 동적으로 그려지지 않았을 수 도 있다! 그럼 어떻게 해야하는가? selenium wait으로 검색하면 몇가지 방법이 나온다. http://selenium-python.readthedocs.io/waits.html 를 참고하면 좋다. 크롤링을 원하는 태그가 나올때까지 wait 하는 기능이다. 유후 오늘 열라..
특히 GUI 프로그래밍을 할 때 로직 부분과 GUI 부분을 쉽게 분리하기가 힘들다 또 함수를 짜다보면, 하나의 함수는 하나의 일만 하는게 제일 좋지만코딩이란게 그리 쉽던가, 어쩔때는 데이터를 변경하면서 ui를 바꿔야하는때도 있고ui가 바뀌는 핸들러에서 무언가 값을 조작해줘야하는 일도 있고..결국 다 메소드(함수) 로 분리가 잘 돼줘야 중복 코드 짤 일도 없고 적재 적소에 함수를 적절하게 잘 호출해주게 된다. 그럼 함수를 어떨때 나누느냐? 일단 크게 로직 적인 부분을 짤때를 예로 들어보자 나의 경우는 GUI프로그램을 짤 때 기본적으로 CUI 환경을 염두에 두고 함수 설계를 한다. 이렇게 할 경우의 장점은 로직 함수의 처리에 있어 기본적으로 view와의 분리가 완벽하게 된다. (함수 내에서 ui를 처리할 필..
- Total
- Today
- Yesterday
- source
- C
- 프로그래밍
- jni
- AWS
- jni강좌
- kering
- Python
- winapi
- driver
- database
- 리눅스
- 음악
- gcc
- 드라이버
- linux
- Cloud
- Visual C++
- Troubleshooting
- db
- java
- NDK
- Quiz
- 안드로이드
- it
- MFC
- API
- android
- algorithm
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |