ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Archive for the ‘コンピュータ’ Category

情報システムは内製することにより果実を得ることができる – 価値を生み出すのは「人」である

leave a comment »

情報システムは外注せず内製してこそ意味がある。その根本的な理由は、価値は人が生み出すものだからだ、ということだ。多くの組織はこのことを忘れ、人が生み出す価値を得ることなく金で解決しようとする。

先日こんな話を聞いた。知人が務める企業の顧客向けシステム、それは Web ベースのシステムで外注によって作られたものだが、元号が変わることで対応が必要となり、おおむね1億円の費用が必要だと言われているらしい。もしあなたが経営者だとして、この経費についてどのように考えるだろうか。払うのはあなただ。この経費が妥当なものか判断しなければならない。相手は誠実に正しい見積もりを提示しているのか、それとも足元をみてふっかけているのか。あるいはこの際、システムを別の業者に変えて作り直すことが良いのか。判断の材料は何だろう。自分に判断の材料がないならコンサルタントにアドバイスを求めるだろうか。俺ならこう思う。いまどき元号の変更に対応できないシステムは糞だ。よほどぼんくらなエンジニアでなければ、一瞬で新元号に対応できるように最初からシステムを作っているはずだ。ではなぜ1億円などという値をふっかけてきたのか。その業者は金を出せる顧客から取り、それを資金としてシステムの抜本的再構築を狙っているのだろう。そして他の顧客にはそこそこの値段で利用させる。システムを開発するには資金が必要だが、一度開発したシステムは売れば売るほどもうかる仕掛けになっている。ソフトウエアとはそういうものだ。

もうひとつの話がある。プログラマーを養成する学校の経営者とディスカッションしたときのことだ。日本では情報システムは外注することが多いが、欧米では外注がなくなりつつあり、およそ80%は内製によって運用されているらしい。そこで学校のプログラマーの養成カリキュラムも今後はシステムを売るSI屋向けではなく内製技術者として養成するものに変えていこうと考えている。なぜ情報システムが外注から内製に変わっているかというと、今の時代は情報システム自体が企業の根幹をなし価値を生むものであるから、外注することは価値を流出させてしまうという発想があるという。欧米では情報システムの80%が内製である、ということが事実かどうか俺に判断はできないが、情報システムは価値を生むものであるという視点は疑いようのない事実だ。

これらの話から得られる教訓は、プログラミングによって得られる果実を我が物にすることができるのは誰かということになる。改めていうまでもなく、優れた情報システムは大きな価値を生む。業務の流れを整理し、自動化し、間違いをなくし、定型業務を軽減して人のクリエイティブな時間を増やすことができる。さらに新しい発想で事業を行い、今までにないビジネスモデルを生み出すこともできる。そして情報システムを作るのはコンピュータではなくプログラマーだということだ。価値を生み出すのは人である。

システムを外注するということは、価値を生み出すプログラマーが外注先のシステム会社にいる。したがってプログラマーが生み出す果実を得るのはシステム会社だ。しかしシステムを内製すれば、プログラマーは社内にいることになり、果実を得るのは自社である。要するに、価値を生み出す人間を擁することが会社の発展につながるという極めて単純な構造である。ただ難しいのは、いまは多くの経営者にとってプログラミングとは何かがわからないために、プログラミングは特殊な能力を持つ天才にしかできないことだと思われたり、優れたプログラマーを雇うことの意味がわからないことだ。だからこそ、明日を担うすべての子供たちに質の高いプログラミング教育をしなければならない。日本の社会を担うあらゆる階層のリーダーがプログラミングについての知識を持たなければ、ハイエナのような反日外資に価値をさらわれ続ける暗黒の未来が待っている。

2017年12月27日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部整単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

広告

IoT開発のためのマイコンボードについて考える – その必要な特性は何か – Raspberry Pi と Arduino

leave a comment »

現在、様々なマイコンボードが開発され生産、販売されており、それらは様々な用途に利用されているが、IoT 開発におけるマイコンボードに必要な特性は何だろう。

