haiju's 開発メモ

開発に必要な情報を自分用にメモ

もしやと思って、node-mysqlについても調べてみた

node-mysql も実は接頭辞に「node-」がつかない

パッケージが存在するんじゃね?と思って、npm

githubを調べてみたよw(ΦωΦ)

そしたら、案の定、存在したwww

多分、担当者は本当に何も考えてねーなw

npmに接頭辞が付いてるやつと付いてないやつが

存在してるって知らないで共有してるなって思ったw(ΦωΦ)

そもそも、ユーザが名前で大混乱しないように公式が

名前解決問題を何とかしろよ!!!

って思ったw(ΦωΦ)

たしか、Node.jsって途中で分裂したから、それも関係ある

のかもしれないなーとは思ったw(ΦωΦ)

接頭辞がある方がmysqlパッケージも古いみたいだったし。

[手順]

1.テストプロジェクトのnode_modulesへ移動。

$ cd ./node_modules

2.node-mysqlをアンインストール。

$ npm uninstall node-mysql --save

- better-js-class@0.1.3 node_modules/better-js-class
- bignumber.js@4.0.4 node_modules/bignumber.js
- cps@1.0.2 node_modules/cps
- process-nextick-args@1.0.7 node_modules/mysql/node_modules/process-nextick-args
- string_decoder@1.0.3 node_modules/mysql/node_modules/string_decoder
- readable-stream@2.3.3 node_modules/mysql/node_modules/readable-stream
- sqlstring@2.3.0 node_modules/sqlstring
- mysql@2.15.0 node_modules/mysql
- underscore@1.9.0 node_modules/underscore
- node-mysql@0.4.2 node_modules/node-mysql

3.接頭辞がない方をインストール。

$ npm install mysql --save
starter@0.3.6 /home/username/mybot
└─┬ mysql@2.15.0
├── bignumber.js@4.0.4
├─┬ readable-stream@2.3.3
│ ├── process-nextick-args@1.0.7
│ └── string_decoder@1.0.3
└── sqlstring@2.3.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

4.再起動してログイン、実行。

※多分、エラーにならなければ間違ってはいないと思うwww

[参考サイト]

www.npmjs.com

github.com

www.npmjs.com

github.com

 

daab runしたら、module 'cron'を見つけられませんと怒られたので調べてみた

プロジェクトディレクトリに移動して、インストールを

実行したのに、モジュールの'cron'が見つけられねーと

文句を言われてエラーで落ちたので、再検証。

調べたところ、担当者は深く考えないでnode-cronって

伝えたみたいだけど、実際に、同名の2つのプロジェクトが

存在していることを知ったw(ΦωΦ)

それで、プログラム内でrequireで指定時に、'cron'とだけ

呼べばいいやつと'node-cron'って呼ばないといけない

のといて、プロジェクトで使うのは前者の方だったwww

npmでは前者がcronで後者がnode-cronで登録されてるけど

githubではどっちも同じ名前で登録されてるんだぜw(ΦωΦ)

どっちかがどっちかのforkプロジェクトかと思ったけど

全然違ったwww(ΦωΦ)

npmでもnode-cronで登録してる方はGNU crontabをベース

にしてるらしいよw(ΦωΦ)

古いのはGNU crontabをベースに開発してる方だから、

後から来たほうがよく名前を調べて別の名前にすべきなのでは?

って思ったw(ΦωΦ)

[解決策]

1.一旦、インストールしたnode-cronとnode-mysqlをアンインストール。

$ npm uninstall node-mysql --save

$ npm uninstall node-cron --save

2.改めて、node_modules直下まで移動してインストール実行。

$ cd ./node_modules

$ npm install node-mysql --save

$ npm install cron --save

starter@0.3.6 /home/username/mybot
└─┬ cron@1.3.0
└─┬ moment-timezone@0.5.16
└── moment@2.22.1

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

※npmでインストール時は、node-cronじゃなくてcron

 指定でインストールしなければならないことに注意!!!

[参考サイト]

qiita.com

stackoverflow.com

developer.mozilla.org

www.npmjs.com

github.com

github.com

www.npmjs.com

github.com

Node-cron




 

 

npmでパッケージをインストールとアンインストール

ここでは、node-cronとnode-mysqlをインストールする。

