たくまるの日記

中小企業診断士試験合格のエンジニアが法人向けにITの話題を投稿します。

コンテンツ・マネジメント・システム(CMS)ってどう選べばよいの?

CMSはどうして必要なのか

ウェブサイトを立ち上げて日々記事を更新したりニュースを告知してゆくのであればコンテンツ・マネジメント・システム(CMS)を導入する場合が多いと思われる。ウェブサイトはHTMLやCSSと呼ばれるプログラミング言語のようなもので文章や図表、画像が適切にレイアウトされるよう作成しなければならないため、それらの知識に乏しい人が文章を変更したり画像を差し替えたりするのは困難になる。 そのような業務を支援するシステムとして利用されているのがCMSであるが、さまざまな製品費があってどれを選定して導入するべきか非常に悩ましい。今回はCMSの特徴を動的なCMS静的なCMSという2つの切り口で整理して解説したい。

動的なCMSと静的なCMS

上図の上段が動的なCMSを図式化した画像で、下段が静的なCMSを図式化したものです。どちらのCMSもデータベースにウェブページを構成する文章や画像を保持しておいて、それに基づいてウェブページを生成する機能を持っている点に変わりはありません。異なるのはウェブサイトの生成が行われるタイミングになります。動的なCMSはウェブサイトの利用者からアクセスがあった時点でウエブページを構成するHTMLやCSSを生成するのに対して、静的なCMSCMSはあらかじめそれらを生成しておき、アクセスがあった時点では何も処理をしません。

動的CMSと静的CMS
動的CMSと静的CMS

動的なCMSの代表的な製品としてはWordPressがあり、静的なCMSの代表的な製品としてはMovable Typeというものがあります。

それぞれのCMSのメリットとデメリット

動的なCMS

メリット

  • システムの機能によってはアクセスしてきた利用者に合わせてウェブページの内容を書き換えてカスタマイズができる。たとえば、購買履歴のある顧客であればオススメ製品を強調したり、再訪問であれば更新情報をウェブページの上部に配置して見つけやすくするなどが考えられます。
  • 利用者がウェブページ内でクリックしたリンクやよく見ていた動画などの行動をデータベースに記録して、マーケティングに生かしたり、問い合わせフォームを設置して利用者からの声を集めたりするなど双方向な取り組みが行いやすい。

デメリット

  • 静的なCMSと比べて利用者からのアクセス時に処理があるため、アクセス数が増えるとウェブページの応答が遅くなったり、セキュリティに脆弱性がある場合は攻撃を受ける場合がある。

静的なCMS

メリット

  • 脆弱性が少ない傾向にあるため、セキュリティが高い。
  • アクセスが増加しても応答が遅くなるなどのパフォーマンスの劣化が発生しにくい。

デメリット

  • お問い合わせフォームを設置したり、マーケティングのための施策を行おうとする場合は別途、専用の別なシステムと連携しなければいけない場合が多い。

まとめ

わたしは静的なCMSの方がセキュリティ上のリスクが少ない点とWordPressに代表される動的なCMS脆弱性に関する報告が多い点を勘案して、静的なCMSの方が優れていると考えていました。 しかしながら、近年はSNSを活用した双方向のマーケティング施策が重要になっている状況やワン・ツー・ワン・マーケティング(One-to-One Marketing)と呼ばれる顧客一人ひとりに合わせたマーケティングを行う取り組みにマッチするのは動的なCMSではないかと思えます。 エンジニアリングの分野でよく言われることですが、どのような場合にも最適な解となる銀の弾丸はなく個別の要求に合わせて動的なCMSと静的なCMSを使い分ける必要があるようです。

Azure CLIでVMのサイズ一覧を見やすく出力する。

Azure CLIを使うとコマンドラインからVirtual Machine(VM)の作成や起動・終了ができるので作業の自動化に非常に便利ですが、Azureで使えるリソースを検索する際はWebサイトを使用していました。 そのため、コマンドプロンプトとブラウザの間を行ったり来たりして非効率になっていました。例えばVMのサイズ一覧であれば、az vm list-sizes --location japaneastで取得できますがJSON形式になるので見やすくありません。

