전체 글
- 블로그 이전했습니다 2022.10.30 2
- Impala에서 NaN(Not a Number) 처리 방법 2020.02.21 2
- 윈도우10 WSL에서 bcrypt 설치 오류 해결 방법 2018.12.26
- 윈도우10 하위 시스템 우분투에서 mongod: unrecognized service 해결 방법 2018.12.13 4
- 윈도우10에서 설치한 우분투 rebooting 방법 2018.12.13
블로그 이전했습니다
Impala에서 NaN(Not a Number) 처리 방법
(최초 작성한 글이 날아갔다. 아...)
현재 진행 중인 프로젝트에서 표에 평균값을 표시하는 화면을 구현 중이었다.
하나의 칸이 NaN으로 표시되길래, 원인을 추적했다.
해당 컬럼의 데이터 타입은 FLOAT이다. 그 컬럼에서 수백 개의 데이터 중 딱 하나가 NaN으로 들어가있었다.
내가 해결한 방법은 Impala의 내장 함수 중 IS_NAN을 사용했다.
NaN이 있으면 true, 없으면 false를 반환한다.
이것을 이용해서, NaN이 포함되어 있으면 0을, 없으면 원래 값을 출력했다.
[예시 쿼리]
1
2
|
SELECT DECODE(IS_NAN(superman), true, 0, superman)
FROM crypton
|
끗.
윈도우10 WSL에서 bcrypt 설치 오류 해결 방법
윈도우10 WSL 환경에서 Node.js 실습을 진행하고 있었다.
암호화 패키지인 bcrypt를 설치할 때 아래처럼 오류가 발생하였다.
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | $ sudo npm i bcrypt > bcrypt@3.0.3 install /mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.3/bcrypt_lib-v3.0.3-node-v64-linux-x64-glibc.tar.gz node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.3 and node@10.14.2 (node-v64 ABI, glibc) (falling back to source compile with node-gyp) gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12) gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16 gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/isexe/index.js:42:5 gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/isexe/mode.js:8:5 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:154:21) gyp ERR! System Linux 4.4.0-17134-Microsoft gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding" "--napi_version=3" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64" gyp ERR! cwd /mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt gyp ERR! node -v v10.14.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:182:13) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:962:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5) node-pre-gyp ERR! System Linux 4.4.0-17134-Microsoft node-pre-gyp ERR! command "/usr/bin/node" "/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt node-pre-gyp ERR! node -v v10.14.2 node-pre-gyp ERR! node-pre-gyp -v v0.12.0 node-pre-gyp ERR! not ok Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1) npm WARN nodebird@0.0.1 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bcrypt@3.0.3 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bcrypt@3.0.3 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/jipro/.npm/_logs/2018-12-26T13_06_58_125Z-debug.log | cs |
구글링을 해 본 결과 여러가지 해결법이 존재하였지만, 전혀 먹히지 않았다.
내 경우의 해결법은 의외로 간단했다.
https://www.npmjs.com/package/bcrypt#if-you-are-submitting-bugsissues
First, make sure that the version of node you are using is a stable version.
노드의 버전을 안정 버전(stable)으로 설치하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $ sudo npm i bcrypt > bcrypt@3.0.3 install /mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using needle for node-pre-gyp https download [bcrypt] Success: "/mnt/c/Users/Jipro/workspace/nodejs-book/ch9/9.3/nodebird/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote npm WARN nodebird@0.0.1 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + bcrypt@3.0.3 added 71 packages from 49 contributors and audited 2640 packages in 22.783s found 0 vulnerabilities | cs |
설치가 잘 되었다.
끝!
'개인 공부 > Node.js' 카테고리의 다른 글
윈도우10/우분투 Sequelize의 MySQL 포트 설정 (0) | 2018.12.11 |
---|
윈도우10 하위 시스템 우분투에서 mongod: unrecognized service 해결 방법
몽고DB를 실습하려고 우분투에서 4.0 버전을 설치하고
$ sudo service mongod start
타이핑 하고 엔터키를 딱 눌렀는데
mongod: unrecognized service
라는 에러를 뱉었다.
저 service
라는 명령어는 알아보니 /etc/init.d에 해당 파일이 있을 때 동작하는 방식이다.
내 경우엔 mongod라는 파일이 존재하지 않았다.
구글링을 하면 MongoDB를 재설치해라, 또는 mongod 대신 mongodb를 타이핑해라. 등의 내용이 대부분이다.
$ sudo apt-get purge mongodb-org*
명령으로 삭제하고,
$ sudo apt autoremove
해 주고,
$ sudo rm -r /var/lib/mongodb
$ sudo rm -r /var/log/mongodb
디렉토리 날려주고...
다시 설치를 수십 번 반복.
이래도 안 되니 아래 방법을 시도.
$ sudo apt-get install --reinstall mongodb-org
하지만 이것 역시 안 됨.
mongodb라는 명령어는 MongoDB 2 버전을 깔았을 때 사용하는 커맨드인 듯 했다.
커맨드로 MongoDB를 설치하면 동작하는 것이 당연하다는 듯이 교재에도, 공식 매뉴얼에도 service 스크립트를 만들어라, 등록해라 라는 내용은 찾아볼 수 없었다.
답답해서 내가 찾아보니 이런 링크가 있었다.
https://github.com/mongodb/mongo/blob/master/debian/init.d
데비안 계열의 우분투에서 쓰는 init script
의 내용이다.
$ sudo vi /etc/init.d/mongod
위의 내용을 붙여넣기 하고, wq
로 저장했다.
$ cd /etc/init.d
$ ls -al
확인해 보면 방금 생성한 mongod 파일만 색상이 다르다. 권한이 다르다.
$ chmod 755 mongod
권한을 다른 파일과 동일하게 설정해 주었다.
그 후,
# service mongod start
또는
$ sudo service mongod start
하면
* Starting database mongod [ OK ]
라고 이쁘게 뜬다.
끗!!
윈도우10에서 설치한 우분투 rebooting 방법
아래의 링크를 참고했다.
윈도우 CMD를 관리자 권한으로 실행하여 아래의 명령어를 입력한다.
net stop LxssManager
net start LxssManager
해 보았다.
C:\WINDOWS\system32>net stop LxssManager
LxssManager 서비스를 멈춥니다..
LxssManager 서비스를 잘 멈추었습니다.
C:\WINDOWS\system32>net start LxssManager
LxssManager 서비스를 시작합니다..
LxssManager 서비스가 잘 시작되었습니다.
'개인 공부 > 리눅스' 카테고리의 다른 글
윈도우10 우분투에서 MySQL 설정 파일 위치 (2) | 2018.12.10 |
---|