どこかに統計データがあるかもしれないが、現時点、2017年12月25日において、俺の日常的な感覚からすれば世界で最も利用されているマイコンボードは Raspberry Pi と Arduino だ。

Raspberry Pi の特徴は高性能であるということに尽きる。Raspberry Pi に最適化された OS Raspbianをインストールしてキーボードとモニタを繋げば普通の Linux PC として機能する。高機能であることの裏返しとして、OS をインストールしなければならない手間と価格が高いデメリットがある。たとえば Amazon で Raspberry Pi 3 Model B V1.2 国内正規代理店品の価格は 5,578 円だ。もうひとつ、Raspberry Pi の使いにくさとして A/D コンバータを持っていないことがある。アナログセンサを Raspberry Pi で使うには A/D コンバータを別途取り付けなければならない。ただし I2C などディジタル通信によるセンサも充実してきたので、これからはアナログ入力処理の必要は少なくなるかもしれない。ただマイコンボードや制御の学習のためにはアナログ入力処理ができたほうがいいだろう。

Arduino の特徴はオープンソースハードウエアであることだろう。回路設計が公開されており、だれでも電子部品を組み合わせて同じものを作ることができる。このために中国製を中心とする膨大なクローンが市場にあふれている。現在 Arduino を代表するモデル Arduino UNO R3 は Amazon で 999 円で手に入る。中国系のサイトでは 300 円だ。また互換品も多い。小型で Wi-Fi モジュールを搭載した WeMos D1 mini は俺のお気に入りだが、中国系サイトで 310 円から 350 円くらいだ。さらに Arduino UNO R3 は D/A コンバータを搭載しておりアナログ入力を処理できる。

データ処理はクラウドで行う時代になり、マイコンボードでは高度な処理を必要としない。したがって IoT でのマイコンボードの役割は、センサからデータを受け取りインターネットに送信することになるだろう。そのためにはセンサの値を読む I/O とともに、ネットワーク通信機能が必須になる。現時点では Wi-Fi が扱いやすいだろう。安定して動作すること、安価であることも重要だ。できるだけ多くのセンサを設置し、継続して大量のデータを収集することがビッグデータの時代には必要だ。壊れやすかったり単価が高ければ数多く設置することが難しい。そのためには高機能であることよりもシンプルな設計が望ましい。

もしマイコンボードにデータベースの機能を持たせたり、Web サービスなど高度な役割を持たせたいなら Raspberry Pi だろう。しかし単純にデータ収集を行うためなら Arduino だろう。ただ Arduino では通信処理において実装が難しいものもある。今一歩 Arduino が進化し、CPU や ストレージなどの機能が高くなれば IoT における主役として確固たる位置につけるはずだ。それを期待している。

2017年7月18日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部整単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 5。ユーザー ID を Active Directory から取得するようにした。

leave a comment »

教科「情報」の授業でタイピングソフトを自作して生徒実習をしている。このねらいは 2 つある。ひとつは、実際に使いやすいソフトウエアを使いたい、ということがある。特に生徒の実習データを Microsoft Flow に送信して集計しやすくする、ということがある。もう一つの目的は、ソフトウエア開発の実際を生徒に見せたい、ということだ。

いわゆる「ウォーターフロー型」の開発には限界があることが多く指摘されている。現代的なソフトウエア開発環境を最大限に活用するには、アジャイルと呼ばれる開発スタイルが望ましい。そこで教科「情報」の授業で自分が作ったソフトウエアを生徒に使わせながら、問題点や改善点を指摘させて次のバージョンに適用する、という手法でソフトウエア開発の実際を間接的に体験させるのだ。

そのためには、最初から完成されたソフトウエアを使わさない。最初はごく基本的な仕組みだけ作ったソフトウエアを使わせ、問題点や改善点を指摘することを演習とする。

様々な意見が生徒から出て興味深いのだが、これはまた別項でまとめることにする。今回のマイナーバージョンアップでは「学籍番号を入力するのが面倒だ」と「学籍番号を全角で入力してしまう間違いがおこる」ことを回避することを考えた。これは、システム管理をやっている者には常識的な実装になるが、ユーザー ID を Active Directory から取得することだ。これは一行のコードで実現できる。