システム全体にインストールするか、プロジェクトごとに

インストールするかは、よく考えて。

だけど、とりあえずテストプロジェクトに入れてみる。

合わせて、npmでパッケージをアンインストールする方法

についても備忘録としてメモしておく(ΦωΦ)

[手順]

1.テスト用プロジェクトに移動。

$ cd mybot

2.npmコマンドでnode-cron、node-mysqlをインストール。

$ npm install node-mysql

starter@0.3.6 /home/username/mybot
└─┬ node-mysql@0.4.2
├── better-js-class@0.1.3
├── cps@1.0.2
├─┬ mysql@2.15.0
│ ├── bignumber.js@4.0.4
│ ├─┬ readable-stream@2.3.3
│ │ ├── process-nextick-args@1.0.7
│ │ └── string_decoder@1.0.3
│ └── sqlstring@2.3.0
└── underscore@1.9.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

$ npm install node-cron
starter@0.3.6 /home/username/mybot
└── node-cron@1.2.1

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

※システム全体にインストール/アンインストール時は「install -g」とする。

3.プロジェクトから2をアンインストール。

$ npm uninstall node-mysql

- bignumber.js@4.0.4 node_modules/bignumber.js
- process-nextick-args@1.0.7 node_modules/mysql/node_modules/process-nextick-args
- string_decoder@1.0.3 node_modules/mysql/node_modules/string_decoder
- readable-stream@2.3.3 node_modules/mysql/node_modules/readable-stream
- sqlstring@2.3.0 node_modules/sqlstring
- better-js-class@0.1.3 node_modules/better-js-class
- cps@1.0.2 node_modules/cps
- mysql@2.15.0 node_modules/mysql
- underscore@1.9.0 node_modules/underscore
- node-mysql@0.4.2 node_modules/node-mysql

$ npm uninstall node-cron

- node-cron@1.2.1 node_modules/node-cron

※package.jsonからも削除してアンインストール時は以下。

インストール時と同様、--saveオプションを付ける。

$ npm uninstall node-mysql --save

$ npm uninstall node-cron --save

4.--saveオプションを付けてpackage.jsonに自動で追加しインストール。

$ npm install node-mysql --save

starter@0.3.6 /home/username/mybot
└─┬ node-mysql@0.4.2
├── better-js-class@0.1.3
├── cps@1.0.2
├─┬ mysql@2.15.0
│ ├── bignumber.js@4.0.4
│ ├─┬ readable-stream@2.3.3
│ │ ├── process-nextick-args@1.0.7
│ │ └── string_decoder@1.0.3
│ └── sqlstring@2.3.0
└── underscore@1.9.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
[ichiyama@localhost mybot]$ npm install node-cron --save
starter@0.3.6 /home/username/mybot
└── node-cron@1.2.1

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

5.インストールしたパッケージを表示。

$ npm list

