ポートとプロセス・ユーザーの関係をss コマンドで把握

ss -ltunp でわかる。

オプションについて:

  • -l Listenしているものを表示
  • -t TCP socketを表示
  • -u UDP socketを表示
  • -n サービスネームを表示
  • -p プロセスを表示

参考 【Linux】lsof、ss、nmapコマンドでポート確認! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

Evernote, Trello, Google Keep, Scrapbox, Pocketのデータを全部Notionにひとまとめにした

いろいろ使ってたツールを統合してNotionに移行した。

www.notion.so

(↑アフィリエイトリンクです。私のアカウントの無料期間が増える)

  • Evernote(メモ, PDFなど)は組み込み機能でそのままインポート。
  • Trello(タスクリスト)は組み込み機能でそのままインポート。
  • Google Keep(メモ) はGoogle TakeoutでHTMLでエクスポートしたものをインポート。
  • Pocket(ウェブクリップ)はHTMLでエクスポートしたものをPerlでTSVに変換してそれをインポート。
 perl -wnl -e '/\<a href="(.*?)" .*\>(.*)\<\/a\>/ and print "$2\t$1"' fromPocket.html > toNotion.tsv

こんな感じ。CSVインポート機能で、TSVファイルも問題なくインポートできる。

  • Scrapbox(メモ) これがやや厄介。JSONでエクスポートできるのだが、形式が少々特殊なので、
cat fromScrapbox.json | jq -r '.pages[] | [.title, (.lines | join("\n")) ] | @csv' > toNotion.csv

こんな感じでNotionできれいに読み込めるようなCSV形式に変換してやる。

f:id:road288:20190507203308p:plain

全部一箇所に集約できた。

  • タスク管理・カレンダー・メモのストック・ウェブクリップなどを一元管理できる
  • Markdownで書ける
  • ウェブ・Macアプリ・Androidで使える

などの条件を全部満たしてる。デザインもシンプルで良い。

iDeCo, つみたてNISA

前から証券会社にアカウントは持っていたのだが、ちょっとだけ入金したまま放置になっていたので、GWを契機にテコ入れしてみようと思った。 iDeCoとかNISAとかなんとなく知ってはいたが、ちゃんと分かっていなかったので改めて調べてみた。

投資に時間使うつもりはない、ただ勉強はしたい、理解はしたい、やってなくてただただ機会損失しているは避けたいので、最小限の労力でやっておくことができるのであればやってみたいという感じ。

お金は寝かせて増やしなさい

お金は寝かせて増やしなさい

ネットの記事をいくつか読んだのと、上記の本を読んで、インデックスファンドを中心に国内・海外あわせてポートフォリオ作ってiDeCoを申し込んでみた。

現時点での自分の理解だと、

  • iDeCoは所得控除があるので、直近でも節税という点で直接的なメリットがある。60歳以降に引き出せれば良いという点が了承できるのであれば、ただ貯金しておくのと比べてやらない理由がない。
  • NISAとつみたてNISAはそれぞれ微妙に違うが、少額で長く、インデックス投資を中心にということであればつみたてNISAのほうがよさそう。ただこちらは所得控除がないので、投資利益が大きくならないとそこまでメリットがない。
  • ジュニアNISAのほうも興味があるが、それほど投資資金があるわけではないので、いったん一年はiDeCoとつみたてNISAだけでやってみて、副業の税金の金額を見て来年また考える。

最近LinkedInとかに、不動産投資関係の人からコンタクトがちらほらある。投資対象または税金対策としてそれなりにポピュラーなのだろう。

これら以外にも少額ではあるがクラウドクレジットは前からやっている。これはクラウドファンディングに投資するような気持ちでほそぼそとやっている。海外でのビジネスに自然と興味と親近感がわくのでよい。

基本的に健康で居続けることができて、仕事がある限りは引退せず70歳だろうと80歳だろうと働き続けるつもりなので、そこまで老後資金なくてもいいと思っている。ただ、今より収入減るのは想像できるので、それを穴埋めできるくらいまで積み立てておいて、あとは自己投資に全振りしたい。

アフターデジタル オフラインのない時代に生き残る

アフターデジタル オフラインのない時代に生き残る

アフターデジタル オフラインのない時代に生き残る

下記の記事で見たからというのが直接のきっかけ。 他にも読んだという投稿をSNSで見かけたのもあったけど。