——————————————————————————————-

myUserName = Environment.UserName;

——————————————————————————————-

そして取得したユーザー ID を gakuseID テキストボックスに表示する。

——————————————————————————————-

gakuseID.Text = myUserName;

——————————————————————————————-

ちゃんと取得することが確認できれば、学籍番号のテキストボックスの Enabled プロパティを false にし、書き換えられないようにする。

——————————————————————————————-

gakuseID.Enabled = false;

——————————————————————————————-

これで学生番号は間違いなく処理されるようになる。

2017年6月16日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部整単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

マインクラフトはオブジェクト指向プログラミングだ。小学6年生の息子が作るマシンを見て思う。

leave a comment »

わが子は「マインクラフトエバンジェリスト」と言っていいほどマインクラフトを熟視している。今日は新宿で「こどもの日プログラミング無料体験会 ~マインクラフトで身につく3つの力~(小学3年生~中学生対象)」というイベントをやるために新宿に来ているのだが、早めに着いた新宿でマクドナルドに入り、マインクラフトをしているわが子を横目で見ながら、いったい何を作っているのか質問をした。

P1490790_mid_640_480_edit

一心不乱に何やら大きな仕掛けを作っているのだが、かなり複雑な仕組みだということが想像できる。いったい何を作っているのか、と聞くと「自動アイテム仕け機」だという。これは、チェストというアイテムを収める箱を 22 列に 2 つずつ、計 44 個並べ、その上や横にホッパーというアイテムを移動させる仕組みを配置する。さらに信号を制御するコンパレータ―やリピーター、信号を発生するトーチを配置する。これらをうまく考えて組み立てると、一番端のホッパーにアイテムを投げ入れると、自動的にアイテムがホッパーの中を送られていき、それぞれ分別されてチェストに入れられるのだ。

個々のブロックには基本的な仕組み、動作が組み込まれている。それらを組み合わせて一連の働きをする仕掛けを作る。これは、まさに、イベントドリブン型のオブジェクト指向プログラミングの思考力を要する作業だ。

こうしたレッドストーンの信号を応用した仕組みを組み立てる作業は、間違いなく論理思考、とりわけ現代的プログラミングの思考力に重なり合っている。「マインクラフトとプログラミング教育」というものが俺のテーマの一つだったが、わが子の姿を見ていて気付かされたことは、大人があれこれ理屈をつけて「教育」に結びつけなくても、子供は自然に価値のあることを見つけ、遊び感覚で論理的思考を養っているということだ。

2017年5月5日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部整単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

Written by Yoshio Matsumoto

2017年5月5日 at 8:40 AM

3月5日(土)、神戸三ノ宮で行った「ラボワーク LW02 – Digispark 切手大の小さい Arduino を使う」

leave a comment »

アドミンティーチャーズ「『ラボワーク LW02 – Digispark 切手大の小さい Arduino を使う』の報告」
https://adminteachers.wordpress.com/2016/03/28/%e3%80%8c%e3%83%a9%e3%83%9c%e3%83%af%e3%83%bc%e3%82%af-lw02-digispark-%e5%88%87%e6%89%8b%e5%a4%a7%e3%81%ae%e5%b0%8f%e3%81%95%e3%81%84-arduino-%e3%82%92%e4%bd%bf%e3%81%86%e3%80%8d%e3%81%ae-2/

今回の「ラボワーク」では、参加のみなさんがご自分のパソコンをお持ちになったので、実際に環境を整えたりスケッチを書いたりという実践的な実習ができた。とてもよかった。今回の「ラボワーク」では、次のようなことをした。

・切手大の Arduino の亜種といえる Digispark を使ってみる。
・Arduino IDE で Digispark を開発するための環境を整える。
・Digispark と PC 間のインタフェースについて知る。
・Arduino IDE を使って簡単な「Lチカ」プログラミングをして Digispark を動かす。

