FC2ブログ

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CentOS7でnコマンドを使用して nodejs のバージョンを簡単に切り替えられるようにした

nコマンドを利用するまでにハマった部分があったので備忘録。

nコマンドをインストールするのにnpmコマンドを使用するという何とも不思議なことをするために、yumでnodeをインストールする。

■リポジトリ追加

$ curl -sL https://rpm,nodesource.com/setup_8.x | sudo bash -

■nodeのインストール

$ sudo yum install nodejs

nodeとnpmが入った。

$ node -v
v 8.14.0

$ npm -v
6.4.1

■nのインストール

$ sudo npm install n -g

$ n --version
2.1.12

これで、nコマンドも入った。
試しに、nodeのバージョンを切り替えてみる

$ sudo n 6.9.2

切り替わらない。。。

$ node -v
v 8.14.0

yumでインストールしたnodeが邪魔しいるのか??
削除、

$ sudo yum -y remove nodejs

もう一度切り替え

$ sudo n 6.9.2

切り替わらない。。。

$ node -v
-bash: /usr/bin/node: そのようなファイルやディレクトリはありません

$ npm -v
-bash: /usr/bin/npm: そのようなファイルやディレクトリはありません

ぬぬぬ。。。どこに??

$ which node
/usr/local/bin/node

$ which npm
/usr/local/bin/npm

/usr/local/binの下にいた。。。

さてさて、どうしたものかということで、
参照先に困った場合はとりあえずシンボリックリンク張ってみる。

$ sudo ln -sf /usr/local/bin/node /usr/bin/node
$ sudo ln -sf /usr/local/bin/npm /usr/bin/npm

$ node -v
v6.9.2

$ npm -v
3.10.9

参照できた。
あとは、nコマンドでバージョン切り替えれば、簡単にnodeのバージョンが切り替わるようになった。

[Python][Numpy] numpy.full :要素を指定した値で埋めた配列を生成

Numpyを使用して、要素を指定した値で埋めた配列を生成。

# Python 2.7.15

使用する関数は

numpy.full

Numpyがインストールされていなかったら、インストールをしておく。
macの場合、以下のコマンドでインストール。

■インストールコマンド
$ pip install numpy -I --user

■インストール確認
$ pip show numpy
Name: numpy
Version: 1.15.1




■numpy.full を使用して7を埋めた3x3の配列を生成してみた

>>> import numpy as np
>>> np.full((3,3), '7', dtype=np.int32)
array([[7, 7, 7],
[7, 7, 7],
[7, 7, 7]], dtype=int32)
>>>

ちなみに、文字を埋めてみようとしていくつかエラーを出したのでメモ。
ドキュメントを読めば、出ないエラーなんですがね。。

>>> np.full((3,3), 'a', dtype=np.string)
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'string'
>>>

numpy に string なんてない、ということ。

dtype自体は string はあるので、以下のように。

>>> np.full((3,3), 'a', dtype=string)
Traceback (most recent call last):
File "", line 1, in
NameError: name 'string' is not defined
>>>

あら、string変数はないよと。。。
'string' に変更。

>>> np.full((3,3), 'a', dtype='string')
array([['a', 'a', 'a'],
['a', 'a', 'a'],
['a', 'a', 'a']], dtype='|S1')
>>>

無事、文字で埋まりました!!

ただ、'abc' 文字列で埋めることはできなかったんですよね。
なぜか、'abc' と指定すると 'a' で埋められました。

機会があれば、文字列のところも調べてみます。




ちなみに numpy.zeros、numpy.ones を使用すれば、
0埋め、1埋めはほんの少しですが簡易的に生成できます。


[Node.js]MongoClientでDB接続しようとしたらエラーになった。。。

MongoClientを使用して以下のようにDB接続してコレクションを取得しようとしたら、警告とエラーが出た。。


MongoClient.connect('mongodb://localhost:20017/hogehoge_db', (error, db) => {

// コレクション取得
var collection = db.collection('sample_collection');


■警告
(node:11789) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.

■エラー
TypeError: db.collection is not a function




警告の方は、丁寧に解決方法を示してくれていますので、 MongoClient.connect()の第2引数に{ useNewUrlParser: true }のオプションを指定してあげれば、Warningは出なくなる。

エラーのほうは、仕様が変わったみたいで使用するDBを明示的に指定しないといけないらしい。

2点を解消したコードは以下。


MongoClient.connect('mongodb://localhost:20017/hogehoge_db', {useNewUrlParser: true}, (error, client) => {

// DBを取得
var db = client.db('hogehoge_db');

// コレクション取得
var collection = db.collection('sample_collection');


(gnome-ssh-askpass:12825): Gtk-WARNING **: cannot open display:

Gitでローカルからリモートリポジトリにアクセスしようとした際、以下の警告が表示されて操作ができなくなってしまった。

(gnome-ssh-askpass:12825): Gtk-WARNING **: cannot open display:

git pull などコマンド叩くと、このメッセージが表示される。。


解決方法は、unsetコマンドを叩けばOK。

$ unset SSH_ASKPASS

これをして、再度リモートリポジトリにアクセスする際にはパスワードを聞かれ、パスワードを入力すれば操作可能となる。

そもそも、鍵を設定しておけば多分このような問題は出ないのだろうけどね・・・

[MongoiDB][Java] MongoCollection::updateOne で更新ができずハマった・・・

MongoDBを使用した開発をしていて、データを更新するコーディングしてたら、
com.mongodb.client.MongoCollection::updateOne で update処理動かしてもデータが更新されない・・・

第一引数に更新条件のFiIterを設定して、第二引数に更新データをセット。
なんども、更新用データを確認したが反映されない。。。
試しにfindすると、条件で抽出できているのでFilterには問題なさそう。

エラーも出てない。。。

結局は、更新用データに org.bson.Document を使用していたからみらい。
なので、”replaceOne(Bson filter, TDocument replacement)” のほうを使用して無事更新することができました。。

updateOne(Bson filter, Bson update)は更新データの型はBsonでした。
Documentでも大丈夫かと思いましたが、ダメだったみたいです・・・

[参考]
APIリファレンス
http://api.mongodb.com/java/current/com/mongodb/client/MongoCollection.html
プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。