starter@0.3.6 /home/username/mybot
├─┬ lisb-forever@0.15.3
│ ├─┬ cliff@0.1.10
│ │ ├── colors@1.0.3
│ │ └── eyes@0.1.8
│ ├── clone@1.0.4
│ ├── colors@0.6.2
│ ├─┬ flatiron@0.4.3
│ │ ├─┬ broadway@0.3.6
│ │ │ ├── cliff@0.1.9
│ │ │ └── winston@0.8.0
│ │ ├── director@1.2.7
│ │ ├── optimist@0.6.0
│ │ └─┬ prompt@0.2.14
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.7
│ │ └── revalidator@0.1.8
│ ├─┬ forever-monitor@1.7.1
│ │ ├─┬ chokidar@1.7.0
│ │ │ ├─┬ anymatch@1.3.2
│ │ │ │ ├─┬ micromatch@2.3.11
│ │ │ │ │ ├─┬ arr-diff@2.0.0
│ │ │ │ │ │ └── arr-flatten@1.1.0
│ │ │ │ │ ├── array-unique@0.2.1
│ │ │ │ │ ├─┬ braces@1.8.5
│ │ │ │ │ │ ├─┬ expand-range@1.8.2
│ │ │ │ │ │ │ └─┬ fill-range@2.2.3
│ │ │ │ │ │ │ ├── is-number@2.1.0
│ │ │ │ │ │ │ ├── isobject@2.1.0
│ │ │ │ │ │ │ ├─┬ randomatic@1.1.7
│ │ │ │ │ │ │ │ ├─┬ is-number@3.0.0
│ │ │ │ │ │ │ │ │ └── kind-of@3.2.2
│ │ │ │ │ │ │ │ └── kind-of@4.0.0
│ │ │ │ │ │ │ └── repeat-string@1.6.1
│ │ │ │ │ │ ├── preserve@0.2.0
│ │ │ │ │ │ └── repeat-element@1.1.2
│ │ │ │ │ ├─┬ expand-brackets@0.1.5
│ │ │ │ │ │ └── is-posix-bracket@0.1.1
│ │ │ │ │ ├── extglob@0.3.2
│ │ │ │ │ ├── filename-regex@2.0.1
│ │ │ │ │ ├─┬ kind-of@3.2.2
│ │ │ │ │ │ └── is-buffer@1.1.6
│ │ │ │ │ ├─┬ object.omit@2.0.1
│ │ │ │ │ │ ├─┬ for-own@0.1.5
│ │ │ │ │ │ │ └── for-in@1.0.2
│ │ │ │ │ │ └── is-extendable@0.1.1
│ │ │ │ │ ├─┬ parse-glob@3.0.4
│ │ │ │ │ │ ├── glob-base@0.3.0
│ │ │ │ │ │ └── is-dotfile@1.0.3
│ │ │ │ │ └─┬ regex-cache@0.4.4
│ │ │ │ │ └─┬ is-equal-shallow@0.1.3
│ │ │ │ │ └── is-primitive@2.0.0
│ │ │ │ └─┬ normalize-path@2.1.1
│ │ │ │ └── remove-trailing-separator@1.1.0
│ │ │ ├── async-each@1.0.1
│ │ │ ├── UNMET OPTIONAL DEPENDENCY fsevents@^1.0.0
│ │ │ ├── glob-parent@2.0.0
│ │ │ ├── inherits@2.0.3
│ │ │ ├─┬ is-binary-path@1.0.1
│ │ │ │ └── binary-extensions@1.11.0
│ │ │ ├─┬ is-glob@2.0.1
│ │ │ │ └── is-extglob@1.0.0
│ │ │ └─┬ readdirp@2.1.0
│ │ │ ├── graceful-fs@4.1.11
│ │ │ ├─┬ readable-stream@2.3.6
│ │ │ │ ├── process-nextick-args@2.0.0
│ │ │ │ └── string_decoder@1.1.1
│ │ │ └── set-immediate-shim@1.0.1
│ │ ├─┬ minimatch@3.0.4
│ │ │ └─┬ brace-expansion@1.1.11
│ │ │ ├── balanced-match@1.0.0
│ │ │ └── concat-map@0.0.1
│ │ └─┬ ps-tree@0.0.3
│ │ └─┬ event-stream@0.5.3
│ │ └── optimist@0.2.8
│ ├─┬ nconf@0.6.9
│ │ ├── async@0.2.9
│ │ ├── ini@1.3.5
│ │ └── optimist@0.6.0
│ ├─┬ nssocket@0.5.3
│ │ ├── eventemitter2@0.4.14
│ │ └── lazy@1.0.11
│ ├── object-assign@3.0.0
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.3
│ ├── path-is-absolute@1.0.1
│ ├─┬ prettyjson@1.2.1
│ │ ├── colors@1.2.1
│ │ └── minimist@1.2.0
│ ├─┬ shush@1.0.0
│ │ ├─┬ caller@0.0.1
│ │ │ └─┬ tape@2.3.3
│ │ │ ├── deep-equal@0.1.2
│ │ │ ├── defined@0.0.0
│ │ │ ├── jsonify@0.0.0
│ │ │ ├── resumer@0.0.0
│ │ │ └── through@2.3.8
│ │ └── strip-json-comments@0.1.3
│ ├── timespan@2.3.0
│ ├─┬ utile@0.2.1
│ │ ├── deep-equal@1.0.1
│ │ ├── i@0.3.6
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── ncp@0.4.2
│ │ └─┬ rimraf@2.6.2
│ │ └─┬ glob@7.1.2
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ └── once@1.4.0
│ └─┬ winston@0.8.3
│ ├── cycle@1.0.3
│ ├── isstream@0.1.2
│ ├── pkginfo@0.3.1
│ └── stack-trace@0.0.10
├─┬ lisb-hubot@2.19.2
│ ├── async@0.2.10
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.1.1
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├── cline@0.8.2
│ ├── coffee-script@1.6.3
│ ├─┬ connect-multiparty@1.2.5
│ │ ├─┬ multiparty@3.3.2
│ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ ├── isarray@0.0.1
│ │ │ │ └── string_decoder@0.10.31
│ │ │ └─┬ stream-counter@0.2.0
│ │ │ └─┬ readable-stream@1.1.14
│ │ │ ├── isarray@0.0.1
│ │ │ └── string_decoder@0.10.31
│ │ ├─┬ on-finished@2.1.1
│ │ │ └── ee-first@1.1.0
│ │ ├── qs@2.2.5
│ │ └─┬ type-is@1.5.7
│ │ ├── media-typer@0.3.0
│ │ └─┬ mime-types@2.0.14
│ │ └── mime-db@1.12.0
│ ├─┬ express@3.21.2
│ │ ├── basic-auth@1.0.4
│ │ ├── commander@2.6.0
│ │ ├─┬ connect@2.30.2
│ │ │ ├── basic-auth-connect@1.0.0
│ │ │ ├─┬ body-parser@1.13.3
│ │ │ │ ├── iconv-lite@0.4.11
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ ├── qs@4.0.0
│ │ │ │ ├─┬ raw-body@2.1.7
│ │ │ │ │ ├── bytes@2.4.0
│ │ │ │ │ └── iconv-lite@0.4.13
│ │ │ │ └─┬ type-is@1.6.16
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├── bytes@2.1.0
│ │ │ ├─┬ compression@1.5.2
│ │ │ │ ├─┬ accepts@1.2.13
│ │ │ │ │ ├─┬ mime-types@2.1.18
│ │ │ │ │ │ └── mime-db@1.33.0
│ │ │ │ │ └── negotiator@0.5.3
│ │ │ │ └─┬ compressible@2.0.13
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├── connect-timeout@1.6.2
│ │ │ ├── cookie-parser@1.3.5
│ │ │ ├─┬ csurf@1.8.3
│ │ │ │ └─┬ csrf@3.0.6
│ │ │ │ ├── rndm@1.2.0
│ │ │ │ ├── tsscmp@1.0.5
│ │ │ │ └─┬ uid-safe@2.1.4
│ │ │ │ └── random-bytes@1.0.0
│ │ │ ├─┬ errorhandler@1.4.3
│ │ │ │ ├─┬ accepts@1.3.5
│ │ │ │ │ ├─┬ mime-types@2.1.18
│ │ │ │ │ │ └── mime-db@1.33.0
│ │ │ │ │ └── negotiator@0.6.1
│ │ │ │ └── escape-html@1.0.3
│ │ │ ├─┬ express-session@1.11.3
│ │ │ │ ├── crc@3.3.0
│ │ │ │ └─┬ uid-safe@2.0.0
│ │ │ │ └── base64-url@1.2.1
│ │ │ ├─┬ finalhandler@0.4.0
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ └── unpipe@1.0.0
│ │ │ ├─┬ http-errors@1.3.1
│ │ │ │ └── statuses@1.5.0
│ │ │ ├─┬ method-override@2.3.10
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0
│ │ │ │ └── vary@1.1.2
│ │ │ ├─┬ morgan@1.6.1
│ │ │ │ └─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ ├── on-headers@1.0.1
│ │ │ ├── pause@0.1.0
│ │ │ ├── qs@4.0.0
│ │ │ ├─┬ response-time@2.3.2
│ │ │ │ └── depd@1.1.2
│ │ │ ├─┬ serve-favicon@2.3.2
│ │ │ │ └── ms@0.7.2
│ │ │ ├─┬ serve-index@1.7.3
│ │ │ │ ├── batch@0.5.3
│ │ │ │ ├── escape-html@1.0.3
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├─┬ serve-static@1.10.3
│ │ │ │ ├── escape-html@1.0.3
│ │ │ │ └─┬ send@0.13.2
│ │ │ │ ├── depd@1.1.2
│ │ │ │ ├── destroy@1.0.4
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ └── statuses@1.2.1
│ │ │ ├─┬ type-is@1.6.16
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ └── vhost@3.0.2
│ │ ├── content-disposition@0.5.0
│ │ ├── content-type@1.0.4
│ │ ├── cookie@0.1.3
│ │ ├── cookie-signature@1.0.6
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├── depd@1.0.1
│ │ ├── escape-html@1.0.2
│ │ ├── etag@1.7.0
│ │ ├── fresh@0.3.0
│ │ ├── merge-descriptors@1.0.0
│ │ ├── methods@1.1.2
│ │ ├── parseurl@1.3.2
│ │ ├─┬ proxy-addr@1.0.10
│ │ │ ├── forwarded@0.1.2
│ │ │ └── ipaddr.js@1.0.5
│ │ ├── range-parser@1.0.3
│ │ ├─┬ send@0.13.0
│ │ │ ├── destroy@1.0.3
│ │ │ ├── mime@1.3.4
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ └── statuses@1.2.1
│ │ ├── utils-merge@1.0.0
│ │ └── vary@1.0.1
│ ├─┬ hubot-direct@0.1.4
│ │ └─┬ direct-js@0.1.31
│ │ ├─┬ node-localstorage@1.3.0
│ │ │ └─┬ write-file-atomic@1.3.4
│ │ │ ├── imurmurhash@0.1.4
│ │ │ └── slide@1.1.6
│ │ ├── tunnel-agent@0.4.3
│ │ ├── unorm@1.4.1
│ │ └─┬ websocket@1.0.23
│ │ ├── nan@2.10.0
│ │ ├─┬ typedarray-to-buffer@3.1.5
│ │ │ └── is-typedarray@1.0.0
│ │ └── yaeti@0.0.4
│ ├── log@1.4.0
│ ├── optparse@1.0.4
│ └── scoped-http-client@0.11.0
├─┬ lisb-hubot-redis-brain@0.0.3
│ └── redis@0.8.4
├── node-cron@1.2.1
└─┬ node-mysql@0.4.2
├── better-js-class@0.1.3
├── cps@1.0.2
├─┬ mysql@2.15.0
│ ├── bignumber.js@4.0.4
│ ├─┬ readable-stream@2.3.3
│ │ ├── core-util-is@1.0.2
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.7
│ │ ├── string_decoder@1.0.3
│ │ └── util-deprecate@1.0.2
│ ├── safe-buffer@5.1.1
│ └── sqlstring@2.3.0
└── underscore@1.9.0