[
  {
    "maxDataDiskCount": 24,
    "memoryInMb": 57344,
    "name": "Standard_NV6",
    "numberOfCores": 6,
    "osDiskSizeInMb": 1047552,
    "resourceDiskSizeInMb": 389120
  },
  {
    "maxDataDiskCount": 48,
    "memoryInMb": 114688,
    "name": "Standard_NV12",
    "numberOfCores": 12,
    "osDiskSizeInMb": 1047552,

~以下略~

これをjqコマンドとcolumnコマンドを組み合わせると列がそろったテーブル形式で表示できます。

az vm list-sizes --location japaneast | jq -r '.[] | [.name, .numberOfCores, .memoryInMb] | @tsv' | sed '1iName\tCores\tMemory' | column -t

出力例

Name                    Cores  Memory
Standard_NV6            6      57344
Standard_NV12           12     114688
Standard_NV24           24     229376
Standard_NV6_Promo      6      57344
Standard_NV12_Promo     12     114688
Standard_NV24_Promo     24     229376
Standard_A0             1      768
Standard_A1             1      1792
~以下略~

jq -rは出力から不要なダブルクォーテーションを削除する役割があります。[.name, .numberOfCores, .memoryInMb]JSON形式のデータからname、numberOfCores、memoryInMb要素のみを抜き出して@tsvでタブ区切り形式で出力します。 sed '1iName\tCores\tMemory'で1行目にヘッダを追加していますが、1iは後続の文字列を1行目に追加するコマンドになります。最後にcolumn -tで出力を列単位で揃えて見やすくしています。

コア数2以下のサイズに限定したい場合は、awkコマンドを応用して、awk '($2 <= 2){print}'を繋げると2列目の数値が2以下の物だけが表示されます。

Standard_A0             1      768
Standard_A1             1      1792
Standard_A2             2      3584
Standard_A5             2      14336
Basic_A0                1      768
Basic_A1                1      1792
Basic_A2                2      3584
Standard_D1_v2          1      3584
Standard_D2_v2          2      7168
Standard_D11_v2         2      14336

これでコマンドプロンプトだけで作業できそうですね。

Power Automate Desktop使ってみた。2日目、オンプレミス・データ・ゲートウェイとの連携

オンプレミス・データ・ゲートウェイとは

Power Automateでパソコンに接続されたプリンタやスキャナなど特殊な機器を扱いたい場合は、パソコンにオンプレミス・データ・ゲートウェイ(On-premises data gateway)をインストールする必要があるらしい。将来、フローを作りこんでいったときに紙で帳票を出して承認フローを回したり、ラベルプリンタを出して資産管理に活用したりする場合が考えられるので、使い方を試してみたい。 オンプレミス・データ・ゲートウェイの構成は下図のようになっているそうだ。

オンプレミス・データ・ゲートウェイとは
オンプレミス・データ・ゲートウェイとは

インストール

  1. 以下のURLからインストーラをダウンロードして、実行する。 https://www.microsoft.com/ja-jp/download/details.aspx?id=53127
  2. 規約に同意してインストールをクリックする。
    規約への同意
    規約への同意
  3. オンプレミス・データ・ゲートウェイの動作にはMicrosoft 365の組織アカウントが必要になるので、用意してサインインする。
    組織アカウントでサインイン
    組織アカウントでサインイン
  4. このコンピュータに新しいゲートウェイを登録します。を選択して次へ進む。
    新しいゲートウェイの登録
    新しいゲートウェイの登録
  5. 任意のゲートウェイの名前と回復キーを決めて、構成をクリックする。ゲートウェイの名前は後でPower Automateからフローを実行する際に必要になるので、覚えておく必要があります。回復キーはしばらく使う機会が無さそうですが、今回作成したゲートウェイを移行する場合に必要になるそうです。
    ゲートウェイの名前等を決める。
    ゲートウェイの名前等を決める。
  6. 使用できます。と書かれているので、正常にインストールが完了したものと思われます。
    インストール完了
    インストール完了

Power Automate Desktop使ってみた。1日目、ファイル名一括変更

前回の記事でPower Automate Desktopをインストールしたので簡単なフローを作ってみます。 例として画像ファイルの名前を一括で変更するケースを想定します。例えば以下画像のように、フォルダに複数の画像ファイルが保存されているとしましょう。従来は1つずつ「名前の変更」するしかなかったので大変ですよね。

サンプル画像一覧
サンプル画像一覧

それではフローを作っていきます。Power Automate Desktopを起動して左上の「+新しいフロー」を押して、開いた画面でフロー名を適当に入力します。

新しいフロー
新しいフロー

新しく表示された画面の左側から「フォルダー内のファイルを取得」をダブルクリックして、フォルダーに画像ファイルが保存されたフォルダを指定します。

フォルダー内のファイルを取得
フォルダー内のファイルを取得

次は先ほどと同様に、左側から「ファイルの名前を変更する」をダブルクリックします。新しく表示された画面で「名前を変更するファイル」欄の{x}をクリックして「Files」を選びます。「名前の変更の方法」は「テキストを置換する」を選んで、以降はファイル名の中で置換したい文字列を指定します。

ファイルの名前を変更する
ファイルの名前を変更する

画面上部の実行ボタンを押すと、ファイル名が一括で変更されます。

実行
実行

画像ファイル数が数個であれば手作業で修正した方が早いですが、10個以上になる場合は積極的にRPAを利用して効率化したいものですね。

Power Automate Desktopがリリースされました。

Power Automate Desktopがリリースされました。

去る3/2にMicrosoft Igniteが開催されて、Power Automate Desktopが正式にリリースされました。 Microsoftが進めるPowerプラットフォームはプログラミングの知識のない人でもアプリケーションを開発できる環境を提供してくれるものですが、Power Automate DesktopはWinActorUiPathのようなRPAツールに近いものです。

Windows10を利用しているユーザーであれば無償で利用できるそうなので、中小企業でもPower Automate Desktopを活用した業務改善が浸透するかもしれません。この記事ではまず、Power Automate Desktopのインストールを試して、手順を明らかにしたいと思います。

Power Automate Desktopのインストール

ダウンロード

インストーラPower Automate Desktopの公式サイトからダウンロードできます。デスクトップなど適当なフォルダに保存してください。

インストールの開始

Power Automate Desktopのインストーラ
Power Automate Desktopのインストーラ

ダウンロードされたファイルをダブルクリックするとインストールが開始されます。

Power Automate Desktopのインストール開始
Power Automate Desktopのインストール開始

この画面は次へ進めます。

Power Automate Desktopのインストール開始
Power Automate Desktopのインストール開始

[インストール]を選択すると、Microsoftの使用条件~にチェックを付けるとインストールボタンが押せるようになります。

Power Automate Desktopのインストール完了
Power Automate Desktopのインストール完了

以上でインストールは完了です。簡単でしたね。スタートメニューなどにPower Automate Desktopのアイコンが追加されていると思います。

次回以降、フローを作って使い倒していきたいと思います。

このブログの目的について

自己紹介

私は10年以上、製造業を営む会社の社内システムエンジニアとしてソフトウェア開発やインフラ構築、整備に携わってきました。先日令和2年度中小企業診断士試験に合格し、中小企業診断士として中小企業に助言させていただく活動を少しづつ初めたいと思っています。

なぜブログを始めたか?

中小企業診断士資格を保有している方のうち、独立せずに企業勤めしている方を一般に企業内診断士と呼ぶそうですが、私もそのような立場になります。独立された診断士と異なり企業内診断士には中小企業の経営者と直接面談して助言したり、相談を受けたりする機会は多くないためどうしても試験を通して得た知識を発揮する場が少なくなってしまいます。 システムエンジニアとして培った技術力を生かしてITに関わる情報発信をして、もし誰かの目にとまり役立てていただければ幸いと思いブログを開設することとしました。

どんな事を書いていくの?

IT技術でよく耳にする話題を、パソコン等があまり得意でない方にもわかりやすいように発信してゆきたいと思っています。また、ソフトウェアやインフラ設備導入の参考になるよう利点やコストがうまく伝わればよいと思っています。