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

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

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

下記の記事で見たからというのが直接のきっかけ。 他にも読んだという投稿を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

docker for macでElasticsearchを実行するときはメモリ設定に注意

elasticsearch exited with code 137 でdockerコンテナが落ちるので調べていた。 デフォルトはいくつなんだろう? 私の場合2GBになっていたので、OOMで落ちていた。

ググったら下記にたどりついて、docker for mac自体のメモリLimitかと気づいた。 Container crashes with code 137 when given high load · Issue #22211 · moby/moby · GitHub

f:id:road288:20190320221221p:plain
docker for mac

AWS Certified Developer Associate受かった。次の目標

Amazon - Badge Verification - CertMetrics

f:id:road288:20190315211401p:plain

Solutions Architect Associateの次に受けたAWS Certified Developer Associateも取得した。

スコアは791/1000。合格ラインが720なので、それほど余裕はなかった。

f:id:road288:20190315213735p:plain

AWSを仕事でも使っているのと、特に勉強する時間が無いまま試験に臨んでしまった。Udemyで講座を買ったけど、結局ほとんど見ず。

AWSのサービスを一通り知識としては知っているが、実際に使ったことがないものも多いので、具体的なことについて問われると困ってしまった問題が多かった。

Kinesisとか、ElasticBeanstalkとか、Cognitoとか、実際触ってみないと。

次はProfessionalだけど、いきなり受けても受かる気がしないので、まずは模擬試験から。

試験に受かると特典として次の任意の試験料の50% Off になったり、模擬試験が無料になったりする。今回は模擬試験無料のコードを使った。

これからの一ヶ月で仕事DevOps分野をかなりやると思うので、AWS Certified DevOps Engineer - Professional Practice を受けてみる。 オンライン試験だから任意のタイミングでいつ受けてもいいのだが、4月18日に予定を入れた。日時を決めて取り組んで習慣化していきたい。

Amazon Linux2でyumでnginx入れようとしたらamazon-linux-extras使ってって出てきたが

ちょっとした雑事でEC2でnginx使おうと思って、Amazon Linux 2 を初めて使ってEC2インスタンスをたててみた。

これまでのAmazon Linuxだと普通にyumが使えたと思うのだけど、今回は違った

$ sudo yum install nginx
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
パッケージ nginx は利用できません。
エラー: 何もしません


nginx is available in Amazon Linux Extra topic "nginx1.12"

To use, run
# sudo amazon-linux-extras install nginx1.12

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras


[ec2-user@ip-172-31-44-107 ~]$ sudo yum install nginx1.12
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
パッケージ nginx1.12 は利用できません。
エラー: 何もしません

下記でインストールできた。

$ sudo amazon-linux-extras install nginx1.12
Installing nginx

Amazon Linux Extrasって何

aws.amazon.com

$ amazon-linux-extras
  0  ansible2                 available    [ =2.4.2  =2.4.6 ]
  2  httpd_modules            available    [ =1.0 ]
  3  memcached1.5             available    [ =1.5.1 ]
  4  nginx1.12=latest         enabled      [ =1.12.2 ]
  5  postgresql9.6            available    [ =9.6.6  =9.6.8 ]
  6  postgresql10             available    [ =10 ]
  8  redis4.0                 available    [ =4.0.5  =4.0.10 ]
  9  R3.4                     available    [ =3.4.3 ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0 ]
 11  vim                      available    [ =8.0 ]
 13  ruby2.4                  available    [ =2.4.2  =2.4.4 ]
 15  php7.2                   available    \
        [ =7.2.0  =7.2.4  =7.2.5  =7.2.8  =7.2.11  =7.2.13  =7.2.14 ]
 16  php7.1                   available    [ =7.1.22  =7.1.25 ]
 17  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5
          =10.2.10_7.2.8  =10.2.10_7.2.11  =10.2.10_7.2.13
          =10.2.10_7.2.14 ]
 18  libreoffice              available    [ =5.0.6.2_15  =5.3.6.1 ]
 19  gimp                     available    [ =2.8.22 ]
 20  docker=latest            enabled      \
        [ =17.12.1  =18.03.1  =18.06.1 ]
 21  mate-desktop1.x          available    [ =1.19.0  =1.20.0 ]
 22  GraphicsMagick1.3        available    [ =1.3.29 ]
 23  tomcat8.5                available    \
        [ =8.5.31  =8.5.32  =8.5.38 ]
 24  epel                     available    [ =7.11 ]
 25  testing                  available    [ =1.0 ]
 26  ecs                      available    [ =stable ]
 27  corretto8                available    [ =1.8.0_192  =1.8.0_202 ]
 28  firecracker              available    [ =0.11 ]
 29  golang1.11               available    [ =1.11.3 ]
 30  squid4                   available    [ =4 ]
 31  php7.3                   available    [ =7.3.2 ]
 32  lustre2.10               available    [ =2.10.5 ]

現時点で使えるパッケージのリスト。かなり最新版が使える。