10周年を迎えた「国立歩記」、10年分すべてのバックナンバーが読めるようになったとのこと。「教えて!ITワード」も3周年、これを機会に3年分のテーマを振り返ってみたいと思います。
「ITワード」カテゴリーアーカイブ
国立歩記 vol.42「教えて!ITワード」
もうちょっと教えて! ITワード「クラウドの五段活用」
最近はテレビのCMでも耳にする「クラウド」、なんのことかさっぱり分からない。でも、スマホをお持ちのあなたは既に「クラウド初段」です。試しに「Siri」や「OK Google」などの音声アシスタントに「ここはどこ?」と話しかけてみましょう。音声アシスタントの作りによって異なりますが、手元のスマホとクラウドのやり取りは、大まかにこんな具合です。
あなたの声はマイクを通って音波のままクラウドに届き、文章に変換され意味を解釈されてスマホに戻ってきます。スマホは文章を表示しつつ意味から動作を判定して、今いるスマホの位置情報(緯度と経度)を渡すから地図をよこせ、とクラウドに要求します。クラウドはドンピシャの地図と住所をスマホに送ってきます。
このように、手元のスマホと連携しインターネットを通じて高度な情報サービスを提供する仕組みがクラウドです。様々な機能をサービスとして提供するので、よく「○○ as a Service(アズアサービス)」などと呼ばれ、「○○」の部分で分類されています。そこで、国立せいさく所の独自視点で、主なクラウドサービスをクラウド活用の「段位」として表にまとめてみました。
段位 | 技術 | 利用例 |
クラウド初段 | mBaaS (mobile Backend as a Service) |
現在地の表示、音声アシスタンス、通知などを行う様々なスマホアプリ |
クラウド二段 | SaaS (Software as a Service) |
ファイルや写真の保管・分類・共有、名刺管理、オフィス文書作成、印刷、SNS |
クラウド三段 | DaaS (Desktop as a Service) |
スマホやタブレットが高性能なPCに変身 |
クラウド四段 | mBaaS、PaaS (Platform as a Service) |
スマホアプリ開発、サーバ側のソフトウェア開発 |
クラウド五段 | IaaS (Infrastructure as a Service) |
会社の情報システムをレンタル感覚で丸ごと構築 |
クラウド二段、SaaSは、スマホやPCにソフトウェア(アプリ)をインストールする代わりに、同等の機能をインターネットブラウザさえあれば使えるようにするサービスです。ファイルや写真の保管、管理などがよく知られていますが、保管するだけでなく、ファイルの中身や写っている被写体で自動的に分類したり、インターネットの特徴を活かした共有や同期という仕組みで、より便利に使えるように工夫されています。また、インターネットブラウザよりも簡単に操作できる専用のアプリを提供しているサービスもあります。これらのアプリはインターネットを通じてSaaSに接続していなければ利用できません。
クラウド三段、DaaSは個々のソフトウェアではなくPCを丸ごとサービスしましょう、というものです。スマホであれタブレットであれインターネットブラウザがあればそれがあなたのPCになります。今までお使いのPCと同じで、追加でアプリをインストールしたり、自分でプログラムを開発することも可能です。一方、突然停止したり、おかしな添付ファイルを開けばコンピュータウィルスに感染することも、今までお使いのPCと同じです。
クラウド四段、PaaSはアプリを作りSaaSを提供する人のためのサービスです。mBaaSも四段では開発者として利用します。一段、二段が教えられた技を磨く人の段位だとすると、四段は更に新たな技を生み出す人の段位と例えることができます。
クラウド五段、IaaSは会社のIT部門のためのサービスです。仮想化技術によってハードウェアの機能をサービスとして提供しているので、会社にはサーバやPCを一切置かない、繁忙期のみサーバの能力を増強する、丸ごと移転、コピーといった柔軟な運用が容易です。災害時の事業継続性の点でも注目されています。
では、これら多様なサービスを提供するクラウドは、いったい何処にどのような形で存在しているのでしょう?
実はそれが雲(Cloud)を掴むような話で、答えられないのです。昨日は大阪、今日はネバダの砂漠、という可能性もないとは言えません。ちょっと不安に思われるかもしれませんが、知られていないからこそ安全な面もあります。クラウドサービス会社は強固なセキュリティや何重ものバックアップで安全性を保っています。
一つだけ不安を挙げるとすれば、スマホをお持ちでクラウド初段である、まさに「あなた」から、大切なパスワードが漏れること。
クラウドサービスの利用に欠かせない、IDとパスワードの違いについて、次回、詳しく解説する予定です。
「Kunitachi Makers 2017 Early Summer Vol. 3」を発刊しました
Kunitachi Makers Vol.3 は、クラウド特集号です。国立歩記Vol.38の「教えて! ITワード クラウドでスマホをパワーアップ!」の連動記事「もうちょっと教えて! ITワード クラウドの五段活用」、そして「スマホの容量が足りない」お困りごとをクラウドを利用して解決する方法、の2本の記事です。
また、「パソコン・スマホ・タブレット自習室」の6月の開室日のお知らせも掲載しています。
矢川工房店頭とプラムジャムで配布します。
もうちょっと教えて! ITワード「Wi-Fiスポット活用術 くにたち編」
中央線沿線でも駅前や商店街で「Free Wi-Fi」の表示を見かけることが多くなりました。街中でスマホやタブレットをインターネットに接続するサービスは、公衆無線LANサービスと呼ばれています。あらかじめ月額使用料を支払う契約をする有料のサービスと、誰でも使える無料のサービスがあり、無料のサービスを「Free Wi-Fi(フリーワイファイ)」と表記することが一般的になっています。残念ながら国立には、立川や吉祥寺のような統一マークこそありませんが、市内のFree Wi-Fi スポットは徐々に増えています。その一部を下表にまとめてみました。
接続方式には、家庭にあるWi-Fiルーターと同様のSSIDと暗号化キー(セキュリティキー)で接続する方式と、メールアドレスとパスワードなどでユーザ登録をしてから接続する方式があります。ユーザ登録方式の場合は、3ヶ月や半年など有効期限が設けられていることが多く、その期間内であればメールアドレスとパスワードの入力のみで接続できますが、有効期限が過ぎた後は再度ユーザ登録が必要になります。
暗号化の項目は重要です。手元のスマホやタブレットとWi-Fiスポットの間の無線電波を傍受されても他人に読まれないように暗号化しているか、ということです。AESという暗号化方式に対応していない場合には、使い方に注意しましょう。キーワードを入力して検索をする程度なら問題はありませんが、個人情報やパスワードを入力するような使い方は避けた方が無難です。ただし、多くのインターネットサイトは、SSLという規格で通信の内容そのものを暗号化しており、電波を傍受されても情報が読まれないように保護していますので、それほど神経質になる必要はありません。SSL通信を使用しているかどうかは、下図のように、URLが「https://」で始まっている、先頭に錠のマークが付いている、などで見分けることができます。
右図はJapan Connected-free Wi-Fi アプリのFree Wi-Fiスポット検索画面です。こうしてみると、矢川工房のある矢川駅周辺にも結構な数のFree Wi-Fi スポットがあることがわかります。
セキュリティにだけは注意して、Wi-Fiスポットを使いこなせば、「今日は朝から温泉で新しいアイデアを思いつく仕事中」、なんていう働き方改革も見えてくるかもしれませんね。
参考図書:今すぐ使えるかんたん mini Wi-Fi無線LAN基本&便利技 Windows 10 対応版,リンクアップ著,技術評論社,2016
「Kunitachi Makers 2017 Early Spring Vol. 2」を発刊しました
国立歩記 vol.37「教えて!ITワード」
もうちょっと教えて! ITワード 「プログラミング」
1980 年にBASIC というプログラミング言語に出会って以来、ソフトウェア技術者としての仕事を通じて、これまで様々なプログラミング言語を使ってきました。ワードプロセッサの仮名漢字変換のプログラムをアセンブラで書いたり、機械翻訳のプログラムをC 言語で書いたり、グラフ入りレポートをExcel で自動作成するプログラムをVBA で書いたり。最近はScratch やPython なども使う機会がありました。
ビジュアル化や開発環境の高機能化などによって、プログラミングの敷居も随分と低くなってきたと思います。その一方で、昨今の第3次人工知能ブームに象徴されるように、作成されるプログラムは昔に比べて遥かに高度で複雑なものになっています。
その発展は、プログラムを動作させるハードウェアの驚異的な性能向上や技術革新によってもたらされたことは言うまでもありません。「いつでもどこでも手のひらの上で世界中の情報にアクセスすることができる」。ソフトウェアとハードウェアの進歩が両輪となって私たちにもたらした世界は、20 年前とは全く異なるものです。
様々なプログラミング言語を使ってきましたが、どの言語を使おうともプログラミングの基本はデータとアルゴリズムです。ちょうど日本語でも英語でも中国語でも、どの言語にも名詞と動詞があることと同じですが、それも当然のことです。なぜならプログラミング言語は、できるだけ人に近い言葉でコンピュータに命令できることを目指して開発されてきたものだからです。プログラミング言語は、更に人が命令しやすいように進化して、最終的には自然に話しかけるだけで、複雑で高度なプログラムが作れるようになるかもしれません。
そうなると、英語を話す能力の前に伝える内容を考える能力が重要であることと同様、プログラミング言語を自由に操る能力の前に、コンピュータに何をやらせるかというアイデアを生む力とそのアイデアを整理して相手に伝える力がより重要だということになります。小学校でのプログラミング教育必修化の真の狙いも、アイデアを生む力とアイデアを整理して伝える力を養うことです。21 世紀型スキルであるこの力のことを「論理的思考力」と呼びます。
良いプログラムを書くためには、データとアルゴリズムの他に、抽象化や具体化、モジュール化といった概念も必要になりますが、それでも基本はプログラミング対象のデータとアルゴリズムをよく考えて整理することから始まります。
理解しやすいように現実にあるもの、例えばボールペンをプログラムで表すことを考えてみます。それにはボールペンをよく観察することから始めます。ボールペンは、ペン先のボールが紙に接すると一定量のインクが紙に付着します。ペン先を紙に接したままボールペンを移動すると、ボールが回転してその軌跡通りにインクが紙に付着します。
どんなデータがあるでしょう? インクの種類、インクを運ぶボールの半径、回転するボールにまとわり付くインクの厚み、ボールにインクを供給するスリーブ( 軸) に入っているインクの量、ペン先の平面(XY) 座標と垂直(Z) 座標、などなど精密に表そうとすればデータはまだまだありそうです。例えば、ボールペンの温度というのも重要かもしれません。
アルゴリズムはどうでしょう? 直線や正確な円を描くためのXY 座標の計算、ペン先を下げるスピードの調整(紙を破らないように)、スリーブのインクの減り具合。
このように、つぶさに観察しデータとアルゴリズムを整理して初めてプログラムを書くことができます。どこまで精密にプログラムで表すかは用途次第です。パソコンやタブレットのお絵かきソフトであればインクの減り具合などは必要はないでしょうし、製図などで使われるXY プロッタという機械の制御プログラムの場合は、インクがなくなる前にペンの交換を促すためにインクの減り具合を計算するアルゴリズムが必要になるかもしれません。
例えば自作のオリジナルゲームのキャラクタなど、現実にないものをプログラムで表すこともあります。この場合は、観察ではなく想像することになりますが、それでも筋の通った想像をする必要があります。そうしなければ一定のルールで動かすことができず、ゲームのキャラクタとしては使い物にならなくなってしまうでしょう。筋の通った想像というのはコンピュータグラフィックスやコンピュータミュージックの創作でも同じですし、コンピュータを使うまでもなく、鉛筆で五線譜に音符を並べる行為もプログラミングそのものに思えます。
高度経済成長期には大量生産とそれを支える均質な労働力が重要視されましたが、成熟期のこれからは多品種少量生産と人材の多様性がより重視されていくことでしょう。そのような時代の到来を念頭に、中学校で必修化された創作ダンスの狙いは、個性を表現する自己表現力の育成にあったと思われます。そしてダンスとは使う力は異なりますが、論理的思考力を養うプログラミングもまた、強力な自己表現の手段なのです。