2018年10月13日土曜日

西村博之さんの「論破力」を読んだ

まず、読み物としておもしろかったです。

本書中に名前がでてこないけれど、何年も前にテレビ番組で勝間和代さんを論破したことになっている話とかについて書かれていたりもする。

おそらく、本書を手にする方は、西村博之さんの議論時のノウハウについて興味があって、そこから何かを得ようとしていると思うけれど、本書は議論時に論破する手法について西村博之さんの持論、いや事実が書かれているが、おそらくそれをそのまま鵜呑みしても議論時の論破力が向上するとは思えない。

個人的には、西村博之さんは自分自身を記憶力悪いと言っているけれど、そんなことなくて、知識量豊富で引き出し多いし頭の回転が早いと思うので、そもそも頭がいいか、議論の場数をこなさないと議論の論破力は強くならないじゃないかと思った。

なので、本書を読んだだけで議論での論破が強くなる気はしない。
あと、本書は西村博之さんが過去に動画で話していたりしたこととかも書かれている。


2018年10月11日木曜日

Node express ect multerのサンプルをGitHubで公開

以前にNode express ect multerでファイルアップロードする機能を実装した記事を書いた。
今回は、そのNodeのプロジェクトを少しブラッシュアップして、GitHubに登録、公開した。
※ブラッシュアップ箇所は、日本語を英語に変更、プログラム内の不要なステートメントの削除など。

node express ect multerでファイルアップロード

手順は次のとおり。
自PCはMac book Pro、masOS High Sierra バージョン10.13.6

GitHubで新規リポジトリを作成する。
GitHubの自分のリポジトリの画面で、New repositoryボタンをクリック。


Repository nameに、multer_sample を入力。
Initialize this repository with a README をチェック。
Add .gitignoreで、Nodeを選択。
これら以外は、デフォルト値のまま。
Create repositoryボタンをクリック。



リポジトリが作成直後。
次の手順に進める。


自分のPCに作成したリポジトリをCloneするために、Clone or downloadボタンをクリック、SSHでClone用のテキストをコピーする。



自PCにmulter_sampleのプロジェクトをCloneする。
Gitのコマンドを入力する。その際にGitHubに登録したSSH keyのパスフレーズを聞かれるので入力が必要。
※[XXXXX]はユーザディレクトリ。

git clone git@github.com:takaharu-kobayashi/multer_sample.git
Cloning into 'multer_sample'...
Enter passphrase for key '/Users/[XXXXX]/.ssh/id_rsa': 
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (4/4), done.


自PCにmulter_sampleプロジェクトをClone直後。次の手順に進む。



multer_sampleにプログラム一式をコピーする。



multer_sampleプロジェクトの状態を確認してみる。
Gitのコマンドを入力する。

cd ./multer_sample/
git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add ..." to include in what will be committed)

 app.js
 bin/
 package.json
 public/
 routes/
 views/

nothing added to commit but untracked files present (use "git add" to track)


コピーしたプログラム一式をステージ領域に登録、確認をする。
Gitのコマンドを入力する。

git add .
git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD ..." to unstage)

 new file:   app.js
 new file:   bin/www
 new file:   package.json
 new file:   public/javascripts/jquery-2.1.4.min.js
 new file:   public/uploads/dummy.txt
 new file:   routes/index.js
 new file:   views/error.ect
 new file:   views/footer.ect
 new file:   views/index.ect
 new file:   views/layout.ect
 new file:   views/script.ect


自PCのGitのリポジトリへ、前の操作でステージ領域に登録された内容をコミットする。
Gitのコマンドを入力する。

git commit -m "Added multer sample files"
[master f20cf5d] Added multer sample files
 11 files changed, 296 insertions(+)
 create mode 100644 app.js
 create mode 100755 bin/www
 create mode 100644 package.json
 create mode 100644 public/javascripts/jquery-2.1.4.min.js
 create mode 100644 public/uploads/dummy.txt
 create mode 100644 routes/index.js
 create mode 100644 views/error.ect
 create mode 100644 views/footer.ect
 create mode 100644 views/index.ect
 create mode 100644 views/layout.ect
 create mode 100644 views/script.ect


GitHubのリポジトリへ、自PCのGitリポジトリにコミットした内容をPushする。
Gitのコマンドを入力する。その際にGitHubに登録したSSH keyのパスフレーズを聞かれるので入力が必要。
※[XXXXX]はユーザディレクトリ。

git push
Enter passphrase for key '/Users/[XXXXX]/.ssh/id_rsa': 
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (19/19), 32.59 KiB | 5.43 MiB/s, done.
Total 19 (delta 0), reused 0 (delta 0)
To github.com:takaharu-kobayashi/multer_sample.git
   80e8133..f20cf5d  master -> master


GitHubの画面でPushされた内容を確認する。問題なくPushした内容が反映されているみたいだ。



次は念のため、GitHubのmulter_sampleプロジェクトをCloneして動作するか確認する。
自PCのmulter_sampleプロジェクトがあるディレクトリではない別のディレクトリでCloneを行う。
Gitのコマンドを入力する。その際にGitHubに登録したSSH keyのパスフレーズを聞かれるので入力が必要。
※[XXXXX]はユーザディレクトリ。

git clone git@github.com:takaharu-kobayashi/multer_sample.git
Cloning into 'multer_sample'...
Enter passphrase for key '/Users/[XXXXX]/.ssh/id_rsa': 
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 23 (delta 1), reused 19 (delta 0), pack-reused 0
Receiving objects: 100% (23/23), 33.63 KiB | 242.00 KiB/s, done.
Resolving deltas: 100% (1/1), done.


multer_sampleプロジェクトに必要なパッケージをインストールする。
npmのコマンドを入力する。
※package.json内で指定しているバージョンがdeprecateになっているものがある。2016年1月に作成したプログラムなので古いから、deprecateになっててもおかしくない。動作確認が目的なので、とりあえずそのままにしておく。

cd ./multer_sample/
npm install
npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated constantinople@3.0.2: Please update to at least constantinople 3.1.1
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm notice created a lockfile as package-lock.json. You should commit this file.
added 136 packages from 155 contributors and audited 212 packages in 3.884s
found 15 vulnerabilities (8 low, 2 moderate, 5 high)
  run `npm audit fix` to fix them, or `npm audit` for details


いよいよ、multer_sampleプロジェクトを動作させる。
npmのコマンドを入力する。

npm start


ブラウザで、multer_sampleプロジェクトを表示してみる。
ちゃんと表示された。あとアップロードも正常に動いた。
これで終わり。


ちなみに、GitHub上のmulter_sampleのリンクは次のとおり。

https://github.com/takaharu-kobayashi/multer_sample