https://irnote.com/n/n71cb2926eab1

この本の内容を全部自分のものにできるには、いろいろ知識も経験が足りない気がしたが、ポイントになる部分はよくわかった。 それは、オフラインにオンラインを取り入れる、というような発想はすでに時代遅れで、OMO(Online Merge Offline)という言葉で表されるように、両者の区別が無く、UXがシームレスに設計されること前提で、しかもそれをその場限りのユーザー体験ではなく、継続的に顧客関係を作っていく中でデータを用いて高速かつ繰り返しユーザー体験を改善していくことがポイントであること。 そしてそれは単なる理想論ではなく、中国でアリババなどはすでに実践していること。

この本を読む前と読んだ後で認識が変わったのは、アリババやテンセント、平安保険などのビジネスマンは、中国国内の規制のなさをいいことに顧客のデータを吸い上げていいように吸い上げて好き勝手に利用しているというような感じではなく、顧客の満足を中心に考えていて、決して驕り高ぶってはおらず、国内外に広く学ぶ態度があり、まっとうなB2Cビジネスを営んでいるということだ。また、B2Bの視点でみても書いて売り手がWin-Winの精神でエコシステムが健全に成り立つように取り組んでいる。これは中国駐在の著者から見た視点であるということは割り引くにしても、すでにデジタル消費ビジネスの最先端という意味では日本は中国に学ぶ点のほうが多く、「中国の体制だからこれが可能なのだ」的な考えで思考停止していてはだめだと思った。 スターバックスが中国で業績を落としてしまったくだりで、中国は外資系企業を規制しているからうまくいかなくなったのではなく(そういう側面は無いとはいえないかもしれない。ただ本書では言及されていない)、顧客体験という点で中国国内のラッキンコーヒーなどに負けてしまっていた、というエピソードも興味深い。

去年の11月に中国・上海へ行ったのだが、この本の内容を踏まえてもう一度行ったら、また違った視点で中国のことを見れる気がした。

docker-machineのenvをセットしたりリセットしたり

ᐅ docker-machine env myvm1
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/xxxxx/.docker/machine/machines/myvm1"
export DOCKER_MACHINE_NAME="myvm1"
# Run this command to configure your shell: 
# eval $(docker-machine env myvm1)

ᐅ eval $(docker-machine env myvm1)

こんな感じでdocker-machineのENVを読み込んで使うことがあるが、戻したい場合。

ᐅ eval $(docker-machine env -u)

参考:

forums.docker.com

こちらに本家のドキュメントがあった。

docs.docker.com

NODE_ENV=productionにすると yarn installしたときにdevDependenciesはインストールされなくなる

薄い知識で適当にやってたらはまった。

NODE_ENVはnodejsの実行モードを切り替える環境変数でいろいろなところで使われているようだ。おそらくサーバーの実行モードも制御している。

yarn buildしたとき、NODE_ENVを設定しない状態ならビルドが通っていたのが、Dockerfileの中で NODE_ENV=production を指定するとビルドが通らなくなってしまった。 (実際にはこれが原因ということに気づかず、Dockerだからかな?とかMacLinuxの違いかな?とかそっちばかり考えて(そんなわけないのだが)はまってしまっていた。

結論、 NODE_ENV=production とした状態で、 yarn install すると、package.jsonにあるdevDependenciesをインストールしなくなる。

yarn install | Yarn

Yarn will not install any package listed in devDependencies if the NODE_ENV environment variable is set to production.

devDependenciesに(誤って)入っていて、ビルドに必要なライブラリをdependenciesのほうに移して、無事解決。

chefでreloadを呼びたいとき

chefでnotify :reload service[haproxy], :delayedって書いたのだけど、haproxyは意図通りreloadしてくれなかった。chef-clientのログは異常なしだったのだが...

ちょっとよくわかってないが、support を足したら動いた。 こうする。

 service "haproxy" do
    supports status: true, restart: true, reload: true //これを足す
    action [ :start, :enable ]
 end

参考

service resource — Chef Docs

  supports             Hash # default value: {"restart"=>nil, "reload"=>nil, "status"=>nil}

reloadがデフォルトnilになってる。このままreloadを呼んだ場合何が実行されてるんだろう?

HAProxy and Chef - dynamic backend server list - Michal Frackowiak