[参考サイト]

phiary.me

www.hirooooo-lab.com

www.webprofessional.jp

STEP2-4.パッケージマネージャのnpmとは / チームラボ オンラインスキルアップ課題

qiita.comqiita.com

qiita.com

dackdive.hateblo.jp

qiita.com

techacademy.jp

www.npmjs.com

www.npmjs.com

daabのサンプルスクリプトのコマンドの使い方

daab initの実行で、daab-starterをインストールすると

漏れなくついてくる、ping-pongサンプルスクリプト

去年の6月以降、もれなくcoffeeからjsファイルに置き換

わってる件を共有すべきなのかどうか迷いどころ。

っていうか、daab開発者ブログにコッソリと書いておいて

くれよって思うんじゃが(ΦωΦ)

git logを確認して、ふむりーって思った。

たしかに本家のhubotもコードがcoffeeからjsへ書き換え

が始まっているので時代の趨勢だと思うけどさー。

一言大事。

さて、なんとなくコードを読んでそういうことだよね

って分かって動かしてたけど、備忘録としてメモりま

すねー(ΦωΦ)

[サンプルスクリプトの使い方]

1. directでBOTと会話する用のトークを新規作成

2. ping を入力し実行。

1で登録したBOTが「PONG」と返してくれる。

3. adapter を入力し実行。

