シェルスクリプトマガジン

test

香川大学SLPからお届け!(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:朝野有也

こんにちは、香川大学工学部の朝野です。普段からパソコンを使っている方ならJava というプログラミング言語の名前を一度は聞いたことがあると思います。プラットフォームに依存しないため、クライアント側、サーバ側問わず様々なシステムで使用されている言語です。さらに、Java のプログラムを実行するにあたって必要となるJava 仮想マシン(JVM) を利用したJVM 言語というものがあります。JVM 言語は、Java の資源を利用できるのに加えて、Java より後発であるため便利なライブラリや仕組みが揃っていることが多いです。

今回は、簡単な名簿アプリケーションの開発をとおして、JVM 言語の1つであるScala と、Java とScala のWeb アプリケーションフレームワークであるPlay Framework をご紹介します。

記事本文掲載のシェルスクリプトマガジンvol.53は以下リンク先でご購入できます。

 

sbt のインストール:
https://www.scala-sbt.org/1.x/docs/ja/Setup.html

 

登録:

@form(routes.HomeController.insertUser) { @inputText(userForm(“name”), ‘_label -> “名前”) @inputText(userForm(“age”), ‘_label -> “年齢”) }


@form(routes.HomeCon troller.showUser) { }

 

}

 

一覧:

 

@for(user <- users ) {     }

名前 年齢
@user.name @user.age @form(routes.HomeController.deleteUser(user.id)) { }

@form(routes.HomeController.index) { }

 

}

 

