전체 글
- 블로그 이전했습니다 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을 사용했다.
Impala mathematical functions
Mathematical functions, or arithmetic functions, perform numeric calculations that are typically more complex than basic addition, subtraction, multiplication, and division. For example, these functions include trigonometric, logarithmic, and base conversi
docs.cloudera.com
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 |
---|