1で登録したBOTが接続してるチャットサービスの

名前を返してくれる。

ここでは「direct」

4. echo hello を入力し実行。

1で登録したBOTが「hello」と返してくれる。

5. time を入力し実行。

1で登録したBOTが現在の時間を返してくれる。 

 ちなみにAdapterについては以下。

・チャットツールとの入出力を担当するモジュール。

・どのAdapterを使うかはHubot起動時に指定する。

・何も指定がない場合は、shellが起動。

・Adapterのモジュールをインストールして,Adapterごとに指定された

 設定を施したうえでHubotを起動する必要あり。

・Adapterクラスを継承して実装。

・同時に指定できるAdapterは1種類のみ。

(つまり複数指定はできない?)

・Adapterがどのような機能を実装しているかはAdapterに依存。

(というより、使用するチャットサービスに依存?)

・基本的にどのAdapterでも「send」は実装されている。

・チャットサービスとどう接続するのかはAdapterに依存。

 ※調べた感じ、最近の名だたるチャットサービスのサードパーティ製の

 Adapterはほとんどあるって感じだった。

[参考サイト]

hubot.github.com

gihyo.jp

github.com

github.com

github.com

github.com

www.chrisbrand.co.za

github.com

github.com

github.com

github.com

github.com

github.com

github.com

