Knowledge
-
[Python] TextBlob 설치 후 Nltk 데이터 설치 에러 해결Knowledge 2021. 6. 8. 12:59
프로젝트에 필요하게 되어 머신 러닝, 그 중에서도 sentiment analysis를 보는 중이다. TextBlob을 사용하려고 설치 가이드를 따라 설치 중, NLTK 데이터 설치가 되지 않고 다음 에러가 났다. # python -m textblob.download_corpora Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 163, in _run_module_as_main mod_name, _Error) File "/usr/lib/python2.7/runpy.py", line 102, in _get_module_details loader = get_loader(mod_name) File "/usr/lib/pytho..
-
[Node.js] Express 4.x의 내장 body-parserKnowledge 2021. 6. 3. 16:03
Express로 웹 API를 만들면서 body로 전달되는 내용의 파싱을 위해 body-parser를 사용했었다. 따로 body-parser 모듈을 설치해서 사용했었는데, Express 4.x에는 이 모듈이 내장되었다는 사실을 알게되었다. 더이상 body-parser 모듈을 따로 설치해 사용할 필요가 없다! (참조) 기존: app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended:true})); 변경: app.use(express.json()); app.use(express.urlencoded({extended:true})); Fin.
-
윈도우10 업데이트 후 삼바 전체 공유 폴더 연결 실패Knowledge 2021. 5. 20. 20:36
개발용 노트북이 느려져 초기화를 하고 Windows 10 업데이트를 진행했다. 그런데, 그 전에 너무나 잘 사용하던 삼바 공유 폴더 연결이 되지 않기 시작했다. 별다를 것 없이 로컬 네트워크에서 간단한 공유 저장소처럼 쓰고 있는 리눅스 박스의 공유 폴더로 게스트 write가 가능한 전체 공유 폴더로 운영 중인 폴더였다. 연결을 시도하면 다음과 같이 에러 메시지 박스가 떴다. You can’t access this shared folder because your organization’s security policies block unauthenticated guest access... 당신의 회사 정책으로 미인가 유저의 접근을 막았기 때문에 공유 폴더에 접근이 안된다고 한다. 집에서 쓰는 개발 PC인데 ..
-
Node.js에서 MySQL 연동 실패 해결 (MySQL 8)Knowledge 2021. 1. 14. 19:56
너무나 잘 돌아가던 Node.js 서버 코드를 다시 돌리던 중에 황당하게도 아예 연결이 되지 않는 현상이 나타났다. 당황해서 로그를 확인하니 다음과 같은 에러가 나고 있었다. Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 마지막으로 코드가 돌던 때와 약간 시차가 있기는 했지만 사실 근 1년이 넘도록 AWS에서 잘 돌아가고 있던 코드였기에 코드 자체의 에러보다는 그 사이에 뭔가 설정이 바뀌었을 가능성이 더 높았다. 한참을 찾았는데 역시나 예상대로였다. 문제의 원인과 해결책에 대해 남겨본다. 원인 MySQL 8부터..
-
프록시로 인한 gradle 빌드 에러 해결 (Unity / Android Studio)Knowledge 2020. 7. 23. 20:44
회사 등 프록시로 막힌 환경에서 개발툴을 셋업은 여러가지로 어렵다. 요즘 안드로이드 빌드를 gradle로 하는 경우가 대부분인데, 인증서를 교체하는 프록시 서버 환경에서는 반드시 에러가 난다. 다음과 같은 에러가 하나의 예이다. javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException 물론 다른 네트워크 상황이나 설정으로 인한 에러일 수 있지만 프록시 환경이라면 원인은 대부분 프록시 서버가 설정이 안되었거나 아니면 프록시 서버가 바꾼 인증서를 Java가 신뢰하지 못해서이다. 해결 방법은 gradle이 프록시 서버를 통해 빌드하도록 설정하고, Java의 신뢰할 수 있는 인증서 목록에 프록시 서버의 인증서를 추가하는 것이다...
-
Virtualbox 우분투 게스트에서 윈도우 호스트로 삼바(Samba) 공유Knowledge 2020. 4. 28. 20:56
리눅스 기반의 프로젝트를 할 때, 소스코드 편집을 윈도우즈에서 하는 편이다. 간단한 프로젝트의 경우 우분투를 Virtualbox의 가상 머신에서 돌리고, 편집은 호스트의 윈도우즈에서 하는 형태를 선호하곤 한다. 이 상황에서 호스트 윈도우즈의 공유폴더를 Virtualbox 게스트 우분투 내부로 공유하는 방법은 Virtualbox에서 기본으로 제공된다. GUI에서 쉽게 공유폴더를 설정할 수 있는 이 방식에 대한 설명은 많이 나와 있어 쉽게 사용할 수 있다. 하지만 이 공유 폴더는 기본적으로 윈도우즈에 존재하고, 우분투에서 접근하는 형태이다. 대부분의 경우 이 방식으로 작업해도 문제가 없었지만, Git에 있는 소스코드를 내려받아 작업을 하던 중, 윈도우즈에서 작업할 경우 리눅스의 심볼릭 링크가 깨지는 경우나 ..
-
[Mac OS] MongoDB 설치하기Knowledge 2020. 3. 3. 23:14
Mac OS에서 몽고 DB Server를 설치하는 방법을 정리해 본다. X-Code command-line tools 설치 커맨드라인에 필요한 도구들의 모음으로 X-Code에서 제공되지만, X-Code와 별도로 설치할 수 있다. 대부분의 환경에서 이미 설치가 되어 있을 것으로 보이지만, 혹시 없다면 터미널 앱에서 다음과 같이 설치한다. MyMAC:home Me$ xcode-select --install Homebrew 설치 Homebrew는 패키지 관리자로 애플이나 다른 리눅스 운영체제에서 제공하지 않는 패키지들을 관리해 준다. 우분투(데비안)의 apt-get과 비슷한 역할이라고 볼 수 있다. MongoDB외에도 다른 패키지들을 관리하기 좋은 툴이므로 설치해서 손해볼 것은 없다. 터미널 앱을 실행시킨 후..
-
[Nodejs] express-rate-limit으로 DoS 예방하기Knowledge 2019. 11. 20. 11:15
Nodejs의 express 모듈은 간편한 방식으로 Web API를 구성할 수 있게 해준다. 나름 안정성도 꽤 뛰어나 기본적으로 많이 쓰이는 모듈일 것이다. 그런데, Nodejs에 익숙하지 않아 일반적인 튜토리얼을 참고해 서버를 만들어 구동했더니, 예상치 않은 문제가 나타났다. 운영중인 서버에 단순 DoS (Denial of Service) 공격이 발생했는데, 서버 인스턴스의 모든 리소스가 순식간에 Max를 치고 서버가 무응답 상태로 전환되었다. 인스턴스가 살아는 있으나 간단한 SSH 접속 조차 불가능한 상태라 어쩔 수 없이 인스턴스 재부팅을 했다. 로그를 살펴보니 인커밍 패킷이 엄청 들어오고, CPU 점유가 맥스를 치고, 아웃고잉 패킷이 엄청 늘어났다. 대단한 서버도 아닌데, 왜 공격한지는 모르겠지만...