書評: カリスマ上下(オラクル ラリーエリソン)

オラクルの本を勧められて、ラリーエリソンのカリスマ上下巻を読了。上巻282ページ、下巻582ページ。
分量が多かったので、気分転換に甲府に行って、その車中で読んだ。

リレーショナルデータベースをIBMからぱくって、RDBの創成期から強力な営業力で推進した経緯が記載されている。
特筆すべきは、oracleを作る前に、幾つかの会社でプログラマーとして働いていたことだ。
本書ではセールスやエリソンのプライベートに関する記述が多いが、彼はプログラマーである。
だから、経営においても、エンジニアを大事にしていることが随所にわかる。
また、優秀な人材を採用し続けた、という点では、Googleに似ている。
彼が作った会社の最初の顧客がCIAというのは驚きである。スケールが違う。
また、アプリケーションの下請けではなく、パッケージソフトの販売という点でもプログラマーっぽい視点だ。
それがRDBだからこんなにシェアを取れたのだろう。
これから伸びそうなところに集中投資、というのは真似したい。

書評:ザッポスの奇跡

ザッポス伝説に続き、ザッポスの奇跡を読みました。

ザッポス伝説はトニーシェイ自身が書いているのに比べ、こちらは石塚さんというジャーナリストがインタビューしたのをまとめているため、歯切れが薄く、記事っぽい本の為、あまり面白くはありません。

ああ、最近本ばっかり読んでるなー
あと2冊読まないといけない。。

書評:ザッポス伝説

ザッポス伝説を勧められたので、電車の中で読み、昨日読了した。

ザッポスは、靴のスタートアップでCEOは台湾の日系アメリカ人と勘違いしていたが、実はハーバードの台湾系のアメリカ人のようだ。

この本、ページ数が400くらいあり、ボリュームが結構あるのだが、中身は面白かった。経営者の本の中では最も面白いと言っても過言ではないほど。
印象に残ったところは P65.
> どうやって顧客から注文を取るのか、私たちには作戦がありました。まず、ウェブサイトを無料で制作すると地元の商工会議所にアプローチします。次に、(一銭ももらっていないとは言わずに)商工会議所が顧客だと地元企業に話し、できるだけたくさんの地元企業と契約を結べば、お金はすぐにも転がり込んでくるという考えでした。

P.67
>モールと契約できれば、モール内にある各店舗に営業をかけて、モールが契約したのだから各店も右に倣うべし、と説得しやすくなるからです。

頭いいですね。成功している人の話を聞いた方が圧倒的に効率がいいと思いました。

P.111
>ザッポスの社員となった翌日、私はラスベガスで開催されたWSA(ワールドシューアソシエーション)主催の靴の展示会に行きました。
展示会なら飛び込みする必要がない

P.116、117、118
-着くテーブルを選ぶのは、自分で決められる最も重要なこと
-着いたテーブルで勝ち目がないとわかったら、テーブルを替わっても構わない
-強い手なら弱く見せ、弱い手なら強く見せる
-リスクが最小ではなく、期待値が大きいものを選ぶ
-長い目でみるゲームであることを忘れない。重要なのは最終結果である。

-ゲームの仕方を理解しないでゲームをしないこと
-スタミナと集中力が最もあるプレーヤーがたいてい勝つ
-希望を抱くな
-アドバイスを恐れない事

P.155
-謙虚であれ

P.168
カスタマー・サービスをザッポスの中心にとらえました

P.176
在庫の獲得

P.350
講演活動をしなければ決して起こらなかったでしょう

非常にクレバーですね。
>強い手なら弱く見せ、弱い手なら強く見せる
これは最近のテーマでもあります。「女で馬鹿っぽいのはただの馬鹿ではない」とよく言いますが、これは心理を突いてますね。

そして、本を読んで最も驚いたのは、訳者が「本荘修二」さんだったこと。ああああああああああああああああ
そういうことか。すげーびっくりした。
スタートアップコミュニティで本荘さんを知らない人はいないでしょう。

といことで、ザッポスというサイトがなかったので、生まれて初めてアマゾンでスニーカーを注文してみました。

twilio

Twilioは音声通話、メッセージング(SMS/チャット)、ビデオなどの様々なコミュニケーション手段を、 アプリケーションやビジネスへ容易に組み込むことのできるクラウドAPIサービス

とりあえず、composerで入れてみます。

[vagrant@localhost app]$ php coposer.phar require twilio/sdk
Using version ^5.23 for twilio/sdk
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
– Installing dg/rss-php (v1.2): Downloading (100%)
– Installing twilio/sdk (5.23.1): Downloading (100%)
Writing lock file
Generating autoload files

JWT

JWT:https://jwt.io/

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpXVCBtYWRlIGVhc3kiLCJhZG1pbiI6dHJ1ZX0.RhS5_R99IA0u_UffKr8xDh05Ob9Lb-kOBlmOWlspcc0

Header
{
“alg”: “HS256”,
“typ”: “JWT”
}

Payload
{
“sub”: “1234567890”,
“name”: “JWT made easy”,
“admin”: true
}

verify signature
HMACSHA256(
base64UrlEncode(header) + “.” +
base64UrlEncode(payload),
secret
)

How does JWT work
Client -> Server
$curl -u user http://127.0.0.1/login
$curl -H “Authorization: Bearer ” http:/127.0.0.1/secure

Microservices

puppet, chef, ansible

The term “Microservice Architecture” has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.

Modular, Easy to deploy, Scale independentry
Micro services Design pattern, applies to any application, rapid deployment, continuous delivery

gloud compute zones list
gcloud config set compute/zone europe-west1-d

– 12factor
codebase
dependencies
config
backing services
build, release, run
execute the app as one or more stateless processes
port binding
concurrency
disposability
dev/prod parity
logs
admin processes

[vagrant@localhost app4]$ go build -o bin/hello ./hello/