github.com

github.com

github.com

nvmスクリプトのPATH設定とバージョン切替

source ~/.nvm/nvm.sh で実行したnvmの設定はログアウト

するとなくなってしまうため、~/.bash_profile または

~/.bashrcにPATHを設定する必要があるらしいけど、

結局のところ、どっちに書けばええんじゃー?

と思って調べたら、ログイン時に ~/.bash_profile が

呼ばれるけど内部的に ~/.bashrcを呼んでるので、

ユーザ設定は ~/.bashrc に全て任せて ~/.bash_profile

は基本的にデフォルトのままいじらなくて良いらしい(ΦωΦ)

[手順]

1. 以下を ~/.bashrcに追加

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

2. 反映

$ source ~/.bashrc

※nvm ls や node --version を実行して、インストールできるバージョンや

 インストール済みのバージョンが表示できればOK。

ちなみに、nvmでNode.jsの複数バージョンをインストールしていて、

切替える場合にはnvm useを使う。書式は以下。

$ nvm use [Node.jsのバージョン]

※デフォルトで使用するバージョンを指定する場合は以下。

$ nvm alias default [Node.jsのバージョン]

(ex)v6.9.2をデフォルトで使用するバージョンに指定。

$ nvm alias default v6.9.2
default -> v6.9.2

[参考サイト]

github.com

arfyasu.hatenablog.com

creator.cotapon.org

mollifier.hatenablog.com

qiita.com

qiita.com

qiita.com

パスの通し方 | Linux にプログラムのパスを通す方法

パスを追加したい〜.bashrc編〜 - ITmedia エンタープライズ

qiita.com

neos21.hatenablog.com

qiita.com

qiita.com

水道の蛇口のオレンジのサビの落とし方について

大家さんにいただいた洗剤で蛇口を磨いたら

水垢が見事に8割ほど落ちて感動してたけど

どういう洗剤か聞き損なって、その後、クエン酸

で磨いたらほぼほぼ落ちて喜んだのも束の間、

そこから2日ほど経ったら表面にオレンジのサビが

目立つようになってしまったので、ネットで

調べていた(ΦωΦ)

でも、蛇口表面のオレンジのサビを落とす情報より

青や緑のサビに注意するには?

って情報の方が圧倒的に多かった。

でも、自分が欲しいのは酸化に依るオレンジの

サビに関する情報なので・・・

見た中では1点ヒットした情報があったので、備忘録

として貼っておく。

早速、実践するために詳しく情報を確認しよう(ΦωΦ)

[参考サイト]

life-follower.com

MobaXterm v9.0で接続するユーザセッションを新しく増やす

自分は開発用のSSHクライアントにMobaXterm v9.0を利用している。

メニューのSessionボタンをクリックして追加したユーザ接続情報が

左のサイドバーのリストに追加されないの何でだろう?

ってことで動かしながら調べたのでメモ(ΦωΦ)

[手順]

1. 左サイドバーでSessionsタブをクリック。

2. ルートディレクトリの「Save sessions」を選択。

3. 2の状態で右クリックしてメニューから「New Session」を

 選びクリック。

4. SSHで新たに追加するユーザの接続情報を設定し、「OK」ボタン

 をクリック。

5. 2の「Save sessions」のリストに4で追加したユーザ情報が

 追加されているか確認。追加されていればOK。