徒然いずみの備忘録

徒然なるままを備忘録

【本】SoftwareDesign 2016/06

雑誌の斜め読み。メモメモ。

なぜか消えてしまったので、再度投稿。

 

### 読んだ雑誌の情報
```
タイトル:SoftwareDesign 2016年6月号
発行所: (株)技術評論社
メディア: 雑誌
```

### メモ
色々な特集や連載が組まれていたが、その中でも気になった記事。


### サーバレスアーキテクチャ
* 従来のWeb三層モデルではシステムが複雑化することで、インフラ構築と運用管理にかかる費用が大きくなり、ビジネルに直結しない部分の費用がかさむ傾向にある。
* これに対してクラウドを活用したアーキテクチャがサーバレスアーキテクチャであり、イベント駆動型のプログラムを用意するだけで、バックエンドとの通信が可能となり、管理面の費用や課金体系が明確なので、費用戦略を立てやすくなるという。
* サーバレスアーキテクチャのメリットとしては、以下があげられる。
1. リソース調達が容易
2. サーバの運用管理コストを削減
3. サーバ拡張性、可能性の維持をクラウド事業者に任せることが可能
4. 事前のイベント作成により自由度が高い
5. リクエスト単位の課金体系によりコストを最適化
6. 本来のビジネスに集中できる
* クラウドベンダがサーバレスアーキテクチャに対応し始めている。
1. AmazonAWS Lambda
1. GoogleGoogle Cloud Functions
1. IBM:OpenWhisk
1. Microsoft:Azure Functions

### 所感
 その他いろいろググってみたが、クラウドネイティブアプリケーションと対になって語られていることが多いように感じた。サーバ側はステートレスである必要があるため、必然的にDockerのようなコンテナ技術を活用する際に用いられる設計観点も必要になってくると思われる。そんな時は、トゥェルブファクターアプリケーションの思想を用いる必要があるのではないかとも感じた。


 サービスが乱立する戦国時代において、リーンスタートアップのように、小さくはじめて大きく育てるようなサービスを、より多く、より早く市場に投入して会話をすることが求められる。そのため、ASPの領域はもはやオンプレで開発を進めるような企業にはビジネス変化に着いていけないような世界になってきていると思う。ビジネスに必要な最低限の投資で最大限の効果を得るには、クラウドネイティブアプリやサーバレスアーキテクチャのようなアーキテクチャが必要不可欠であろう。


 では、オンプレを手段として開発を進める事業者は、クラウド利用の事業者に勝つことはできるのか?攻め込むことができる手段はあるのだろうか?私の中では、最良の手段を見いだすことが出来ずにいて困っているところではあります。


### 参考資料
#### クラウドネイティブアプリケーション
* AWSslideshare


https://www.slideshare.net/mobile/keisuke69/aws-58452190

#### トゥェルブファクターアプリケーション
* Qiitaの方の記事


http://qiita.com/awakia/items/04135ea89be787be1cfc

 

【本】インテンション・エコノミー(第一部・第二部)

読書メモ。会社からオススメされての読書。

インテンション・エコノミー 顧客が支配する経済 (Harvard business school press)

インテンション・エコノミー 顧客が支配する経済 (Harvard business school press)

