みやざダニエルズのIT備忘録
← Life 一覧に戻る

データ量の単位換算

データ量の単位換算

単位換算

Vue.jsの基礎を学ぶために単位換算をしてみました。また、vuepressでマークダウン形式の記事に、Vueのコンポーネントを入れられるみたいなので、theme > global-componentsに単一ファイルコンポーネントMyUnitConverter.vueを作成して、ここで表示を試みています。


MyUnitConverter.vueのソースコードは以下の通りです。 算出プロパティではなく、関数でいちいち値を計算しています。for文を何回も使っていたりしていて、もっと良い方法がありそうですね。

<template>
  <div>
    <input type="number" v-model="number">
    <select v-model="selected">
      <option disabled value="">選択して下さい</option>
	    <option v-for="option in options" v-bind:value="option.name" v-bind:key="option.id">
        {{ option.name }}
      </option>
    </select>
    <input type="button" value="計算" v-on:click="calc">
    <span>
      <ul>
        <li v-for="option in options">
          {{ option.name }} : {{ option.value }}
       </li>
      </ul>
    </span>
  </div>
</template>

<script>
export default {
  name: 'MyUnitConverter',
  data() {
    return {
      number: 1,
      selected: '',
      selectedId: 0,
      options: [
        {id: 0, name: "バイト(B)", value: 0},
        {id: 1, name: "キロバイト(KB)", value: 0},
        {id: 2, name: "メガバイト(MB)", value: 0},
        {id: 3, name: "ギガバイト(GB)", value: 0},
        {id: 4, name: "テラバイト(TB)", value: 0},
        {id: 5, name: "ペタバイト(PB)", value: 0},
        {id: 6, name: "エクサバイト(EB)", value: 0},
        {id: 7, name: "ゼタバイト(ZB)", value: 0},
        {id: 8, name: "ヨタバイト(YB)", value: 0}
      ]
    }
  },
  methods: {
    calc: function () {
      if ( this.selected == '' ) {
        return
      }
      this.init()
      for (var i in this.options) {
        if (this.options[i].name == this.selected) {
          this.options[i].value = this.number
          this.selectedId = i
        }
      }
      for (var i in this.options) {
        this.options[i].value = this.options[this.selectedId].value * (1024 ** (this.selectedId - i))
      }
    },
    init: function () {
      this.selectedId = 0
      for (var i in this.options) {
        this.options[i].value = 0
      }
    }
  }
}
</script>

参考

関連記事

山崎から学ぶウイスキー初心者の基礎知識

山崎から学ぶウイスキー初心者の基礎知識|シングルモルトと樽の違いをやさしく整理

山崎をきっかけに、ウイスキー初心者向けの基礎知識を整理。シングルモルトの意味やシェリー樽・ミズナラ樽の違いを、飲まずに学んでみた記録。

Vuetifyのfooterサンプルにurlをつける

Vuetifyのfooterサンプルにurlをつける

VuetifyのfooterサンプルのボタンにURLリンクをつける方法。dataのlinksを配列からオブジェクトに変更して対応しました。

さらばwordpress, こんにちはvuepress

さらばwordpress, こんにちはvuepress

wordpressからvuepressに乗り換えた記録。マークダウンで気軽にブログを書きたくて静的サイトジェネレーターに移行しました。

狛江の住宅街の名店!鳥広のランチ

狛江の住宅街の名店!鳥広のランチが美味しい

狛江の住宅街にある焼き鳥やさん、鳥広さんのランチレポート。タレが濃くてご飯が進む!

美味しいレモンサワー檸檬堂

美味しいレモンサワー『檸檬堂』を飲もう!

ママ友の家でいただいた檸檬堂の鬼檸檬が美味しかった!果汁17%でレモン感爽快。おすすめです。

考える、の定義

考える、の定義

大前研一さんの「考えるとは、知識と情報を加工して、結論を出すことだ」という言葉について。

ゲゲゲの町の助産師会の発達講座

ゲゲゲの町の助産師会の発達講座がとても勉強になった

発達について勉強するため、ゲゲゲの町の助産師会の発達講座に参加してみました。0歳児からの発達、原始反射、離乳食など充実の内容でした。

30年はホモ・サピエンス的には約1時間20分

30年はホモ・サピエンス的には約1時間20分

ホモ・サピエンスの時間スケールで30年を考えると、約1時間20分になる。

おはよう記念日

おはよう記念日

9ヶ月の娘が初めておはようと返してくれた日の記録。

日本の世界遺産を制覇する

日本の世界遺産を制覇する

やることリストのひとつ、日本の世界遺産制覇に向けて達成状況と今後の計画をまとめました。

腹囲1cm=体重1kg=7,000kcal

腹囲1cm=体重1kg=7,000kcal

会社の保健師さんから教わった腹囲・体重・カロリーの関係。1ヶ月1kg痩せるには1日230kcalの消費が目安。