特集3 IBM Cloudで学ぶAI・機械学習・ディープラーニング(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:佐々木 敦守、古川 正宏、小薗井 康志

IBMの「Watson」が動くクラウドプラットフォーム「IBM Cloud」を使って、無料でAI、機械学習、ディープラーニングを試してみましょう。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

シェルスクリプトマガジンvol.53 Web掲載記事まとめ

投稿日:2018.03.25 | カテゴリー: 記事

シェルスクリプトマガジンvol.53のWeb掲載部分まとめです。

プレゼント&アンケートページはこちら!

シェルスクリプトマガジンvol.53は以下リンク先でご購入できます。

008 特集1  9のステップでしっかりわかる Python入門/西川公一朗  コード掲載

024 特集2  このまま使える! ITエンジニアのための英文メール&チャット 20のポイント/甲斐荘秀生 監修 Paul McMahon  おまけ英文掲載

032 特集3  IBM Cloudで学ぶAI・機械学習・ディープラーニング/佐々木敦守、古川正宏、小薗井康志  コード掲載

049 姐のNOGYO

050 ラズパイ入門ボードで学ぶ電子回路の制御/米田聡  コード掲載

053 スズラボ通信「ネイキッドなGNU/Linuxマシン PocketBeagle」/すずきひろのぶ  リンク掲載

056 機械学習のココロ 「正則化とスパースモデリング」/石井一夫  訂正情報およびリンク掲載

060 バーティカルバーの極意/飯尾淳

066 それプロのエバンジェリストから愛をこめて/山本美穂

070 RESEARCHES FOR FUTURE 青山学院大学 社会情報学部 社会情報学科 伊藤研究室/伊藤一成

072 香川大学SLPからお届け! 「Play Frameworkでアプリケーション開発」/朝野有也 コード掲載

078 ITエンジニアのためのマーケティング入門/水間丈博

082 蛇/桑原滝弥・イケヤシロウ

084 法林浩之のFIGHTING TALKS/法林浩之

086 人間とコンピュータの可能性/大岩元

088 円滑コミュニケーションが世界を救う! /濱口誠一

090 中小企業手作りIT化奮戦記「使うと便利SQL」/菅雄一

095 漢のUNIX「XMLをJSONに変換するコードを書いてみよう」/後藤大地 コード掲載

104 アジャイル開発 Let’s Practice!「インセプションデッキ その1」/熊野憲辰

108 40歳から始める、オレとRubyプログラミング/しょっさん  コード掲載

118 コボラーによるコボラーのためのユニケージ入門「COBOLプログラムのマイグレーション」/野村祐三

126 Techパズル/gori.sh

128 コラム「自主的に考える力を持てるような教育を」/シェル魔人

英文メール・チャット 20のポイント おまけ

投稿日:2018.03.25 | カテゴリー: コード

執筆:甲斐荘秀生  監修:Doorkeeper Paul McMahon

記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

本誌掲載のチャットの前、クライアントとA君との間でつばぜり合いがありました。

翻訳サイトを駆使した英文

 

クライアント:The budget is decided, but can not you do this bu plugging in as well?(予算は決まってるけど、これも差し込みでお願いできません?)

 

A:We can not accept it.(できません。)

 

クライアント:I will put a color on the next month.(来月色を付けますから。)

 

A:This time only. (今回だけですよ。)

 

 

Paulさんによる訂正後の英文

 

クライアント:I know we’ve already fixed the budget, but can’t you fit this in as well?(予算が決まっていることはわかっていますが、追加でやってもらえませんか?)

“as well”には「おまけで」という意味もあります。

 

A:Sorry, we’re not able to budge on it.(申し訳ありませんが、これ以上は動けません)

“budge”は「身動きをとる」という意味です。今回のように否定形で使うと”微動だにしない”のような意味になります。

 

クライアント:How about if we add it to next month’s budget?(来月の予算にその分追加するのではどうでしょう?)

 

A:OK, just this once. (わかりました。今回だけですよ)

 

 

裏にこんなやりとりがあった後、本誌掲載のチャットの続きをご覧ください。

翻訳サイトを駆使した英文

 

A:At last only one. (さいごにひとつだけ。)

 

A:There was an additional request from the client. Can you please take action?(クライアントから追加の要望がありました。対応をお願いできますか?)

 

A:They would like to add a daytime contact to the inquiry form.(問い合わせフォームに日中の連絡先を追加したいとのことです。)

 

B:What a client. (なんてクライアントだ!)

 

Paulさんによる訂正後の英文

 

A:One more thing. (さいごにひとつだけ。)

 

A:There was a new request from the client. (クライアントから追加の要望がありました。)

 

A:They would like to add a new field for a phone number.(電話番号用のフィールドを新たに追加したいとのことです。)

「日中の連絡先」は文脈に依存した言い方なので、「電話番号」と直接伝えた方がよいでしょう。

 

B:I’m getting tired of these last minute requests. (追加要望のせいで嫌になってきた)

 

 

 

特集1 9のステップでしっかりわかる Python入門(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:西川 公一朗

機械学習やデータ解析、人工知能の需要が高まるにつれ、最近ではさまざまな分野でプログラミング言語「Python」を利用する機会が増えています。本特集では入門者や初心者を対象に、9のステップでPython の基本を分かりやすく説明します。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

Vol.53

投稿日:2018.03.25 | カテゴリー: バックナンバー

機械学習やデータ解析、人工知能、ラズパイ、IoT(モノのインターネット)などのプログラミングで欠かせなくなった言語「Python」(パイソン)。特集1では、九つのステップに分けて、初めての人でもしっかり理解できるようにPythonプログラミングの基礎を解説します。
特集2では、ITエンジニアに向けた、英語のメールやチャットに関する20のポイントを会話形式で紹介します。海外とのやり取りが当たり前になってきた時代にぴったりです。
特集3ではAI・機械学習・ディープラーニングを扱いました。IBM Cloudが用意するライト・アカウントを取得すれば、無料・期間無制限・クレジットカード登録不要でこれらの技術をすべて試せます。
このほか、新連載として「ラズパイ入門ボードで学ぶ電子回路の制御」が始まりました。前回の特集2に続く、シェルスクリプトマガジン特製の「ラズパイ入門ボード」の記事です。この連載から読み始めても十分楽しめます。

今月も読み応え十分のシェルスクリプトマガジン Vol.53。お見逃しなく!

※読者アンケートはこちら

第29回 バージョン管理システムを作る(GitBucketの使い方)

投稿日:2018.03.23 | カテゴリー: 記事

前回は、「GitBucket」を使ってソースコードやドキュメントのバージョンを管理できる共有サーバー(Gitサーバー)を構築しました。今回は、GitBucketの基本的な使い方を紹介します。

前回と同様に、次のコマンドを実行してGitBucketを起動します。

しばらく待ってから、リモートアクセス用パソコンのWebブラウザーで「http://Ubuntu ServerのIPアドレス:8080/」にアクセスし、GitBucketのトップページを開いてください(図1)。

図1 GitBucketのトップページ

第28回 バージョン管理システムを作る(GitBucketの導入)

投稿日:2018.03.16 | カテゴリー: 記事

ソフトウエア開発のための共有サービスとして「GitHub」を使っている人は多いでしょう。GitHubはソフトウエアのソースコードのみならず、各種文書のバージョン管理にも利用できます(図1)。そのため、会社やグループで自由に使えるGitHubを用意できればとても便利です。

図1 Gitサーバーによるバージョン管理システム

Linuxには、GitHubのようなサーバー(Gitサーバー)を構築できるソフトがいくつかあります。具体的には、GitHubと同様のサービス提供にも利用されている「GitLab」、日本人が開発者の「GitBucket」、Go言語で開発されている「Gogs」などです。今回は、これらの中からインストールが簡単なGitBucketをUbuntu Serverに導入します。

第27回 安全なFTPサーバーを作る(ProFTPDの設定)

投稿日:2018.03.9 | カテゴリー: 記事

前回構築した、ProFTPDによるFTPSサーバーをインターネットに公開します。インターネットへのサーバー公開については、連載第10回に2種類の方法を紹介しています。「DMZ」と「ポートフォワーディング」です。
DMZの場合、前回の設定のままFTPSサーバーをDMZに配置すれば、そのままインターネットに公開できます。ただし、セキュリティ上あまり好ましくありません。連載第21回で紹介したファイアウォールを自身のサーバー内に構築しましょう。なお、ファイアウォールを経由してFTPSサーバーをインターネットへ公開する場合、FTPSの通信を通過させるための設定が必要です。
ポートフォワーディングの場合も、ファイアウォールと同様にFTPSの通信を通過させる設定が設定が必要です。

アクティブとパッシブ

FTP/FTPSでは、二つのポートを利用して通信します。一つは「制御」用、もう一つは「データ転送」用です。どちらも通信を開始するときに、サーバーとクライアントの間で「コネクション」(接続)を確立します。
FTP/FTPSでは、このコネクション確立方法の違いで「アクティブ」と「パッシブ」という2種類のモードが用意されています。どちらもFTP/FTPSの通信を開始するのはクライアントからです。ただし、アクティブモードではFTPサーバーから、パッシブモードではFTPクライアントから、データ転送用のコネクションを確立しにいきます(図1)。

図1 アクティブとパッシブ

第26回 安全なFTPサーバーを作る(ProFTPDの導入)

投稿日:2018.03.2 | カテゴリー: 記事

今回は、インターネットからファイルをダウンロードしたり、アップロードしたりする「FTPサーバー」を構築します(図1)。LinuxでFTPサーバーを構築できるフリーソフトにはいくつかあります。ここでは、「ProFTPD」を用います。

図1 ファイルをダウンロード・アップロードできるFTPサーバー

なお、FTPサーバーの標準プロトコルである「FTP」(File Transfer Protocol)の場合、ユーザー名とパスワード、データがそのまま(平文で)ネットワークを流れます。インターネット上の通信で平文を使用するのはセキュリティ上好ましくありません。そこで、暗号化通信を用いたファイル転送プロトコルの「FTPS」(File Transfer Protocol over SSL/TLS)を利用します。

第25回 インターネットへのアクセスを制限する(Squidの設定)

投稿日:2018.02.23 | カテゴリー: 記事

前回は「Squid」を用いて、プロキシーサーバーを構築しました。今回は、インターネットへはプロキシーサーバー経由でしかアクセスできないように(ブロードバンド)ルーターを設定します。加えて、危険なサイトにアクセスできないようにしたりなど、アクセス制限の設定をSquidに追加します(図1)。

図1 プロキシーサーバーによるアクセス制限

なお、システム管理者などの別の人がルーターを管理している場合、ルーターの設定やプロキシーの設置はその人と相談してください。

第24回 インターネットへのアクセスを制限する(Squidの導入)

投稿日:2018.02.16 | カテゴリー: 記事

自宅や会社でインターネットへのアクセスを制限したい場合、「プロキシーサーバー」を構築するとよいでしょう。プロキシー(Proxy)とは、英語で「代理」の意味です。
LAN内のコンピュータやネットワーク機器がインターネットに直接アクセスできない環境では、インターネットにアクセスするためにプロキシーサーバーを設置します。プロキシーサーバーがそれらに代わってインターネットにアクセスし、その応答をアクセス元に返します(図1)。
通信がプロキシーサーバーを経由することで、通信内容を監視できます。それによって、アクセスを制限したりが可能です。

図1 プロキシーサーバー経由でアクセス

また、プロキシーサーバーは、アクセスしたデータを一時的に保持する「キャッシュ」機能を備えています。キャッシュ内にデータがあれば、インターネットへのアクセスが不要なるため、通信を高速化できます。
Linuxでプロキシーサーバーを構築できるソフトとして「Squid」があります。今回は、このSquidを導入して、LAN内のコンピュータやネットワーク機器がSquid経由でインターネットにアクセスできるように設定します。

第23回 フォトギャラリーを作る(Lychee)

投稿日:2018.02.9 | カテゴリー: 記事

Instagramなどの普及により、スマートフォンで撮影した写真がかなりたまっている人も多いでしょう。Linuxサーバーなら、そのような写真を整理して個人用のフォトアルバムを作成できます。
今回は、WebサーバーソフトのApache HTTP Server(以下、Apache)と、データベース管理システムのMariaDBを使って、写真管理ソフト「Lychee」を動作させ、自分だけのフォトギャラリーを作ります(図1)。

図1 フォトギャラリーのサーバーソフト「Lychee」(ライチ)

第22回 WebサーバーをHTTPSに対応させる(Let’s Encrypt)

投稿日:2018.02.2 | カテゴリー: 記事

Webサーバーのプロトコルとして「HTTP」(Hypertext Transfer Protocol)ではなく、「HTTPS」(Hypertext Transfer Protocol Secure)を利用するのが当たり前になりつつあります。HTTPSでは、SSL/TLS(Transport Layer Security/Transport Layer Security)による暗号化を施しています。
米Google社では、インターネット検索サービスのランキングでHTTPSに対応したWebサイトを優遇したり、Webブラウザー「Chrome」でHTTPSに対応したWebサイトをアクセスした場合に「保護された通信」や会社名を表示して安心感を与えたりするなど、HTTPS化を推進しています(図1)。

図1 HTTPSに対応しているWebサイトのアドレス表示例

Apache HTTP ServerNginxなどのWebサーバーソフトでHTTPSを有効にすることは、それほど難しいことではありません。ただし、HTTPSには「SSLサーバー証明書」が必要で、それが正式なものでないと、Webブラウザーに図2のようなメッセージが表示されます。そのサイトを例外などに加えないとアクセスできません。

図2 正式な証明書を持っていないWebサイトの閲覧例

そこで今回は、連載8回で構築したApache HTTP Server(以下、Apache)の通信のHTTPS化と、無料で正式なSSLサーバー証明書を入手・導入する方法を紹介します。

第21回 サーバーを守る(ファイアウォール)

投稿日:2018.01.26 | カテゴリー: 記事

不正なアクセスなどからサーバーやネットワークを守る仕組みとして「ファイアウォール」があります。ファイアウォールは、日本語で「防火壁」という意味です。ファイアウォールを通過する通信を監視し、サーバーやネットワーク内外への不適切な通信の遮断などに利用します(図1)。

図1 ファイアウォールによるアクセス制御

通常、インターネットの出入り口に配置される「ゲートウェイ」となるルーター(ブロードバンドルーター)がファイアウォールの機能を備えています。ただ、連載第10回で説明したDMZ(非武装地帯)に配置したサーバーの場合、内部にファイアウォールを設置して自らを守る必要があります。

Vol.52

投稿日:2018.01.25 | カテゴリー: バックナンバー

普及期を向かえたコンテナー型仮想化ソフトウエア「Docker」。ITエンジニアとしては、知っておくべきものの一つです。特集1では、Dockerの概要や仕組みを説明し、CentOS上への導入方法や基本的使い方を紹介しています。
特集2では、シェルスクリプトマガジン編集とビット・トレード・ワンで共同制作したRaspberry Pi用拡張ボード「ラズパイ入門ボード」の使用方法を解説しています。LEDやスイッチ、圧電スピーカーなどの制御を学ぶにはビッタリです。本誌と同時にラズパイ入門ボードも発売しますので、一緒に購入してラズパイプログラミングを楽しんでみてください。
そのほか、大学研究室や農業体験を紹介する連載記事を開始しました。

今月も読み応え十分のシェルスクリプトマガジン Vol.52。お見逃しなく!

ラズパイ入門ボード購入に関してはこちら

※読者アンケートはこちら

シェルスクリプトマガジンvol.52 Web掲載記事まとめ

投稿日:2018.01.23 | カテゴリー: 記事

シェルスクリプトマガジンvol.52のWeb掲載部分まとめです。

プレゼント&アンケートページはこちら!

シェルスクリプトマガジンvol.52は以下リンク先でご購入できます。

4 レポート スマートスピーカーが相次いで登場

6 特集1 Dockerを使ってみよう/末安泰三

20 特集2 ラズパイ入門ボードの使い方/米田聡 コード掲載

30 RESEARCHES FOR FUTURE 千葉工業大学 先進工学部 未来ロボティクス学科 自律ロボット研究室/上田隆一

32 機械学習のココロ 丁半バクチで勝負する機械学習の世界(モンテカルロ法)/石井一夫 リンク掲載

39 姐のNOGYO 40 アジャイル開発 Let’s Practice! システム設計/熊野憲辰

44 中小企業手作りIT化奮戦記 第32回 眠れない地獄の夜/菅雄一

50 円滑コミュニケーションが世界を救う!/濱口誠一

52 縁の木、育てよう ゲスト エウレカ 森川託磨さん /白羽玲子

56 人と月/桑原滝弥・イケヤシロウ

58 コボラーによるコボラーのためのユニケージ入門 COBOLとユニケージの違い/野村祐三

64 漢のUNIX サードパーティ製ライブラリを使う/後藤大地 コード掲載

73 バーティカルバーの極意/飯尾淳

78 人間とコンピュータの可能性/大岩元

80 香川大学SLPからお届け!/花川直己、家平和輝、森田浩平

84 法林浩之のFIGHTING TALKS/法林浩之

86 40歳から始める、オレとRubyプログラミング/しょっさん コード掲載

96 ITエンジニアのためのマーケティング入門 第28回 デジタルマーケティング その4/水間丈博

100 Techパズル/gori.sh

102 1足す1は3にはならない/シェル魔人

機械学習のココロ(vol.52掲載)

投稿日:2018.01.23 | カテゴリー: コード

著者:石井一夫(久留米大学)

世の中は機械学習や人工知能のブームです。これに相まって、統計学や数学の価値が再認識されています。数学と聞くと学生の頃のトラウマが甦り、ついつい敬遠しがちな人もいるかもしれませんが、ある種の必要性と割り切り、ワクワクするような新しいトレンドとして再認識できると、それなりに楽しいものです。

記事本文掲載のシェルスクリプトマガジンvol.52は以下のリンク先でご購入できます。


 

「1、 円周率の計算」の参考にしているサイトへのリンク(リンク先にコード有り)

pythonで円周率を求める (Remrinのpython攻略日記)

 

「2、積分計算と確率計算」の参考にしているサイトへのリンク(リンク先にコード有り)

モンテカルロ積分 (人工知能に関する断創録)

 

「3、機械学習モデルとしての最尤推定法、最小二乗法、回帰分析への応用」の参考リンク(説明のみ)

最小二乗法と最尤法の関係 (具体例で学ぶ数学)

「4、ベイズ予測モデルを作成するためのマルコフ連鎖モンテカルロ法」の参考リンク(リンク先にコード有り)

The Bayesian t-Test (henryhhammond.com)

 

ラズパイ入門ボードの購入について

投稿日:2018.01.19 | カテゴリー: コード

動画による製品紹介はこちら

プログラミング例はこちら

シェルスクリプトマガジン(Vol.52)の特集2で紹介したラズパイ入門ボードの完成品20セット組み立てキット10セットを限定発売します(日本国内のみ)。お1人様どちらか1セットになります。

完成品が3980円(税別)、組み立てキットが2780円(税別)です。送料は650円(税込み)になります(シェルスクリプトマガジン Vo.52は完売しました)。PayPalまたは銀行振り込みでのお支払いになります。

以下の購入申し込みを記入の上、「raspi@usp-lab.com」宛てにメールしてください。2~3営業日以内にメールにて支払い方法などをお送りいたします。発送はVol.52発売日の2018年1月25日以降になります。なお、売り切れの場合もご連絡いたします。

売り切れの際は、ビット・トレード・ワンの公式オンラインショップAmazon.co.jp共立エレショップおよび、シリコンハウス各店、千石電商各店、デジット各店、マルツエレック各店からご購入ください(いずれも1月25日販売開始予定)。

++++++ラズパイ入門ボード購入申し込み++++++

■購入希望商品

○完成品:4948円
○組み立てキット:3652円
※購入を希望する商品の「○」を「●」に変更してください。

■代金お支払い方法

○PayPal

○銀行振り込み

※希望する方の「○」を「●」に変更してください。

お名前:
お名前のよみがな:
郵便番号:
ご住所:
お電話番号:
+++++++++++++++++++++++++++++++++

 

第20回 オンラインストレージを作る(アプリ導入)

投稿日:2018.01.19 | カテゴリー: 記事

前回は「Nextcloud」のユーザー作成と基本操作を解説しました。今回は、Netcloudの機能を拡張するアプリについて紹介します。Netcloudの本体には、オンラインストレージに必要な最低限の機能しか組み込まれていません。Netcloudに組み込むことができるアプリを有効化することによって、Googleカレンダーや、Googleドライブのようなオンラインオフィス機能などを追加できます(図1)。

図1 アプリを有効にすることでNextcloudの機能拡張ができる

それでは、前回と同様にリモートアクセス用パソコンでWebブラウザーを起動して「http://Ubuntu ServerのIPアドレス:8080/」にアクセスします。ログイン画面から管理者アカウントでログインします。

第19回 オンラインストレージを作る(基本操作)

投稿日:2018.01.12 | カテゴリー: 記事

前回は「Nextcloud」を使ってオンラインストレージを構築しました。今回は、Netcloudのユーザー作成と基本的な使い方を紹介します。
前回と同様にリモートアクセス用パソコンでWebブラウザーを起動して、「http://Ubuntu ServerのIPアドレス:8080/」にアクセスします。ログイン画面から管理者アカウントでログインします(図1)。

図1 Nextcloudのログイン画面

ラズパイ入門ボード向けソースコード集

投稿日:2018.01.10 | カテゴリー: コード

40歳から始める、オレとRubyプログラミング(vol.52掲載)

投稿日:2018.01.10 | カテゴリー: コード

著者:しょっさん

前回は、インフラ管理アプリ「Reins」の今後の方針について、「プログラムを俯瞰してリファクタリングしよう」「Reins Agentを監視できるようにしよう」「データフォーマットを標準化しよう」という三つのポイントに着目して定めました。
今回は、前回定めた方針に従って、プログラムを更新します。ただし、すべての変更点を載せるとプログラムだけでも相当な分量になりそうだったので、次の二つについてのみ、プログラムと変更点を説明します。
記事本文掲載のシェルスクリプトマガジンvol.52は以下のリンク先でご購入できます。


特集2 ラズパイ入門ボードの使い方(Vol.52掲載)

投稿日:2018.01.10 | カテゴリー: コード

著者:米田聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本特集では、このラズパイ入門ボードに関する基本的な使い方の一部を紹介します。
記事本文掲載のシェルスクリプトマガジン vol.52は以下のリンク先でご購入できます。

 

漢のUNIX サードパーティ製ライブラリを使う(Vol.52掲載)

投稿日:2018.01.10 | カテゴリー: コード

著者:後藤大地

これまでシステムに用意されている標準ライブラリだけを使ってソースコードを作成する例を取り上げてきたが、次のステップとしてサードパーティ製のライブラリを使う方法を紹介しよう。システムに標準で用意されているライブラリはすべての処理に対応しているわけではないので、特定の処理をしようと思ったらそれ向けに開発されたサードパーティ製ライブラリを利用することになる。
記事本文掲載のシェルスクリプトマガジンvol.52は以下のリンク先でご購入できます。


Open USP Tukubaiシンプルレシピ Part1 テキスト編 (後半・ルービックキューブをつくる など)

投稿日:2018.01.9 | カテゴリー: 記事

Tukubai、それはシェルスクリプトの使い易さを加速させるコマンド群。
前号では、そのオープン版“Open usp Tukubai”を紹介したが、やり残したことがあった。
豊富なレシピの紹介である。
そこで今号と次号の二回に渡り、Tukubaiの、特に実際のコーディングスタイルが分かり易いレシピを特集する。
「シェルスクリプトとは、僅かなコマンドの追加で、こんなにも応用の効く言語になるのか!」と、あなたはきっと驚くことだろう。

written by USPマガジン編集部

本記事は、USP MAGAZINE vol.5(2012年夏号)掲載記事のWEB再録記事(後半部分)です。

前半はこちら→シェルスクリプトに何でもおまかせ Open USP Tukubaiシンプルレシピ Part1 テキスト編 (前半)

本記事掲載のUSP MAGAZINE vol.5は以下リンク先でご購入できます。

 

レシピ2 ルービックキューブを作る。

問題

Tukubai はシェルスクリプトをデータベース言語化させるためだけのコマンドセットではないというが、それならもっと一般的な例は無いのか。

数理的な操作の様子が伺えるコードが見てみたい。例えば、何らかの科学技術計算を行っているプログラムであれば、それがわかりやすいと思うのだが。

解答

実際に科学技術計算にも利用しているのだが、そのような例は専門分野の知識から解説しなければならない。

そこでここでは専門分野知識の解説が不要なゲームのレシピを紹介しよう。数学パズル的要素が強いゲームであれば、数理的な操作も見え易いからだ。

■ サンプルプログラム
そこでルービックキューブ(3 × 3 のオーソドックスなもの)を作ってみた。

ルービックキューブは、立方体の一面が一つの行列に対応した6 つの行列であると見なせる。キューブを動かすと、その行列のうちの一つで± 90°回転が発生し、それに伴って隣接する4 つの面に相当する行列の一部要素が、別の行列に移動する。この動きを、シミュレートしようというものである。

UECでの解説はこちら。

リスト3.rubik-cube.func : ルービックキューブプログラム(ファイル2・関数定義)

第18回 オンラインストレージを作る(Nextcloud)

投稿日:2017.12.29 | カテゴリー: 記事

ファイルの保存ややり取りに、GoogleドライブDropboxOneDriveなどの「オンラインストレージ」サービスを利用している人も多いでしょう。オンラインストレージは、インターネット上に配置されたファイル共有サーバーです。インターネットに接続できる環境があれば、いつでもどこでもその上に保存したファイルにアクセスできます。
今回は、このオンラインストレージをUbuntu Server上に構築します。オープンソースのオンラインストレージソフトとしては「Nextcloud」が有名です。ユーザーインタフェースの見た目もよく、パソコンやスマホ向けにファイル同期用の専用クライアントソフトが用意されています。
Nextcloudはプログラミング言語「PHP」で書かれています。動かすには、WebサーバーソフトのApache HTTP Server(以下、Apache)、データベース管理システムのMySQLまたはMariaDBが必要です(図1)。

図1 Nextcloudの動作環境

Open USP Tukubaiシンプルレシピ Part1 テキスト編 (前半・帳簿を作る)

投稿日:2017.12.26 | カテゴリー: 記事

Tukubai、それはシェルスクリプトの使い易さを加速させるコマンド群。
前号では、そのオープン版“Open usp Tukubai”を紹介したが、やり残したことがあった。
豊富なレシピの紹介である。
そこで今号と次号の二回に渡り、Tukubaiの、特に実際のコーディングスタイルが分かり易いレシピを特集する。
「シェルスクリプトとは、僅かなコマンドの追加で、こんなにも応用の効く言語になるのか!」と、あなたはきっと驚くことだろう。

written by USPマガジン編集部

本記事は、USP MAGAZINE vol.5(2012年夏号)掲載記事のWEB再録記事(前半部分)です。

後半は2018年1月9日に公開予定です。

本記事掲載のUSP MAGAZINE vol.5は以下リンク先でご購入できます。

準備 Tukubaiを知り、そして始める。

Tukubai は、シェルスクリプトをプログラム開発言語として本気で使うべく作られたコマンド集だ。これを制作したUSP 研究所は実際に、Tukubai を用いて様々な業務システムの開発や開発支援を行っている。
2012 年2 月、このうち使用頻度が高いもの中心に選ばれ、オープンソースとして公開された。それがOpen usp Tukubai である。

シェルスクリプトで開発するのはなぜか

■ なぜシェルスクリプト?
意外に思うかもしれないが、シェルスクリプトは上手に使えば、C 言語並のハイパフォーマンスなプログラムを、C 言語より遥かにラクに作れる。
ヒミツは、Unix システムコールやライブラリーの殆ど素の能力を、Unix シェル自身やコマンド(cat, sed, awk, grep 等々……の馴染みのもの)から直接使える点にある。
Unix システムコールやライブラリーはカーネルに直結しており、コンピューターの本気の性能や堅牢性の恩恵に預かれるのだ。Unixシェルはいわばその上に被さる薄い皮。だから、使わない手はない。

■ なぜTukubai?
しかし、実際の業務アプリケーションやWeb アプリケーションを作ろうとすると、そこで頻出する処理を簡単にやってくれるコマンドがなかなか無い。一般的にシェルスクリプトが開発言語として利用されない理由もここにある。そこを補うべく作られたものがTukubai というわけだ。
本特集では、Tukubai を使うと、どんなことができて、それはどんなふうに書けるかということがわかるレシピを紹介しよう。

第17回 ブログサイトを作る(ユーザー追加と記事投稿)

投稿日:2017.12.22 | カテゴリー: 記事

今回は、WordPressで構築したブログサイトへのユーザー追加と記事投稿の方法を紹介します。ユーザーの種類(ロール、役割)は「購読者」「寄稿者」「投稿者」「編集者」「管理者」の5種類に分かれています(図1)。

図1 WordPressのユーザーロール

それぞれのユーザーは、自分専用の管理画面を持つことができ、それぞれの権限においてプロフィールの変更、記事の投稿、寄稿記事の査読や公開、システムの運用管理などが可能です。

第16回 ブログサイトを作る(メール配信)

投稿日:2017.12.15 | カテゴリー: 記事

前回は、オープンソースのブログソフト「WordPress」をインストールしてブログサイトを構築しました。このWordPressでは、メールを使って各種情報を通知します。そこで使い始める前に、Ubuntu ServerにSMTP(Simple Mail Transfer Protocol)サーバーをインストールして、米Google社のフリーメールサービス「Gmail」経由で通知メッセージを配信する環境を構築します(図1)。

図1 メール配信機能を追加する

第15回 ブログサイトを作る(WordPress)

投稿日:2017.12.8 | カテゴリー: 記事

今回は、今まで紹介したWebサーバーソフト「Apache HTTP Server」(以下、Apache)とデータベース管理システム(DBMS)「MariaDB」、フリーのブログソフト「WordPress」を組み合わせてブログサイトを構築します(図1)。

図1 WordPressでブログサイトを構築する

WordPressは人気が高い、フリーのブログソフトです。プログラミング言語の「PHP」で開発されています。サードパーティー製など、さまざまなプラグイン(アドオンソフト)が提供されていて、機能拡張が簡単にできます。実は、シェルスクリプトマガジンのサイトもWordPressを使っています。ここでは2017年11月21日に公開されたバージョン4.9ではなく旧版を利用していますが、バージョン4.9でも手順は同じです。

第14回 データベースを作る(権限)

投稿日:2017.12.1 | カテゴリー: 記事

前回は、データベース管理システム(DBMS)「MariaDB」のデータ操作方法を紹介しました。今回はユーザーを登録し、そのユーザーに対してデータベースやテーブルの各種操作権限を設定します。
MariaDBの初期状態では、管理者となる「root」しか登録されていません。このrootユーザーならMariaDBのすべての操作が可能ですが、rootだけでMariaDBを運用するのはセキュリティ上問題です。
MariaDBには、Ubuntu ServerなどのOSに関係ない専用のユーザーを複数登録できます。このユーザーごとに、データベースやテーブルへの各種操作に対する許可や禁止を設定できます(図1)。

図1 データベースやテーブルに対してユーザーごとに各種操作権限を設定できる

Vol.51

投稿日:2017.11.25 | カテゴリー: バックナンバー

超小型パソコンや電子工作など、さまざまな用途に活用できるシングルボートのコンピュータ「Raspberry Pi」(ラズベリーパイ)。特集では、簡単な電子回路の作り方、ラズパイから電子回路をシェルスクリプトで制御する方法を初心者にも分かりやすく紹介しています。
ITトークイベント「TechLION」では、セキュリティエンジニアの雄、辻伸弘さん・根岸征史さん、そしてめったに人前に出ないpiyokangoさんが、セキュリティ業界のトレンドと情報発信について語ります。
マイコン「Arduino」で鉄道模型を動かしてみたり、連載「機械学習のココロ」ではベイズモデリングを紹介したりなど、盛りだくさんの内容になっています。

今月も読み応え十分のシェルスクリプトマガジン Vol.51。お見逃しなく!

※読者アンケートはこちら

シェルスクリプトマガジンvol.51 Web掲載記事まとめ

投稿日:2017.11.24 | カテゴリー: 記事

 

シェルスクリプトマガジンvol.51のWeb掲載部分まとめです。
アンケートページはこちら!
06 特集 シェルスクリプトではじめるRaspberry Pi電子工作入門/麻生二郎  コード掲載
20 法林浩之のFIGHTING TALKS/法林浩之
22 TechLION再録「セキュリティエンジニアっておいしいの?」/ゲスト:辻伸弘、根岸征史、piyokango MC:法林浩之、馮富久
27 姐のBENTO
28 コボラーによるコボラーのためのユニケージ入門 COBOLからの移行/野村祐三
34 中小企業診断士が解説する、超実践的な会話術! 円滑コミュニケーションが世界を救う! /濱口誠一
36 香川大学SLPからお届け! マイコンボードArduinoで鉄道模型を動かしてみる/太田圭祐   コード掲載
40 人間とコンピュータの可能性/大岩元
42 アジャイル開発 Let’ Practice! スプリントビュー/熊野憲辰
46 中小企業手作りIT化奮戦記 TCP/IP通信の仕組み・ルーティング/菅雄一
54 バーティカルバーの極意 ハノイの塔をシェルスクリプトで解く/飯尾淳 コード掲載
58 ライブラリ/桑原滝弥・イケヤシロウ
60 機械学習のココロ ベイズモデリング入門/石井一夫
65 スズラボ通信 Raspberry Pi 3で湿温度計サーバを作ってみた/すずきひろのぶ コード掲載
70 ITエンジニアのためのマーケティング入門 デジタルマーケティング その3/水間丈博
74 それプロのエバンジェリストから愛をこめて/山本美穂
77 漢のUNIX テストフレームワークkyua その3/後藤大地  コード掲載
86 ユニケージ開発手法コードレビュー/鮎瀬伊矩磨  コード掲載
92 40歳から始める、オレとRubyプログラミング/しょっさん  コード掲載
100 Techパズル/gori.sh
102 IT業界の悪しき慣習/シェル魔人

シェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

第13回 データベースを作る(データの操作)

投稿日:2017.11.24 | カテゴリー: 記事

前回は、データベース管理システム(DBMS)「MariaDB」内にデータベースとテーブルを作成しました。今回は問い合わせ言語「SQL」を使って、テーブル内にデータを挿入し、検索、削除、更新をするデータ操作方法を紹介します(図1)。前回作成した「personal」データベースと「roster」テーブルを引き続き利用します。

図1 データベースの操作

スズラボ通信 36 湿温計サーバを作ってみた(2)(本誌vol.51掲載)

投稿日:2017.11.22 | カテゴリー: コード

著者:すずきひろのぶ

前回は、温湿センサーモジュールAM2320 をRaspberryPi 3 ( 以下 RPi3)に接続しI2C ( アイ・スクエアード・シー)からデータを取得しデータベースに登録していくまでのプログラムを作成しました。今回は、データベースをアクセスし表示するWeb アプリケーションを作成します。

記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

Hello World

 

hello again

 

“,row[1],” “, temp/10.0, ” “,hum/10.0,”

\r\n”
end
db.close
print “\n

以下はvol.50掲載コードのおさらいです。

以下は本誌に公開されていないお楽しみコードです。どうぞご利用ください。

 


 

 

 

ユニケージ開発手法 コードレビュー vol.40(本誌vol.51掲載)

投稿日:2017.11.22 | カテゴリー: コード

著者:鮎瀬伊矩磨

今回はユニケージ開発において、ウェブブラウザ上で住所などを選択する際に用いるドリルダウン機能のスクリプトを紹介します。

記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

香川大学SLPからお届け!(vol.51掲載)

投稿日:2017.11.22 | カテゴリー: コード

著者:太田圭祐

イタリアで生まれたマイコンボードArduinoで鉄道模型を動かしてみる

こんにちは。香川大学工学部 学部3 年生の太田です。高校時代にArduino と出会い、L チカやモータの制御などをして遊んできました。今回、記事を書くにあたり、改めてArduinoと向き合ってみました。
Arduino では、ハードウェアの上で動作するソフトウェアの開発用にC/C++ 言語ベースのシンプルなArduino 言語を採用しています。そのためC 言語を使っている人にとって、とても馴染みやすい文法を持っています。更に、開発環境が無料で提供されていることから、ハードウェアプログラミングの学習を始めやすいこともArduino の特徴です。
今回はこのArduino を用いて、鉄道模型を実物同様に加減速制御するコントローラを作っていきましょう。

記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

第12回 データベースを作る(テーブル作成)

投稿日:2017.11.17 | カテゴリー: 記事

前回、Ubuntu Serverにデータベース管理システム(DBMS)「MariaDB」をインストールしました。今回は問い合わせ言語「SQL」などを使って、MariaDB内にデータベースやテーブルを作成する方法を紹介します。

データベースとテーブル

最初に「データベース」という器を用意します。その中に表形式でデータを格納する「テーブル」を作成します(図1)。これで、MariaDB内にデータを管理できる環境が整います。

図1 データベースとテーブル

データベースは目的やシステムごとに用意します。一つのMariaDB内に複数のデータベースを作成できます。テーブルは、Microsoft Excelで作った表のように管理するデータ単位で用意します。データベース内には複数のテーブルを配置できて、それらを関連付けることができます。
それでは、データベースとテーブルを作りましょう。例として、一つのテーブルで氏名、フリナガ、年齢のデータを管理する個人情報データベースを構築します。

40歳から始める、オレとRubyプログラミング(vol.51掲載)

投稿日:2017.11.13 | カテゴリー: コード

著者:しょっさん

 急に寒くなりましたね。雨も降り続いていて、寒い寒いと思っていたら、台風まで来ました。まったく外へ出られるような天候ではありません。こうなったら仕方ありません。家に引きこもってプログラミングはいかがですか。それでは、今月もがんばっていきましょう。

記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

漢のUNIX テストフレームワームKyua その3(Vol.51掲載)

投稿日:2017.11.13 | カテゴリー: コード

著者:後藤大地

 前回はコマンド開発目的で利用できるテストフレームワーク「Kyua」(https://github.com/jmmv/kyua(https://github.com/jmmv/kyua)で、実際にどのようにデプロイして開発に利用していけばよいのかを解説した。また、make(1) の仕組みを使い、どのディレクトリにいてもmake test でテストが実行されるようにして、テストと開発を同時に進める方法についても説明した。
 今回は具体的にどんな手段で実際のコーティングとテストを実施していくのかを紹介する。
記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

バーティカルバーの極意 第五回(vol.51掲載)

投稿日:2017.11.13 | カテゴリー: コード

著者:中央大学 教授 飯尾淳

秋の夜長はパズルで頭のトレーニングなんていかがでしょう?今回のバーティカルバーは、3本の縦棒に登場してもらいます。3本の棒を備えた「ハノイの塔」というパズルです。皆さんも、名前くらいは聞いたことがあるのではないでしょうか。そのパズルをシェルスクリプトで解いていくことを考えます。

記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

特集 シェルスクリプトではじめる Raspberry Pi電子工作入門(Vol.51掲載)

投稿日:2017.11.13 | カテゴリー: コード

著者:麻生 二郎

パソコン、IoT(モノのインターネット)など、さまざまな用途に活用できるシングルボートのコンピュータが「Raspberry Pi」(ラズベリーパイ)です。このRaspberry Piは、Linuxコマンドを組み合わせた「シェルスクリプト」を知っていればいろいろと楽しめます。発光ダイオード(LED)、押しボタンスイッチ、型液晶パネル(LCD)の電子パーツと、簡単なシェルスクリプトを利用してRaspberry Piの電子工作を始めましょう。
記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。

第11回 データベースを作る(MariaDB)

投稿日:2017.11.10 | カテゴリー: 記事

コンピュータでデータを管理する仕組みとして「データベース」があります。サーバー内にデータベースを構築すれば、大量のデータを蓄積してその中から必要なデータだけを検索して容易に取り出すことができます(図1)。

図1 データを蓄積・管理できる「データベース」

今回は、このデータベースを管理するソフトウエア「データベース管理システム」(DataBase Management System、DBMS)をUbuntu Serverに導入します。

vol.50 掲載「中小企業手作りIT化奮戦記」訂正情報

投稿日:2017.11.7 | カテゴリー: 記事

本誌40ページの以下の写真に関して「10Base5規格のLAN」として紹介しましたが、正しくは「10Base2規格のLAN」でした。

この場にて訂正させていただくとともに、読者の皆様には謹んでお詫びいたします。

 

シェルスクリプトマガジン編集部

 

第10回 インターネットに公開する

投稿日:2017.11.2 | カテゴリー: 記事

Linuxで構築できるサーバーの多くは、インターネットに公開することを前提としています。ただ、通常の企業ではシステム管理者が社内のネットワークを管理していてセキュリティなどの理由から簡単にサーバーを公開させてくれません。自宅でもセキュリティは重要ですが、それさえ注意すればブロードバンドルーターの設定を変更して比較的簡単にサーバーをインターネットに公開できます。
そこで、今回は自宅のLAN環境でサーバーをインターネットに公開する方法を紹介します。

2種類のインターネット公開方法

自宅内に設置したサーバーをインターネットに公開する場合、外部からブロードバンドルーター(以下、ルーター)経由でサーバーにアクセスできるように設定します。その設定は、2種類存在します。「DMZ」と「ポートフォワーディング」を利用する方法です。

DMZとは

DMZは「DeMilitarized Zone」(非武装地帯)の略で、ルーターで守られていない領域です。通常インターネットからのアクセスは、ルーター内側のネットワーク機器への応答でない限り、ルーターの入り口で遮断されます。そのため、サーバーに届けることはできません。
DMZにサーバーを配置すると、それらのアクセスはすべてサーバーに届けられます(図1)。このようにしてサーバーをインターネットに公開します。

図1 DMZによるサーバー公開

なお、さまざまなアクセスがサーバーにそのまま届くので、サーバー自身でセキュリティ対策をしっかりとしておかないといけません。サーバーの運用管理としてはとても勉強になりますが、セキュリティ対策に詳しくないと危険です。最低限のセキュリティ対策だけ施してすぐにサーバーを公開したい場合は次のポートフォワーディングを利用するのがよいでしょう。

ポートフォワーディングとは

ポートフォワーディングは、インターネット側の特定ポートを、ルーター内側のネットワーク機器のポート(任意)に割り当てる機能です。そのポートへアクセスされた場合、ルーターがそれをサーバーに転送します(図2)。サーバーソフトごとに利用するポートが決まっていますので、公開前にあらかじめポート番号を調べておきます。

図2 ポートフォワーディングによるサーバー公開(80番ポートのみ)

ポートフォワーディングでは、サーバー自体はルーターが守りますから、セキュリティ対策はアクセスを許可しているサーバーソフトに対してだけで構いません。

第9回 Webサーバーを作る(アプリを動かす)

投稿日:2017.10.27 | カテゴリー: 記事

前回は、WebサーバーソフトのApache HTTP Server(以下、Apache)をインストールし、動作に重要なファイルやディレクトリーの役割を説明しました。今回は、簡単なWebアプリケーションを作成して、Apache上で動かしてみます。

Webアプリケーションについて

インターネットで動いているほとんどのWebサイトでは、動的にページを生成するためのWebアプリケーションが動作しています。このWebアプリケーションはさまざまな言語で作成できます。また、動かす方法もたくさん用意されています。
古くからある、Webアプリケーションを動かす仕組みとして「CGI」(Common Gateway Interface)があります。CGIなら、特別な仕組みを必要とせずにApacheでWebアプリケーションを動作できます(図1)。

図1 CGIプログラムならApacheだけでWebアプリが動く

ちなみに、CGIを利用するプログラムを「CGIプログラム」と呼んでいます。インターネット上ではPerlで記述したCGIプログラムをよく見かけますが、標準入出力や環境変数などを利用できるプログラミング言語ならどのようなものでも構いません。本連載では、シェルスクリプトでCGIプログラムを記述します。

会社の価値を生むのは、外注先ではなくて会社自身! 「システム内製化シンポジウム」 レポート

投稿日:2017.10.20 | カテゴリー: 記事

システム内製化を推進・検討している企業を対象にした「システム内製化シンポジウム」が、2017年10月18日にユニバーサル・シェル・プログラミング研究所主催で開催された。

システム内製化シンポジウムの講演風景

デジタル化時代を迎えた現在、ITシステムに求められるものは時代のニーズに俊敏に応え、ビジネスPDCAを回せるシステムである。この要請に応えられるITシステム開発のキーとなる「内製化」について、トレンド研究や事例を通して共に考えていくシンポジウムとなった。

 

最初の講演は、元日経コンピュータ編集長であり現日経BP総合研究所・主席研究員の谷島宣之氏による「なぜ今システム内製か ~損得と実現性をとことん考える~」。

IT関係者に広く読まれてきた連載「動かないコンピュータ」を長年担当し、動かないコンピュータ撲滅のための10カ条をまとめるなど、ITシステム開発に造詣の深い谷島氏は、システム内製の「得」として、

・企業優位につながり、状況に応じて業務とシステムを改善し続けられる高い価値

・業務を知っている人の参画による低コスト

・自分の業務が自分で改善できる楽しさ

を挙げた。

第8回 Webサーバーを作る(Apache)

投稿日:2017.10.20 | カテゴリー: 記事

今回はインターネットの定番といえるWebサーバーを構築します。Linuxで動作するWebサーバーソフトはいくつかあります。最もシェアが大きく多機能な「Apache HTTP Server」、低リソースでも高速に動作する「nginx」(エンジンエックス)、HTTP/2のプロトコルに標準対応した「H2O」などです。ここでは、これらの中からApache HTTP Server(以下、Apache)を扱います(図1

図1 Apache HTTP ServerによるWebサーバー

Vol.50

投稿日:2017.10.19 | カテゴリー: バックナンバー

メインフレームやオフコンからUnix/Linuxシステムへの移行時に課題になるのが、事務処理用プログラミング言語「COBOL」(Common Business Oriented Language)で書かれたプログラム――。今号より開始した新連載「コボラーのためのユニケージ入門」では、Unix/Linuxシェルベースの開発手法「ユニケージ」によるスムーズな移行方法を紹介していきます。
また、連載「それプロのエバンジェリストから愛をこめて」では、この秋に登場する、Windows 10大型アップデート「Fall Creators Update」に含まれるLinux環境「Windows Subsyetem for Linux」(WSL)に注目。その概要を分かりやすく解説しています。
さらに、いつもユニークな実験を行う連載「スズラボ実験室」では、Raspberry Pi(ラズパイ)に温湿度センサーを接続し、Rubyプログラムを使って温度と湿度をデータベースに記録する方法を紹介しています。
このほか、scikit-learnの概要を紹介する連載「機械学習のココロ」など、盛りだくさんの内容になっています。

今月も読み応え十分のシェルスクリプトマガジンvol.50。お見逃しなく!

第7回 ファイルサーバーを作る(Samba)

投稿日:2017.10.13 | カテゴリー: 記事

今回からいくつかのサーバーを構築していきます。まずは、最も身近なファイルサーバーです。ファイルサーバーを構築するソフトとしては「Samba」があります(図1)。

図1 Sambaによるファイルサーバー

このSambaは、Windowsのファイルサーバーと互換性があり、NTドメインやActive Directoryにも対応しています。手早く使いたいなら、ワークグループのファイルサーバーとして動かすとよいでしょう。

第6回 リモートアクセス環境の構築(ホストベース認証)

投稿日:2017.10.6 | カテゴリー: 記事

前回はリモートアクセス環境でファイルを簡単にやり取りする方法を説明しました。今回は、リモートアクセス環境の最後として、特定のパソコンのみリモートアクセスを可能にする方法を紹介します。

ホストベース認証を利用する

ネットワークにつながったどのパソコンからでもユーザー名とパスワードだけでサーバーにリモートでアクセスできると便利です。しかし、多くのユーザーが接続されたネットワーク環境の場合はセキュリティ上不安です。特にインターネットからリモートアクセスを許可するには、第三者からの不正侵入などに備えなくてはいけません。
そこで「ホストベース認証」という方法を用います。連載第4回でSSHでは公開鍵暗号の方式を利用していると説明しました。サーバー側の公開鍵をリモートアクセス用パソコンが受け取り、その鍵と、ペアとなる鍵(秘密鍵)を使ってお互い暗号化することで通信できると解説しました。ホストベース認証では、パソコン側に秘密鍵、サーバー側にペアとなる公開鍵を配置します。パソコン側の鍵がサーバー側の公開鍵とペアでない限り、アクセスが許可されません(図1)。

図1 ホストベース認証によるアクセス許可/禁止

第5回 リモートアクセス環境の構築(ファイルの送受信)

投稿日:2017.09.29 | カテゴリー: 記事

前回はUbuntu Serverにリモートからアクセスする環境を構築しました。これでコマンドによる操作が可能になりました。今回は、Ubuntu Serverとリモートアクセス用パソコンとの間でファイルをやり取りする方法を紹介します。

SFTPやSCPでファイルを送受信する

Ubuntu Server内でSSHサーバーが稼働していれば、ファイル転送の「SFTP」(Ssh File Transfer Protocol)や、ファイルコピーの「SCP」(Secure CoPy)でファイルを送受信できます。ただし、リモートアクセス用のパソコン側にSCPやSFTPに対応したクライアントソフトが必要です。
Tera TermもSCPに対応しているため、SCPによるファイルの送受信ができますが使いやすいとはいえません。Windowsの場合、「WinSCP」という無料ソフトがあります。このソフトだと、ファイルやフォルダーをドラック&ドロップするだけで送受信が可能です。
WinSCPの公式サイトにあるダウンロードページの「Installation package」リンクをクリックし、WinSCPのインストーラーファイル(2017年9月28日時点の最新版は「WinSCP-5.9.6-Setup.exe」)を入手して導入してください(図1)。

図1 WinSCPのインストーラー画面

シェルスクリプトマガジンvol.50 Web掲載記事まとめ

投稿日:2017.09.25 | カテゴリー: 記事

 

シェルスクリプトマガジンvol.50のWeb掲載部分まとめです。

04 コボラーによるコボラーのためのユニケージ入門「COBOL入門」/野村祐三
12 TechLION再録「愛されコミュニティの作り方」/ゲスト 小島英揮・牧大輔・星野邦敏・平井則輔 MC 法林浩之・馮富久
18 アジャイル開発 Let’ Practice! 「アジャイル開発の本質」/熊野憲辰
22 スズラボ通信「Raspberry Pi 3 で湿温度計サーバを作ってみた」/すずきひろのぶ コード掲載
28 法林浩之のFIGHTING TALKS/法林浩之
30 機械学習のココロ「Scikit-learnを使ってみよう」/石井一夫
35 中小企業手作りIT化奮戦記「MACアドレス、データリンク層とデフォルトゲートウェイ」/菅雄一 訂正情報
42 人間とコンピュータの可能性/大岩元
44 漢のUNIX「テストフレームワークkyua その2」/後藤大地 コード掲載
52 姐のBENTO
54 中小企業診断士が解説する、超実践的な会話術! 円滑コミュニケーションが世界を救う! /濱口誠一
56 それプロのエバンジェリストから愛をこめて「WSL秋の更新をチェック! 」/山本美穂
60 ITエンジニアのためのマーケッティング入門「デジタルマーケティング その2」/水間丈博
65 ユニケージ開発手法コードレビュー/湯本豊 コード掲載
70 バーティカルバーの極意/飯尾淳 コード掲載
78 詩「たっちすくりーん」/桑原滝弥・イケヤシロウ
80 香川大学SLPからお届け! 「フレームワークPhoenixを触ってみる 後編」/清水赳(香川大SLP) コード掲載
84 40歳から始める、オレとRubyプログラミング #20/しょっさん コード掲載
92 UNIXネイティブの電子工作塾/大野浩之 コード掲載
96 Techパズル/gori.sh
98 幼稚さと甘やかしからの脱却は可能か/シェル魔人

 

シェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

UNIXネイティブの電子工作塾 vol.50掲載

投稿日:2017.09.23 | カテゴリー: コード

著者:金沢大学 教授 大野浩之

 さて、少し間があいてしまいましたが、UNIX ネイティブの電子工作塾 e-Badge 篇第3 回です。
 この記事で本連載を初めて目にした方もいらっしゃると思いますので、今回に至る経緯を振り返ってみましょう。

https://github.com/shmag/gc4unix 上のコードもご参照ください(編集部)

本記事掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

香川大学SLPからお届け!(vol.50掲載)

投稿日:2017.09.23 | カテゴリー: コード

著者:清水赳(香川大学SLP)

Elixir製のWebアプリケーションフレームワーク Phoenixを触ってみる 後編

こんにちは。香川大学工学部 学部3 年の清水です。今回は、前回に引き続き、Elixir 製のWebアプリケーションフレームワーク Phoenix を紹介します。Elixir はRuby によく似た文法を持っています。更にPhoenix は、MVC
フレームワークを採用するなど、Ruby on Rails に大きく影響を受けています。その他にも影響を受けた点は多く、非常に近い感覚でコーディングが行えます。
前回はPhoenix の紹介として、モデルが1 つだけの簡単な掲示板アプリケーションを作成しました。今回はもう一歩踏み込んでみます。自分の蔵書を管理できるアプリケーションを作りながら、2 つ以上のモデルを関連付ける方法を紹介します。

記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

<%= for book <- @books do %>   <% end %>

<%= book.title %> <%= link ” 削除”, to: book_path(@conn, :delete,book.id), method: :delete %>

蔵書の新規登録

<%= form_for @book, book_path(@conn, :create), fn f ->%>

タイトル <%= text_input f, :title, placeholder: ” タイトル”,class: “form-control” %>

 

ISBN <%= text_input f, :isbn, placeholder: “ISBN”, class:”form-control” %>

 

蔵書の場所 <%= text_input f, :store_loc, placeholder: ” 蔵書の場所”, class: “form-control” %>

 

<%= select f, :genre_id, @genre %>

 

<%= submit ” 登録” %>

<% end %>

<%= for genre <- @genres do %>   <% end %>

<%= genre.name %> <%= link ” 削除”, to: genre_path(@conn, :delete, genre.id), method: :delete %>

 

ジャンルの作成

<%= form_for @genre, genre_path(@conn, :create), fn f-> %>

<%= text_input f, :name, placeholder: ” ジャンル名”,class: “form-control” %>

 

<%= submit ” 作成” %>

<% end %>

ユニケージ開発手法 コードレビュー vol.39(本誌vol.50掲載)

投稿日:2017.09.23 | カテゴリー: コード

著者:湯本豊

今回は、固定長ファイルの変換について説明します。

記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

スズラボ通信 35 (本誌vol.50掲載)

投稿日:2017.09.23 | カテゴリー: コード

著者:すずきひろのぶ

今回はRaspberry Pi 3 ( 以下 RPi3 ) で湿温度計サーバを作ってみました。製作目標は次の通りです。
1. 湿温センサーから湿度と温度の値を取り込む。
2. その値をデータベースに記録する。
3. Web インタフェースで過去の情報や変化などにアクセスできるようにする。
IoT 的な例題としてはちょうどいいサイズの内容です。

記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

バーティカルバーの極意 第四回 (vol.50掲載)

投稿日:2017.09.23 | カテゴリー: コード

著者:中央大学 教授 飯尾淳

今回のテーマは、前回に引き続き、自然言語処理を応用したデータ分析です。サンプルデータの距離 | x | を利用してクラスタリングを行います。近い距離にあるデータを樹形図でまとめ、デンドログラムに表します。
さて、前回の記事では、インターネットのコラム記事をまとめてダウンロードし、各記事のファイル名を扱いやすい形式に変更するところまで説明しました。
今回は、そのデータから必要な部分を切り出してテキストファイルに変換、変換したデータを形態素解析で分析します。形態素解析の結果から単語を抽出し、出現頻度ベクトルを求めてデータ間の距離を計算します。最終的な成果物はその距離に基づいたデンドログラムです。そのデンドログラム上で最後にスパッとバーティカルバーを引くことで、データのクラスタリングが完成します。
はてさて、適切に分類することはできたでしょうか。

前回記事掲載コードもご参照ください(編集部)

記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

 

第4回 リモートアクセス環境の構築(SSHとターミナルマルチプレクサー)

投稿日:2017.09.22 | カテゴリー: 記事

前回サーバーの初期設定までを終えたので、今回は普段使っているパソコンからUbuntu Serverを操作するためのリモートアクセス環境を構築します。リモートアクセスの通信には「SSH」(Secure Shell)を利用します。このSSHではクライアントとサーバー間で通信内容を暗号化できます。そのため、盗聴などを防ぐことが可能です(図1)。

図1 SSHによる暗号化通信

SSHサーバーを導入・起動する

本連載でインストールしたUbuntu Serverには、SSHサーバーが導入されていません。Ubuntu Serverをインストールしたパソコンの電源を投入してログインしたら、次のコマンドを実行します。

最初の二つは前回も実行しましたが、英語表示に切り替えるコマンドと、パッケージ情報を更新するコマンドです。最後がSSHサーバーを含む関連パッケージをインストールするコマンドになります。
インストール完了後に、SSHサーバーが自動で起動します。これでリモートからの操作が可能になり、少し使いづらかったUbuntu Serverの(端末)画面を直接操作せずに済みます。

40歳から始める、オレとRubyプログラミング(vol.50掲載)

投稿日:2017.09.20 | カテゴリー: コード

著者:しょっさん

 梅雨も明けて、さぁ夏本番、と思ったら雨がしとしと続く2017年夏です。梅雨が戻ってきたかのようですね。夏場は暑いから外出は控えてきたものですが、今年は、雨で外に出られない涼しい夏を過ごしています。こんな時は、部屋に引きこもってプログラミングですね。体調崩さないよう、今回も頑張ってプログラムを学んでいきましょう。
記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

漢のUNIX テストフレームワームKyua その2(Vol.50掲載)

投稿日:2017.09.20 | カテゴリー: コード

著者:後藤大地

 前回はコマンド開発においてテストフレームワークを使うことの重要性を説明するとともに、そうした目的で利用できるフレームワークとして「Kyua」(https://github.com/jmmv/kyua)を紹介した。Kyuaは、特にコマンドの動作チェックに適したフレームワークなので、この連載で取り上げるには最適なものの一つといえる。
 こうしたテストフレームワークを活用してコマンドを開発していくには、最初に開発用の場所をちゃんと用意しておく方がよい。あとからフレームワークを導入しようとしても中途半端なものになったり、面倒くさくなって使わないままになったりするからだ。コーディングの初期段階からKyauを利用できる状況にしておくことで、シームレスにテストフレームワークを利用しながら開発を進めることができる。
 今回はそうしたテストフレームワークを活用した開発を実現できるように、どのようにディレクトリやファイルを配置し、初期段階からテストを取り込んだ開発をどのように実施していくのかを説明する。

記事本文掲載のシェルスクリプトマガジンvol.50は以下リンク先でご購入できます。

第3回 Ubuntuの導入(アップデートと初期設定)

投稿日:2017.09.15 | カテゴリー: 記事

パソコンの電源を投入して、前回インストールしたUbuntu Serverを起動します。インストール時に設定したユーザー名とパスワードを入力してログインします(図1)。ログインできたら、Ubuntu Serverのアップデートと初期設定を実施しましょう。

図1 ログインした画面

日本語の文字化けを直す

図1のログインした画面を見てみると、「◆」になっている箇所があります。これは日本語が正しく表示されていないのが原因です。次のコマンドを実行して、一時的に英語表示に変更します。一時的にした理由は、次回説明するリモートアクセス環境なら日本語を正しく表示できるからです。

上のコマンドでは「LANG」という言語の環境変数に、デフォルトのロケール(言語や地域を表すもの)である「C」を代入しています。デフォルトのロケールは英語圏なので英語表示に切り替わります。「export」はコマンドで、プロンプトから実行するすべてのコマンドに対してこの環境変数を適用します。

もしインターネットの1秒が1年だったら 第3回(vol.49掲載)

投稿日:2017.09.12 | カテゴリー: 記事

written by hakatashi・Mine02C4

編注:本記事は「SunPro 2016 技術書典」で発表された記事に説明・イラストを追加し、シェルマガvol.49に掲載したものです。
以下リンク先で、オリジナル版の全文が公開されています。
https://sunpro.io/techbookfest/

インターネットが日本中のあらゆる人間に行き渡るようになってから、すでに10年単位の時間が経過しています。今日においてインターネットを支えるネットワーク技術が重要であることは言うまでもありませんが、実際にネットワークでどのタイミングで何が起こり、どれくらいの時間が費やされるのかということを身を持って体感している人は、たとえネットワークに精通している人でも少ないのではないでしょうか? この記事では、1 秒というわずかな時間を1年にまで拡大し、ネットワーク上で何が起こっているかを人間スケールでざっくりと解説していきます。

はじめに

こんにちは。博多市(@hakatashi) です。前回、前々回に引き続き、2016年の技術書典にて発表した「インターネットの1 秒がもし1 年だったら」という記事を、シェルスクリプトマガジン向けに再構成してお届けします。この記事は、インターネット通信においてクライアントがサーバーとコミュニケーションする様子を、1秒を1年というスケールに引き伸ばし、クライアントとサーバーをそれぞれ「クライアントちゃん」と「サーバーちゃん」として、人間スケールに置き換えて順に見ていこうという企画です。
前回まで記事では、長くて面倒なTLSハンドシェイクの手続きを終え、サーバーちゃんとクライアントちゃんの間で暗号通信を行うための準備が完了しました。これで本題となる通信の内容を送るための用意は終了し、いよいよインターネットを通した2人の文通が始まります。クライアントちゃんにとっては100日以上も待ち続けた念願のやり取りです。果たして2人は無事に文通を行い、そして年内に終了することができるのでしょうか。引き続きお楽しみください。

サーバーちゃん   クライアントちゃん

HTTPリクエストとレスポンス

4月19日 午前9時26分 HTTPリクエスト送信

1ヶ月半に渡るやりとりによって、サーバーちゃんとクライアントちゃんとの間で暗号通信を行う準備が整いました。もはや2 人の世界を妨げるものは何もありません。これで少々神経過敏なクライアントちゃんも安心してサーバーちゃんに質問を投げかけることができます。
HTTPは、原則としてクライアントがサーバーに対してリクエストを投げて、サーバーがそれに対する応答を返すという、先程までのTCPハンドシェイクやTLSと比べてシンプルな仕組みで動作します。ネットワークの中でもかなり高レイヤーなプロトコルなので、リクエストの内容やヘッダーはプレーンテキストで表現され、人間が見てそのまま理解しやすいようになっています。
今回はクライアントアプリケーションとしてcURLを用いたので、HTTPバージョン1.1のシンプルなGETリクエストでパケットを送信しました。
クライアントちゃんは勇気を振り絞って、年が明けてからずっと聞きたかったことを質問しました。その内容はヘッダも含めて4行、文字数に直すと99バイトですが、TLSで暗号化することによって130バイト、イーサネットフレーム全体では184バイトと、実際に転送される情報としては倍近くになりました。ハガキは裏面しか使えませんからね。

 

4月28日 午前9時27分 HTTPリクエスト受信

クライアントちゃんから暗号化された秘密の手紙が届きました。サーバーちゃん側から見ても、最初にSYNパケットを受け取ってから2ヶ月という時間が経過しています。その間、Webサーバーとしての諸々の雑務をこなしながら、クライアントちゃんからの手紙を待ち続けていました。HTTPリクエストを受け取ったサーバーは、その内容を元にリクエストの解釈を行い、文脈に応じて何らかの適切な応答を返します。今回の測定ではデフォルトのApacheへのリクエストだったので、GETリクエストはシンプルにファイルの内容を取得するという処理となります。 手紙の内容を見て、さっそくサーバーちゃんは部屋の中(=ファイルシステム) から目的のデータを探し始めました。サーバーちゃんはファイルサーバーなので、探しものはお手のものです。

「アレでもない、コレでもない。どこいったの?!」

第2回 Ubuntuの導入(Ubuntu Serverのインストール)

投稿日:2017.09.8 | カテゴリー: 記事

まず、サーバーに利用するパソコンを用意します。Linuxサーバーを試すだけなら、高機能なものは必要ありません。メモリーが1Gバイト、ハードディスクドライブ(HDD)などの内蔵ストレージが100Gバイト程度搭載していればよいでしょう。なお、内蔵ストレージの中身が消えてしまっても構わないパソコンにしてください。
前回DVD-RやUSBメモリーで作成したインストールメディアを、用意したパソコンに挿入する前に、パソコンのファームウエアでDVD-Rの場合は光学ドライブから、USBメモリーの場合はUSBデバイスから優先的に起動するように設定しておきます。

Ubuntu Serverのインストール

パソコンにインストールメディアを挿入し、ネットワークケーブルを接続してインターネットにつなげられる状態にしたら、パソコンの電源を投入します。パソコンのファームウエアがBIOSとUEFIでは起動画面が異なります。BIOSの場合は、図1の言語選択画面になります。カーソルキーと[Enter]キーを使って「日本語」を選んでください。

図1 言語選択画面(BIOSの場合)

図2の画面で「Ubuntu Serverをインストール」を選択してインストーラーを起動します。

図2 インストーラーを起動する(BIOSの場合)

シェルスクリプトマガジンvol.47 Web掲載記事まとめ

投稿日:2017.09.5 | カテゴリー: 記事

シェルスクリプトマガジンvol.47のWeb掲載部分まとめです。

4 バーティカルバーの極意/飯尾淳 コード掲載
8 もしインターネットの1秒が1年だったら/hakatashi・Mine02C4 本文掲載
16 UNIXネイティブの電子工作塾 e-Badge篇/大野浩之
22 逆に、Tukubaiコマンドをシェルスクリプトで実装してみる/今泉光之 本文掲載
28 中小企業診断士が解説する、超実践的な会話術! 円滑コミュニケーションが世界を救う!/濱口誠一
30 中小企業手作りIT化奮戦記/菅雄一
36 アジャイル開発 Let’s Practice!/熊野憲辰
40 法林浩之のFIGHTING TALKS/法林浩之
42 それプロのエバンジェリストから愛をこめて/山本美穂
46 縁の木、育てよう/白羽玲子
50 スズラボ通信/すずきひろのぶ
53 姐のBENTO
54 ITエンジニアのためのマーケティング入門/水間丈博
57 lookup ~見上げる~/桑原滝弥
52 人間とコンピュータの可能性/大岩元
60 技術者哲学 ピリカのつくりかた 本文掲載
66 ユニケージ開発手法コードレビュー/岡田健 コード掲載
74 香川大学SLPからお届け!/石井怜央(香川大学SLP) コード掲載
78 漢のUNIX/後藤大地 コード掲載
92 40歳から始める、オレとRubyプログラミング/しょっさん コード掲載
100 Tech数独
102 ソースとコード/シェル魔人

シェルスクリプトマガジンvol.47は以下リンク先でご購入できます。

シェルスクリプトマガジンvol.48 Web掲載記事まとめ

投稿日:2017.09.5 | カテゴリー: 記事

シェルスクリプトマガジンvol.48のWeb掲載部分まとめです。

4 スズラボ通信/すずきひろのぶ
8 法林浩之のFIGHTING TALKS/法林浩之
10 UNIXネイティブの電子工作塾 e-Badge篇/大野浩之 コード掲載
17 ITエンジニアのためのマーケティング入門/水間丈博 本文掲載
20 逆に、Tukubaiコマンドをシェルスクリプトで実装してみる/今泉光之 本文掲載
28 アジャイル開発 Let’s Practice!/熊野憲辰
32 ユニケージ開発手法コードレビュー/新美勇一 コード掲載
42 姐のBENTO
44 それプロのエバンジェリストから愛をこめて/山本美穂
48 中小企業診断士が解説する、超実践的な会話術! 円滑コミュニケーションが世界を救う!/濱口誠一
50 漢のUNIX/後藤大地 コード掲載
58 香川大学SLPからお届け!/石井怜央(香川大学SLP)
62 40歳から始める、オレとRubyプログラミング/しょっさん コード掲載
72 TechLION再録「エンジニアの生存戦略」
78 国際化と標準化/桑原滝弥・イケヤシロウ
80 もしインターネットの1秒が1年だったら/hakatashi・Mine02C4 本文掲載
88 バーティカルバーの極意/飯尾淳 コード掲載
94 中小企業手作りIT化奮戦記/菅雄一
100 人間とコンピュータの可能性/大岩元
102 Tech数独/gori.sh
104 ユニケージの目指すところ/シェル魔人

シェルスクリプトマガジンvol.48は以下リンク先でご購入できます。

第1回 Ubuntuの導入(インストールメディアの作成)

投稿日:2017.09.1 | カテゴリー: 記事

Linuxには「ディストリビューション」と呼ばれる複数の種類があります。ディストリビューションによって操作方法が少し異なりますので、Linuxサーバーを構築する第一歩としてディストリビューションの選定から始めましょう。

サーバーに最適なディストリビューション

LinuxサーバーのOSとして利用するディストリビューションの場合、以下の四つを満足するものがよいでしょう。

これらのことから、Linuxでは人気が高いディストリビューション「Ubuntu」のサーバー版「Ubuntu Server」を選択します。このUbuntuは、インターネット上に存在するサーバーのOSとして多くのユーザーに利用されています。そのため、情報が豊富です。また、多くのアプリケーションが「パッケージ」と呼ばれる形式で用意されています。このパッケージなら導入も簡単です。
Ubuntuには、最初のリリースから5年間のサポートが付いた「LTS」(Long Term Support)というバージョンがあります。ここでいうサポートとは、主に不具合対処やセキュリティ対策用の更新ソフトウエアの提供のことです。2017年9月1日時点において、LTSの付いた最新Ubuntuのサーバー版は「Ubuntu Server 16.04.3 LTS」です。最初のリリースは2016年4月21日なので、2021年4月まで安心して使えます。
Ubuntu Serverは、サーバーOSとして動作させるために最低限必要なソフトだけを導入した状態でインストールできます。そのため、不要なアプリが導入されたり、必要のないサービスが動作していたりすることはほとんどありません。

Vol.49

投稿日:2017.08.31 | カテゴリー: バックナンバー

いまや日本でも決して珍しい働き方ではなくなった「起業」。
初期投資の少なさやIT文化特有の独立自尊の精神からいっても、ソフトウェア開発者にとっては特に他人事ではありません。
今月の特集「ITエンジニアの起業時代」では、起業の道を選んだお二人のエンジニアにお話を伺います。
一人目は、様々な会社につとめた後、まさにいま起業の第一歩を踏み出した門脇明日香さん。数年前から珈琲屋を営むインタビュアー白羽さんが、「起業の先輩」ならではの視点から切り込みます。
二人目は、読者の皆様にもおなじみ、日本のITコミュニティ文化を支えるサービス”Doorkeeper”を運営するカナダ人のPaul McMahonさん。Doorkeeper開発の経緯や商売を軌道にのせるまでの奮励を惜しみなく語ってくれました!

さらに今月は新連載も! 「機械学習のココロ」では、研究の最前線で機械学習に長年取り組んできた現久留米大学の石井一夫先生が、現在の人工知能ブームの火付け役となったディープラーニングの「本当の価値」を伝授していきます。

その他にも、スーパーエンジニア後藤大地さんがお薦めのコマンド開発フレームワークを紹介する「漢のUNIX」や、擬人化によってネットワークの仕組みがラクラク掴める「もしインターネットの1秒が1年だったら」など、
ちょっとやそっとでは味わい尽くせない、今月も読み応え十分のシェルスクリプトマガジンvol.49。お見逃しなく!

連載 UbuntuではじめるLinuxサーバー

投稿日:2017.08.25 | カテゴリー: コード

Linuxとパソコンを使って、本格的なサーバーを無料で構築しましょう。Linuxのインストール方法、リモートアクセス環境の構築、Samba、Apache、MariaDB、WordPress、Nextcloudといったサーバーソフトの導入・起動方法などを分かりやすく紹介します。

written by シェルスクリプトマガジン編集部

特集 無いものは作れTukubai 流コマンド自作文化(後半・本誌vol.7掲載)

投稿日:2017.08.22 | カテゴリー: 記事

 

各地でOpen usp Tukubai を紹介すると、多くの人にとても興味を引かれることがある。

それは、Unix コマンドを自ら作っていくと言う習慣だ。
コマンドを作るということは、他言語で考えればifやfor等の予約語を追加するようなものかもしれない。そう考えると確かに興味深い。
だが、Unix の世界ではそれが当初のやり方だった。
コマンドを自作する文化。
この素晴らしさを、改めて伝えたい。

written by USPマガジン編集部

本記事は、USP MAGAZINE vol.7(2013年冬号)掲載記事のWEB再録記事(後半部分)です。

記事前半はこちら!

本記事掲載のUSP MAGAZINE vol.7は以下リンク先でご購入できます。

 

第三章 道具を夢見たコマンドたち

USP 研究所は、前時代を含めてこれまで2000 個にも及ぶコマンドを作ってきたという。多い日は1 日で10 個作ったこともあったのだとか。しかしそれら大半のコマンドが淘汰されていったことは、今のOpen usp Tukubai のコマンドの数を見れば容易に想像がつく。
「道具とは何たるか」などと偉そうなことを語っておきながらこれは一体どういうことか!とツッコミを入れたくなるところではあるが、そういう歴史があるからこそ道具の本質を見極め、そしてTukubai の思想を確立させられたのだろう。
そこでこの章では、そんな道具を夢見て生み出されながら淘汰されていったコマンドや、これから道具として活躍する可能性を秘めたコマンドなど、いくつか紹介していこう。

その1.yuniq コマンド

uniq コマンドの横方向版「横uniq」ということで登場したコマンドだ。その名のとおり、横方向にuniq がなされる。

スペース区切りで、同じ綴りの文字列が連続してるとそれを一つに集約する。ただし、連続せずに出現したものに関しては集約されない。このあたりの仕様はuniq コマンドと同様に作られている。

ソースコード

以下に全体を掲載する。勿論cc でコンパイル可能だ。

 

道具になれなかった理由とは

yuniq 無しに横方向uniq をせよ、と言われたらどうやる だろうか。Tukubai コマンドを使えば次のように書ける。

つまり、単語を一旦縦に並べてソートして、横に並べ直せばいいというわけだ。
横方向uniq の使用頻度がそう高くなかったために、ユニケージエンジニア達もこのコマンドを覚える機会がなかったうえ、たまに横方向uniq が必要になった時もtarr → uniq → yarr の組み合わせで事足りてしまったためにいつしか忘れ去られてしまった。

特集 無いものは作れTukubai 流コマンド自作文化(前半・本誌vol.7掲載)

投稿日:2017.08.8 | カテゴリー: 記事

各地でOpen usp Tukubai を紹介すると、多くの人にとても興味を引かれることがある。

それは、Unix コマンドを自ら作っていくと言う習慣だ。
コマンドを作るということは、他言語で考えればifやfor等の予約語を追加するようなものかもしれない。そう考えると確かに興味深い。
だが、Unix の世界ではそれが当初のやり方だった。
コマンドを自作する文化。
この素晴らしさを、改めて伝えたい。

written by USPマガジン編集部

本記事は、USP MAGAZINE vol.7(2013年冬号)掲載記事のWEB再録記事(前半部分)です。

後半部分はこちら

本記事掲載のUSP MAGAZINE vol.7は以下リンク先でご購入できます。

第一章 共通部品でない、道具を作るということ

Open usp Tukubai は、何のために生まれたか

2012 年の今年、USP 研究所はOpen usp Tukubai と名付けたUnix シェル向け追加コマンドセット(通称Tukubai コマンド)をリリースした。

名称の一部となっている“Tukubai” は、このコマンドセットに付けた単なる名前ではない。オープンソースやオープンプラットフォームの「ソース」や「プラットフォーム」などと同様に、ある一つの概念を指し示す用語なのだ。この「ある一つの概念」を端的に言い表す用語というものが存在しなかったため、USP 研究所がコマンドセットのリリースに合わせて新たに定義したものなのである。
本誌もこれまでこの語を度々用いてきたが、ここで改めてTukubai の意味を記すことにする。

Tukubai とは

Unix 哲学や“Software Tools”(B.W.Kernighan、P.J.Plauger著)等の作法を忠実に受け継ぎ、進化させたシステム構築法。同音である蹲(蹲踞とも記す)という道具が用いられる茶道の精神に通じるものがあることからこの名を付けた。

“Software Tools” の邦訳版「ソフトウェア作法」(共立出版)。30 年以上発行され続けている名書である。

 

つまりTukubai は一種の思想であり、その源流は、Unix を生み出した先人たちの哲学にある。そしてこの哲学を受け継ぎ、進化させ、USP 研究所なりに具現化したものがOpen usp Tukubai なのだ。将来Tukubai という語が一般化し、Tukubai の思想に基づいてある人Xがコマンドセットをリリースするなら、それはOpen XTukubai と呼ぶべき存在になるかもしれない。
従ってTukubai コマンドは、実はその表面的な姿(書式や仕様、種類)が重要なのではない。重要なのは、コマンドセット全体としてどんな役割を果たしているかである。そしてTukubai コマンドが果たすべき役割とは、ソフトウェア開発における「道具」になることである。

「道具とは何か」を理解する

Tukubai が指し示す「道具」は、共通部品とは明確に区別される。では、共通部品ではない道具とは何なのか。まず道具が持ち合わせるべき三つの性質を記す。

一、 単機能であって汎用性がある。
二、 インターフェースが決まっているが、逆にそれさえ守っていれば他には一切の制約がない。
三、 同じものを発明する気を起こさせない。

更に付け加えるなら、「作ってみればあって当たり前の存在」、「何処の誰もが使えるもの」などとも言いたいところだ。
これらの性質を満たしているものは、世の中の様々な分野において、作業を効率的に熟こなすうえで必要不可欠なものに成り得る。勿論、ソフトウェアの世界においても例外ではない。
身近にある道具と呼ばれるものを色々思い浮かべてもらいたい。それらがこの三つの性質を満たしているかどうか考えてみれば、ここで言わんとしている道具がどういうものであるかが見えてくるだろう。

身の回りにある例

例えば西洋料理を食す際に使うナイフやフォーク、スプーンの類。これは道具であろう。西洋料理を食す時は誰もが使うし、同種のものを発明する気も起らない。インターフェースについて考えてみても、どれも片手で持って使うようにできているし、皆棒状の形で大きさや重さ等も概ね揃えられている。もし違っていたら、揃えるべく、きっと誰かが同じ類のものを発明しているに違いない。
一方で共通部品的な物とは、複数の道具をくっつけてみたり、よくある道具の形をちょっとだけ変形してみたり、といった俗に言うアイデア商品の大部分のものではないだろうか。
それらは特定の作業には驚く程の利便性を発揮するが、汎用性が乏しいために歴史の一部となるほどには普及しない。そして似たようなものが再発明されたりもする。

ソフトウェアにおける例

そして、ソフトウェアにも道具的なものと共通部品的なものがある。ある程度汎用性があり、再利用可能なコードを集めたものとされるライブラリーは、その両方を持ち得る。例えば、Microsoft Visual C++ には通称MFC と呼ばれるクラスライブラリーがある。これはC++ によるWindows プログラミングを容易にするためのものであり、数百個ものクラスが用意されている。しかしそれらを全てを把握して使いこなしている人は恐らく少数だろう。その一方で、C 言語の文字列変数の扱いづらさを補完するCString のように、MFCを利用する人の大多数が利用するクラスもある。このような違いというのも、先に記した三つの性質の有無によるところが大きい。

ユーティリティー、アプリケーション

類似の用語に、ユーティリティー、アプリケーションといったものがあるが、これらもここで言う道具とは違う。ユーティリティーは例えば、バックアップソフトとかテキストエディターといった物を指すが、単機能とは限らないし、インターフェースも様々だし、同様のものが様々作られる。アプリケーションはさらに複合的な機能を有する物を指し、それ単体の使用で大きな目的を達成できる。これらも勿論有用なものだが、単体では目的を達成できない代わりに組み合わせ次第で如何なる目的にも対応できる道具とは方向性の違うものだ。
道具とは何か、ご理解いただけただろうか。これが道具であるかどうかという上記の例は、明確な基準に基づいたものではないため、あまり心地良いものではないかもしれない。
しかし確実に言えることは、三つの性質を満たしていると思える人が多くいるかどうかだ。多くの人が支持するからこそ物は道具になれる。逆に、それは見る立場によって判断が分かれ得るものであるから、特定の地域や時代、或いは特定の分野でのみ道具として認知されるものもある。

Unix における道具とは

既に述べたとおり、Tukubai コマンドは道具としての役割を果たすべく作られたものである。しかしそれ以前に、Unixシェルに用意されている標準コマンドには、先に記した三つの性質を満たす道具的なものが数多くある。
例えばテキストフィルターに分類されるAWK, grep, sed,tr などは道具的であると言えるだろう。一方で、パスワードを設定するpasswd コマンドやテキストエディターである
vi*1 といったコマンドは誰もが使うところであるが、使い方が既に決められていて汎用性は無く、インターフェースが決まっているかという性質に照らし合わせてみても当てはまり難い。これらはむしろユーティリティーと呼ぶべきものであろう。

*1 vi は好みが別れそうだが、何らかのテキストエディターは使うだろう。

このようにUnix のコマンドにおいても、道具的なものとユーティリティー・アプリケーション的なものがある。そして、道具的と呼ぶべきUnix コマンドは、どれも共通した下記の作法を概ね守っている。

◆データのやりとりに標準入出力を使う
◆入出力データをテキストデータとする

道具は、組み合わせて使うことで真価が発揮される。従って、組み合わせて使えるようにすべく、このような作法が生まれたのではないだろうか。Unix において偉大な発明の一つであるパイプ(パイプライン)も、そのような背景から生まれたに違いない。
そしてUnix シェルやシェルスクリプトも上記の作法を守るうえで実に適した仕様になっている。道具たるコマンドを予約語のような感覚で呼び出せ、組み合わせられる。時には“if [” などのように、予約語とコマンドが密接に結び付くこともある。
こういった仕様は、Unix 発明者達の思想の表れであって、「道具をもってして問題を解決するのがUnix シェル」ということを言わんとしているのではないだろうか。

道具に類する用語の整理。ユーティリティー、アプリケーションと呼ばれるものになるに従って、汎用的な用途から専門的な用途へと変化する。ライブラリーは部品であるが、汎用的なものもあれば専門的なものもある。

ITエンジニアのためのマーケティング入門 第25回 (vol.49掲載)

投稿日:2017.08.1 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

 

第25回 デジタルマーケティング その1

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、会社の後輩カンナちゃんと一緒に近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。これまでマーケティングの基本と実践方法を学んできました。今回から「デジタルマーケティング」がテーマです。

さて、今回から「デジタルマーケティング」の話に入っていこうかの。
「デジタルマーケティング」って最近よく聞くけど、今までのマーケティングとどう違うんだろう?
「デジタルマーケティング」とは、要するに「IT技術をマーケティングに取り入れること」じゃよ。
えーっ、それだけ?でも「デジタル」って言うけど、昔からあった電子メールとかもホントはデジタルだよね?
ハッハッハ、その通りじゃ。インターネットは、登場してすぐに広告で使われるようになったんじゃが、これまでは「オンラインマーケティング」とか「WEBマーケティング」と呼ばれていたものが、2013年ごろを境に「デジタルマーケティング」と呼ばれ出したんじゃ。
なぜ今さら「デジタル」って言い始めたのかしら?
それは一つには、スマホに代表されるデジタルデバイスの急激な普及と大いに関係がある。
スマホで、ネットショップでの注文とかクーポンが使えるようになったからかな?
そうじゃな、それは前からも使えたんじゃが、スマホの普及でますます便利になったのが大きい。2008年には世界で1億台以下だったスマホが今年15億台以上も出荷されると予測されておる。

もう一つ、アドテクノロジーの急激な発達がある。
アドテクノロジーって、オンラインで広告が出されることって聞いたことあるわ。
まぁそうなんじゃ、その仕組みも含めた言葉じゃの。これはちょっと前の状況なんじゃが、アドテクノロジーの全体概要図になるの。


Display Advertising Technology Landscape
出典:Jp chaosmap Hiroshi Kondo
http://www.slideshare.net/HiroshiKondo/jp-chaosmap-20142015

ちょっと複雑だけど、よく見ると知ってる会社やよく使うサイトとかもありますね。
中央上の「DSP(Demand Side Platform)」というのがオンライン広告の広告主側のプラットフォーム群(サーバ)、右端の「SSP(Supply Side Platform)」は広告を配信するメディア側のプラットフォーム群、この間にある「RTB(Real Time Bitting)」はこの両者を取り持つオークション事業者の役割で、一番高値を付けた広告主が広告を配信できるという広告入札の仕組みなんじゃ。例えば、消費者がPCやらスマホで画面を開いた瞬間にどのような広告を掲示するか、オークションで決めておるんじゃな。この取引が成立して広告が視聴者に表示されて完結するまで、その間50ms(1/20秒)といわれておる。
へーっ!なんか難しい言葉が出てきたけど、ボクがポータルサイトを開いたときに出てくる広告を出す仕組みはこうなってるのか?
DSPの下にある「DMP(Data Management Platform)」というのが、広告を見る人のネットアクセス履歴や嗜好性などのデータベースで、「デモグラ」という世代や性別ごとの一般的な特徴も含まれておる。これを拠り所に、見ている人への最適な広告を選択するサポートをしているんじゃな。
だから、ボクがPS4を買った直後にゲームの広告が増えたりするのかー。
私がネットを見ていると「若い女性向け」の広告が目につくけど、これもDMPが活躍しているためなんですね。
そうじゃ。現在のオンライン広告はDisplay広告といって、そのほとんどが視聴者個人の特性に応じて出し分けられておるんじゃよ。これを「パーソナライズ」といったりするんじゃ。
ネットを見た履歴からその人の興味や関心が把握されてるってことなんですね。ちょっとコワイ気もするけど……
ここのところ静止画よりは動画が多くなったが、この仕組みは2008年のリーマンショックの後に、ウォール街の金融業界にいた大勢の優秀なエンジニアが広告業界に移って金融取引の仕組みを広告に応用した成果といわれておる。
そうなんだー。
この、いかにもITテクノロジーを駆使した画期的な仕組みが日本にも導入されて、あっという間に広まったんじゃ。今はスマホ向けだけで年間3000億円の市場規模があるとされているんじゃが、広告主と消費者(視聴者)の間に様々なプレイヤーがおって、それぞれITを駆使して役割分担しつつデータを複雑にやり取りしておるんじゃ。
ホント様々な事業者が見えないところで仕組みを支えてるんですね。
だからこの図は別名「混沌マップ(ChaosMap)」とも呼ばれておる。プレイヤーの参入や脱落が多いんで日々変わることから名付けられたんじゃよ。
新しい業界の特徴なのかもねー。
さて話が長くなったが、アドテクノロジーをはじめとして、ここ3?4年の間にIT技術を駆使してマーケティングに活用しようとする動きが大変活発になったんで「デジタルマーケティング」と言われるようになったんじゃ。
ナルホドね。
といったわけなので、「デジタルマーケティング」には適切な定義もないし、国によって認識も違う。米国では今でも「オンラインマーケティング」と呼ばれているし、イタリアでは「WEBマーケティング」と同義で使われているらしい。しかし最近「デジタルビジネス」とかも言われ始めているから流行り言葉ではあるな。
「デジタル」という本来の意味を超えて使われ始めた感じですねー。
デジタルマーケティングが発展してきた背景をここで整理しておこう。要するにマーケティングにIT技術が用いられ出したのには社会的背景の変化が大きく影響しているんじゃ。

①スマホ・タブレットなどのデジタルメディアの普及:
消費者がこれらの道具を常時持ち歩くようになったことで、メディアや企業と直接に繋がるようになった
②新たな顧客への情報到達手段:
企業にとっては従来型到達手段(4大メディア広告、PCへのメール、PC向けディスプレイ広告、動画広告)に加えて、新たにスマホ、タブレット向けの到達手段が増えた
③即時性の進化:
今までは、“TVを見ている時”(CM、通販番組など)やPCの前に座っている時だけ、情報伝達や消費者アクションが実行されたが、それが消費者側の意思でいつでも好きな時に可能になった
④消費者が発信する情報のマーケティング活用:
ネットの視聴履歴や購買履歴、ソーシャルネットワーク、GPS情報などが発信されることによって、個客の興味や嗜好に関するデータをマーケティングに活用できるようになった

「リアルタイム」というのがキーポイントになったよね。スマホで簡単に商品を比較して、その時一番安いお店で注文できちゃうから、お店の競争も大変になったんだろうな。
そうね、TVと違ってどこでも好きな時にネットショッピングできるようになったし、SNSで発信することもできるから、以前よりも格段に双方向性が増したという点も大きいんじゃないかしら。
そうじゃな。まとめると、消費者つまりお客さんを取り巻く「ネット社会・到達手段(消費者の武器)・リアルタイム性・消費者発信情報」の環境が変わったことに対する、サービス提供者側のマーケティング実行方法の変化が「デジタルマーケティング」を生み出したともいえるんじゃな。
そうか、お客さんの環境変化が必然的にデジタルマーケティングに向かわせているのかー。
現在は「リアル(店舗)」や4大広告メディアだけでは競合が多い世の中で戦っていけないからの。
最近はテレビを見ない人も増えたって言いますよねー。
そうじゃ、既に20代以下ではTVよりネット視聴時間の方が多くなっておる。
そう言えば、私も最近TVはドラマしか見てないかも。

シェルスクリプトマガジンvol.49 Web掲載記事まとめ

投稿日:2017.07.25 | カテゴリー: 記事

シェルスクリプトマガジンvol.49のWeb掲載部分まとめです。

現在、コード掲載記事のコード部分をshell-mag.comに掲載しています。

4 機械学習のココロ/石井一夫
8 縁の木、育てよう/白羽玲子 ゲスト:門脇明日香
12 Doorkeeper Paul McMahonに訊く、技術者哲学/シェルスクリプトマガジン編集部
18 中小企業手作りIT化奮戦記/菅雄一
24 人間とコンピュータの可能性/大岩元
26 香川大学SLPからお届け!/清水赳(香川大学SLP) コード掲載
30 ユニケージ開発手法コードレビュー/大内智明 コード掲載
40 アジャイル開発 Let’s Practice!/熊野憲辰
44 漢のUNIX/後藤大地 コード掲載
52 もしインターネットの1秒が1年だったら/hakatashi・Mine02C4
60 バーティカルバーの極意/飯尾淳 コード掲載
68 スズラボ通信/すずきひろのぶ コード掲載
72 法林浩之のFIGHTING TALKS/法林浩之
74 ITエンジニアのためのマーケティング入門/水間丈博 本文掲載
78 妹のBENTO
80 それプロのエバンジェリストから愛をこめて/山本美穂
84 中小企業診断士が解説する、超実践的な会話術!円滑コミュニケーションが世界を救う!/濱口誠一
86 40歳から始める、オレとRubyプログラミング/しょっさん コード掲載
94 回帰テスト~regression testing~/桑原滝弥・イケヤシロウ
96 Tech数独/gori.sh
98 ユニケージの目指すところ/シェル魔人

 

シェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

スズラボ通信 34 (本誌vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:すずきひろのぶ

最近、設定ファイルの名前にファイル拡張子yml がついていることが多いことに気がつきます。これはYAML というフォーマットです。プログラムの設定ファイルのフォーマットとしては簡単に使えるますが、自分のプログラムで使おうとすると意外と参考になる情報は少ないことに気がつきます。
今回はこの話題を取り上げます。

記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

 

バーティカルバーの極意 第三回 (vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:中央大学 教授 飯尾淳

今回は、いかにもデータ分析といった例題に取り組みます。題材は、簡単な自然言語処理。数十篇のコラム記事を対象として、記事の自動分類に挑戦します。対象とする記事群を、クラスタリングという処理で分類します。クラスタリングとは、特定の多次元空間にマップされたデータ群を、様々な方法でいくつかのまとまりに整理する方法です。
それぞれのデータは、「距離の近さに応じて」まとめられます。ここで計算される距離を、数学では絶対値の記号を用いて|x| と表します。ほら、バーティカルバーが出てきましたね。
また、近いデータを集めて樹形図としてまとめていく方法もよく用いられます。このようにして描く樹形図のことを、デンドログラムといいます。今回、描いてみようとするデンドログラムは図 1 のようなものです。ここにも多数の棒が描かれています。
今回のバーティカルバー劇場、役者は「距離」と「デンドログラム」の二人です。

記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

漢のUNIX テストフレームワームKyua その1(vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:後藤大地

 コマンドをたくさん作っていくと、いくつかのことに気がつくとおもう。
 たとえば作っていくうちにいろいろと思うところがでて、その都度プログラムの書き換えを実施していくと、コマンドの最初のころの動作と最近の動作が異なってしまうことがあるはずだ。こんな感じで互換性が損なわれることにはなにかと問題がある。少なくとも、業務で使おうとした場合には致命的な問題を引き起こしかねない。
 もうひとつは終端処理の確認というか、ちゃんとさまざまなケースで動作するのかの確認だ。自分で作るときは自分に都合のよいところしか動作チェックをしないものだ。想定していなかった処理をするとコアダンプが発生してコマンドが異常終了するとかはよくある話だ。こうした問題が発生しないように、ちゃんとテストを行うコードを書いて開発に組み込むというのは大切なことである。
 開発の最初の段階からテストフレームワークを入れておくというのはよいアイディアだ。こういうのは最初から導入して、テスト→実装→テスト→実装… といった流れでの開発を常におこなうようにしておきたい。今回はこうしたテストを実施するためのフレームワークとして「Kyua」を紹介しようと思う。

記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

ユニケージ開発手法 コードレビュー vol.38(本誌vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:大内智明

今回は、取得した固定長ファイルを元に、ユニケージ内で使用するフィールド形式ファイルに変換する方法について説明します。

記事本文掲載のシェルスクリプトマガジンvol.49以下リンク先でご購入できます。

香川大学SLPからお届け!(vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:清水赳(香川大学SLP)

Elixir製のWebアプリケーションフレームワーク Phoenixを触ってみる 前編

こんにちは。香川大学工学部 学部3 年の清水です、はじめまして。

私は普段、Ruby やRailsで開発を行うことが多いのですが、サークルで「Erlang VM の上で動くRubyっぽい感じの言語があるらしいよ」と聞いて、Elixirと、Rails によく似たWebフレームワーク Phoenix を触ってみることにしました。
Elixir は、Ruby を使っている人にとって、とても馴染みやすい文法を持っています。更に特徴として、Erlangの強みである並列処理と耐障害性の機能をそのまま受け継いでいます。最近話題のチャットツールDiscordも、Elixir を採用しているそうです。
そこで、今回から次回にかけては、Elixir 製Web フレームワークであるPhoenix を紹介します。前半は,Phoenix に慣れるために簡単な掲示板アプリケーションを作ってみます。そして後半となる次回は、自宅の蔵書を管理できるようなアプリケーションを作っていきましょう。

 

記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

 

40歳から始める、オレとRubyプログラミング(vol.49掲載)

投稿日:2017.07.25 | カテゴリー: コード

著者:しょっさん

梅雨の季節に入ってまいりました。この号が発売される頃には、梅雨もそろそろ明け、夏間近といったところでしょうか。

子供の頃は夏は朝から晩まで真っ黒になって遊び回ったものですが、大人になったら汗をかくだけで、色々やる気が削がれてしまいますね。とても不思議な気持ちではありますが、猛暑は家で落ち着いてプログラミング!

さぁ、今号もしまってまいりましょう!

記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。

 

もしインターネットの1秒が1年だったら 第2回(vol.48掲載)

投稿日:2017.07.18 | カテゴリー: 記事

written by hakatashi・Mine02C4

編注:本記事は「SunPro 2016 技術書典」で発表された記事に説明・イラストを追加し、シェルマガvol.48に掲載したものです。
以下リンク先で、オリジナル版の全文が公開されています。
https://sunpro.io/techbookfest/

インターネットが日本中のあらゆる人間に行き渡るようになってから、すでに10年単位の時間が経過しています。今日においてインターネットを支えるネットワーク技術が重要であることは言うまでもありませんが、実際にネットワークでどのタイミングで何が起こり、どれくらいの時間が費やされるのかということを身を持って体感している人は、たとえネットワークに精通している人でも少ないのではないでしょうか? この記事では、1 秒というわずかな時間を1年にまで拡大し、ネットワーク上で何が起こっているかを人間スケールでざっくりと解説していきます。

はじめに

こんにちは。博多市(@hakatashi) です。前回に引き続き、2016年の技術書典にSunProとして発表した「インターネットの1秒がもし1年だったら」という記事を、シェルスクリプトマガジン向けに再構成してお届けします。この記事は、インターネット通信においてクライアントがサーバーとコミュニケーションする様子を、1秒を1年にというスケールに引き伸ばし、クライアントとサーバーをそれぞれ「クライアントちゃん」と「サーバーちゃん」として、人間スケールに置き換えて順に見ていこうという企画です。
前回の記事では、クライアントがサーバーと通信するための前段階として、サーバーの住所を調べる、つまりIPアドレスを問い合わせる名前解決までの処理を解説しました。3回のDNSリクエストの末にサーバーちゃんの住所をゲットしたクライアントちゃんは、いよいよサーバーちゃんとの直接の通信を行っていきます。果たしてサーバーちゃんとクライアントちゃんの文通の行方はどうなるのでしょうか。引き続きお楽しみください。

サーバーちゃん   クライアントちゃん

 

TCP接続ハンドシェイク

2月19日 午後3時27分 TCPハンドシェイク+SYNパケット送信

各地のネームサーバーの協力を得て、無事サーバーちゃんの住所を入手したクライアントちゃんですが、お淑やかなクライアントちゃんはいきなり本題の手紙を送りつけるような真似はしません。まずはサーバーちゃんにご挨拶をします。
 TCP上の通信では、データ伝送を行う前にコネクションの確立という処理を行う必要があります。これは、相手のサーバーが通信可能な状態であることを保証したり、以降のデータが正しい順序で到着することを保証するためのシーケンス番号を互いに交換したりするためです。
 シーケンス番号とは、現在のパケットが送信しているデータが、全体のデータのうちのどの部分に該当するのかを示す値であり、ハンドシェイクで最初にランダムな値にセットされ、以降データを送信するごとに増加していく値です。TCPは双方向通信なので、このシーケンス番号はサーバーとクライアントで別々の値を保持しています。
 クライアントちゃんはランダムに生成したシーケンス番号を端に添えて、サーバーちゃんに文通してよいかを問う内容の手紙を作りました。色よい返事が返ってくることを期待して、再びポストに投函しました。手紙はいよいよ石狩に向かいます。
 ところで、サーバーちゃんの住所が判明してから最初にサーバーちゃんにコンタクトをとるまで9日もかかっています。
きっとバのつくイベントで忙しかったのでしょう。妬ましい。

*1 実際の理由はおそらくローカルホストのDNSサーバーからアプリケーション(curl)にDNS情報を受け渡す際にオーバーヘッドが発生するためです。

2月27日  午後6時30分 TCPハンドシェイク+SYNパケット受信

北海道――新千歳空港から車で50分の石狩の大地に、目的のデータセンターは存在します。冬の北海道の空気は冷たく厳しく、この時期の気温は昼間でも0度を上回ることはありません。この冷涼な外気がサーバールームから効率的に排熱するのです。
すぐ脇を通る道は国道337号線です。地元ではかつて天売島に住んでいた鳥の名前からとって「オロロンライン」と呼ばれるこの道は、眼前に手稲山を望むゆったりとした広い道路です。小樽からこの道を進んで左手側、空港のターミナルを髣髴とさせる白い横長な建物が石狩データセンターです。
この場所でサーバーちゃんは他のサーバーと肩を並べて*2、静かに443番ポートを開けて待ち続けています。  今回キャプチャしたパケットの中で最も数が多かったのはARPのパケットでした。512台*3近い数のサーバーがARPで常に囁きあい、互いの居場所を確認しあっている状態といえるかもしれません。
そんな退屈な生活の中で、サーバーちゃんはクライアントちゃんからの手紙を受け取りました。
クライアントちゃんが手紙を投函してから8日目のことです。伝送には22ミリ秒かかりました。
冒頭では東京と石狩の物理的な片道時間は5.9ミリ秒と述べましたが、当然これは理想的な通信のことであり、実際には無線通信やルーティングなどにおけるオーバーヘッドによってそれ以上の時間がかかります。
受け取った手紙は一般的なTCPハンドシェイクでした。手紙にはシーケンス番号が添えられています。クライアントちゃんからの久しぶりの手紙に喜んだサーバーちゃんは、喜んで通信を受け入れました。

*2 もちろんVPSなので物理的なサーバーマシンとして存在しているわけではありませんが。
*3 今回使用したサーバーはサブネットマスク23ビットという中途半端な値のネットワークに繋がっていました。今回も、クライアントちゃんとサーバーちゃんの通信の始まりです。

 

2月27日  午後8時11分 TCPハンドシェイクSYN+ACKパケット送信

サーバーはTCPによる通信を受け入れた証として、クライアントからのSYNパケットに対する応答を返します。サーバーはクライアントから受け取ったシーケンス番号を認識し、これに1を加えた値を返答パケットに記して送ります。シーケンス番号は送信するデータの先頭バイトを表すので、本来はデータを送信しない段階では加算しないのですが、ハンドシェイクにおいてはパケットを正しく受け取った印として特別に1を加算します。

同時に、サーバー側でもシーケンス番号を生成して返信用のパケットに記します。これでサーバーとクライアントの間で一対のランダムなシーケンス番号が初期化されます。

サーバーちゃんはクライアントちゃんに向けて通信可能な旨を記した手紙を書きました。クライアントちゃんからの手紙と同じく、隅っこにシーケンス番号を記しておきます。このパケットはSYNとACKのフラグが立てられているため、SYN+ACKパケットなどと呼ばれます。

3月9日  午前3時43分 TCPハンドシェイクSYN+ACKパケット受信

今度は石狩から東京へと手紙が運ばれます。配達にはふたたび10日近い時間を要しました。
クライアントちゃんにとってはサーバーちゃんからの初めての手紙です。だいぶ非常識な時間に配達された手紙ですが、クライアントちゃんは飛び起きて、サーバーちゃんからの手紙をじっくり読み、さっそく返事に取りかかりました。
クライアントは、サーバーからのハンドシェイクを受け取ると、先ほど説明したシーケンス番号の他に、Window Size  ValueやMaximum Segment SizeなどのTCP通信に必要な値を確認し、記録しておきます。

3月 9日 午前4時5分 TCPハンドシェイクSYN+ACKパケット送信

サーバーちゃんからの手紙で、サーバーちゃんが手紙を出せる状態であることを確認したクライアントちゃんは、その手紙に問題がないことを伝えるため、ハンドシェイクを完了させる手紙を送ります。
クライアントもサーバーと同じく、シーケンス番号を認識した証として、サーバーから送られたシーケンス番号に1を加えて返答します。このパケットにより両者の間でそれぞれのシーケンス番号が共有され、お互いにデータを送り合う事ができるようになります。

3月16日  午後3時21分 TCPハンドシェイクSYN+ACKパケット受信

ふたたび手紙は東京から石狩へ。サーバーちゃんはクライアントちゃんからちゃんと返事が届いたことにほっと安心しました。これで、いつでも通信を受け入れることができます。
このように、TCPのハンドシェイクでは通信路を3 回通る必要があるため、3ウェイ・ハンドシェイクとも呼ばれます。

TSLハンドシェイク

 

TLSハンドシェイクが終わって、クライアントちゃんとサーバーちゃんは無事通信が開始できるようになりました。クライアントちゃんはさっそく本題の質問を投げかけようと思ったのですが、ここでふと思ったことがあります。
クライアントちゃんとサーバーちゃんは、ハガキを使って互いにやり取りをしています。ハガキには特に何も細工をしていないので、書いている内容は周りの人には丸見えです。クライアントちゃんがポストに投函しに行くまではいいとしても、そこから先、ルーターから先のことに関しては何も保証できません。実はポストの中に盗撮カメラが仕掛けてあるかもしれませんし、郵便局員がハガキの内容をチラ見するかもしれませんし、サーバーちゃんの上司に内容を検閲されているかもしれません。
これは困ります。花も恥じらう乙女であるところのクライアントちゃんは、サーバーちゃん以外の誰にも手紙の内容を知られたくありません。クライアントちゃんはサーバーちゃんとのやり取りを暗号化するため、TLS(Transport Layer Security)を使用することにしました。
TLSは、TCPのようなコネクションの上で暗号技術を使って通信の機密性や完全性を確保するための仕組みです。公開鍵暗号を用いて安全に交換した鍵を使って共通鍵暗号を行い、暗号化されたコネクションをアプリケーションに提供します。
この記事は暗号理論の説明はいたしません。ちょこちょこ出てくる用語の説明はほとんどしていません。なので、やり取りする情報のさらなる意味を知りたい方は、ぜひ他の専門書を参照してください。

 

ぼくらがシェルで生きる理由 (Web版独自記事)

投稿日:2017.07.11 | カテゴリー: 記事

written by 松浦智之(シェルスクリプトマガジン編集部)

シェルスクリプトは何に使う言語なのか?残念ながら、作業の自動化やサーバー管理に使うものだと捉えている方が多い。私が、「いや、システム開発のためにこそ使うものだ」といっても、冗談あるいは曲芸の類にしか見てもらえないことが多い現状は、シェルスクリプトマガジン編集者としては悔しいものだ。
大手雑誌でシェルスクリプトが特集されることはあっても、データ管理術を手解きする特集で使われている道具はMySQL……。そこでもやはりシェルスクリプトが利用されるまでに、世の中のイメージを変えたい、というのが私の夢である。

そこで今回の記事では、私が実装したシェルスクリプト製「郵便番号から住所を補完するボタン」を紹介する。これを通じて、シェルスクリプトの実力、そして我々シェルプログラマーの愉しみを見てもらいたい。
なお、実際にシェルスクリプトによる業務システム開発を行っているUSP研究所では有償コマンド(usp Tukubai)を用いていて、「それがあるから実用的なものが作れるんでしょ?」と思うかもしれないが、そんなことはない。誰でも入手できるごくありふれたUNIXコマンドだけでここまでできる!ということが、今回の記事を通じてわかってもらえればと思う。

実は「速い!」「色々できる!」シェルスクリプト

世間では未だに「シェルスクリプトなんて遅くて使えない」という偏見が根強い。いやいや「ちょっと待ったー!」と言いたい。

シェルスクリプトはグルー言語。シェルスクリプト自身でこなそうとせずに、コマンドを呼んでそれらに任せればいいのだ。コマンドを呼べば、シェルスクリプトはそのコマンドの終了を待つだけになる。UNIX標準コマンドたちはC言語で書かれているため、この仕組みを理解した上で組まれたシェルスクリプトなら、殆どCプログラムの速さで動くことになる。

また、データが100万行、1000万行におよんでも、データの持たせ方の工夫次第で処理速度は改善できる。例えば後述の郵便番号の例なら、前3桁ごとにファイル分割して持てばいいのだ。頭の3桁の検索は、OSがファイルシステムのハッシュテーブルを使って高速に行ってくれるので、わざわざ自力で高速検索アルゴリズムを組む必要は無い。

シェルスクリプトには他の言語みたいに豊富なライブラリーもないからたいしたことができない、という意見も根強いが、これも工夫次第で想像以上にいろんなことができる。

例えば今回紹介するデモでは、CSVやJSON、XMLテキストの解析をさせている。たしかにそんなことをしてくれるコマンドは無かったが、シェルスクリプトとsedやAWKやgrep、trなど、どれも見慣れた構文やコマンドでできている。 難しいことも、簡単なことの組み合わせで実現できるのがシェルスクリプトの強み であり(マイクガンカーズのUNIX哲学定理6,7あたり) 、シェルプログラミングの愉しみはこのような「工夫」にこそあるはずだ。

「じゃあ、Webアクセスは?」

……それもデモで示すとおり、curlやwgetコマンドを使えばOK。

「メールは?」

……それは/usr/sbin/sendmailを使えば大丈夫、受信ならfetchmailコマンドとか。

「でも、本格的なRDB操作はさすがに無理でしょ」

……いやいや、 POSIX標準コマンドでjoinってのがあって これやsort、AWKなど使えば、テキストファイルでも相当本格的な操作が可能。

このようにUNIX標準コマンドには、様々な用途に利用できる必要十分なコマンドがそろっている。あとは我々シェルプログラマーがこれらをどう使うか、だ。

ネット通販によくあるアレくらい、/bin/shでだって作れるもん!

というわけで、シェルスクリプトの実力を示すべく、ネット通販の注文画面なんかでよく見かける 「郵便番号から住所を補完するボタン」 をシェルスクリプトで実装してみた。

香川大学SLPからお届け!(vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

著者:辻健人(香川大学SLP)

年末なので設定ファイルやスクリプトを大掃除する

早いことにもう年の瀬、大掃除の季節です。そこで、今回のテーマは「大掃除」。部屋だけではなく設定ファイルである.zshrcや.bashrc、普段使っているスクリプトの掃除もしてしまいたい!ということで、設定ファイルの掃除方法を紹介していきたいと思います

記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

 

40歳から始める、オレとRubyプログラミング(vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

著者:しょっさん

1月号ではありますが、この号が出る頃はちょうどクリスマス。一息ついて、年末の忙しい時期に入っていく頃でしょうか。年末は大晦日まで大掃除に明け暮れて、正月の三が日はこれ以上ないほどにゆっくり過ごすことが、我が家の慣例です。年初からお仕事のないみなさまは、場所はちがえど、三が日の過ごし方は同じようなものでしょう。お雑煮とおせちをいただきながら、2017年に想いをはせつ
つ、さぁプログラミングしましょう!!

記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

 

ユニケージ開発手法 コードレビュー vol.34(本誌vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

著者:大内智明

今回は、 マスタの中でも重要な店舗商品マスタについて説明します。

記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

 

POSIX原理主義の一時的書類(テンポラリーファイル)(vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

著者:シェルスクリプトマガジン編集部 松浦智之

会議室にはホワイトボードがあり、机の傍らにはメモ用紙がある。人はそこに、図や文字を書いたり消したりを繰り返すことで、考えを整理する。なぜなら人は、短期記憶の領域が狭いため、考察対象となる物事はホワイトボードや紙等に書き出しておかないと処理しきれないからだ。
そこは、人が創り出したコンピューターも似ている。一定以上の情報はCPU上に置いておけないため、メモリに変数という形で書き出し、それより大きいものはディスクにファイルという形で書き出しながら処理をする。特にUNIX では、ファイルを活用すると上手くいくようにデザインされている。
ところが、POSIX にはその、ホワイトボードやメモ用紙に相当する一時ファイル(テンポラリーファイル)を作るコマンドがない。何も考えずもちろん作るだけなら簡単なのだが、セキュリティーを確保しながら作るには一工夫がいる。今回は、一時ファイル作成時に必要なセキュリティーについて学び、これをPOSIXで実現する。

記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

 

mktempコマンドをPOSIX原理主義で書き直したものを作りました。
https://github.com/ShellShoccar-jpn/misc-tools/blob/master/mktemp

機械学習で石川啄木を蘇らせる(vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

written by 高橋光輝

本連載のもとになった同人誌の内容は、以下のURLから閲覧が可能です。(編集部)
https://sunpro.io/c89/pub/hakatashi/introduction

記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

 

漢のUNIX ライブラリをつくってみよう! #その2(vol.45掲載)

投稿日:2017.06.27 | カテゴリー: コード

著者:後藤大地

C言語は、その誕生以来長きにわたって使われ続けているプログラミング言語だ。Javaが登場してからは第1人気をJavaに譲っているものの、それでも登場から今日までの長きに渡って使われ、さらにこれほど人気を保ち続けているプログラミング言語は他にない。
記事本文掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

ITエンジニアのためのマーケティング入門 第22回 (vol.45掲載)

投稿日:2017.06.13 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.45は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第22回 マーケティングの実践 – その10-

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。マーケティングの基本について一通り学び終え、これから会社の後輩カンナちゃんと一緒にマーケティングの実践方法を学んで行こうと考えています。今回は「顧客経験価値マーケティング」のお話が始まります。

今日は「顧客経験価値マーケティング」の話をしてみよう。
「顧客経験価値」って、ときどき聞くけどどういうモノなの?
顧客経験価値は英語の「カスタマー・エクスペリエンス(Customer Experience)」という言葉を使う方が多いの。最近は略して…。
「CX」ですねっ!
おぉ、カンナちゃんさすがじゃな。その通り!とりわけIT業界は何でも略すのが得意じゃからのー。顧客経験価値マーケティングは「CXM」とかいわれておる。さてこのCX、定義が正確には固まっていないんじゃが、「製品やサービスそのものの持つ物質的・金銭的な価値ではなく、その利用経験を通じて得られる効果や感動、満足感といった心理的・感覚的な価値」と説明されておる※1。

※1 出典:「マーケティング用語集」SPI http://www.spi-consultants.com/ja/terms/archives/customer-experience.php

商品やサービスを売って「ありがとう」でおしまいじゃなくて、それで本当に満足してもらっているかってところに着目してるんだね?
そうなんじゃ。顧客が購買するモノやサービスに対しては、「製品自体の機能や性能、顧客が期待する利便性に対する対価(価値)」と長い間考えられてきたわけなんじゃが、よく引合いに出される「東京ディズニーランド/ディズニーシー」や北海道「旭山動物園」などの大成功にマーケティング関係者が触発されたこともあり、「製品・サービスを通じて顧客が得る“経験的ベネフィット”や心地良さを含めた価値こそが“トータルな価値”であり、競合から抜きんでる理由である」とする考え方が広まってきたんじゃよ。
感動の体験は「おカネに代えられない」って言いますからね。
それそれっ!“Priceless”とか“お金で買えない価値がある。買えるものはマスターカードで”というCMがヒットしたクレジットカードのMasterCardは、これでかなりシェアを挽回したんじゃよ。「経験価値マーケティング」が注目され始めたのは、ちょうどこのCMが流れ始めたころなんじゃ。
そのCM憶えてる!そんなに古い話じゃないんだね?
そうなんじゃ。「顧客経験価値」の考え方を広めたのは、アメリカの経営学者バーンド・H・シュミットが1999年に著した「顧客経験価値マーケティング」が最初と言われておる※2。

※2 “Experiential Marketing : How to Get Customers to Sense, Feel, Think, Act, and Relate to Your Company and Brands”(邦訳版:『顧客経験価値マーケティング』ダイヤモンド社 2004年)

どうして「顧客経験のマーケティング」に思い至ったのかしら?
1980年代に登場した、顧客とのインタラクションに着目した「リレーションシップ・マーケティング」に源流があるんじゃ。これをITで支援しようとしたものが「CRM(顧客関係管理)」なんじゃよ。
CRMパッケージは今でも使っている会社があるよね?
アメリカでCRMが登場した1990年代後半当時には、一人一人の顧客である「個客」に焦点を当てた「One to One マーケティング」が全盛だったこともあって、CRMは大流行したんじゃ。
そうだったんだー。
しかし、当初のCRMは、マーケティング支援ではなく「顧客情報管理」の延長上にあったために「カスタマーセンター」「ダイレクトコール(電話勧誘)」「ダイレクトメール」など「個々の顧客に到達し販売機会を増やすこと」に重点が置かれ過ぎてしまい、急速に廃れてしまったんじゃ。「データベース・マーケティング」とかもそうじゃな。しかし、現在の基礎を形作ったともいえるんじゃよ。
結局「押し売り」になっちゃったんだね?
カード会社などが「新規顧客獲得コストよりも既存顧客維持コストの方が圧倒的に安い!」なんて発表したものだから、既存顧客向けに顧客満足度を上げようとする動きが度を越したんじゃな。
そういえば最近ダイレクトメールがめっきり少なくなったよね?
そうした動きを見たシュミット先生は「CRMはけしからん!」と怒ってこの本を書いたわけじゃな。
「販売志向」から抜け出せていないってことなんですね?
そうじゃ。「顧客経験価値(CXM)」の考え方は何もコンシューマの世界だけではなくて、BtoBの世界でも重要じゃから、覚えておくと良いじゃろ。BtoBでも、製品やサービスを選ぶのはあくまで個人や個人の集合じゃからの。
そう!ウチの部長は感情的な価値偏重だよねー!?
フッフッ。そうよね、「好きか嫌いか」でしか判断しないのよね!
そういった選好性は「情緒的価値」になるんじゃろうな。それでまず、シュミット先生は「経験価値」を5つに分類してみたんじゃ。
どんなふうにですか?
感覚的経験、情緒的経験、認知的経験、行動的経験そして社会的経験の5つじゃ。整理するとこんな内容なんじゃよ(表1)。想像しやすいように具体例を入れてみたんじゃが、なんとなくでもよいから理解してもらえるかの?
ナルホド、あるあるだねー。ところで、この「AMEXセンチュリオンカード」って何?
通称「ブラックカード」のことじゃよ。
知ってます!世界のセレブしか持てないっていうカードですね。

表1:顧客経験価値5つの分類

事例39:AMEXセンチュリオンカード

米国カード会社「アメリカン・エクスプレス センチュリオンカード(American Express Centurion Card)」の黒色はカードとしては独特だ(現在は他社も追随している)。顧客はチタン製のカードを選ぶこともできるという。AMEXでは以前から富裕層をターゲットとした「ゴールド・カード」が存在し、高度なサービスを求める顧客から好評を博しビジネスとして成功を収めていた。しかし、競合他社が相次いで「ゴールドカード」を発行するに及び、そのステータスの高さを維持することが困難になっていった。そこでAMEXは1984年に更に上位の「プラチナカード」を発行する。しかしこれも他社に追随されていく。ステータスの高い富裕層を強力に囲い込むため、1999年に「センチュリオン・カード」を発行、高額の年会費で他社を振り切る戦略に出た。通称「ブラックカード」と呼ばれるこのカードは、一切宣伝広告をせず、選ばれた最重要顧客だけが密かに「招待キット」を受け取る。そのサービスは群を抜いており、専任コンシェルジュに世界中からコレクトコールで電話が可能、誕生日にプレゼントが届く、ブランドショップの閉店後に特別にプライベートショッピングが可能など、そのステータスに見合ったサービスが受けられる。現在日本では入会金54万円、年会費は37.8万円といわれている。
出典:Wikipedia「アメリカン・エキスプレス・センチュリオン・カード」
会費37万円?!
格差社会の象徴のようで、ちょっと引いちゃうわね。
ワシも想像はつかんぞな…昔はゴールドカードに憧れていた時期もあったんじゃがのー、ハッハ。
 「行動的経験(ACT)」といえば、「嵐」のコンサートチケットがヤフオクで高額で取引されてるってニュースで見たわね。
最近音楽CDが売れなくなっているといわれておるが、逆にライブはここ6~7年の間に売上も入場者数も急激に増えておるんじゃよ。2015年はMr.Childrenが約112万人を動員してトップ、2016年はまだ統計が出ていないが、今のところ韓流のBIGBANGがトップらしい※3。

※3 出典:「1位はミスチル コンサート動員力ランキング」日経エンターテイメント 
http://style.nikkei.com/article/DGXMZO94721470T01C15A2000000?channel=DF280120166614

図2:ライブ入場者数推移表※4

※4 出典:「一般社団法人コンサートプロモーターズ協会」 http://www.acpc.or.jp/marketing/transition/

CDよりもやっぱりライブがサイコーだよねー!
タケシさん、そういえば「ももクロ」のライブはどうだったの?
えーっ!なんで知ってんのーっ?!
おっと、その「ももいろクローバーZ」は2016年上半期では2位だったらしいぞな。惜しかったのう!
しらんわ!
フフッ!
経験価値の重要性はもう体験済みなわけじゃな。さて、本題に戻るぞな。この5つの経験価値はもちろん相互に排他的なものではなくて、複数の経験価値を同時に満たしているような場合もあるから、そう厳密に考える必要はないんじゃよ。例えばこんなイメージじゃな。

図3:シュミットの5つの経験価値
そういえば、東京ディズニーシーは絶叫に近いアトラクションもあるし、年間パスを持ってると友達に自慢できるから、「Feel」、「Act」、「Relate」を同時に満たしているかもしれないよね?
そうなんじゃ、タケシ。珍しくサエておるなー。
またまたっ、それ止めてよ!
シュミット先生は「顧客経験価値マーケティング」で顧客経験価値を体系的に分析し、次の著作の「経験価値マネジメント」の中で経験価値をマネジメントすることに挑んでおる。これを略して「CEM(Customer Experience Management)」と呼んでおるんじゃが、その中で「3つの間違ったアプローチ」として「マーケティング・コンセプト」、「顧客満足」、「CRM」を挙げておるんじゃ。
3つの間違い、ですか?
それぞれについて次のように断罪しておるんじゃ。

1.「マーケティング・コンセプト」:
顧客指向と言いながら製品中心の見方から脱しきれていない。
2.「顧客満足」:
消費者の製品やサービスにまつわるすべての経験まで考慮されていない。
3.「CRM」:
取引に焦点があてられ、顧客との情緒的つながりが無視されている。
なんか、今まで“追求することが良いこと”って教えられてきたモノのような気もするわね?
その通り!「マーケティング・コンセプト」の提唱者で、以前に紹介したこともあるマーケティングの大家、P.コトラー先生を暗に批判しておるんじゃな。
へーっ、そうなのか。いろいろあるんだねー。
次回は「経験価値マネジメント」のフレームワークという話をしてみようかの。
面白くなってきましたね!
(つづく)

ITエンジニアのためのマーケティング入門 第18回 (vol.41掲載)

投稿日:2017.06.13 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.41は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第18回 マーケティングの実践 – その6-

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。マーケティングの基本について一通り学び終え、これから会社の後輩カンナちゃんと一緒にマーケティングの実践方法を学んで行こうと考えています。今回は「グローバル・マーケティング」のお話です。

今日はグローバルマーケティングの話をするかの。
グローバルってことは、海外でマーケティングをするってことだね?
進出先の言葉や文化を知らなくてはいけないから、国内よりはハードルが高くなるわね。
そうなんじゃ。国内市場の規模が十分にあれば、わざわざ国外に出ていく必要はないんじゃ。例えば次のようなリスクが大きいからなんじゃな。
うーん、最低限英語ができないといけないしボクには無理だなー。
そんな根性なしではいかんぞな。今やいつ海外に行くことになるかもわからん!次に挙げたような理由から、日本企業も海外進出の必要性が高まっているんじゃぞ!

・人口減で国内市場が飽和または縮小傾向にある

・経済が低成長で大きな利益をあげることが難しい

・低コストで国内製造することが難しい

・取引先や親会社が海外に進出する
でも日本の良い製品を歓迎してくれる世界の人も多いから、世界に出るって良いことなんじゃないかしら。
そうじゃな。海外に企業が出て稼いでもらわないと日本も外貨が獲得できん。じゃが、海外進出するからには、当然しっかりとしたマーケティング戦略をもって進出することが望ましい。
3C(競合、顧客、自社)とか、4P(製品、価格、流通、販促)を海外に置き換えて考えてみるだけでもスゴク難しそうだね。
その通りじゃ。「グローバルマーケティング」という概念は1990年代になって生まれたといわれていて、実は大変新しい言葉なんじゃ。それまでは多国籍企業で実施されているマーケティングが「国際マーケティング」と呼ばれていて、国境を越えて存立させた海外子会社(R&D、生産、物流、販売会社など)を組織化して、原材料の調達と生産のコスト低減、効率的な物流、大量消費地などを勘案して実施されていたのが手本だったんじゃな。
少しずつ海外に製品を持って行って、経験を蓄積してきたんですね。
ただ、初期のグローバルマーケティングは失敗も多かったんじゃ。これを見てみるがよい。

事例30:初期グローバルマーケティングの失敗例

以下の失敗例の原因は何だったか想像してみよう。
①コカコーラは、スペイン市場に「2リットルボトル」を導入したが、当初失敗に終わった。
②プロクター&ギャンブル(P&G)は、歯磨き粉「クレスト」をメキシコ市場に投入したがあまり売れず失敗した。
③S.C.ジョンソンは、日本に床磨き用ワックスを導入したが、当初まったく売れなかった。

出典 ?『マーケティング・マネジメント』
ミレニアム版 フィリップ・コトラー著
ピアソン・エデュケーション

コカコーラの2リットルボトルって、今でもあるよね?なんでだろ。重いものを持ちたくなかったのかな?
歯磨き粉は…甘くて受けなかったのかしら?床用ワックスは…日本の気候に合わなかったとか?
正解はこれじゃ。

<正解>
①2リットルのボトルが入るほど大きな冷蔵庫を持っているスペイン人がほとんどいなかった。
②メキシコ人はそれほど虫歯予防に気を使っておらず科学的な説明をされてもあまり理解しなかった。
③日本人は家の中で靴を履かないことを見落としていた。

えーっ?!こんな理由なの?
フフフッ。これ可笑しいわね!
ハハハ。おもしろいのう。しかしこうした昔の失敗からもいろいろ教訓を得ることはできるじゃろ。それぞれ直接的には①ボトルの保冷手段②国民の保健意識③居住空間の違い、に思いが行き届かなかったのが失敗の要因だったわけじゃが、それは進出国の生活習慣やライフスタイルをかなり深く探る必要性があるということなんじゃ。今でこそネットを使って海外事情を入手することは容易になってはいるが、特にコンシューマ製品の場合は気を付けなければならん。これには宗教的な要因なども大きいんじゃ。
自国では定評ある商品でも、外国ではどんな落とし穴があるかわからないよね。
日本でも古くから海外進出した企業はあるんじゃ。例えば誰もが知る味の素やキッコーマンはかなり以前から海外に進出して根付いておるんじゃが※1、失敗した例も数多くある。M&A(買収)の代表的な例を見てみようかの。
※1 「味の素」は1910年、当時日本領だった台湾に進出した。「キッコーマン」は1905年には朝鮮半島に工場を設立していたが、本格的なグローバル進出は1967年米国で生産開始したのが最初。

事例31:海外M&Aの失敗例

①NTTコミュニケーションズのベリオ社買収
NTTコミュニケーションズは、2000年に50億ドル(当時)の現金で米国ISP大手ベリオ社を買収した。ベリオ社はコロラド州で創業した小企業だったが、米国及びヨーロッパの小規模ISPを次々と買収し急激に成長していた。しかし買収直後、ネットバブル崩壊もあって急激に業績が悪化、わずか1年後には5000億円の減損損失を計上するに至った。
②第一三共のインド・ランバクシー買収
第一三共は2008年、インド製薬メーカー、ランバクシー社の株式を4900億円で買収した。しかし、その後米国FDA(食品医薬品局)から安全基準に疑義がかけられランバクシー製品が輸入禁止になってしまった。その結果2009年には3500億円の評価損を計上したほか、品質問題で巨額の米政府への和解金も発生した。経営陣を送り込むなど多大な人的投資を傾注したものの、その後主だった医薬品開発成果を上げられないまま、2015年にインド後発医薬品メーカーに3800億円で売却し終止符を打った。損失額よりも6年間におよぶ組織の疲弊と時間を失った代償の方が大きいといわれている。
③キリンホールディングスのスキンカリオール買収
キリンホールディングスは、2011年、ブラジル2位のビール会社スキンカリオールを3000億円で買収した。しかしその後創業者一族による経営権争いに巻き込まれたほか、圧倒的なシェア第1位のアンハインザー・ブッシュ・インベブ社に価格競争で敗れて低迷、ブラジル経済失速によるレアル下落もあって、1140億円もの特損を計上して上場以来初の最終赤字に陥ってしまった。スキンカリオール社の経営権争いは以前から業界内では有名で、同業他社が「意思決定に時間がかかる」と諦めていた現実を甘く見過ぎた失敗とみられている。
出典:『失敗? 成功? 巨額損失を計上したM&A10選』
M&A Online?https://maonline.jp/articles/kyogaku0066
『キリンが海外戦略で誤算、ブラジルのビール大手買収で泥沼』東洋経済Online?http://toyokeizai.net/articles/-/7937
いやー。難しいんだね!
ちょっとアンラッキーな面もあるけど、内部の調査が不十分なまま海外に巨額の投資をするのは怖いって思っちゃうわね。
確かに日頃厳しく経費を査定するのに、こうした大型案件に数千億円もポンと金を出すのは矛盾しておるのじゃが、それでも成功している企業も多いんじゃ。次回は成功の条件と事例を見ていくことにするかの。
(つづく)

【今回の用語まとめ】

グローバル・マーケティング:

世界全体を市場と捉え、国境を越えて言語、文化など様々な違いを吸収し事業を展開するためのマーケティングをいう。世界の市場へ適応するための「現地適合化」と「標準化」がキーポイントといわれる。世界市場を細分化した場合、個々の市場ニーズに応えるための人と組織、原材料調達、生産体制を最適化し、最も生産性やコストの有利な地域で生産し、販売可能な地域へ流通させるための経営戦略と密接に関係する。近年は世界的な規制緩和や様々な経済圏を通じて商品と情報のグローバル化が進み国際的M&Aが増加したことなどから、グローバル・マーケティングの重要性が高くなっている。

「グローバル・マーケティング」Wiki(英語版) https://en.wikipedia.org/wiki/Global_marketing

ITエンジニアのためのマーケティング入門 第21回 (vol.44掲載)

投稿日:2017.06.13 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.44は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第21回 マーケティングの実践 – その9-

前回までのあらすじ

社長からマーケティングを学ぶように言われたエンジニアのタケシは、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろな知識を吸収しています。マーケティングの基本について一通り学び終え、会社の後輩カンナちゃんと一緒にこれからマーケティングの実践方法を学んで行こうと考えています。前回は「ブランド・マーケティング」のお話でした。今回はその続き「ブランド構築」のお話です。

前回までの話でブランドの意味とか効果とかは理解できたけど、実際にはどうすれば「ブランド構築」ができるのかな?
時間が掛かるにしても、適切な方法って何かあるのかしら?
ハハハ、今回のテーマはまさしくそこなんじゃ。ブランド構築には「正しいステップ」があるのじゃよ。
正しいステップ?
いろいろな考え方があるんじゃが、代表的なものを一つ紹介しよう。これはアメリカのK.ケラーという先生が提唱している「戦略的なブランドマネジメントのプロセス」というものじゃ(図1)。順に説明しよう。

図1 戦略的なブランドマネジメントのプロセス

STEP1 「ブランドポジショニングと価値」の定義と確立

ただ商品名やロゴ、シンボルを決めただけではブランドにはならんな?
そりゃそうだよね、誰も知らないんじゃブランドになんかならないもの。
お客さんが良いイメージを持ってくれて、はじめてブランドなんじゃないかしら?
そのとおり。「ブランドポジショニング」とは、お客さんが持つイメージぴったりに自社のブランドを正確に位置付けることなんじゃよ。これは他社との差別化要素を明確にすることにもなる。じゃから、そのために「市場における自社ブランドの価値と存在意義」を再確認する必要があるんじゃ。
ナルホド、それで「ポジショニング」なわけだ。
それができるのは誰じゃろ?
創業者や社長さんとかかしら?
そのとおり!じゃから、トップの責任で長期的な展望を決めないと、ブランド戦略は成立しないんじゃよ。マーケティング部門や広報部門だけではできない話じゃ。

STEP2 「ブランドマーケティングプログラム」の計画と実行

これは、ブランドの価値を広く市場やお客さんに、自信をもって伝えていく具体的な作業になる。
ここは、マーケティングの広報や宣伝の役割だよね?
まぁそうなんじゃが、前に言ったように“広告でブランドは作れない”。そこは忘れんようにな。
そうだったね、思い出した。
この作業には、お客さんにメッセージを伝えるキャッチフレーズやロゴの制作なども含まれる。それに、開発した商品の製品特性やバリエーションが、定義したブランド価値に合致しているのかを常にチェックすることも忘れてはいかんのじゃ。
お客さんに持ってもらうブランドイメージを損なわないように、注意するってことなのね。
さらに、社内にブランド価値を浸透させるための社員教育や組織作りもここに含まれるんじゃよ。
ブランド構築を実践していく中心は社員だから、全員がその価値を理解していることが必要なのね。
そして優れたブランドには3つの「一貫性」があるといわれておる。
3つの一貫性、ですか?
それは「時間経過に対する一貫性」、「商品相互間の一貫性」、「マーケティングミックスの一貫性」の3つじゃ。
3つもあるのか……ブランド構築って、やっぱり大変なんだな。
去年出した製品とまるで違うコンセプトの製品を同じブランドから出したら離反する客も出てくるじゃろ。それに、長く使い続けても大丈夫という安心感を裏切ってもいかん。それが「時間経過に対する一貫性」じゃ。
長く続く安心感か。そうか、うちの母さんも昔から変わらず虎屋のようかんと栄太郎飴が好きだからなぁ……。
爺:  「商品相互間の一貫性」は、違う商品でもブランド価値が同じであること、「マーケティングミックス」の一貫性は、商品、価格、販売チャネル、プロモーション全般にわたってブランド価値を矛盾なく体現させることなんじゃ。
そういえば、ポケモンGOのキャラクターって、どれもみんな可愛いよね!
オマエはそこか!

STEP3 「ブランドパフォーマンス」の測定と評価

これは、思い描いていた通りにブランドが市場やお客さんに受け止められているかをモニターするステップになるの。例えば、お客さんの声や評価を「お客様相談室」やネット上の評判で調べることができるな。
口コミだね?
クレーム対応で炎上したりしないよう気を遣うところね?
そういうことじゃな。ここで問題や課題が発見されたら、STEP1やSTEP2に戻って微調整するんじゃ。

STEP4 「ブランドエクイティ」の育成と維持

聞き慣れない言葉じゃが、「ブランドエクイティ」とは「ブランドの資産価値」という意味なんじゃ。ブランドが発展すること、すなわち支持してくれるお客さんが増えれば増えるほど、この資産価値が高まるわけじゃ。
資産価値って、お金に換算できるの?
そうじゃよ。前回もいくつか例を紹介したじゃろ。ブランド価値とは、要するに「のれん代」のことなんじゃ。
のれん代って言葉は、M&Aの時や海外企業買収で失敗した時なんかに出てくるよね?
それは「のれん償却」のことね?
そうじゃ、高いブランド価値をもつ企業は、その高い評価がM&Aの際の買収金額に反映されるんじゃよ。
そうだったのねー。
さて、自社のブランド構築のステップは見たが、今度はお客さんの視点から見たブランド発展の段階を見ていこう(図2)。

図2 ブランド・レゾナンス・ピラミッド
これまた、なんか難しい用語が出てきてるね!
これはケラー先生の「ブランド・エクイティ・ピラミッド」または「ブランド・レゾナンス・ピラミッド」という有名な図なんじゃが、「ブランド・レゾナンス」とは、お客さんが強烈にそのブランドを信奉していて、「絶対これ!」といったこだわりを持った状態のことを言うんじゃ。お客さんとブランドが同調している状態を「反響、余韻、共鳴」という意味のレゾナンスという言葉で表しているんじゃの。
うちのチームのヒロシくんは、家ではアップルのPC以外は買ったことないって言ってたなー。そういうヤツのことかー。
図の左の「ブランド開発のステージ」は、お客さんとブランドの関係がだんだん進化していく段階を示しているのね。
右側の「ブランディングの目標段階」は、お客さんのブランドに対するイメージの深さの段階なんだな。
そういうことじゃ。ではブランド構築の成功事例を見ることにしよう。

事例37 生活者視点から始まった無印良品のものづくり

無印良品は1980年に西友の一事業部門としてスタートした。当初から大切にしていたアイデンティティは「生活者視点に徹する」こと。既存メーカーの製品を並べて販売するのではなく、生活者視点で独自の商品を生み出そうという「逆転の発想:マーケットイン」のコンセプトが当初から「無印」には込められていた。そこから生まれた新商品の一つが真っ白な「生成りのふとん」。布団には様々な色・柄があるのが普通だが、実際使用する際にはカバーをかけることが多い。そこで中身の絵柄をつけずに消費者の好みやライフスタイルに合わせてカバーを選んでもらおうと製作した。これにより大幅なコスト削減が実現し、安く提供できるようになったが、当初はメーカーから反発された。デフォルトでは泥除けやライトが付いていない「パーツを選べる自転車」を発売した時もそうだった。無印良品はその後も姿勢を変えず、さらに徹底して顧客の意見を商品開発に反映させるため、2009年「くらしの良品研究所」を立ち上げた。
出典:「デジタル時代のブランド育成方法、無印良品が進める絆づくりとは?」Markezine 2014.7.11 http://markezine.jp/article/detail/20386

参考:「シェルスクリプトマガジン VOL.35」(2016年3月号)
当連載第12回[事例19]

そうか、当初のコンセプトを変えずに徹底する!っていう姿勢がブランド構築に繋がるのか。
無印良品は以前にも取り上げたことがあるのう。ブランドというと「古くからある」というイメージじゃが、ここはブランドとしては比較的新しいんじゃ。それでも国内312店舗、海外344店舗を持つ大チェーン店ネットワークに育っておる。
海外でも「MUJI」ブランドで有名なのよね。シンガポールやオーストラリアに行った時にも見つけたことある※3。
多少の反対や事件では「ぶれない」ということが肝心なんじゃの。もう一つ「ブランド・レゾナンス」を示したともいうべき著名な事例をあげておこう。

※3 出典:㈱良品計画 企業情報(2016年2月期)http://ryohin-keikaku.jp/corporate/

事例38:「サービスを超える瞬間」ザ・リッツ・カールトン

1997年に日本進出した「ザ・リッツ・カールトン」は世界のホテルランキングでも上位を維持している。その卓越したサービスが「感動」を産んだエピソードは数多い。“彼女に結婚を申し込むつもりでホテルスタッフに「ビーチチェアを用意しておいて下さい」と頼んだら、椅子の前に男性が膝をついても汚れないようにタオルを敷き、白いテーブルクロスを敷いたテーブルの上に花束とシャンパンを置き、タキシードを着てお客様を待っていた”とか、“宿泊予定で荷物も送っていた老夫婦の自宅に強盗が入りそうになり、宿泊を急遽キャンセル。幸い問題は無かったが、その夜リッツから夫婦に荷物が届き、中を開けてみると焼きたてのクッキーとグラス、シャンパンと共にバスローブが二枚……「結婚三十周年おめでとうございます。お二人の力になればと思い、お祝いをお届けします。」とメッセージが添えられていた”とか。
「サービスを超える瞬間」を著した元日本支社長の高野登氏は、「サービスによって満足は伝わるが“感動”は伝わらない」と語る。その“感動を伝える”従業員はサービスの基本精神が書かれている「クレド(credo)」というカードを常に携帯している。また、従業員自らの判断で1日2,000米ドルまでの決裁権が認められている。
従業員を採用する際にも、ザ・リッツ・カールトン独自の人材採用システムを用いている。経歴や経験ではなく素質を重視した面接を行うため、採用までに長期に渡って時間をかける。これは、ザ・リッツ・カールトンの社風などをきちんと理解できた人が入社するというメリットがある反面、アルバイト・契約社員を採用する際も同じ面接を行うのでコストが掛かりすぎるデメリットもある。リッツ・カールトンは自らを取り巻く社会を3つの層で捉えている。「社員とその家族」が最も重要で、次に「パートナーとその家族」、最後に「お客様」なのだ。高野氏はこう語る。「「ザ・リッツ・カールトンは、お客様にわくわく感動してもらいたいと常に願っています。ただ、お客様の感動というものは、社員が働く中で抱く感動を超えることはないと考えています。そのため、このような優先順位となっているのです。」


出典:「リッツ・カールトンが大切にするサービスを超える瞬間」高野登著 かんき出版

出典:「サービスを超える瞬間」の実現──ザ・リッツ・カールトンの経営理念と哲学」ITmediaエグゼクティブ (2011.2.8)

これ、なんかナットクしちゃうなー。「感動して働ける社員だけが感動を届けられる」って話だね。
爺: 「お客様第一」を掲げる会社は多いが、実際はそうでないことが多いからのう。従業員を第一に考えた上で“顧客への感動を届ける”を徹底して実践している姿勢は見事じゃの。
もしかして、“従業員が満足していなければブランドは構築できない”ってことなのかしら?
カンナちゃん、そのとおりなんじゃよ。ブランドを継続的に育成するためには社員が誇りを持って働ける環境づくりが重要なんじゃ。ブラック企業にブランドは定着せん。例えば、次のようなミッションを行動規範として全社員や関係者に徹底させると良いのじゃ※4。このような行動規範を明示すると同時に、従業員の待遇を改善しパートナーと捉えることによって、業務遂行の意欲を向上させることが、ブランド育成には有効なんじゃよ。

1.社員は互いに尊敬し合う。
2. 多様性を受け容れる
3. 最高のレベルを目指す
4.顧客が心から満足する製品を提供する
5.地域と環境を守る
6.利益を上げることは社会に貢献することでもある

難しそうだけど、大切なことだよね。
ブランド構築の奥深さが理解できました!
そうか、それは良かった。では、次回はブランドと関係のある「顧客経験価値マーケティング」に進んでいくかの。
またまた楽しみにしてるよ!

※4 出典:「ビジネスQ&A J-Net21 http://j-net21.smrj.go.jp/well/qa/entry/314.html
(つづく)

※図1, 図2 出典:Keller, Kevin Lane(2013), Strategic Brand Management: Building, Measuring, and Managing Brand Equity. 4th ed. Upper Saddle River, NJ: Pearson /Prentice Hall.(翻訳:筆者)

ITエンジニアのためのマーケティング入門 第16回 (vol.39掲載)

投稿日:2017.06.6 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.39は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第16回 マーケティングの実践 – その4 –

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。マーケティングの基本について一通り学び終え、これから会社の後輩カンナちゃんと一緒にマーケティングの実践方法を学んでいこうと考えています。前回は「ファネルマーケティング」の話でしたが、今回は「競合優位追求型マーケティング」のお話です。

今日は「競合優位のマーケティング」の話をするかの。
競合優位って、ライバルがたくさんいる中で抜きんでることだよね。
その競合優位ってなんじゃろか?
ライバルの品物より品質が良い、価格が安い、性能が良いとかでしょ?
そんなふうに誰もが思っている場合にシェアが大きくなって競合優位になるんじゃないの?
カンナちゃん、それは良いところに気付いたの。“だれもが思っている”というところが肝心なんじゃ。競合優位性を簡単な絵にすると、このようになる(図1)。

図1

1つはコスト優位性じゃ。コストが低ければ安く市場に供給できる。安さは誰でも魅力じゃからの。もう1つは差別化優位性じゃ。「差別化」と括ってしまったが、この中にはいろいろある。
性能や品質とかデザインとかだよね。4Pの時に習ったよー。
そうじゃ。おいそれとライバルが真似しにくい特性を数多く持つことが肝心なんじゃ。
時間をかけて技術を磨いてきた企業が結局競合優位になりえる、って聞いたことがあるわ。
そうじゃ。ではまず競争戦略の基本をおさらいしてみるか。
マーケティングじゃなくて戦略の話なの?
タケシや。マーケティングを考えるときに登場する主体は何じゃった?
えーと、市場のお客さんと、自社と競合の3Cだったよね?
そうじゃ。競争戦略に登場するのも実はいっしょじゃ。じゃから競争戦略はマーケティング戦略に包含されるともいえるんじゃ!
えーっ?それ反対じゃないの?
それはどちらでも良いのじゃ!
マーケティングはマネジメントそのものっていう意味なのかしら?
カンナちゃん、ビンゴじゃ!マーケティングの大家、P.コトラーは、“競争優位という概念はM.ポーターが提唱した。しかし、マーケティングは昔から競争を意識してきた。顧客を獲得する、顧客を維持するというのは、競争するという事と同じ意味だ。競争を優勢に進めるためには、必然的に他との違いを強調する。つまり競争優位を実現し演出する。”といっておるぞよ※1

※1 出典:「コトラーのマーケティング戦略 最強の顧客満足経営をキーワードで読み解く」多田正行 PHP。?https://www.php.co.jp/books/detail.php?isbn=4-569-63636-5

お客さんを獲得し続けることが会社を発展させるためには必要ってことね?
これが米国のポーターという経営学の大先生が提示した競争基本戦略の絵じゃ(図2)。どこかで見たことがあるじゃろ。表1は図2の意味じゃ。

図2

表1 出典:M.E.ポーター『競争の戦略』ダイヤモンド社

なるほど、集中戦略が低コストと特異性の両方をカバーしているっていう意味がわかったよ。
②と③は大きな市場シェアを狙いに行かない(シェアを諦める)代わりに非価格競争に持ち込める、という点が大きなメリットであることを見逃さぬようにな。
勝算の不確かな低コストの追求ではなくて、特徴を磨くことで活路を見出しているのね。
そういうことじゃ。これは今でも通用する基本的な原則といえるんじゃが、かなり前の文献じゃから、現実に合わなくなってきた面もあるんじゃ。さて、日本の実態はどうなっておるかの? 表2に整理してみたが、日本はやはり「集中化戦略」の得意な企業が多いようじゃの。

表2 日本企業の競争基本戦略

トヨタやホンダはわかるけど、そんなに世界的な企業が多いの?
バカもん!これを見てみよ!

事例26:世界シェアトップの日本企業まとめ

日本には世界シェアトップの企業が数多く存在する。ソニー(ビデオカメラ)、ミネベア(小型ベアリング)、日亜化学(白色LED)、JUKI(工業用ミシン)、日本精機(2輪車用計器)、日東電工(液晶用光学フィルム)、日立金属(高機能ネオジム磁石)、ホンダ(自動二輪)、ナブテスコ(産業用精密減速機)、日本セラミック(赤外線センサー)、SHOEI(高級ヘルメット)、マブチモーター(小型モーター)、任天堂(ゲーム機)、ワコム(ペンタブ)、ディスコ(半導体切削機)、シマノ(自転車部品)、村田製作所(セラミックコンデンサ)、浜松ホトニクス(光電子増倍管)、ファナック(工作機械用NC)、日本電産(精密小型モーター)、信越化学工業(半導体シリコンウエハ)、日本ガイシ(碍子)…
以上すべて世界シェア一位企業である。トヨタも2015年生産台数世界一に返り咲いた。
このように産業用素材や加工機械、計測機器などが多く、細かくて精密な分野は日本人の気質にマッチしているらしい。ホンダや任天堂などコンシューマ企業もあるが、その多くは歴史あるBtoB企業という点も興味深い。
出典「国内/世界シェア1位企業」NAVERまとめ http://matome.naver.jp/odai/2133603554882742001
参考「隠れた日本企業のチカラ」Nikkei http://vdata.nikkei.com/prj2/ft-jpglobal-c

こちらも世界シェア1位企業一覧。ニッチの宝庫。大多数の企業は大企業ではなく、一般的知名度も高くない。しかし定評ある日本の工業製品力はこうした企業が支えている。

へーっ!結構たくさんあるんだね。知らない会社ばかりだけど、ボクが乗ってるロードバイクの変速機はシマノ製だよ!確かに世界中のスポーツ車の変速機はだいたいシマノのパーツがついてるんだよなぁ。やっぱ、世界一なのか…。
お得意の自転車の話じゃな?ハッハ。
そう言えば、ノーベル物理学賞を受賞した小柴先生や梶田先生のニュートリノの業績も、スーパーカミオカンデに設置されている浜松ホトニクスの光電管が貢献しているってニュースで見たことあるわ。
この例で挙げた以外にもまだまだたくさんあるんじゃ。さて、こうした世界的なシェアを確保した企業は、ニッチではあるがその分野のリーダー企業なんじゃ。じゃから、こうした企業のマーケティングは自然と2つの方向に向かうことになる。
2つの方向?
1つはシェアの維持と拡大、もう1つは市場の拡大じゃ。
やっぱりそうなるんだよね、簡単ではなさそうだけど。
その通りじゃ。かなり有名な事例じゃが、格好の題材があるぞよ。

事例27:ゼロからのスタートでシェア20%

格安海外航空券で一世を風靡し、今や国内外旅行会社の大手となったH.I.S。創業は1980年で運輸大臣の認可を受けられたのはその翌年だった。H.I.Sの取締役だった大野尚氏が入社したのは1984年、福岡営業所だった。社員はたった二人、机が一つしか無く、「やむを得ず自分の机や椅子・電話回線等までも持ってきた。しかし社長の澤田さんは”世界一になるよ、航空会社も作るよ。”と言っていた。最初は“ホラ吹きだなぁ。”とか“騙された”と感じたが、彼のオーラに引きこまれた。仕事は毎日チラシ配りだけだった。しかし諦めず目の前のできることを続けた結果、福岡市内で一番綺麗なオフィスと良い挨拶でお客さまを迎えられる旅行会社になった。」と語る。
H.I.Sは現在年商5,374億円(平成27年10月期)の大企業となり、2016年2月には国内主要49社でシェア19.6%(売上高比)を達成している。ハウステンボスを傘下に収めたほか、今後訪日外国人向けのインバウンド市場拡大のために海外店舗を増やしており、既に200店舗を超えている。

出典  ベンチャー企業HISの成功方法「ゼロからの挑戦」FUKUOKA成長塾 http://www.fukuokajuku.jp/archive/past8.html
H.I.S IR情報ほか http://his.co.jp/ir/

H.I.Sって、ウワサでは聞いたことあるけどホント急成長したんだね。スゴイなー。
旅行業界は古い業者さんが数多くいるらしいから、並大抵の努力ではなかったでしょうね。
ワシも若い頃に街で単色刷りの粗末なチラシを何度ももらったことがあるが、その航空券の激安ぶりには驚いたのー。それで何度か使わせてもらったんじゃ。
おか婆さんと海外旅行に行ったんでしょ?
バカモーン!ノーコメントじゃ!

 

ITエンジニアのためのマーケティング入門 第17回 (vol.40掲載)

【今回の用語まとめ】

ポーターの競争戦略

米国の競争戦略論の大家、M.E.ポーター(Michael Eugene Porter)が発表した経営戦略論。多くの戦略に関する著作があるが、代表作『競争の戦略』は経営戦略論の古典として今日でも多くの経営者や、経営学を学ぶ学生の間で利用されている。「3つの競争基本戦略」のほか、「5つの競争要因」という“顧客の価格引き下げ圧力、新規参入者の脅威、代替品出現の脅威、供給事業者の価格交渉力、競合者間の敵対関係の5要素のうち、どれか1つでも強くなると競争環境が変わる”とする5フォース分析やバリュー・チェーンなどの考え方を広めた。
その後多くのポーター理論への批判があり、

1. 顧客の視点がほとんど含まれていないこと
2. 自社対競合などの、自社以外の存在との関係性を重視するが、企業自身の内部的特性や潜在的強み(後にコア・コンピータンス理論に繋がる)が考慮されないこと

などが批判の対象となった。「できるだけ競争しないのが競争戦略」と揶揄されたが、名著の誉は今日でも揺るぎなく、MBA学生や経営者の必読書となっている。

ITエンジニアのためのマーケティング入門 第14回 (vol.37掲載)

投稿日:2017.06.6 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.37は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第14回 マーケティングの実践 – その2 –

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。マーケティングの基本について一通り学び終え、前回からは会社の後輩カンナちゃんも一緒にマーケティングの実践方法を学んでいこうと考えています。

さて、普通の会社にとって最も重要な目的はなんじゃろ?
うーん、良い商品やサービスを出し続けて利益を上げることかな?
お客さまをできるだけ多く集めてファンになってもらうことじゃないかしら?
タケシ、イマイチじゃな。カンナちゃんが正解じゃ!
わーいっ!
でも、お客さんを集めただけじゃ利益がでるかわからないよね?
タケシや、お客さんが大勢いるのにつぶれた会社はないんじゃ。たいてい、お客さんが減って立ち行かなくなって会社を維持できなくなるんじゃ。
確かに最近そうした例が多いかもね。
前に紹介したことのあるドラッカー先生の話では、「企業の目的は一つしかない。それは“顧客の創造”であり、さらに“企業=営利組織ではない”として、“企業とは何か”を決めるのは顧客以外には存在せず、だから基本的な企業の機能は“マーケティングとイノベーションだけである”。」と説いているんじゃよ※1

※1 ドラッカーは第1章「企業の成果」の冒頭で“企業=営利組織ではない”とし、古典派経済学への批判とともに、利益は大切だが利益動機なるものは無意味であり存在することさえ怪しい、と指摘している。
出典:『エッセンシャル版 マネジメント 基本と原則』P.F.ドラッカー著 上田惇生編訳 ダイヤモンド社

そうか。企業は「利益目標」を達成することが使命のように思っていたけどなぁ。
それは企業の存在意義を考えてみれば目的にはならんことがすぐわかるじゃろ。確かに利益も必要ではあるが、それは“目的ではなく条件”なんじゃ。さて、カンナちゃん、会社ではどうやってお客さんを見つけるのかな?
昔は雑誌広告が多かったらしいんですけど、あまり効果がないらしくて。今はホームページと展示会がメインみたいです。時々セミナーも開催しているようです。
なるほど。BtoB企業が普通によくやる手段じゃな。
新しいお客さんを見つけるのが、やっぱり会社でも課題になっているみたいだよー。
そうじゃろ。ま、BtoBの話は後回しにして、まずはファネルマーケティングの話からするかの。
ファネルマーケティング?
要するに“じょうご(漏斗)”のようなものじゃよ。
元が広くて先が細いあのじょうご?
お客さんと何か関係があるのかしら?
図1をみてみぃ。ある商品に、まずは大勢の潜在的なお客さんが気付く(Attention)、次に気付いたお客さんの中で興味を持った人たち(Interest)が“欲しいなー”と考える(Desire)、次にこれが意識の中に記憶され(Memory)、最後に購買行動に出る(Action)、そしてお客さんになる…。

図1 Purchase Funnel
AIDMA(アイドマ)っていうのかしら?
そうじゃ。今から100年近く前にアメリカの広告研究家が発案して世界に広まったんじゃな。海外ではPurchase Funnelと呼ばれておる。一つ一つ関門を突破してくれた潜在顧客が最終的に購買に至るという意味があるんじゃ。
へーっ。商品を知らない人がお客さんになるまでのプロセスを示してるんだね?
その通りじゃ。これは消費者購買モデルとして古くから研究されておるから、調べてみるとよい。では、事例を一つ見てみようかの。これは誰もが知る事例かもしれん。

事例23:アマゾン「ワン・クリック」の発明

1997年、J.ベゾスは二人の若いエンジニアと一緒にランチをとっていた時、「できる限り簡単に買い物ができるようにしたい」とつぶやいた。この願いを叶えたのが、あらかじめ顧客住所とカード情報をデータベースに登録しておき、サインインした顧客がボタンを一回クリックするだけで注文が完了するシステム「ワン・クリック」の仕組みだった。顧客の買い物の手間を少しでも減らせば売上が増え、競合相手を出し抜けると考えたのだ。
今でこそ、なんの変哲もないシステムだが、当時としては新しく、「通信ネットワーク経由で購入注文を実現する方法とシステム」として特許出願され商標登録も行った。これはビジネスモデル特許のさきがけになった。
『ジェフ・ベゾス果てなき野望』?ブラッド・ストーン著 井口耕二訳 日経BP社 ほか https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201443070

ふーん、確かにこれ便利だよね。
一度利用すると、IDが登録されて次回からワンクリックでオーダーできるのね。
すると、次回も使おうという事になる。さらにプライム客には基本送料無料にしたからリピートされる。これがインターネットの隆盛とタイミングが一致したので、爆発的に客が増えたとも考えられるんじゃ。これをAIDMAに沿って説明したのが表1じゃ。

表1

なるほど、あるある!
実は、この最後の「Action=購入する」という関門が「最後のひと押し」といって一番難儀なんじゃよ。「カゴ落ち」といって、カートに入れたまま注文されない商品が結構あるんじゃ。これを「ワン・クリック」という技で敷居を極限まで低くしたところがミソなんじゃ。
価格が安めに設定されているし送料も無料で早く届くから、衝動買いもしやすくなっているのよね。
次のもあることがきっかけで売上を大きく伸ばした事例じゃ。

事例24:機能性表示で大復活したカゴメトマトジュース

カゴメの定番商品「トマトジュース」が“血中コレステロールが気になる方に”という表示を2016年2月2日に開始した結果、前年対比出荷実績が328%に達したと発表。これは2015年4月から消費者庁による「機能性表示食品制度」が開始され、従来の「特定保健用食品(トクホ)」と「栄養機能食品」に加え、新たに科学的根拠に基づく有効性を表示できる「機能性表示食品」というカテゴリーが加えられたことに対応したもの。
カゴメは、新しい価値“リコピンが血中HDL(善玉)コレステロールを増やす”という効果が受け入れられた、と自己評価している。
実は2014年夏、カゴメはトマトなどの原材料費高騰や消費税引き上げに伴う需要減で国内飲料事業が15%も落ち込み、2014年12月期 業績予想を下方修正していたのだ。制度変更を上手に捉えた製品戦略で大きく復活した好事例となった。トクホの指定を受けるよりもハードルが低いため、現在カゴメ以外に200以上の商品が指定を受けている。
参考:「機能性表示食品カゴメトマトジュース売上好調のお知らせ出荷前年比328%を達成」カゴメニュースリリース 2016年2月22日 http://www.kagome.co.jp/company/news/2016/02/002602.html

「機能性表示食品制度がはじまります」消費者庁 平成27年4月 http://www.caa.go.jp/foods/pdf/syokuhin1443.pdf

前年比3倍以上の伸びって、スゴクない?
私も特にコレステロールが高いわけではないけれど、“体に良い”という安心感が無意識に働いちゃったのか、買ったことあるわ。
日本では心疾患や脳血管疾患が原因で亡くなる人の割合が25%以上と言われており※2、その原因の一つが悪玉コレステロールによる動脈硬化だという常識が広まっているから、潜在顧客層は膨大な数になるじゃろ。そこにコレステロール低下に効果があるといった表示をしたんで一挙に注意(Attention)、関心(Interest)を飛び越えてAction(購買)に結びついたお客さんが多かったんじゃな。
※2 出典:「病気の知識」シオノギ製薬 http://www.shionogi.co.jp/wellness/diseases/dyslipidemia.html

値段も手ごろだし食塩無添加の商品も分かりやすくなっているから、つい買っちゃうのかも。
これは肝心の中身は何も変わってないのに、表示を変えただけで売上が大きく伸びたというところが面白いのう。
これがマーケティングの威力なのか…。
ハッハッハ。そう捉えてもよかろう。重要なことは、Attention→Interest→Desire→Memory→Actionのそれぞれの関門の間際でお客さんをできるだけ逃がさない工夫をし続けることなんじゃ。
逃さない工夫って?
それはメッセージだったり、印象的な画像だったり、オトクなキャンペーンだったり、メールニュースだったり、手段やタイミングはいろいろ考えられるじゃろ。
お客さんが興味を持ってくれたら、それが薄れないうちに背中を押してあげるようなアクションをとるべきなのね。
そういうことじゃ。では次回はBtoBについて考えてみるかの。

【今回の用語まとめ】

消費者購買モデル

消費者が商品やサービスを初めて認知してから購買するまでのプロセスを説明するモデル。購買意思決定プロセスともいう。様々な考え方が存在し、最近はSNS拡大を意識した購買後の情報シェアまで考慮に入れたものも存在する。特に大手広告代理店の電通が提唱し登録商標にもなっているAISAS(アイサス)が有名。
【保存版】「消費者購買行動モデル」まとめ NAVERまとめ http://matome.naver.jp/odai/2132383210009786701

カゴ落ち

ECサイトなどで、いったんカートに入れた商品を結局買わずに放置する(される)こと。カート離脱率(放棄率)として認識され、平均60-70%が放棄されているといわれる。これはEC先進国米国をはじめ世界的な傾向でもあり、大きな課題になっている。カート放棄の原因は、購買までの手続きが複雑、入力すべき個人情報が多すぎる、決済手段の選択肢が限られる、配送料が高い、返品やキャンセルなどの情報がわかりにくい、などがあるとされる。

ITエンジニアのためのマーケティング入門 第13回 (vol.36掲載)

投稿日:2017.06.6 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.36は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第13回 マーケティングの実践 – その1 –

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについて学んでいます。前回までマーケティングの基本的知識「STP」や「4P+4C」などを一通り学びました。これからはマーケティングの実践方法を学んで行こうと考えています。今回、おか爺の話を聞いて興味を持った後輩のカンナちゃんを連れてきました。

こんにちはー、おか爺。今日はお客さんを連れてきたよ!
初めまして、カンナといいます。タケシ先輩からおか爺さんの話を聞いて、私も聞きたくなって連れてきてもらいました!
それは、熱心なことじゃのう。これからタケシと遠慮なく遊びにおいで。それで今はどんな仕事を?
広報部に配属されたんですけど、入ったばかりでまだ仕事がよくわからなくて…。
広報部か?それは良かったのう。タケシにも参考になる経験がこれからたくさんできるじゃろ。ワシも少しは役に立てればよいがの。
はいっ!いろいろ教えてくださいね!
ところで、広報部は一般的にPRをやる部署なんじゃが、タケシ、PRの意味は分かっているかの?
PRって、文字通りプロパガンダ(PRopagada=宣伝)のことでしょ?…まてよ、プロモーション(PRomotion)のことだったかな?
プレスリリース(Press Release)の略なんじゃないかしら?
とほほ…残念ながら、二人とも間違いじゃ!PRはパブリック・リレーションズ(Public Relations)のことなんじゃよ。
パブリック・リレーションズ?なんか初めて聞いたなぁ…。
それも止むを得ん。世の中、「宣伝=PR」と認識している人が大部分じゃからの。その道の専門家でもこのように考えている輩がおる。これは勘違いなんじゃ。
そうだったのー!?
PRは20世紀のはじめ頃からアメリカで発展した考え方なんじゃが、「企業などの組織とその利害関係者(個人や集団、社会)と望ましい関係を構築するためのもの」というのが基本理念なんじゃ。ところが、日本に戦後導入された際に、民間企業で“PR”と略されたんで宣伝とほとんど同じ意味でしか使われなかったという経緯があるんじゃな。
広告会社をPR会社と言うのも、そういう事情だったのね。
PRで一般的に使われるのが「プレスリリース」で、これは新聞社など報道機関向けに記事にしてもらうことを期待して情報を配信するんじゃが、なかなか記事にしてもらえないのが実態じゃった。ところが、最近はWEBが発達したから、企業が「プレスリリース」と同時に「ニュースリリース」といった形で自社サイトで公式に発表することが多くなったのう。何より新しい商品を知る場としての報道機関の重要性が低下してしまったからの。
記者室向けに発表するなんて、まぁ時代遅れかもしれないよねー。

※1 パブリックリレーションズ(PR)広報と訳される。「組織体とその存続を左右するパブリックとの間に、相互に利益をもたらす関係性を構築し、維持するマネジメント機能(米国PRの教科書『Effective Public Relations』(邦訳名『体系パブリック・リレーションズ』カトリップ、センター、ブルーム3氏による)」と定義されている。さらに日本PR協会では、「企業、行政、学校、NPOなどあらゆる組織体が、それを取り巻く多様な人々(今日ではその組織となんらかの利害関係がある人々をステークホルダーと呼ぶ)との間に継続的な“信頼関係”を築いていくための思考・行動である」と補足されている。
公益社団法人日本パブリックリレーションズ協会 http://prsj.or.jp/shiraberu/aboutpr

最近の企業の「ニュースリリース」はかなり充実しておる。次のは、いい例かもしれん。

事例21:マツダのニュースリリースサイト

マツダの「ニュースリリース」サイトでは、2008年からニュース毎に写真のアイコンを入れ始め、最新ニュースへの誘因を促すアイキャッチとしている。ブランドサイトとしての一貫性が図られ、通常IR情報(株主や投資家向け情報)に属する情報へもこのページから直接アクセスできるように工夫している。

参考:http://www2.mazda.com/ja/publicity/release/2016/index.html

広報のページって堅苦しいイメージがあるけど、これはなんかカッコいいね。
綺麗にまとめられていて、思わずクリックしたくなる作りなのね。
北米で先に販売する新車のニュースが載っておるの。このページを訪れれば、たいていの最新情報にすぐにアクセスできるから、訪問者にとっては使いやすいサイトといえるじゃろ。では、“広報と広告の違い”はわかるかな?
うーん、広告はお金をかけるけど、広報はお金をかけないってことなんじゃないかな?
宣伝目的が広告、正確なニュースを周知するのが広報なんじゃないかしら?
うーん、まぁどちらも正解でよいじゃろ。PRの機能については?社会との共生、?企業の社会的認知の促進、?社会からの要望の採取、?自社を取り巻く社会環境の把握、?企業文化の構築と改革、といったものがあるんじゃが※1、分かりやすいように、広告とPRの違いを簡単にまとめておいた。参考になればよいがの。

表1:広告とPRの違い

なるほど。広告の浸透力が弱いっていうのは、すぐに忘れられやすいってことなのかしら?
そうじゃ。世の中広告があふれているからの。その一方でPRには信用度と客観性があるから、いったん注目されると印象に残りやすい面があるんじゃ。
たしかにそんな気もするよね。
さて、もう一つ事例を見てみようかの。

事例22:積極的なニュースリリースで過去最高の志願者数を獲得した近畿大学

近畿大学は2015年3月、「平成27年度一般入試志願者数確定過去最高の11万3,704人」というニュースをリリースした。これがプレスリリース配信サービス「News2u」社の月間ベストネットPR賞を受賞した。この背景には、「近大マグロの研究成果」をはじめ「完全ネット出願」、「教科書販売をAmazonと提携」、「初の女子応援部団長誕生」などメディアの興味を喚起するニュースリリースを配信し続けている地道な努力があった。時間をかけた継続的なニュース配信が過去最高の志願者数という成果につながった。その数は2015年度約360本。決め手は平成27年度入学式を近畿大OB、つんく♂がプロデュースしたことだった。その後入学式における「つんく♂無言の理由」が明らかになり、これも大きなニュースになった。平成28年度の入学式も“つんく♂プロデュース”が予定されている。

参考:月間ベストネットPR賞。2015年3月は「価値あるニュースを作り出し、オンラインで発信を続ける」近畿大学のネットPR事例が受賞!担当者からの受賞コメントを公開http://netpr.jp/netpr/models/17123/

これ、大学の入学式の案内?華やかで楽しそうだねー。
女子志願者も3万人を超えて過去最高になったのね。
ボクの大学生活は暗かったな…。
はっはっはっ!女子の前で何を言うとる!これから明るくしていけば遅くはないぞよ、タケシ!
うーん、そうだね。
さて、PRの話を見たところで、これからマーケティングをどう実践していくかといった話をしていこうかの。マーケティングの考え方を応用する方法には様々な考え方がある。いくつか代表的なものを事例とともに見ていくことにしよう。
それは勉強になります。楽しみっ!
「マーケティングの始め方」で習ったことが出てくるわけだね?
そうじゃな。新しい用語も出てくるじゃろ。前回までの話を縦糸とすれば、実践方法は横糸といったところかの。
ボクも楽しみにしてるよ!

 

ITエンジニアのためのマーケティング入門 第14回 (vol.37掲載)

ITエンジニアのためのマーケティング入門 第17回 (vol.40掲載)

投稿日:2017.06.6 | カテゴリー: 記事

Written by 水間 丈博

本記事掲載のシェルスクリプトマガジンvol.40は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

第17回 マーケティングの実践 – その5-

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろ知識を吸収しています。マーケティングの基本について一通り学び終え、これから会社の後輩カンナちゃんと一緒にマーケティングの実践方法を学んで行こうと考えています。前回からは「競合優位追求型マーケティング」のお話で、今回はその後編です。

この前はポーター先生の3つの競争戦略(①低コスト戦略②差別化戦略③集中化戦略)からマーケティングを考えながら、日本の隠れた世界的企業を見てきたが、どうじゃったかな?
世界で活躍する日本の機械屋さんが数多くあって驚いたね。
日本の製造業は衰えたって聞くけど、まだまだ力強い会社が多くて層の厚さを感じたわね。
それでは一つ問題じゃ。この例はどの戦略をとったんじゃろか?

事例28:世界最大のEMS鴻海精密工業

鴻海精密工業(鴻海科技集団:ホンハイ)は1874年台湾で創業した世界最大のEMS(電子機器受託生産:Electronics Manufacturing Service)企業、フォックスコン・テクノロジー・グループ(Foxconn Technology Group)の中核会社。当初は白黒テレビ用のプラスチック部品を下請けで製造する従業員10名だけの小企業だった。1981年にコンピュータ用コネクタ製造を開始し、創業者郭氏(現会長)の熱心な米国営業行脚が功を奏してインテル社などのPCのマザーボート用コネクターに採用されて急拡大、1993年には中国に最初の製造ラインを設置した。1990年代末にはPC本体製造も手掛ける。当時DellやHPがPC製造をBTO(Build to Order)方式に移行したのに伴い更に急成長し、中国本土の工場を拡大していった。米国にも営業拠点やR&Dセンターを設立、欧州にも進出した。その頃には液晶パネルやDVDなどパソコンの重要部品のほとんどを自社で製造できるようになった。2000年以降は携帯電話モジュールの製造に着手、その後iPod,iPhoneの世界拡大に歩調を合わせ、年商の4割がApple向けに。数々のM&Aを手掛けてきたが2016年3月にシャープを買収、かつての下請企業が注文主企業を併呑するにいたった。
現在世界14か国に製造拠点を設け、グループ売上高約14兆円(2014)、従業員130万人(2015)の巨大企業グループとなった。

出典 http://www.foxconn.com/

さて、この事例を見ると、ホンハイは当初TV用プラスチック部品という狭い分野からスタートし、次にコンピュータのコネクターという地味なパーツを手掛けた(集中化)。さらに中国大陸に進出して低労働コストを生かしてPC部品を大量かつ廉価に供給できるようになり(低コスト)、やがてスマートフォンの大量受託、迅速な納品ができるようになったので(差別化)世界的にシェアを伸ばした、といったように見えるのう。
なかなか競争戦略のどれかの枠にはまりそうもないわね。
企業が成長すると共に採りえる戦略が違うってことなのかなー。
まぁそう無理に当てはめる必要もないぞな。
自社の製造能力と世界の顧客の動向を見て、いち早く有利な分野の技術と生産能力を磨いたのかも…。
おお、かんなちゃん、相変わらず目の付け所が良いな。そういうことなんじゃ。それではもう一つ別の戦略を紹介しておこう。アメリカのJ.バーニーという経営学者の唱えた企業戦略論における「リソース・ベースト・ビュー理論」、略してRBV理論じゃ。
RBV?RPGと紛らわしいよね?
バカモン!ちっとも紛らわしくないわ!
フフッ。おか爺さん、タケシさんは今“ドラゴンプロジェクト”ゲームにハマってるんですよー。
どうせ、そんなところじゃろうて。良いか?前回、ポーター先生の競争戦略論が“自社以外の存在との関係性を重視し、内部の特性や潜在的強みが考慮されない”と学んだところじゃが、バーニー先生のRBVはポーター理論に真っ向から反論して、企業競争力の優位性を企業内部の経営資源に求めた考え方なんじゃ。この考え方のフレームワークを通称「VRIOフレームワーク」というんじゃよ。
ヴリオ?またそれ何の略?
表1の4つの項目を自身に問うてみるのじゃ。

表1 VRIOフレームワーク


外の競合企業とか、お客さんとかではなくて、まずは企業自身で内的に競合優位性を検証してみるってことなのね?
そうじゃ。競合優位は外部環境による影響ももちろん大きんじゃが、何よりも企業内部で蓄積した価値を持続的に発揮できるかどうかにかかっているというわけじゃ。
言われてみれば当然のような気もするよねー。
順番に問うてみた結果、判明する競合優位性を絵にするとこんなふうになる(図1)。

図1:VRIO分析図※1

※1 出典:「《ミドルのための実践的戦略思考》ジェイ・B・バーニーの『企業戦略論 競争優位の構築と持続』で読み解く金属製品メーカーの人事課長・岩岡の悩み」東洋経済ONLINE 2012年5月11日 http://toyokeizai.net/articles/-/9120
バーニー先生は最後(④のところ)で、実は“持続可能性(Sustainability)”が重要だと説いているんじゃ。競合優位性を、企業の価値を軽視した一過性の施策で獲得できるようなものではないと言うとるんじゃな。
希少性があるだけでは優位性も一時的になってしまう可能性があるのね。
そうなんじゃ。では、ホンハイの事例に戻って考えてみようかの。こうまとめられるじゃろ。

表2 ホンハイのVRIOフレームワーク


ふーん、一応今は持続的競争優位ではあるけれど、最大限ではないってところなのか。競合優位ってやっぱりすぐにできるものじゃないってことがよくわかったよ。
Wikiで調べたら、ソフトバンクのPepperくんを作っているのもホンハイなのね。
実はこのRBVはポーター戦略に対抗した理論として有名で、さらにRBVの中でも経営学の大論争になっていて、決着がついておらんのじゃ。このほかにもマーケティングと切ってもきれない経営戦略の理論はたくさんあるから、勉強してみると面白いぞよ。
はいっ!勉強してみます!
マーケティングを学ぶのに経営学も必要なのかー。ヤレヤレ…。
では、最後に“戦略なくして競合優位を築いた事例”があるから見てみようかの。
戦略が無いのに競合優位?
そうじゃよ。実は、世の中そんな例の方が多いんじゃよ。“戦略ありき”で成功した事例は少ないのじゃ。成功企業は何かしらの戦略があった風な成功譚になりがちじゃからの。これもMBA教育の“悪しき影響”かもしれんなー。

事例29:新市場を開拓し生産台数世界一 HONDAスーパーカブ

ホンダが戦後原動機付自転車を開発し、1949年の1200台から1959年28万台へ販売量を増やし、国内に確固とした地位を確立した。次に目指したのはアメリカだった。しかし当時の北米バイク市場規模は年間6万台たらず。大型で馬力のあるBMWやハーレーなどの独壇場だった。すでに自動車社会だったのだ。ここにホンダは自ら市場を開拓しようと、250ccの“ドリーム”を持ち込んだ。しかし、ほとんどのバイク・ディーラーに敗戦国の小型バイクは見向きもされず、初年度売上はたった170台だった。ホンダの駐在社員は気晴らしに休日、日本から持ち込んだ仕事用のスーパーカブでロサンゼルス郊外のダートを走り回っていた。ところが、現地の人々から「その小さなバイクはどこで買えるのか?」と尋ねられ、日本に特別注文する羽目になった。その後この小さなバイクでダートを走る人々が増え、まったく新しい市場を予感する。結局大型バイクの販売をいったん諦め、スーパーカブに注力することにした。販売店はディーラーではなくスポーツショップだった。UCLAの学生が“You meet the nicest people on a Honda”というコピーを広告代理店に持ち込んだところ、採用され人気に火をつけた(この広告はやがて広告賞を受賞する)。このホンダの50ccバイクは米国にとっては破壊的技術だった。スーパーカブは世界で累計8,700万台(2014年)も売れる商品となった。

出典『イノベーションのジレンマ』クレイトン・クリステンセン 翔泳社?http://www.shoeisha.co.jp/book/detail/9784798100234

結局、最初は失敗だったってこと?
そうじゃな。クレイトン先生も「ホンダが北米やヨーロッパ市場を支配したのは、“明確な戦略的思考と積極的で首尾一貫した実行力が成しえた生産戦略と見事な広告戦略の勝利”と語られるが、現実はまったく違っていた」と記しているぞよ。
それでも市場では高名なBMWやハーレー・ダビッドソンに勝っちゃったのね?
実は、この後ハーレーも小型バイク市場に参入したのじゃよ。しかし、それは完全な失敗に終わってしまったんじゃ。
えっ?!どうして?
ディーラーが反対したからじゃ。大型バイクを扱い慣れたディーラーにしてみれば、小型バイクは利幅も薄いし手間がかかる。それに既存顧客が持つブランドイメージを壊してしまうと考えたのじゃ。
ナルホドねー。
それで高級バイク路線で生き残っておる。燃費は悪そうじゃがな。
へーっ、そんな歴史があるんだね。
やはり、いったん大きなものを手掛けて成功すると、小さなことに情熱が持てなくなるのかしら?
ハッハッハ。それが“ジレンマ”なんじゃ!さて、競合優位のマーケティングと題したが、マーケティングだけで競合優位を確立する方法はなく、組織全体として常にお客さんの顔を見ながら拡大のチャンスを耽々と狙い、チャンスがあったら素早く行動する、という活動を地道に続けるしか無いんじゃな。
マーケティングと経営が切り離せないってそういうことかー。
少しは理解したかの?ドラゴンちゃん!
ちょっちょっと、やめてよっ!

【今回の用語まとめ】

バーニーの企業戦略論

米国オハイオ州立大学の経営学者J.B.バーニー(J.B.Barney)が1996年に発表した「企業戦略論」で論じた企業の戦略優位性を企業内部のリソース(資源)に求めた理論。M.E.ポーターの経営戦略論では、競争優位性を市場と競合環境の綿密な分析により最も有利な位置を取ることによって生み出すと考える、いわゆるポジショニング理論であった。これに対し、企業内部の経営資源(リソース)にその源泉を求め、競争優位の要因は業界の特徴にあるのではなく、その企業自身が持つケイパビリティ(能力)にあるとした。VRIO分析で示される4つの条件を満たす企業が持続的な競合優位性を獲得できるとした。
参考:「Firm Resources and Sustained Competitive Advantage」 Jay Barney Journal of Management Vol.17 1996
http://www.business.illinois.edu/josephm/BA545_Fall%202015/Barney%20(1991).pdf
参考:「世界の経営学者はいま何を考えているのか」 入山章栄 (英治出版, 2012年)
参考:「はじめての経営学」 野中郁治郎, 楠木 健(東洋経済新報社, 2013年)

ITエンジニアのためのマーケティング入門 第24回 (vol.48掲載)

投稿日:2017.06.6 | カテゴリー: 記事

Written by 水間 丈博

本記事は、「ITエンジニアのためのマーケティング入門 マーケティングの実践編」のまとめ記事です。

関連する過去の連載記事も公開しています。以下のリンクからご参照ください。

ITエンジニアのためのマーケティング入門 第13回 (vol.36掲載)

ITエンジニアのためのマーケティング入門 第14回 (vol.37掲載)

ITエンジニアのためのマーケティング入門 第16回 (vol.39掲載)

ITエンジニアのためのマーケティング入門 第17回 (vol.40掲載)

ITエンジニアのためのマーケティング入門 第18回 (vol.41掲載)

ITエンジニアのためのマーケティング入門 第21回 (vol.44掲載)

ITエンジニアのためのマーケティング入門 第22回 (vol.45掲載)

本記事掲載のシェルスクリプトマガジンvol.48は以下リンク先でご購入できます。

おか爺:昔システム会社の役員をやっていたらしい。好奇心旺盛で意外とモノ知り。趣味は音楽(クラシックからJPOPまで!)と囲碁(有段者)。ちょっとした丘の上に住んでいるので「おか爺」と呼ばれている。やや奇怪な老人。

タケシ:工業大学でITを学び、小さなIT会社に就職したITエンジニアの卵。社長に「マーケティングを学んでおけ」と言われている。近くにある母方の祖父、おか爺の家に時々遊びに行く。趣味はサイクリング。まだ彼女はいない。

カンナ:タケシの後輩。大学では文学部で日本史を学ぶ。会社では広報部に配属された。

 

第24回 マーケティングの実践 その12

前回までのあらすじ

エンジニアのタケシは、社長からマーケティングを学ぶように言われ、近くに住む祖父「おか爺」の家に通い、マーケティングについていろいろな知識を吸収しています。マーケティングの基本について一通り学び終えた後は、会社の後輩カンナちゃんと一緒にマーケティングの実践方法を学んできました。今回は2016年4月から始まった「マーケティングの実践」のまとめです。

さて、第13回から前回の第23回まで11回にわたって「マーケティングの実践」というテーマで様々な考え方や事例を見てきたわけじゃが、どうじゃったかの?
いろいろな事例が出てきて面白かったですねー。
なんだか盛りだくさんで、ちょっと難しかったなー。
そうじゃろな。では今回は、復習と補足を兼ねてこれまで学んだことをまとめてみることにしよう。
取り上げたテーマはこのような流れじゃった。

①「PR」は広告宣伝ではない
②企業の目的は顧客の創造
③競合優位とマーケティング戦略
④グローバル・マーケティング
⑤ブランディング
⑥顧客経験価値マーケティング

それでは順に振り返ってみるかの。

 

①「PRは広告宣伝ではない」

詳しくは→?ITエンジニアのためのマーケティング入門 第13回 (vol.36掲載)

PRとは元来「Public Relations」の略語で、一般的には「広報」と訳されておるが、「組織体とその存続を左右するパブリックとの間に、相互に利益をもたらす関係性を構築・維持するマネジメント機能」という定義じゃった
「パブリック」というのは市場のお客さんのことだから、ここでは企業とお客さんが対等の関係で理解を促進することが目的なんだね。
私も誤解していましたけど、「PR」にはまったく「売り込む」といった概念はないんですね。
その通り。「Public Relations」は宣伝や広告のニオイがしないのが正しいんじゃ。様々な製品やサービスを提供する側(企業)と、それを受け止めて利用する人々(顧客)の間に関係を作り出し、「相互に利益(顧客にとっては便益、企業にとっては売上)が存在すること」を認識させる機能が、PRの本来の意味なんじゃった。この定義は米国版PRの教科書を翻訳したものなんじゃが、「組織体の存続を左右する」とさりげなく入っているコワイ言葉が、「顧客を創造し続けなければ企業は存続が不可能になる」ことを明示しておるんじゃな。なんで実は大変重要な機能なんじゃ。それで「企業の目的」に繋がっていくんだの。

 

②企業の目的は顧客の創造

詳しくは→?ITエンジニアのためのマーケティング入門 第14回 (vol.37掲載)

「企業の目的は顧客の創造」って言い切っているところが、スゴク分かりやすいかもね。
「企業とは何か、を決めるのは顧客のみである」のところと、「企業の基本的機能=マーケティングとイノベーションだけである」は忘れないようにしますね。
それは良い心掛けじゃの。
「顧客を創り出す」ってことで、「アイドマ(AIDMA理論)」なんだね。

図1 Purchase Funnel(第14回より再掲)
「ファネルマーケティング」という表現を使ったが、とにかく新たなお客さんを探し出すことに知恵を絞らないといかん。多くの潜在顧客の中から、自社の特徴を一番理解し魅力を感じてくれるお客さんを見つけ出すのがファネルマーケティングじゃ。B2CでもB2Bでも世の中の顧客獲得手段はほとんどこの考え方でできておるんで、是非覚えてほしかったんじゃ。
今、流行っている「マーケティング・オートメーション」もこの考え方を応用しているんでしたね。

 

③競合優位とマーケティング戦略

詳しくは→?ITエンジニアのためのマーケティング入門 第16回 (vol.39掲載)?ITエンジニアのためのマーケティング入門 第16回 (vol.40掲載)

ここでは著名なM.ポーター先生の「企業戦略論」とJ.バーニー先生の「RBV(リソースベーストビュー)理論」とを対比し、競合優位を勝ち取る幾つかの方法と、競争力には企業内部の経営資源(リソース)と持続性が重要である、という考え方に触れてみたんじゃが、難しかったかの?
ここ難しかったなー。2つの理論が対立しているって言うけど、結局どちらが適切なんだろう?
以前話した「3C(自社:Company 市場の顧客:Customer 競合:Competitor)」を思い出してみるとよかろう(シェルマガvol.34掲載の第11回にて解説)。

図2 マーケティングの検討要素(3C) (第11回より再掲)

それぞれを分析するのはマーケティングの基本じゃった。これらの環境の中で自分が最も有利な立ち位置を選んで戦うことが競合優位に繋がる、という考え方がポーター先生の経営戦略理論で、だから「ポジショニング理論」と言われておったんじゃ。しかし、ここには従業員の創意工夫とか切磋琢磨、努力して熟達度や能力を上げるといった概念が存在しない。そこでバーニー先生の企業戦略論では、競争優位の源泉はこうした業界環境やポジショニングではなくて、企業内部の「ケイパビリティ(能力)」に着目したところが画期的だったわけじゃ。

それなら内部の能力を向上させようとする意識が芽生えてきますよね。
そうなんじゃが、ポーター先生の戦略論は「外部的な要因に注目」していて、バーニー先生の戦略論は「内部的な要因に注目」している。ということで両者補完関係にある、と考えておくのがオススメなんじゃな。

④グローバル・マーケティング

詳しくは→?ITエンジニアのためのマーケティング入門 第18回 (vol.41掲載)

ここでは企業がグローバルに進出する背景と、幾つかの成功例、失敗例に触れて海外で成功するポイントを考えてみたわけじゃ。海外では著名グローバルブランド(コカ・コーラやP&Gなど古くから世界的に事業展開している企業)が先行し、歴史の浅い日本ではこれらの企業を規範として手探りで海外展開してきた企業が多いんじゃ。
でも海外でもトップシェアの会社も多かったよね。
確かに、それこそ他社が簡単に追随できない技術で高いシェアを獲得した企業が多いことに触れたわけじゃが、その半面失敗例もあるから、「①訴求ある独自製品」、「②価値とコンセプトを伝える」、「③技術信仰の打破」、「④販売志向からの脱却」、「⑤ブランディング」の5つを成功のポイントとして挙げたの。
この5つを実践しながら、米国のIT企業のように起業時点から海外展開を当然と考えられれば、成功する可能性が高まるのかもしれませんね。
そうじゃのー。じゃが、日本企業もゆっくり海外展開していられない状況になってきたのかもしれん。
なんで?
中国の「BAT(百度 Baidu,阿里巴巴 Alibaba,騰訊 Tengxun)」と呼ばれる三大ネット企業が米国の先進スタートアップ企業を爆買いしておるというんじゃ。*1

*1:出典:「中国の3大ネット企業が米ハイテク企業を爆買い」週間東洋経済 2017年4月8日号
中国の「BAT(百度 Baidu,阿里巴巴 Alibaba,騰訊 Tengxun)」に通販大手の京東集団を加えた4社が過去2年間米国ハイテクベンチャーへ投資した額は56億ドルに達し、シリコンバレーを含むカリフォルニア州では総額の4分の3以上を占めた。投資先はAR(仮想現実)、SNS、サービス、モバイルセキュリティなど多岐にわたり、米テスラにも18億ドルを投資。中国で成功した企業がイノベーションを吸収し、いずれ先進国企業を追い抜くかもしれないと予想する専門家もいるという。

今度は米国で企業を爆買いかー。お金持ちなんだなー。
M&Aで技術と人材を一手にする戦略ですね?
中国にも起業時点で世界を視野に置いている会社が多くなっておるようじゃの。多額の投資が奏功するかはわからんが、たしかにグローバル化のスピードも早くなっておるようじゃ。

⑤ブランディング

詳しくは→?ITエンジニアのためのマーケティング入門 第21回 (vol.44掲載)

ここでは「ブランド」を確立するとどんな効果があるのか、さらに「ブランド構築のプロセス」にはどんな考え方があるのかを紹介したの。ブランド価値を、顧客だけでなく関係する従業員にも浸透させることの重要性にも触れてみた。
「①ブランドポジショニング」、「②ブランドマーケティングプログラム」、「③ブランドパフォーマンス測定」、「④ブランド・エクイティの育成と維持」の4段階で進めるのでしたね。

図3 ブランド構築のプロセス(第21回より再掲)
ここで最も大切なことは「ブランディングは、トップが強い意思と長期的な展望を持って実行すること」なんじゃよ。
「市場における自社ブランドの価値と存在意義をしっかり提示する」のが社長の役割でしたね?
ところが、ほとんどの日本企業ではこの大切な仕事を、マーケティング部門や広報部門などの一部の部門に任せてしまっているのが、残念ながら現実なんじゃな。
ブランド価値を社員に浸透させる教育や組織づくりも考えないといけないんだったね。

⑥顧客経験価値マーケティング

詳しくは→?ITエンジニアのためのマーケティング入門 第22回 (vol.45掲載)

現在盛んに言われ始めた「顧客経験価値(CX)」がなぜ重視されているのか、顧客経験価値はどのように分類できるのか、さらにマーケティングに顧客経験価値を取り入れる方法について事例とともに紹介してみたの。タケシ、なぜ顧客の経験価値が重視され始めたのか理解したかな?
「モノより感動体験」でしょ!?
ハッハッ、一言でいえばそうなるわな。
前回やったばかりだからね!
以前にも触れたが今は「モノ余り時代」と言われてからかなり経つし、特に最近の若い者は物欲が乏しいとも言われておる。これも経験的ベネフィットが注目される背景になっておるようじゃ。
今「断捨離」する人も多いっていいますしね。
ボクなんか欲しいモノたくさんあるけどなー。
そして経験価値マネジメントのフレームワークを紹介したぞな。
「①顧客の経験価値世界を分析」、「②経験価値プラットフォーム構築」、「③ブランド経験価値のデザイン」、「④顧客インタフェースの構築」、「⑤継続的イノベーションに取り組む」、この5つのステップでしたね。
事例は興味深かったけど、「問題発見力」を養うことと、常日頃から「深く考える」習慣が必要なんだよねー。ボクはあまり得意じゃないなー。
バカモン!両方なければIT技術者として生き残れんぞなー。
フッフ、おか爺さん大丈夫ですよ、この前の新人歓迎会の余興はタケシさんがリーダーですごく考えて大好評だったんですよー!
ハッハッハ、それはイノベーティブだったんじゃの!良かったのー。
カンナちゃん、それは内緒!
さて、日本では一般的に「イノベーション」は「技術開発」と同等のもの、と誤解されていることが多いことは知っておるの。もちろん技術開発の結果がイノベーションに繋がることもあるんじゃが、イコールではない。そして「イノベーション」は企業の内部から生み出すものではなくて、顧客が意識しているしていないを問わず、「顧客の問題を解決した結果」がイノベーション、ということを忘れないように。
「マーケティングもイノベーションも顧客が起点」でしたね!
そうじゃ、カンナちゃんだけ合格!
ちょ、それはないでしょ!
次回からは「デジタル・マーケティング」について様々な
トピックを紹介していく予定です。お楽しみに!

バーティカル・マイスターの修行時代 その1

投稿日:2017.05.30 | カテゴリー: 記事

written by シェルスクリプトマガジン編集部

この記事は、シェルマガvol.48掲載「バーティカルバーの極意」第二回の、いわゆる「やってみた記事」です。
シェルマガ本誌と一緒にご覧頂けると、よりお楽しみいただけます。

はじめに

よちよち歩きで運用を開始した、Web版シェルスクリプトマガジン shell-mag.com 。

更新のたびにFacebookやTwitterなどのSNSに投稿をしてお知らせしていますが、当然お知らせがどれだけの人に届いたか、気になるものです。

たとえばこちらの投稿。

「さて、この投稿のリーチ(投稿が見られた数)は……ええー、たったの70?(しょんぼり)」

たとえばFacebookでは、これまでにリーチが1000近くまで伸びた投稿もあるので、100以下はちょっと堪えます。

まだまだ記事数こそ少ないですが、面白おかしく役に立つ記事を揃えていると自負していますから、せっかく更新した記事が人の目にも触れないと、こちらとしては面白くありません。
なんとかFBでもリーチ数を稼がねば。

Facebookのアルゴリズムではリアクションが多くついた投稿ほど頻繁に表示されるらしいので、リーチを伸ばす正攻法は、まずはキャッチーな、「いいね」をもらいやすい投稿をすることです。
とはいえ、「いいね」をもらえるかどうかはなかなか水物です。なんとか確実にリーチ数を稼ぐ方法はないものか。

そこで、わたくし考えました。

シェルマガの読者さんは皆さま品行方正でしょうから、わたくし編集Kみたいに昼間からSNSに入り浸ったりはせずに、仕事に疲れ、傷つき、リラックスしたい時間だけSNSにアクセスしているはず。
だとすれば、多くの人が休憩をとる、リーチが伸びやすい時間帯があるはずです。

その時間を狙って更新情報を投稿するように心がければ

→自動的にshell-mag.comの利用が増える

→満足した読者さんの口コミでサイトの知名度が上がる

→シェルマガ本誌も売上が伸びる

→編集Kの給料も上がる

と、おお、これはいいことづくめだ!すぐにでも解析をせねば。

……と考えていたところに、前号から始まった、飯尾淳先生による「バーティカルバーの極意」第2回の原稿が届きます。早速確認してみると、おあつらえ向きに「Facebookの投稿をヒストグラムで分析する」内容ではないですか。

「これは使えるぞ!」と、ピーンと来た編集K。
記事のコードチェックも兼ねて、Facebookへの投稿の解析を試みることにしたのでした。

シェルマガvol.48に掲載された「バーティカルバーの極意」第二回では、どの時間帯に飯尾先生がFacebookに投稿しているのか、ヒストグラムで可視化をしていましたが、私の目的である「どの時間帯に投稿すればリーチが伸びるのか」を分析するためには、ヒストグラムよりも散布図のほうが役に立つはずです。

理想的には、例えば下の図のように、「昼休みに入る12時前後と定時の18時前後の投稿は、他の時間帯に比べてリーチ数が伸びやすい」のような傾向が見て取れるはず。

(Excelでちまちまつくりました)

善は急げ。早速Facebookからデータを取得して、解析してみましょう!

苦闘の記録

手元には飯尾先生のお手本があるから、今回の解析は簡単にできるはず……との目論見は、初っ端から崩れます。ビジネスアカウントでは、投稿情報の取得の際に、なんと28日しか遡れないのです。その間の投稿数は10程度。とても、議論ができるサンプル数ではありません。

しょうがないので、投稿日時とリーチ数が表示されるページから、マウスで選択してコピペする原始的な方法でテキストデータを引っ張ってきます。

原始的な方法でデータを取得するの図。ビーッと引っ張ってきます。

さて、取得したデータをテキストにペーストしてみると……

……あれ?

飯尾先生の記事では「データがすべて横に並んでいたので改行コードを挿入して扱いやすいデータにする」というストーリーでしたが、私が取得したデータは、逆にすべて縦に並んでいます。これは困ったなぁ。

困ったときは相談だ。というわけで、隣の席のエンジニアに助け舟を出してもらいます。

編集K「ねぇねぇ、この全部縦に連なったデータを、常識的な並び方に直すにはどうしたらいいかねぇ」
エンジニア「そりゃ、一度全部横にしてから、適当な改行コードを入れるしかないでしょ(編:だよねぇ~)。そういうときはyarrコマンドを使ったらいいんだよ」

yarr(横アレイ)!!ここでまさかのTukubaiコマンド登場です。そりゃまぁ、Tukubaiコマンドを使っていかに楽をしてシステムを組み立てるかを日夜考えている、うちのエンジニアに聞いたら当然そういう答えが返ってきますよね。
注:Tukubaiコマンドは、シェルマガの発行元USP研究所が開発しているUNIXコマンド群。シェルマガ著者の今泉光之さん曰く「便利すぎて考えなくて済むから、エンジニアが馬鹿になる」とのこと個人用Tukubaiのご購入はこちら

オーケーオーケー。他のサイトならまだしも、ここはshell-mag.com 。ユニケージの広報サイトでユニケージのために開発されたコマンドを使って何が悪い。ちょっとズルいですが、Tukubaiコマンドを使っちゃいましょう。
yarrは、縦に並んだデータを横に並び替えるコマンドです。こんなこともあろうかと優しい誰かが作ってくれていたのでしょう。
sedで半角スペースを適当な文字列に変換してから、yarrコマンドでデータの縦横を入れ替えます。

2017年5月31日追記:飯尾先生から「標準的なコマンドだけでも、pasteを使えば同じことができるよ」とご指摘をいただきました。yarrをpasteに置き換え、以下のようにオプションを使えば同じ出力が得られます。

で、こいつをcatで開いてみると……

あれ、縦のまんまだ?どういうことよ。(注:pasteコマンドを使っても結果は同じです)

Vimで開いてみると

おお、紫でハイライトされている^Mの改行コードが残っているんですな。こいつもsedで取ってやりましょう。

ただし、この制御コードの^Mは、素直に「はっと・えむ」とキーを打ってもsedで認識してくれません。キー入力としては、Ctrl-v Ctrl-mと入力すると制御コードの^Mと認識されるので、入力の際には

とタイプしてください。さらっと流しましたが、これを調べるのに20分かかりました。

さて、無事にデータが横一行に並んだので、飯尾先生の教えの通り、sedを使って特定のテキストを改行コードに置き換え、データを扱いやすい形に整えます。今回は、各投稿の最後に「投稿の広告を出す」という一文が必ず入っているので、これを改行コードに書き換えました。

ここもさらっと流していますが、編集Kの使っているMacのOSのバージョンが古かったのか、改行コードを改行コードとして認識してもらえませんでした。再度隣席のエンジニアに頼み、彼のMacで同じコマンドを打ってもらったところ、想定通り改行されましたので、読者の皆さまは安心して記事のコードを使ってください。

さて、こうやって加工したデータですが、まだ行頭に空白があったり、最終行に空行が入っていたりと、まだ形を整える必要があります。AWKとかを使うのがめんどくさいので、再度Tukubaiコマンドを使って加工します。末尾の行を削って、余分な空白をとって、日付と時間とリーチのフィールドを取り出します。

ctail :ファイルの末尾指定行を削って出力

self : 指定したフィールドのデータを取り出す。連続した空白をひとつに削ることができる。

こうやって、弊社のプロダクトを自然にステマしながら加工したデータがこちらになります。

おお、綺麗になった。でもリーチ(第3フィールド)に3桁ごとのカンマが残ってますね。これもsedで消してしまいましょう。ついでにhourとminuteの間のコロンを空白に変えて、それぞれを独立したフィールドにしてしまいます。で、minuteの方を60進法から10進法に直して、hourと合計を出します。

これで、プロットする元データが加工できました。第1フィールドが時刻、第2フィールドがリーチ数です。

さて、元記事に倣って、これをRでグラフにしてみます。

飯尾先生の記事ではhist関数を使っていますが、今回つくるのはヒストグラムではなく散布図なので、plot関数を使います。最初に横軸と縦軸を指定します。$V1、$V2は、それぞれ何フィールド目かを表します。小室哲哉とYOSHIKIが組んだユニットではありませんし、も出てきません。何の話だ。グラフの範囲をxlim、ylimで指定、xlab、ylabでそれぞれ軸のラベルを指定します。

完成!

で、ここまで3時間ほど苦闘した末、完成した散布図がこちらになります。

(縦軸がリーチ数、横軸が投稿時刻になります)

お、おう……。

正直、傾向はよくわかりませんな。当初は12時と18時前後に投稿するとリーチが増えるんじゃないかと考えていましたが、別段そんなこともない。強いて言えば、15時頃はリーチが安定して見えますが、これもサンプル数が少なくて確実とはいえんなぁ……。

とりあえずの結論としては
「投稿の時間帯だけでリーチ数をコントロールしようとするのは無理がある」
ということですね。やはり正攻法で、キャッチーな投稿を心がけねば。

 

というわけで、皆さまもどうぞシェルマガの記事を自分なりに試して楽しんでくださいね!
当サイト掲載のコードもコピペなどにどうぞご利用ください。

今回の記事の元ネタ「バーティカルバーの極意 第二回」のコードはこちら。コピペなどにご利用ください。
解説はシェルマガ本誌をご参照くださいませ。

(次回、「バーティカル・マイスターの遍歴時代」に続く……のか?)

もっと見る

新しい記事一覧へ戻る

  • -->