久しぶりにこの手のビジネス書籍読みましたが、疲れましたね(つД`)ノもう少し優しい入門書から入ればよかったです。マーケティングの知識があれば、もっとすんなり楽しく読めたかな。しかし、IT屋さんなのでわかる部分も多く、普段考えないことを考えさせてくれるとてもためになる本であったと思います( ^ω^ )

第一部:顧客の囲い込み

  • チャイニーズ・ウォールという言葉がある。これは相容れない立場にある。マーケティングの未来は人間のやり取りや興味をすべて分析・取引可能な定量的データの集合体へと集約する事だけにあるという考え方がある。その一方で、マーケティングの成功はコンテンツ、背景情報、環境、そして、人間の感情に基づいた対話次第とする考え方もある。
  • 反動が終わり、広告バブルがしぼんでも、広告は巨大で有用なビジネスであり続ける。しかし、広告ができないことを埋める市場が生まれる。そこでは、顧客が実際に何を欲しがっているのかに基づいて作られるものであり、それを推測することで作られるものではない。
  • 自由な市場が誰かに囲い込まれるかを選べる以上のものになるためには、自由な顧客が囲い込まれた顧客よりも価値が高くなるという規範に基づく新しいシステムが必要になる。
  • 小売店とサプライヤーの間で業界専門用語がかわされている。広告割引、返品引当金、コンテストや懸賞、コンペンションや組合会議、共同広告、ディーラープレミアム、陳列割引、ダイバーティング、先物買い付け、特別報奨金、スロッティング・フィー、特別取引条件、変動価格。これら全てがマーケティングの範疇に入る訳ではないが、主に、「戦略的」なマーケンティングの取組みに関係する。しかし、顧客はこのいづれも求めていないということである。
  • 選択肢がなかった工業中心時代の市場とは異なり、ネットワーク化された市場では顧客は様々な方法でマーケティングに関与できる。

第二部:ネットワーク化された市場

  • インターネットはの将来を「何でも」と「唯一の」の戦いであると見る。「何でも」の側にはネットヘッドがプロトコル、そして、その利点という視点からネットを捉えている。そして、「唯一の」の側にはベルヘッドが配線インフラや課金システムの視点からネットを捉えている。ネットヘッドは左翼的であり、ベルヘッドは右翼的である。
  • インターネットのプロトコルは、NEAという短縮系で表される規範に従っている。
    1. Nobady own it.(誰も所有していない)
    2. Everybody can use it.(誰もが利用できる)
    3. Anybody can improve it.(誰もが改良できる)
  • それがあるゆえに(because)儲けるのであって、それで(with)でも儲けるのではない。「ビコーズの効果」の総計は計算不可能であり、インターネット接続のコストと負荷がゼロに近づけば近づくほど、それに反比例して容量が大きくなっていく。「誰もが改良できること」こそが、インターネットをこれほど適合性のある基盤にした要因である。インターネットが市場として常に進化し、それに依存するあらゆる人にとって、ますます有用で効率的になっている理由である。
  • ライブウェブはリアルタイムであり、リアルプレイスである。現実世界でモデル化したならば、一番近いのは都市である。都市は、超線形(てこ比は1以上)で拡大し、企業は亜線形(てこ比は1未満)で拡大する。これは、都市がネットワークだからである。
  • 代理人はパーソナルな存在である。全ての顧客意思の背後にある信頼感の源泉である。ネットワーク化された市場は、本来的にに、顧客が全面的に代理人にを採用することを推奨する。優れた企業は顧客主導型を目指す。ネットワーク化された市場、さらにはインテンション・エコノミーにおいて、売り手企業も顧客も多くの方法で成長できる。ただし、顧客が市場に持ち込む物を制限すれば、その市場で起こせることを制限することになる。
  • 自由、オープン性、独立性の価値は永遠であり、これはFOSSコードだけではなく、コネクトとされた世界での組織、企業、商品についても当てはまる。
  • 市場は少なくとも、2つの方向性で拡大していく。どちらにも役割が有る以上、どちらの軸が重要かを議論するのは意味がない。例)垂直方向はAppleであり、水平方向はGoogleである。アップルの哲学は「シンク・ディファレント」であるとするならば、それに対するグーグルの哲学は、「シンク・セイム」で有るかもしれない。企業の選択は、顧客と手を取って共に進むか、一方的なブランド戦略にとらわれ続けるかだ。

気になった言葉

  • 付合契約:契約の一種であって、当事者の一方がすべての交渉力を有し、主に自身の利益のために契約を決定できるもの。
  • CRMビジネスを長年経験してきたイアイン・ヘンダーソンは、CRMベースのリレーションを「推量と無駄の大海の中の孤独」であると言っている。
  • Limuxの創造者であるリーナス・トーバルズは、Limuxが世界に対して具体的にどんな貢献をしたかを尋ねられた際に、「それは、ユーザ空間の話だ。僕はカーネル空間の担当だ。」と答えた。
  • アップルが作り出す物は以下のようになると保証できる。
    1. それはオリジナルである。
    2. それは革新的である。
    3. それは独自である。
    4. それは高価である。
    5. その審美性は完璧である。

【IT】シェルスクリプト

シェルスクリプトは便利なので、おさらいしてみた。

シェルの種類

シェルは沢山の種類がある。なるべく、POSIX準拠にすることで移植性が高まる。

シェルの確認方法

どのシェルをログインユーザが使っているのかを確認方法は、2種類ある。

パスワードファイルに含まれるシェルを確認

# grep root /etc/passwd
root:*:0:0:System Administrator:/var/root:/bin/sh

fingerコマンドによるシェルの確認

# finger root | grep Shell
Directory: /var/root                    Shell: /bin/sh

シェルの確認

サーバにインストールされているシェルの確認方法は、以下である。

# cat -n /etc/shells
     1    /bin/bash
     2    /bin/csh
     3    /bin/ksh
     4    /bin/sh
     5    /bin/tcsh
     6    /bin/zsh

シェルの変更

シェルの変更は、chshコマンドで実施する。

# chsh -s /bin/zsh

プロセスの入出力

プロセスの前後には入力と出力があり、0,1,2で表現される。

標準入力(0)→プロセス→標準出力(1)
                                        →標準エラー出力(2)

これらをコマンドで表現すると以下になる。

  • < :標準入力
  • /> :標準出力
  • 2> :標準エラー出力
  • 2>&1:標準出力&標準エラー出力標準エラー出力に、標準出力をコピーするという意味)
  • />> :リダイレクト(ファイルの中身を削除せずに出力結果を記録)
  • << :ヒアドキュメント(ヒアドキュメント後に入力した文字列を入力する前の文字列が入力文字と解釈される)

ジョブの実行と停止

プロセスをパイプで繋げたものをジョブと言います。ジョブは停止,フォアグランド,バックグラウンドの3種類の操作が可能である。

  1. 停止:Ctrl+z ←ジョブの停止が可能。その際にジョブIDが数値で表示される。
  2. フォアグランド:fg ←コマンドラインの操作が出来ない状態でジョブが実行される。ジョブIDを指定して実行。
  3. バックグランド:bg ←コマンドラインの操作が出来る状態でジョブが実行される。ジョブIDを指定して実行。

bashが読込むファイル

シェルは3種類の起動モードがあり、それぞれで読込むファイルが異なる。

ログインシェル

起動方法は、以下の通り。

# sudo su -
# bash --login
# ssh user@host

読み込み順序は、以下の通り。

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile ※.bash_profileの中で、.bashrcを読込んでいることが多い。

インタラクティブシェル

起動方法は、以下の通り。

# sudo su
# bash
# ssh user@host /path/to/command

読み込み順序は、以下の通り。

  1. /etc/bash.bashrc
  2. ~/.bashrc

インタラクティブでないシェル

起動方法は、以下の通りです。

# su user -c /path/to/command
# bash -c /path/to/command

※この場合はファイルの読み込みはない。

コマンドラインのショートカット

便利なのでできるだけ覚えておきたいショートカット。

  • Ctrl-a:行頭へ移動
  • Ctrl-e:行頭へ移動
  • Alt-b:一単語左へ移動
  • Alt-e:一単語右へ移動
  • Ctrl-w:カーソルのある位置の一単語をカット。単語内の場合は単語先頭まで削除。
  • Ctrl-k:カーソルより右にある文字を全てカット。
  • Ctrl-u:カーソルより左にある文字を全てカット。
  • Ctrl-y:カットして保持している文字をペースト。
  • Ctrl-l:clearコマンドと同じ処理。

展開

いくつかの展開方法がある。

パス名の展開

  • *:任意の文字列
  • ?:任意の一文字
  • [ ]:囲まれた中の任意の文字列

チルダ展開

ブレース展開

  • {文字列,文字列,…}:,堺に文字列を組み合わせて出力される

小技集

記号を含むファイルを作成してしまって消えないT_T

# rm -- -help

引数が多すぎてエラーになってしまうT_T

# ls | xargs mv -t ../

Linuxでは引数の最大値が設定されている。これは「getconf ARG_MAX」で確認が可能である。 xargsを利用することで、パイプで受取った対象ファイルを分割実行してくれています。(なので-tをオプション付与)

とりあえず、疲れたのでこんなところでおしまい。