Digispark は USB インタフェースの形状が異なるものを 2種類用意した。ひとつはむき出しの USB コネクタがボード上に形成されているもので、もうひとつはボードにマイクロ USB コネクタが付いているも。むき出し USB コネクタのものはケーブル不要で直接パソコンに挿すことができるので便利だ。どちらの Digispark も中身は同じ。

Digispark は Arduino IDE で開発することができるが、Digispark 用のボードマネージャーを適用する必要がある。ここで現在、Digispark 開発用に提供されているボードマネージャーが、Arduino IDE のバージョンによっては動かないという現象がある。Windows 用の Arduino IDE では、1.6.5 では正しく適用されることがわかっているので、異なるバージョンの Arduino IDE を使っている方には 1.6.5 をインストールしなおしていただき、その後 Digispark 用のボードマネージャーを適用していただいた。

Digispark は他の Arduino と異なり、パソコンとのインタフェースは USB – シリアル変換ではない。パソコンからは Digispark はキーボードやマウスと同様の HID (Human Interface Device) として動作する。したがって固有のデバイスドライバを導入する必要がなく、標準の HID ドライバが適用されればいい。スケッチを導入するには、まず Arduino IDE で「マイコンボードに書き込む」ボタンを押してから USB に Digispark を挿す。Digispark は通電後、数十秒間はプログラム転送モードになり、その間にスケッチが導入される。スケッチの導入が終われば自動的にリセットし、プログラムが動き始める。

Digispark にはオンボードで LED が 1個ついているので、スケッチでオンボードの LED を点滅させるスケッチを作って確かめた。点滅速度を変更したり、PWM でフェードイン、フェードアウトの光らせ方を体験したりした。

次回は 4月2日(土)。テーマはプログラミングとし、シフトレジスタでコントロールする LED チューブの点灯と、ダイナミック点灯のプログラミングを考えている。前回同様 12 名の定員の小さな会議室を予約しているので、希望の方は早めに申し込んでください。数日中にアドミンティーチャーズのサイトで告知します。

アドミンティーチャーズ Web
https://adminteachers.wordpress.com/

P1120096_mid_640_480

マイクロソフトは世界中の人々をみなプログラマーにする。プログラミング革命。世界が変わる。

leave a comment »

このタイトルを見て、同意できない人もいるだろう。テクノロジーやプログラミングに習熟している人ほどそう思うかもしれない。しかし間違いなくプログラミングは身近なものになっており、その速度は加速度を増している。そしてこのことが、世界を大きく変えるに違いない。そしてそれはもはや始まっている。

思い出してみよう。私の世代はコンピュータの誕生とともに歩んできたといえる。中学生のとき、私は初めてコンピュータに出会った。それは当時「マイコン」と呼ばれることが通常で、今から比べると貧弱で扱いにくく弱弱しいものだった。しかし私はそのコンピュータに出会ったとき、生まれて初めてのBASICプログラミングを夢中でやり、気が付けば空が明るくなり朝を迎えたという経験をした。

高校生の頃、ウォークマンが世の中に出た。それはカセットテープを使った持ち運びのできる、しかしスピーカーを持たない、イヤホンで自分だけが聴くためのマシンだった。ロックに目覚めた私はウォークマンの初代機を買い、ヘッドフォンをつけて町に出て音楽を聴いた。両親は嘆いた。そんなおかしな恰好をして外に出るな、と。だが今はどうだ。誰もが町で自分だけの音楽を聴いている。

大学生の頃、ようやく実用的なパソコンが庶民にも使える時代になった。就職したとき、勤務先の学校には NEC の 9800 シリーズのマシンがあった。しかしそれは予算がついて購入されたものの、誰も使える人はいなかった。使おうと考える人もいなかった。そこで私は Multiplan の表計算ソフトで成績処理のコンピュータ処理をはじめた。当時パソコンで表計算をすることは、特別な技能を持った人間のすることだった。

