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

InfoPath & SQL Server !

Yoshio Matsumoto called "hotikisu sensei" in America 2016 – Los Angeles, Las Vegas, Grand Canyon, Sedona, Death Valley and Red Rock Canyon – Day 8

leave a comment »

P1310760_mid_640_480

P1310805_mid_640_480

P1320139_mid_640_480

P1320155_mid_640_480

P1330004_mid_640_480

P1330184_mid_640_480

P1330240_mid_640_480

P1330578_mid_640_480

P1340438_mid_640_480

P1340743_mid_640_480

広告

IoT 開発における Arduino ファミリーの優位性 – nodeMCU を使う理由

leave a comment »

IoT 開発のために主として Arduino ファミリーと呼ぶことができるマイコンボードを使っている。ここで「Arduino ファミリー」と言っているのは、オフィシャルな Arduino 開発環境である Arduino IDE を使って開発でき、物理的な仕様もほぼ Arduino に準じているものを指している。

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

leave a comment »

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

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 6。テキストボックスをリッチテキストボックスに変更。フォントサイズを変えることができるようにした。

leave a comment »

授業でタイピング練習をすると同時に、アジャイル的なアプリケーションの開発の実際を体験する目的で、自作のタイピングソフトを作って改良を重ねている。今回はやや大きめの変更を加えた。

ひとつは、例題に対して自分が入力した文字のどこが間違ったかを「〇〇文字目」と表示していたのだが、実際に間違った文字の色を変えるなど直感的にわかるようにしてほしい、という生徒からの要望だ。これは、たしかに、わかる。しかしテキストボックスでは文字装飾に限界があるので、テキストボックスをリッチテキストボックスに変更し、間違った文字の BackColor を変えるようにした。

間違った文字の位置は、文字列の比較で myStrCount に入っているので、それを利用して次のようなコードになる。

—————————————————————————————–

//スコアの値から間違った文字を赤く変える
richTextBox1.Select(myStrCount, 1);
richTextBox1.SelectionBackColor = Color.Red;

—————————————————————————————–

もうひとつの要望は、文字の大きさが小さいので自分で適度な大きさに変更できるようにしてほしい、というものだった。これもいいフィードバックだ。

そこでフォームに 2 つのボタンとトラックバー、文字の大きさのサンプルテキストボックスを加えた。ボタンにはフォントサイズを 1 ポイントずつ増減するコードを書き、フォントサイズの下限を 1、上限を 30 としてトラックバーを連結した。コードは次の通りだ。

—————————————————————————————–

int myFontSize; // フォントサイズを変数にする

// フォントサイズを増やすボタン
private void buttonFontSizeUp_Click(object sender, EventArgs e)
{
    myFontSize++;
    if(myFontSize > 30)
     {
        myFontSize = 30;
    }
    myFontSizeChange();
}

// フォントサイズを下げるボタン
private void buttonFontSizeDown_Click(object sender, EventArgs e)
{
    myFontSize–;
    if(myFontSize <1)
    {
        myFontSize = 1;
    }
    myFontSizeChange();
}

// フォントサイズを変更するメソッド
private void myFontSizeChange()
{
     textBox2.Font = new Font("MS UI Gothic", myFontSize);
    richTextBox1.Font = new Font("MS UI Gothic", myFontSize);
    textBoxFontSize.Text = myFontSize.ToString();
    trackBar1.Value = myFontSize;
}

// トラックバーのスクロールイベントに対するメソッド
private void trackBar1_Scroll(object sender, EventArgs e)
{
    myFontSize = trackBar1.Value;
    myFontSizeChange();
}

—————————————————————————————–

textInputProgram_006

textInputProgram_007_mid_640_480

Kindle Fire にリクエスト。端末にダウンロードするコンテンツを PC から管理させて。

leave a comment »

持っている Kindle の半分は本家米 Amazon で登録されているので、日本の Amazn サイトで管理されているデバイスは少ない。ところで Amazon の Kindle Fire を持つ唯一と言っていい理由は、プライムサービスとの連携だ。Amazon プライムビデオ、Amazon プライムミュージックが Fire タブレットで自由に視聴できる便利さ。Fire が自宅に届き、梱包を開けたときから使える。アプリのインストールやアカウントの登録など面倒なこと一切なしだ。

ところで、人によって使い方は様々と思うが、俺の場合は必ずしもネットワーク環境のないところで使うことが多い。そこでコンテンツを端末にダウンロードしておく、という使い方が望ましい。Amazon Fire タブレットは映画や音楽のコンテンツを端末にダウンロードしておく機能があるが、この作業は端末で操作しなければならない。

俺の希望はこうだ。端末へのコンテンツのダウンロードを、PC 上でブラウザから管理する。Amazon サイトには端末管理の機能があるのだから、ここで端末を選びコンテンツのダウンロードが予約できるようにする。なぜかと言えば、映画や音楽の検索は、Web サイトを PC で検索する方が圧倒的に効率がいいからだ。Web サイト上で検索し、ダウンロードしたいコンテンツをダウンロードしたい Fire 端末に予約する。すると、端末がネットワーク環境に届いたときに自動的にダウンロードが始まる、といったようになるべきだ。

そうなってほしい。お願い。

kindle_fire_001

わが父、松本昌三。その1。阪急十三駅の駅そば。

leave a comment »

父の一周忌が近づいた。だが俺はあまり「誕生日」だとか「命日」だとか記念日を意識しない。父はいつも俺の心の中にいる。小さなエピソードを思い出し、父との思い出にふける。

父は大学を出てから大阪の図書館に司書として勤めた。大阪市立天王寺図書館だ。その当時、家は京都の太秦にあったので、父は京福電鉄と阪急電車、そして大阪市営地下鉄に乗って天王寺まで通っていた。仕事の話はあまりしない父だったが、失明して転職をせざるを得なかったことから、悩みや苦労が多かったことだろう。

おそらく父は、通勤途中の十三で、この駅そばを食べることを小さな楽しみにしていたのだろう。確かまだ家が京都にあった頃だったから、俺が小学生の下級生だった頃だと思うが、父と何かの折に出かけたとき、阪急十三駅の駅そばを食べたことを思い出す。いまでこそあちこちの駅に駅そば屋が出ているが、当時はこのような駅そばは、まだ珍しかったように記憶する。

そのころ俺はまだ小さかったので、カウンターの下にある荷物置きの棚でそばを食べた記憶がある。背が足りなかったからだ。熱いそばは子供にはむかなかったので、ざるそばを注文してもらった。うまかった。

いまでも十三を経由して出かけるときは、時間がある限りここでそばを食べる。わが息子も、いつか一緒に。

P1510833_md_640_480

Written by Yoshio Matsumoto

2017年6月17日 at 3:15 PM

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;

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

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