【javascript】Objectから要素を取り出すならfor文を使わずObject.keysを使おう

for..in loops iterate over the entire prototype chain, which is virtually never what you want. 
Use Object.{keys,values,entries}, and iterate over the resulting array

とESLintで怒られるので、for文は卒業したい。

そこで使うのは、

Object.keys(list).forEach(function(key) {
      console.log('key = ' + key);
   console.log('value = ' + list[key]);
})

たとえばObjectがこんな感じであって

const flowerDetail= {
  'Name': '向日葵',
  'Color': '黄色',
};

要素をfor文で取り出そうとすると、

for (const flowerVal in flowerDetail) {
  console.log('key = ' + flowerVal);
  console.log('value = ' + flowerDetail[flowerVal]);
}

結果

"key = Name"
"value = 向日葵"
"key = Color"
"value = 黄色"

Object.keys().forEachを使えば

Object.keys(flowerDetail).forEach(function(key) {
     console.log('key = ' + key);
     console.log('value = ' + flowerDetail[key]);
});

結果

"key = Name"
"value = 向日葵"
"key = Color"
"value = 黄色"

【PCF】PCFとは何か?概要とメリットを完全理解!

PCFとは?

ずばり、

PaaS+CloudFoundry

PaaSとは?

「Platform as a Service」の略語。

具体的には、

  • 仮想サーバの作成(OpenStack)
  • OSのインストール(Ubuntu
  • HTTPサーバの設置(Apache、nginx、Node.jsなど)
  • 各言語の動作環境の整備(PHPRuby、Node.js、Goなどなど)

の部分などをまとめて構築し、アプリケーション開発者に提供する仕組み。

いままでは、サーバーを立ててOSインストールして言語つかえるように設定して......といろいろやっていたけれど「コードが動作する環境を仮想化した一つの形態」がPaaS。

CloudFoundryとは?

PaaS環境を実現する代表的なプロダクトの一つ。

PCFを使うメリット

✔️ サーバの故障に技術者がとらわれない
CloudFoundryでは、デプロイしたアプリケーションを、専用のCLIコマンドやWebUIを通じて非常に簡単に操作することが可能!
→ WebUIからインスタンス数を選び、決定ボタンを押すだけで冗長化が完了
→ 脆弱性対応も、インスタンスをわずか数十秒で作り直すだけで完了

→→ これまで本番環境のサーバを構築・運用する際は、実機サーバを自前で用意したり脆弱性対応・障害対応を考えたり、サービス開発に関連のない部分まで非常に多くのリソースを割き続ける必要があったけれど、もうその必要なし:)

✔️ 管理がとても簡単

→ PaaS向きの設計の概念に沿うことになり、コードは小さいレベルに分割される

✔️ マイクロサービス化することによって、プロダクト内の各コンポーネントが疎につながるため、メンテナンス性が向上

→ リファクタリングが簡単になり、新しい機能の実装コストや引き継ぎのコストが減
→ アプリケーションを動かすための土台は PCFチームによってメンテナンスされるため、従来ほど運用コストをかけずにサービスを提供可能

 

いかがでしたか?

次はPCFを実際に使ってみましょう!