就職してしばらくし、ノートパソコンを買った。それは今のように軽量で小型のものではなく、バッテリーの持ちも極めて悪かったが、うれしくて毎日持ち歩き電車の中で物を書いたりした。周囲から奇異な目で見られた。あの人は何をやっているのだ、といったかんじだ。会議でもノートパソコンを使い始めた。ある教育セミナーに出席したとき、講演をノートパソコンでメモしていると隣の席の人から「キーボードの音がうるさいのでやめてくれ」と言われた。ノートパソコンを持ち歩き外出先で何かする、ということは変人のすることだった。今ではどうか。誰もがノートパソコンやタブレット、スマートフォンを外出先で使っている。

ウォークマンで外出先で音楽を聴いたり、表計算ソフトを使ったりモバイルデバイスを使うことは、最初はマニアックな変人のすることであったかもしれない。しかしそれが便利なものなら、必ず真似をする人が出てきて、そのうちに当たり前のことになってくる。プログラミングはどうか。確かにプログラミングは敷居が高い。しかし今では、デスクワーカーのほとんどが Excel の表計算ソフトウエアを使い、多くの人がマクロプログラミングをやっている。なぜか。マクロを使うと定型業務あ楽になるからだ。それがわかると人はマクロを学ぼうとする。マクロを教えるセミナーもある。

Excel でマクロを組めるようになれば、もはや一般のプログラミングも、ほんの目の前にある。Microsoft Visual Studio のようなプログラミングツールは革命的に進化し、とても簡単にプログラミングができる時代になっている。誰もが自分に必要な、仕事上の、家庭の、ホビーでのプログラミングをカジュアルにする時代になるだろう。それは、自動車の運転のように私たちの生活に浸透するだろう。今でも車の運転をしない人がいるが、ほとんどの人が運転免許を取得し、マイカーを運転して買い物へ、職場へ、旅行に行く。それと同様のことがコンピュータやプログラミングの世界でおこるに違いない。

(・・・続く)

yocface_MVP_SQLserver_936_936.png

SQL Serverの実習につかいたい、ECS 超小型 Bay Trail-M 搭載デスクトップ LIVA-C0-2G-64G-W

leave a comment »

これを見つけたのはソフマップの店頭だった。実習用のネットワークでサーバーとして働く小型のコンピュータを探していたところ、みつけた。

IMG_8431_mid_640_480

これにSQL Serverをインストールし、勉強会の実習でいつでも使えるようにしておきたい。とにかく、小型で軽いことが特徴だ。スペックは、Intel Bay Trail-M SoC Celeron N2807搭載、最大TDPわずか4.3Wでファンレス設計による完全無音動作。MMC64GBストレージ、容量2GBの低電圧DDR3Lメモリ内蔵、Wi-Fi 802.11a/b/g/n、Bluetooth 4.0標準搭載、本体重量約190g、筐体容積0.4リットル、最大消費電力約14.9Wという圧倒的な省電力性能によりACアダプタで動作。HDMI、D-sub同時出力、マルチモニタに対応、USB 3.0×1、USB 2.0×1、ギガビットLANポート×1搭載、5V/Micro USB形状の電源コネクタを採用。とても斬新な設計だ。

本体パネルの手前には、電源ボタンとイヤホンジャックのみがある。合理的なデザインだ。その他のコネクタは、すべて後ろ側のパネルにまとめられている。

IMG_8435_mid_640_480

IMG_8434_mid_640_480

大きさは、まさに「手のひらサイズ」だ。片手で楽々つまめる大きさで、しかも軽い。本体がプラスチックでできているために、とても軽い。ファンレスであることも軽量化に寄与している。

IMG_8433_mid_640_480

質量を測ってみよう。手持ちのキッチンスケールに載せて重さを測定する。小型のキッチンスケールにも十分乗る大きさだ。実測値は188g。

IMG_8438_mid_640_480

IMG_8439_mid_640_480

電源供給がmicro USBであるところも面白い。専用のACアダプターが同梱されているが、使うことはないだろう。micro USBならどこででも給電できる環境があるからだ。

久しぶりにレビューしたい面白いコンピュータに出会ったが、実際これにどんなOSをインストールするかだ。本来はデスクトップPCとして使うように設計されているようだが、できればWindows Serverをインストールし、SQL Serverを動かしてみたい。そうすれば実習環境で使える便利なサーバーになるからだ。