「限りなき明日への挑戦」のTopページへ

限りなきあすへの挑戦・新村学習館・新村プログラミング教材研究所の更新履歴

イラスト PHPとMySQLを用いた「ウェッブデータベース構築の記録」はこちら gazou

記録件数=392件


2001年(平成13年)06月 日( )

WWWクイズシステム「クイズ工房」に出会う。クイズ工房を利用して自作の数学クイズを作成開始。自作クイズへの入口となるホームページが必要と判明。
2001年(平成13年)09月15日(土)

@niftyでホームページのURL(ホームページアドレス)を取得。
2001年(平成13年)10月14日(日)

ホームページ作成ソフト「Front-page Express」とファイル転送ソフトを使って「新村 保のホームページ」が誕生(Topページのみ)。自作の数学クイズ「基礎の基礎クイズ」へのリンクに成功。
 ページ最上部へ ページ最下部へ

2002年(平成14年)02月26日(火)

「数学の基礎の基礎クイズ」の自作問題数が60問に。

「ホームページ・ビルダー」体験版をインストール。(現在はホームページ作成ソフトに頼らないで、HTMLソースやPHPプログラムをコードを直接いじくる方式を採用しています。)
2002年(平成14年)02月27日(水)

画像とBGMの初挿入に成功。「クイズ選択」と「更新履歴」ページを追加。ページ数3になる。
2002年(平成14年)03月09日(土)

アクセスカウンターを挿入し、「Topページ」を衣替え。
 ページ最上部へ ページ最下部へ

2002年(平成14年)03月11日(月)

「ホームページ・ビルダー」V6.5を購入しインストールする。(現在はホームページ作成ソフトに頼らないで、HTMLソースやPHPプログラムをコードを直接いじくる方式を採用しています。)
2002年(平成14年)04月14日(日)

「我が家の愛犬」のページを追加。ページ数4になる。
2002年(平成14年)08月21日(木)

初歩的な自作CGIを挿入し、初稼働に成功。各種応用への道を開く。
 ページ最上部へ ページ最下部へ

2003年(平成15年)04月20日(日)

「登山日記」のTopページと「双石山」のページを追加。ページ数6へ。
2003年(平成15年)08月07日(木)

「鹿児島ハイテク専門学校」で「インターネットコース」を受講。研修の成果を受けて、ホームページを更新。サーバーへのアップデータをフォルダにまとめてすっきりさせる。
2003年(平成15年)08月08日(金)

「四国めぐり旅日記」、「プロフィール」のページを追加。ページ数8へ。写真のページを「スライドショー」形式に変更。
 ページ最上部へ ページ最下部へ

2003年(平成15年)08月09日(土)

「おすすめLINK」のページ(現在はありません。)を追加。ページ数が9へ。ページを一部改良、意見や感想をもらうために、数名にホームページのアドレス初公開に踏み切る。訪問者カウンタ数「109」(自分で接続実験のみ)。
2003年(平成15年)08月10日(日)

ご意見を取り入れて一部ページを改良。
2003年(平成15年)08月18日(月)

ご指摘を受けて「プロファイル」を「プロフィール」に変更。ご指摘ありがとうございました。
 ページ最上部へ ページ最下部へ

2003年(平成15年)08月19日(火)

更新履歴を一部変更(ページ数の推移を考察)。一部のページに「ページタイトル」を付ける
2003年(平成15年)08月20日(水)

「更新履歴」ページを「アドレス公開前」と「アドレス公開後」に分割。「あなたのパソコンをウイルスから守るために」のページ(現在はありません。)を新設。「日本一周バイク旅行」のページを準備(ページ数が12になる)。
2003年(平成15年)08月21日(木)

「宮崎学園都市」についての紹介のページ(現在はありません。)を準備(ページ数13へ)。
 ページ最上部へ ページ最下部へ

2003年(平成15年)08月26日(火)

「雑学クイズ」を追加(問題数14へ)。
2003年(平成15年)08月28日(木)

「英語のお勉強」クイズ(現在はありません。)を追加(問題数10へ)。
2003年(平成15年)09月07日(日)

「情報セキュリティについて」のページ(現在はありません。)を追加(ページ数14へ)。「Topページ」、「プロフィールページ」を改変。
 ページ最上部へ ページ最下部へ

2003年(平成15年)09月20日(土)

@niftyの「メールデコード・アンケートタイプ」を利用して「アンケート」ページ(現在はありません。)と「送信内容の確認」、「thanks」ページを追加(ページ数17へ)。
2003年(平成15年)09月27日(土)

「宮崎学園都市紹介ページ」(現在はありません。)を更新(ページ数20へ)。
2003年(平成15年)10月05日(日)

「鰐塚山登山日記」のページを追加(ページ数21へ)。
 ページ最上部へ ページ最下部へ

2003年(平成15年)10月12日(日)

「四国めぐり」のページを分割(ページ数22へ)。

「四国めぐりTopページ」を設ける。「スライドショー」形式からアルバム形式へ変更。
2003年(平成15年)10月18日(土)

「くんぱち山登山」のページを追加(ページ数23へ)。
2003年(平成15年)10月28日(水)

「日本一周バイク旅行」のページを分割し、更新(ページ数24へ)。
 ページ最上部へ ページ最下部へ

2003年(平成15年)10月29日(木)

「四国めぐり第6回」のページと、「日本一周バイク旅行」のページを分割、更新。(ページ数25へ)。
2003年(平成15年)11月02日(日)

「ホームページ・ビルダー Ver 7」をインストール。(現在はホームページ作成ソフトに頼らないで、HTMLソースやPHPプログラムをコードを直接いじくる方式を採用しています。)
2003年(平成15年)11月24日(月)

「掲示板」と「チャット」を追加。(現在はありません。)
 ページ最上部へ ページ最下部へ

2003年(平成15年)11月30日(日)

JavaScriptプログラムを用いて時間帯別のメッセージ表示に成功。
2003年(平成15年)12月06日(土)

「掲示板」を閉鎖。(掲示板は好きではないため)
2003年(平成15年)12月13日(土)

「プロフィール」のページにJavaScriptプログラムで日数カウントを追加。
 ページ最上部へ ページ最下部へ

2003年(平成15年)12月17日(水)

ドメイン「 shimmura-tamotu.jp 」 を取得(「お名前ドットコム」にて)。「お名前ドットコム」のレンタルサーバー(プレミヤサーバー)に移転。
2003年(平成15年)12月20日(土)

「プロフィール」、「アンケート」のページを更新。

「実用数学検定」(数検)のページを追加(ページ数26へ)。
2003年(平成15年)12月29日(月)

「登山日記のメニューページ」と「花切山」のページを更新。
 ページ最上部へ ページ最下部へ

2003年(平成15年)12月30日(火)

ファイルをサーバーへアップする時の利便性向上のためにファイルを更に分野毎のフォルダにまとめる。「チャット」を閉鎖。
2003年(平成15年)12月31日(水)

生活お役立ち集「第1作 西暦年月日による曜日判定」のページを追加。
2004年(平成16年)01月02日(金)

生活お役立ち集「第2作 元号年月日による曜日判定」のページを追加。
 ページ最上部へ ページ最下部へ

2004年(平成16年)01月03日(土)

クイズ&ゲームの「石取りゲーム」のページを追加。
2004年(平成16年)01月04日(日)

登山日記に「花切山」のページを更新
2004年(平成16年)01月25日(日)

無料「アクセス解析」を導入。
 ページ最上部へ ページ最下部へ

2004年(平成16年)02月01日(日)

アクセス解析を全ページに導入。「生活お役立ち集」第3作「日数計算」のページを追加。
2004年(平成16年)02月08日(日)

「石取りゲーム」を改良し、初級・上級のランク別に。「クイズ&ゲーム」の「JavaScriptゲーム」を@niftyのサーバーへ分散。
2004年(平成16年)04月18日(日)

「ヒット・ホームランゲーム(初級)」(3桁)のページを追加。
 ページ最上部へ ページ最下部へ

2004年(平成16年)04月25日(日)

「ヒット・ホームランゲーム(中級)」(4桁)のページを追加。
2004年(平成16年)08月18日(水)

Topページの「自動リフレッシュ・タイム」を30秒から60秒へ変更。(速度の遅いモバイル通信カードでの読み込みに対応するため)。「私の断食体験紹介」のページを追加。
2004年(平成16年)08月19日(日)

速度の遅いモバイル通信カードでの読み込みに対応するためにTopページの容量(データ量)を減らしました。また、デザインも一新しました。
 ページ最上部へ ページ最下部へ

2004年(平成16年)08月22日(日)

断食体験紹介のページと静養院とその周辺および奈良公園(アルバム風写真集)のページを更新。
2004年(平成16年)10月11日(月)

ネットワーク・カメラ」のページを追加。(静止画像の自動アップロードに成功)。
2004年(平成16年)10月12日(火)

断食体験紹介の「静養院とその周辺および奈良公園(アルバム風写真集)」のページに説明文を追加。
 ページ最上部へ ページ最下部へ

2004年(平成16年)11月01日(月)

ホームページの訪問者数が「1000」を突破。
2004年(平成16年)12月下旬

登山日記に「高千穂峰」のページを追加。
2005年(平成17年)01月02日(日)

我が家の愛犬のページからスライドショー形式写真集とビデオ映像のページを分離。
 ページ最上部へ ページ最下部へ

2005年(平成17年)01月08日(土)

登山日記に西都市の「地蔵岳」のページを追加。アルバム風写真とビデオ映像を挿入。
2005年(平成17年)01月15日(土)

ネットワーク・カメラのページに手動アップ静止画像を挿入。
2006年(平成18年)02月20日(月)

「PHPとMySQLによるWebデータベース構築の記録」のページを追加。
 ページ最上部へ ページ最下部へ

2006年(平成18年)02月21日(火)

更新履歴ページを改良。「PHPとMySQLによるWebデータベース構築の記録」のページを更新。
2006年(平成18年)04月26日(水)

「登山日記」に「霧島~中岳・新燃岳」のページを追加。
2006年(平成18年)05月26日(金)

@niftyのアンケート・システムを利用させてもらっていたアンケートのページを、PHPでプログラミングした自前のアンケート・システム(フォーム)に切り替え。
 ページ最上部へ ページ最下部へ

2006年(平成18年)06月03日(土)

アンケート・フォームで文字コードの設定によっては文字化けが起きることが判明。
2006年(平成18年)06月04日(日)

アンケート・システムでPHP設定ファイルの各種の文字コードの設定で苦労。
2006年(平成18年)06月27日(火)

トップページを更新。項目名だけのページに衣替え。
 ページ最上部へ ページ最下部へ

2006年(平成18年)07月01日(土)

ネットワーク・カメラのページを1時間毎のページと15分毎のページに分割。
2006年(平成18年)07月07日(金)

PHPプログラミングによるメールソフトを使わない自分宛のメール送信システム「メール・フォーム」に切り替え。メールアドレスの形式や未入力項目等のチェックで苦労。
2006年(平成18年)11月07日(木)

「四国八十八ケ所めぐり(区切り歩き7回目)」のページを追加。
 ページ最上部へ ページ最下部へ

2007年(平成19年)09月15日(土)

「メールフォーム」を改良
2007年(平成19年)09月17日(月)

終日PHPによる「万年カレンダー」のプログラム作り、「今月のカレンダー」をアップ
2007年(平成19年)09月24日(月)

PHPプログラミングによる「万年カレンダー」を一応完成。祝祭日の表示が今後の課題
 ページ最上部へ ページ最下部へ

2009年(平成21年)01月~02月

ホームページ名を「限りなき明日への挑戦!」に変更
2009年(平成21年)03月~05月上旬

ホームページの各ページ(約85ページ)をホームページ・ビルダーの「どこでも配置モード」から「標準モード」への変更作業
2009年(平成21年)05月05日(火)

「ネットワークカメラ」のページを更新。WindowsVista対応のcorega社のネットワークカメラ「NCMNL」に切り替え完了。「NCMNL」は1月26日に購入していたが、アップされる画像のファイル名など旧製品CGMNとはいろいろ形式が違うため、PHPプログラムで表示せざるを得なくなった。自作の画像表示プログラムがやっと完成した。(旧製品はHTMLだけで表示できたのに・・・)
 ページ最上部へ ページ最下部へ

2009年(平成21年)06月17日(水)

ホームページのファイルを置いている2か所のレンタルサーバーをお名前ドットコムのレンタル共用サーバーSDに統合移転開始。
2009年(平成21年)06月18日(木)

サーバー移転に伴い、メール・フォームなどPHPプログラムで動いているページの動作確認をしながら旧サイトのファイルを削除
2009年(平成21年)07月04日(土)

メール・フォームの改良作業開始。戻るボタンや更新ボタンによる再送信防止対策を開始
 ページ最上部へ ページ最下部へ

2009年(平成21年)07月06日(月)

旧サイトの閉鎖準備作業
2009年(平成21年)07月07日(火)

ホームページ「限りなき 明日への挑戦(別館)」を本館に移すための作業(旧サイトで正常に動いていた各種のクイズ(PHPとウエッブデータベースMySQL連携)のプログラム変更作業で苦労。
2009年(平成21年)07月08日(水)

お名前ドットコムのレンタル共用サーバーSDにデータベース管理ソフトphpMyadminのインストール作業でうまくいかない。(このWebサイトのセキュリティには問題があります。このページを閉じて、このWebサイトの閲覧を続行しないことを推奨します。)というメッセージが出たのでインストールが不調に終わったと判断してしまった。(後日判明したのだが、インストールは正常にできていたのだ。)何のことはない、上のようなメッセージを無視して「このサイトの閲覧を続行する(推奨されません)。」をクリックすればphpMyadminのログイン画面が現れるではないか!インストールの手順説明ページにこのことが書いてあれば苦しまなかったのに・・・
 ページ最上部へ ページ最下部へ

2009年(平成21年)07月09日(木)

旧サイトのクイズデータの一括移植には成功したが、データベースへの接続がうまくいかない。相当苦労の末成功したが、今度はデータベースからのデータの読み込みで苦労。
2009年(平成21年)07月10日(金)

データベースからの取得データの文字化け解消せず。文字コード変換がうまくいかない。PHP関数mb_convert_encodingで思うように文字コードを変換してくれない。旧サイトでは変換してくれていたのに・・・
2009年(平成21年)07月11日(土)

文字化け対策で試行錯誤。インターネットで「PHP 取得データの文字化け対策」などと語句を変えて検索して試してみたが文字化けは解消しない。
 ページ最上部へ ページ最下部へ

2009年(平成21年)07月12日(日)

連日、文字化け解消対策でいろいろPHP辞典を引いて調べたり、インターネットでWeb検索してヒントをもらってやってみたが、文字化けは解消せず・・・。文字化け対策で、労力も気力も消耗している・・・。ところが、あるサイトにこんな事が載っていた。「この取得データの文字化け解消はそう簡単ではない。文字化けはMySQLのバージョンアップにともなってますます多くなっており、文字化け解消というハードルも高くなってきている。そもそも、シングルバイト圏の人間が作ったソフトだからである。

われわれマルチバイト(つまり漢字やひらがな、カタカナ、ハングル文字など1文字を表すのに2~3バイト必要)のお世話になっている人間にとっては一段とハードルが高くなってきた。マルチバイト圏の人々の便宜を考えてソフトを作っているわけではない。」とあるではないか!文字化け解消というこの高いハードルを超える努力を放棄する訳ではないが、ここは一休みして、単純なテキストファイルによる自作のデータベース(?)みたいなものを作り上げようと決意した。バージョンアップに振り回されたくはない!もう、こりごりだ!
2009年(平成21年)07月13日(月)

テキストファイルによる読み込みプログラムの作成開始。各ページに貼り付けていたバリュー・ドメインのアクセス解析タグの除去作業開始。
2009年(平成21年)07月19日(日)

バリュー・ドメインのアクセス解析タグの除去作業完了
 ページ最上部へ ページ最下部へ

2009年(平成21年)08月09日(日)

ステップ・サーバーのアクセス解析タグの貼り付け開始
2009年(平成21年)08月12日(水)

「お遊びジャンケンゲーム」を追加
2009年(平成21年)08月14日(金)

「お遊びジャンケンゲーム」に、「ただ今のラウンドの回数カウンター」を追加
 ページ最上部へ ページ最下部へ

2009年(平成21年)08月21日(金)

MySQLバージョン5での取得データの文字化け解消に成功。約2年近くかかってやっと成功した。データベースの文字コード(照合順序)、テーブルの文字コード(照合順序)、テーブル内のコラムの文字コード、PHPプログラムの保存時の文字コード等のすべてをUTF8に統一し、さらにPHPのプログラム内で「ini_set(○,△)」により「mb_internal_encoding」でUTF8を設定、さらに、PHPのプログラム内で「SET NAMES UTF8」のSQL文を発行するなどにより、やっと「取得データの文字化け」を解消できた。いろいろ勉強になった。
2009年(平成21年)08月23日(日)

レンタルサーバー「ステップ・サーバー」のアクセス解析タグの貼り付けを一応完了
2009年(平成21年)08月30日(日)~30日(日)

「お遊びジャンケンゲーム」の挑戦者登録ページのプログラミング
 ページ最上部へ ページ最下部へ

2009年(平成21年)11月01日(日)

「石取りゲーム」のプログラム改良(コンピュータと人間の対戦成績の累計数と挑戦者登録ページの追加)。ゲームを進行するJavaScriptのプログラムとPHPプログラムとの連携で勝ち負けの記録をサーバーに集約、クッキーを利用してJavaScriptのプログラムとPHPプログラムとの仲介をするようにした。
2009年(平成21年)11月08日(日)

「もぐらたたきゲーム」作りの研究に取りかかる
2009年(平成21年)11月28日(土)

「もぐらたたきゲーム」でモグラのランダム出現に成功。setInterval("画像表示関数名", 実行間隔ミリ秒); と setTimeout("画像非表示関数('画像名' )",'遅延実行ミリ秒'); document.getElementById( lyr ).style.visibility= "visible"; (または "hidden";)の微妙な組み合わせの試行錯誤でやっとランダム表示に成功した。ここまでくればゲーム完成までの道筋が見えてきた。あとは、画像表示中のクリック感知法を調べればよい。
 ページ最上部へ ページ最下部へ

2009年(平成21年)11月29日(日)

苦労の末、なんとか「もぐらたたきゲーム」が出来た。画像表示中のクリック検出法として、試行錯誤の結果、HTMLプログラムで各画像を配置する時に画像一つ一つに「onclick="実行させたいJavaScript関数名()";」を記述することで実現した。「モグラたたきゲーム」としてはまだまだ不十分なので、今後はゲームとしてのレベルアップ(機能の充実)につとめたい。
2009年(平成21年)12月06日(日)

レンタルサーバー「ステップ・サーバー」内で「プロコース(5GB)」にアップグレードした。それまでの「プラスコース(2.5GB)」は独自ドメインが3個までしか設定できなかったが、今度のコースでは独自ドメインが10個まで設定できるし、容量も2倍に増えてゆとりがある。早速、新ドメインのsinmura.comを設定して一気にファイルの大部分を転送してサイトを構築した。今までのshimmura.comはmが2つ並んでいるので、自分でもどうも気に入らなく感じ初めていた。shimmura.comはやがて廃止する予定。
2009年(平成21年)12月13日(日)

sinmura.com内のリンク調整作業(プログラムの中で古いsinmura.comを使っている部分があるので新しいsinmura.comに変更)トップページに戻すリンクを「絶対アドレス指定」でなく、「相対アドレス指定」にしておけばサイト全体を移転しても手直しする必要はないのだが、大部分のリンクは相対指定にしてあったので変更作業は生じなかった。2つ3つのサイト間の行き戻りのリンクはどうしても絶対指定にしなければならないので面倒な変更作業が生じてくる。もう絶対こんな作業はしたくない。今後はsinmura.comを使い続けるぞ。
 ページ最上部へ ページ最下部へ

2009年(平成21年)12月16日(水)

新ドメインを設定したおかげでデータベースMySQLの設定も変更しなければならなくなった。データベースへの接続プログラムもユーザ名やホスト名などを設定している行の変更作業をおこなった。
2009年(平成21年)12月20日(日)

ステップ・サーバーのプラスコースのサーバーからファイル移転の続き
2009年(平成21年)12月24日(木)

新サイトのリンクの確認・調整作業
 ページ最上部へ ページ最下部へ

2009年(平成21年)12月27日(日)

ステップサーバーのプロコースのサーバーへの移転後のアクセス解析タグのID変更作業。約70ページの確認作業は大変だ。アクセス解析タグの古いIDを使い続ける訳にもいかないので変更せざるを得ない。大変な作業である。
2009年(平成21年)12月30日(水)

「クイズ24時館」のデータベース接続プログラムを修正し、新サイトでのクイズ稼働に成功した。
2010年(平成22年)01月04日(月)

メールフォームをSSL対応(データを暗号化して送受信する仕組み)のページに変更。(ステップサーバー提供の共用SSLを利用)試行錯誤の末にやっとSSL対応にすることに成功した。
 ページ最上部へ ページ最下部へ

2010年(平成22年)01月05日(火)

インターネット上の学習塾新村未来塾の「数学教室」の問題を若干追加
2010年(平成22年)01月09日(土)

新村未来塾の「数学教室」の問題作成方法の改良。問題と選択肢をそれまでの「jpeg画像」ではなく「gif画像」として作成することにした。
2010年(平成22年)01月10日(日)

新村未来塾の「数学教室」のプログラミング。作成した問題と選択肢群のgif画像の表示に成功した。
 ページ最上部へ ページ最下部へ

2010年(平成22年)01月11日(月)~22日(金)

「数学教室」のPHPプログラム作り。問題の画像表示と選択肢の「ランダム配置」のプログラミング。出題日選択方式のプログラミング。
2010年(平成22年)01月23日(土)

「数学教室」の問題をアップ(試験的に6題をアップしてシステムが稼働するかどうかのチェック)
2010年(平成22年)01月24日(日)

「数学教室」のプログラミング。選択した出題日内の収容問題の一覧表と挑戦した問題の正誤記録の表示のプログラミング。
 ページ最上部へ ページ最下部へ

2010年(平成22年)01月26日(火)~30日(土)

「数学教室」のプログラミング。
2010年(平成22年)01月31日(日)

「数学教室」のプログラミング。(獲得ポイントの表示と全問挑戦後にしか2回目以降に挑戦できないようにするための仕組みの考案)
2010年(平成22年)02月01日(月)

「数学教室」のトップページを「index.htm」から「index.php」に変更(PHPプログラムにより「リンク元に応じた戻るページ」を設定できるようにするため)
 ページ最上部へ ページ最下部へ

2010年(平成22年)02月04日(木)

「数学教室」のプログラミング。JavaScriptで画面サイズを取得して回答群の選択肢を横一列に配置できる個数を計算して配置するように工夫
2010年(平成22年)02月06日(土)

「数学教室」へのCD-Rから入室システムの工夫。インターネット回線を利用せずに「ユーザーのパソコン上だけで動くプログラム」をCD-Rに収容して、一部のメニューのみインターネット回線を利用する場合に、新しいウインドウを開いてweb上のページを表示し、開いている新しいウインドウ閉じても元のメニュー画面が残るようにしたいのだが「新しいウインドウを開く方法」がわからずに難航した。
2010年(平成22年)02月07日(日)

「数学教室」へのCD-Rからの入室システムのプログラミング。「新しいウインドウを開く」ことに試行錯誤の末、成功した。
 ページ最上部へ ページ最下部へ

2010年(平成22年)02月08日(月)

完全数式作成ツールを用いて「数学教室」の問題作成。
2010年(平成22年)02月09日(火)

「数学教室」の正解時のポイント表示の研究。(クッキーを用いたPHPプログラミング)
2010年(平成22年)02月11日(木)

前日に「数学教室」へのCD-Rからの入室でパソコンの設定によっては「新しく開いたウィンドウが背面に隠れてしまう場合がある。」という問題点が見つかった。これを解決するために、「新しく開くウインドウ」を強制的に前面に出す方法を模索し解決した。「更新履歴」のページを日記をたどって記入。数か月間の「更新履歴」が空白だったのを埋めることができた。
 ページ最上部へ ページ最下部へ

2010年(平成22年)02月12日(金)~13日(土)

「数学教室」のプログラミング。
2010年(平成22年)02月14日(日)

「数学教室」のプログラミング。出題日毎のフォルダの中に、さらに問題毎のフォルダを作成して、問題と選択肢の画像ファイル群をまとめて格納する方式に変更したことに伴うプログラム変更作業。
2010年(平成22年)02月17日(水)~18日(木)

「数学教室」の管理プログラムつくり(収容全問題と選択肢群の一覧表示プログラム)
 ページ最上部へ ページ最下部へ

2010年(平成22年)02月20日(土)~21日(日)

「数学教室」の管理プログラムの研究
2010年(平成22年)02月23日(火)

「数学教室」の管理プログラム作成、出題日毎の全問表示プログラム内で繰り返し使用する部分を関数化することにより、プログラムを簡素化
2010年(平成22年)02月25日(木)~27日(土)

「数学教室」の管理プログラムの工夫および「頭の体操」のプログラミング
 ページ最上部へ ページ最下部へ

2010年(平成22年)03月06日(土)

「数学教室」のプログラミング。「暗算特訓」システムのプログラム考察
2010年(平成22年)03月07日(日)

「数学教室」のプログラミング。「2けたの加減乗除暗算特訓」システムが「一応」出来上がった。
2010年(平成22年)03月20日(土)

「HTA」というプログラミングがあることを知った。HTAを使えばローカル資源(パソコン上のデータファイルなど)にアクセスできるプログラミングが可能になることを初めて知った。HTAを用いた「カウントダウンプログラム」を作成開始。
 ページ最上部へ ページ最下部へ

2010年(平成22年)03月21日(日)

HTAを用いた「カウントダウンプログラム」の工夫
2010年(平成22年)03月27日(土)

「クロスワード・パズル」(第1回)を作成。非フレームの単一のメニューページから、「問題のページ」、「縦のカギ」ページ、「横のカギ」ページの3つに区切られたフレーム構造のページを新規に開く方式で作成。(フレーム構造ページの作成は初挑戦だった。)
2010年(平成22年)04月03日(土)

独自のページアクセス集計プログラム作りを開始。(サーバーが保存してくれるログファイルの利用ではなく、各ページに埋め込んだ自作のスクリプト実行でアクセス回数を調べるタイプ)
 ページ最上部へ ページ最下部へ

2010年(平成22年)04月05日(月)

トップページのアクセスカウンターの様式を改良
2010年(平成22年)04月06日(火)

サイト全体へのページアクセス回数の集計PHPプログラムの工夫
2010年(平成22年)04月07日(水)~08日(木)

サイト全体へのページアクセス回数の集計PHPプログラミング。(アクセス集計の表示形式の工夫)
 ページ最上部へ ページ最下部へ

2010年(平成22年)04月09日(金)

サイト全体へのページアクセス回数の集計PHPプログラミング。(ページタイトルを表示するための工夫)
2010年(平成22年)04月10日(土)~12日(月)

サイト全体へのページアクセス回数の集計PHPプログラミング。(切り替えボタンで簡略表示状態から詳細表示に移行するプログラミング)
2010年(平成22年)04月16日(金)

ネットワークカメラの方向を微調整。
 ページ最上部へ ページ最下部へ

2010年(平成22年)04月20日(火)

四国めぐり区切り歩き第7回のページの説明文を追加(約4年前の記録を調べて説明文を記述してページが完成した。)
2010年(平成22年)04月21日(水)

「新村未来塾」のスタッフのページを追加。
2010年(平成22年)04月23日(金)

四国めぐり区切り歩き第1回のページを更新(約13年前の記録を調べてページを更新した。)メールフォームの改良(ある人から指摘を受けてページのバックカラーを濃い色から淡い色に変更)
 ページ最上部へ ページ最下部へ

2010年(平成22年)04月24日(土)

メールフォームの改良のつづき。リンク設定部分へのマウスオンで色が変わる仕掛けを発見したので、サイト全体の数十ページに導入開始。
2010年(平成22年)04月25日(日)~26日(月)

マウス・リンク・オン変色の導入作業。
2010年(平成22年)04月30日(金)

マウス・リンク・オン変色の導入作業(「限りなき!~明日への挑戦」サイトの作業を終了して、「新村未来塾」への導入作業に移行)。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月01日(土)

マウス・リンク・オン変色の導入作業が完了。
2010年(平成22年)05月02日(日)

クロスワードパズルの問題ページの作成方法を、それまでの「エクセルで作成し、HTML形式に変更する方法」から「最初からHTML形式のページで作成する方法」に変更することにした。その方が「もどる」や「メニューへもどる」リンクが貼りやすいためである。そのための工夫を開始した。
2010年(平成22年)05月03日(月)

クロスワードパズルのHTML版が一応完成。フレーム構造にしてアップ。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月04日(火)

クロスワードパズルのプログラミング。非フレーム構造のメニューページから移行した後の「フレームで区切られたページ」を閉じて元の非フレームページにもどる方法」で一苦労。「close()」ではダメ!。困った末に、「フレームページを閉じる方法」で検索して調べた結果、「top.close()」の命令で閉じればよいことを発見し成功した。(フレーム名に top を使用してなくても「top.close() 」の命令で閉じればよいらしい。)
2010年(平成22年)05月06日(木)

クロスワードパズル(第1回)の問題をエクセル版からHTML版に衣替えアップロード
2010年(平成22年)05月13日(木)

PHPプログラム実行により、サーバーが保存してくれるログファイルへのFTP接続でアクセスに成功。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月14日(金)~16日(日)

ページアクセス集計プログラムつくり。(プログラムによるログファイルの中味取り出しに成功)
2010年(平成22年)05月17日(月)

ページアクセス集計プログラムつくり。
2010年(平成22年)05月18日(火)

ページアクセス集計プログラムつくり。「CRON(自動実行)設定」というものがあることを知った。試行錯誤の末、「permission denied(パーミッション拒否)」までは持ち込めた。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月19日(水)~20日(木)

CRON(自動実行)設定で苦労。パーミッション拒否を突破できない。
2010年(平成22年)05月21日(金)

更新履歴ページの2009年12月の記事を追加。(日記を調べて記入)
2010年(平成22年)05月22日(土)

レンタルサーバーをエッスス・サーバーに変更。20GBで月額1050円のX10コースを申し込んだ。CRON(自動実行)設定で苦労。パーミッション拒否を突破できない。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月23日(日)

前日申し込んだエッスス・サーバーにHPデータを移転。データの転送作業に終日かかった。3つの独自ドメインを設定して3つのサイトを乗せた。4つ目の独自ドメインを設定してネットワークカメラの映像専用とした。CRON(自動実行)設定でPHPファイルの自動実行させることに成功したが、プログラムのいくつかの行でエラー続出。(単独実行ではエラーは出ないのだが、CRONで実行させるとエラーが出る。)
2010年(平成22年)05月25日(火)

旧レンタルサーバー用のアクセス解析タグの除去作業。エッスス・サーバーで設定したデータベースMySQLの接続設定で不調。データベースに接続できない。
2010年(平成22年)05月26日(水)

旧レンタルサーバー用のアクセス解析タグの除去作業。エッスス・サーバーでのクイズ24時館の稼働に成功。データベースのホスト名の間違いだった。レンタルサーバー各社で微妙に表現が違うのでどれをホスト名にすればよいのか紛らわしい。とにかくデータベースには接続できるようになった。
 ページ最上部へ ページ最下部へ

2010年(平成22年)05月30日(日)

「クロスワード・パズル」の答えの応募ページをPHPファイルに変換して入力フォームを設置
2010年(平成22年)05月31日(月)

「クロスワード・パズル」のPHPプログラミング
2010年(平成22年)06月01日(火)

「クロスワード・パズル」のPHPプログラミング。(2つのサイトに「クロスワード・パズル」へのメニューがあるためにリンク元ページに応じたTopページ返しのプログラミング)
 ページ最上部へ ページ最下部へ

2010年(平成22年)06月02日(水)

「クロスワード・パズル」のPHPプログラミング。(答えの応募システムの改良)「メールフォーム」の改良。
2010年(平成22年)06月03日(木)

「クロスワード・パズル」のPHPプログラミング
2010年(平成22年)06月04日(金)

「クイズ24時館」の出題形式選択をリスト形式からラジオボタンに変更
 ページ最上部へ ページ最下部へ

2010年(平成22年)06月05日(土)

「クイズ24時館」のプログラム改良に伴って、クッキーの読み書きで不具合発生。「クッキー書き込みページ」と「クッキー読み取りページ」の間に緩衝ページを設けることによりクッキーの読み取りを正常化できた。
2010年(平成22年)06月11日(金)

「更新履歴」の5月分を日記を調べて更新
2010年(平成22年)06月14日(月)~15日(火)

捨てようと思っていた、休眠状態だったWindows2000までの対応のロジテックの外付けハードディスクが、「LAN対応」のハードディスクだったことに気づいたので、LAN上で活用しようと思ってXPパソコンとVistaのパソコンにインストールしたらXPパソコンの方が不調に陥り再セットアップせざるを得なくなった。Vistaのパソコンの方はアンインストールして元にもどすことができた。

再セットアップまでは簡単だが、その後のアップデート作業や各種のソフトのインストール作業に追われた。以前は不調時に備えてAcronisTrueImageによるCドライブのバックアップを時々行っていたのだが、ここ2、3年は怠っていたので苦労するハメになった。早速、古いHDは廃棄処分した。代わりに新しいLANDISK(IO-DATAのHDL-C500)を注文した。古くなった周辺機器を使い続けるのは良くないようだ。
 ページ最上部へ ページ最下部へ

2010年(平成22年)06月16日(水)

Cドライブのバックアップ専用にポータブルHD(IO-DATAのHDPC-U320K)を購入した。既に所有している40GB、60GB、80GBのポータブルHDならびに250GBの外付けHDはそれぞれのパソコンのCドライブのバックアップ(副)として使用し、今回購入のHDを(正)とすることにした。
2010年(平成22年)06月21日(月)

今までのLANDISKから新しいLANDISKへのデータ移行作業。データのコピーに「残り時間10時間・・・」というメッセージがでたので2時間くらいコピーした時点でキャンセルした。時間がある時に最初からやろうと思って、コピー先のデータを消去したところ、あ~!コピー元も全部データが消えてしまったようだ!「大変だ!ホームページのデータはレンタルサーバーにあるから復元できるが、それ以外の数年間の蓄積データは1ヶ月前のデータなら外付けHDにバックアップがあるが、あ~!ここ1ヶ月間の苦労が水の泡か~!」と思っていたら、あ~良かった。

今まではLANDISKが1台だったのでなんとか機器認識できていたのが、2台になったのでIPアドレスで区別することにより2台ともはっきり認識できるようになった。蓄積データは消えてなかった。古いLANDISKも自分でIPアドレスを指定していたのだが、忘れていたようだ。新しいLANDISKの方を「IPアドレス自動取得」に設定してしまったのが良くなかったようだ。不安定ながらも一時的に新旧2台のLANDISKを区別していたのかもしれない。
2010年(平成22年)06月22日(火)

LANDISK上にすべてのデータを置いてどのパソコンからでも処理できるスタイルを取っているのだが、「てきぱき家計簿」だけが新しいLANDISKでは不具合を起こして処理できないことがわかったので原因がわかるまでは今までのLANDISKを(正)とし、新しいLANDISKを(副)とすることにした。やっとホームページの更新ができるようになった。
 ページ最上部へ ページ最下部へ

2010年(平成22年)06月23日(水)

「○○市って何県?クイズ」のプログラミングを開始。この頃から、ホームページ作成ソフトに頼らず、直接HTMLプログラムを編集する方式に切り替えた。(やがて、ホームページ作成ソフト自体をアンインストールした。)
2010年(平成22年)06月24日(木)~25日(金)

「○○市って何県?クイズ」のプログラミング。
2010年(平成22年)06月26日(土)

「○○市って何県?クイズ」の「答えのランダム配置」のプログラミング。
 ページ最上部へ ページ最下部へ

2010年(平成22年)06月27日(日)

「○○市って何県?クイズ」が一応完成した。(今後の改良は続くが・・・)
2010年(平成22年)06月30日(水)

「○○市って何県?クイズ」の誤答県の取得がランダムでなかった不具合の修正プログラミング
2010年(平成22年)07月01日(木)

「○○市って何県?クイズ」の問題追加開始
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月02日(金)~03日(土)

「○○市って何県?クイズ」のプログラミング。(誤答県の「ランダム提示」の他に「近隣県提示」を新設して選択可能にした。)
2010年(平成22年)07月04日(日)

「○○市って何県?クイズ」のプログラミング。
2010年(平成22年)07月06日(火)~10日(土)

「○○市って何県?クイズ」の問題追加。収容問題が350問になった。(市に関する補足説明の挿入を可能にするプログラミング)

「市に関する補足説明」の表示システムの研究

「○○市って何県?クイズ」の補足説明の表示システムが仮完成
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月11日(日)~12日(月)

「○○市って何県?クイズ」の問題追加。(北海道から南下して愛知県までを追加)
2010年(平成22年)07月13日(火)

偶然見つけた「某、HTML文法チェックサイト」で自分のホームページの文法をチェック。点数を引き上げる作業
2010年(平成22年)07月15日(木)

某、「HTML文法チェックサイト」で点数を引き上げるためには、どうしても「スタイルシート」を取り入れざるを得なくなりスタイルシートの研究を開始。また、(某)ホームページ作成ソフトに頼った部分にHTML文法のエラーが多発していることが判明。
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月16日(金)~17日(土)

スタイルシートによるトップページの表示に成功。
2010年(平成22年)07月18日(日)

「限りなき 明日への挑戦」のサイトマップのページをCSSで作り変え作業
2010年(平成22年)07月19日(月)

「限りなき 明日への挑戦」のサイトマップのページの「マウスオンリンクの斜体、太字設定」に成功
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月21日(水)

「クイズ24時館」の「データベース名設定関数」を組み込んだ新システムの工夫。(データベース名の設定を必要とする複数のページで利用できるように関数化する工夫)「簡単解説」、「詳細解説」を「正誤判定」の直後でなく「結果表示一覧表」の中に組み込む工夫
2010年(平成22年)07月23日(金)

「クイズ24時館」の結果表示ページのプログラミング。(「詳細解説」と「簡単解説」をひとつにまとめる「データベース編集」とプログラミング)
2010年(平成22年)07月24日(土)

「クイズ24時館」のプログラミング。結果表示ページの改良、クイズ形式に応じた得点計算と解説表示ボタンの挿入。(解説表示ページをJavaScriptにより新規オープンさせるプログラミング)
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月26日(月)~27日(火)

「クイズ24時館」の既出問題の検知方法や処理方法などのプログラミング。
2010年(平成22年)07月28日(水)

「クイズ24時館」の既出問題除外のプログラミング
2010年(平成22年)07月29日(木)

「クイズ24時館」の既出問題除外のプログラム検証のために日本史クイズの問題を追加(31題に)。(3回目以降のクイズ挑戦のために収容問題を30題以上にする必要があったので)
 ページ最上部へ ページ最下部へ

2010年(平成22年)07月30日(金)

「クイズ24時館」のプログラミング。既出ID群のチェックをしていたら重複選択をしてしまう論理ミスを発見
2010年(平成22年)07月31日(土)

「クイズ24時館」のプログラミング。(未出題問題が10問以下になった場合の対処)
2012年(平成24年)06月02日(土)~03日(日)

「新村学習館」の教科「情報」学習室の出題形式の中の「テスト方式」で、問題表示画面の中に「解答欄」を設けた。(今までは解答を画面ではなく別紙に書くか、頭の中で考える形式にしていた。)この改良に伴って新たな不具合(問題点)が起きることに気づいた。解答欄に入力した「ダブルクォーテーション(”)やシングルクォーテーション(’)」に¥がくっついて見苦しくなるのである。これを解決するのに半日もかかってしまった。( .htaccess ファイルの中に 「 php_flag magic_quotes_gpc Off 」の1行を入れることで一件落着!)
 ページ最上部へ ページ最下部へ

2012年(平成24年)08月15日(水)~31日(金)

自作の簡易アクセス解析システムづくり。アクセス解析タグの貼り付け作業。および、PHPのプログラムの改良(クッキーの読み書き部分が、HTMLの出力命令より後にきている部分がないかどうかのチェック)
2012年(平成24年)08月31日(金)~04日(火)

毎日自動的にサーバーにアップしている2つのネットワークカメラの映像を、容量オーバーを回避するために、一定期間が経過した画像を2~3ヶ月に一度手動で削除していたが、これをプログラムにより、自動的に削除できないかと研究を開始。自分のパソコン上ではうまく自動的に削除してくれるが、レンタルサーバー上ではPHPが「セーフモード」に設定されているらしくて、うまく動作してくれないことがわかった。レンタル・サーバーの泣き所である。

FTPサーバーに手動で接続して、あらかじめファイルのアクセス権限を変更しておけばプログラムによる自動削除は可能だが、画像アップ時にサーバーに自動的に作成される画像収納フォルダのアクセス権をプログラムにより変更することができないことが判明した。知人のプロの人に聞いてみたところ、「セキュリティ上、これができたらヤバイのでは?」という返事であった。
2012年(平成24年)09月09日(日)~10日(月)

全4~5サイトのエラーログを確認したところ検索エンジンロボットによるアクセスが原因でエラー多発になっているケースもあったのでロボットへの指令を与えるRobot.txtの中身を作成してアップした。
 ページ最上部へ ページ最下部へ

2012年(平成24年)11月19日(月)

「新村学習館」の教科「情報」学習室の問題追加およびプログラムのメンテナンス作業中に分野選択で不具合が発生。原因究明の結果、分野記号が全角5文字でなかったのが原因だと判明した。
2012年(平成24年)11月20日(火)~23日(金)

「新村学習館」の教科「情報」学習室の問題追加作業
2012年(平成24年)12月29日(土)

受講している通信教育の「ディジタル画像概論」のレポートとして、「画素値を操作して画像処理をおこなう」プログラム作成で、「どうすれば画素値が取得できるのか?」をあっちこっちのサイトをネットサーフィンしながら試行錯誤の末、HTML5とJavaScriptで画像処理ができることを発見した。
 ページ最上部へ ページ最下部へ

2012年(平成24年)12月30日(日)

HTML5とJavaScriptを用いた画像処理プログラムが一応完成した。画素値を操作するプログラムにより、「ネガ・ポジ反転」、「カラー画像を白黒画像に変換」、「明るさ調整」などが自作のプログラムでできるようになった。ホームページにもアップ
2013年(平成25年)02月~

HTMLの新バージョン「HTML5」とCanvas(ブラウザ上に図を描くための仕様で、JavaScriptで図を描くことができる)の勉強。これにより、さまざまなグラフを描くことに挑戦開始!
2013年(平成25年)03月03日(日)

「新村学習館」の「おもしろ教材ダウンロード~エクセルで遊ぼう!」に、【第2作】 「隠れたネズミを捕まえろ!」ゲーム をアップ
 ページ最上部へ ページ最下部へ

2013年(平成25年)03月11日(月)

「新村学習館」の「おもしろ教材ダウンロード~エクセルで遊ぼう!」に、【第3作】 21桁までの整数を言葉に直す「おしゃべり鳥たち!」をアップ
2013年(平成25年)03月14日(木)

「新村学習館」の「おもしろ教材ダウンロード~エクセルで遊ぼう!」に、【第4作】 「wanderBall」(さまようボール) Ver1 をアップ。無限ループを有限ループに変更し、なおかつ、ウインドウズAPI関数のSleep関数をエクセルVBAから利用することにより、メモリー不足のエラーが解決した。
2013年(平成25年)03月15日(金)~18日(月)

「新村学習館」の「おもしろ教材ダウンロード~エクセルで遊ぼう!」にUFOとの衝突を取り入れた【第5作】 「wanderBall」(さまようボール) Ver2 をアップ。
 ページ最上部へ ページ最下部へ

2013年(平成25年)03月23日(土)

「新村学習館」の「おもしろ教材ダウンロード~エクセルで遊ぼう!」に、【第6作】 エクセルでグラフを描く Ver1 をアップ。
2013年(平成25年)03月~04月

HTMLの旧バージョン「HTML4.01」で作っているページのうち、まだスタイルシート(CSS)化していなかった大半のページにスタイルシートを適用する作業
2013年(平成25年)04月12日(金)

教科「情報」学習室の改良プログラミング。「正誤判定ページ」での説明文の表示の改良(説明画像がない場合には横2列全部を説明文にあて、説明画像がある場合には1列ずつ表示に充てるように改良した)
 ページ最上部へ ページ最下部へ

2013年(平成25年)04月16日(火)~19日(金)

数学教室の改良プログラミング。(出題日選択方式から問題分野別選択方式への改良作業)
2013年(平成25年)04月20日(土)

「新村学習館数学教室」の改良プログラミング(改良型の問題表示ページが一応完成した。)
2013年(平成25年)05月01日(水)~02日(木)

「新村学習館数学教室」の改良プログラミング(○×形式の一時停止とテスト形式でもできるように改良)
 ページ最上部へ ページ最下部へ

2013年(平成25年)05月04日(土)

「新村学習館数学教室」の改良プログラミング(分野別出題形式が一応、完成した。)
2013年(平成25年)05月08日(水)

「限りなき 明日への挑戦」の「生活お役立ち集」に文字数カウントのページを作成してアップした。(作るきっかけは、受講している通信教育のレポートの800~1200字という文字数制限のために文字数を数えるのが面倒なため)
2013年(平成25年)06月30日(日)

「新村学習館数学教室」の問題表示ページに「画像キーボード」を設置するプログラミングを開始。(数学ではキーボードにない数学記号などで答えるため)
 ページ最上部へ ページ最下部へ

2013年(平成25年)07月01日(月)

「新村学習館数学教室」の「画像キーボード方式」のプログラミングのつづき(バックスペース、オールクリアボタンの稼働に成功)
2013年(平成25年)07月02日(火)~03日(水)

ピクチャ-マネージャーで「新村学習館数学教室」の「画像キーボード方式」の各種のボタンをgif形式で作成
2013年(平成25年)07月11日(木)

「新村学習館数学教室」の問題と解答の画像による提示、および、選択方式の画像ボタン作成作業の続き
 ページ最上部へ ページ最下部へ

2013年(平成25年)07月12日(金)~15日(月)

「新村学習館数学教室」の問題と解答の画像提示選択方式のボタン作成、および、画像ボタンをクリックまたはタッチしたときに動く「javaScriptプログラム」の割り当て作業
2013年(平成25年)07月16日(火)

「新村学習館数学第2学習室」の自動作成問題のプログラミングを開始。画像ボタン作成を終了して、やっと問題の自動作成に移行することが出来た。
2013年(平成25年)07月17日(水)~18日(木)

「新村学習館数学第2学習室」の問題の自動作成、および、解答の画像選択方式のプログラミング
 ページ最上部へ ページ最下部へ

2013年(平成25年)07月19日(金)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。(今まではテキスト(文字)として問題を提示していた。)
2013年(平成25年)07月20日(土)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。1つの分野の1つのタイプではあるが、問題を自動的に作成して表示することに初成功した。
2013年(平成25年)07月21日(日)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。(正誤判定を簡単にするためのプログラミングの改良)
 ページ最上部へ ページ最下部へ

2013年(平成25年)07月22日(月)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。正解判定に成功した。後は、正解判定後に次の問題に移行する研究に入った。
2013年(平成25年)07月23日(火)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。正解判定後に次の問題への移行、および、問題番号を増やしながら循環することに成功した。また、ローカルでの稼働テスト中に、実在しない問題画像ができてしまう不具合を発見。不具合の究明をやめて画像ファイルの存在チェックで切り抜けた。
2013年(平成25年)07月24日(水)~26日(金)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。「計算の基礎」分野の問題画像パスと正解画像パス作成の不具合のチェック。
 ページ最上部へ ページ最下部へ

2013年(平成25年)07月27日(土)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。「計算の基礎」分野の正解画像作成の不具合を解消できた。係数の場合分けのもれが原因だった。
2013年(平成25年)07月30日(火)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題を画像として提示する方式のプログラミング。問題表示と解答のページでバックスペースを押しても思い通りに動作しない不具合を解消できた。
2013年(平成25年)07月31日(水)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題と解答を画像として表示する方式のプログラミング。画像のキーサイズを(小、中、大)の選択が出来るようにするための改良作業。
 ページ最上部へ ページ最下部へ

2013年(平成25年)08月07日(水)

「新村学習館の数学教室第3学習室」(後日、第2学習室と名称変更)の問題表示と解答表示を画像として表示する方式のプログラミング。画像キーボードのキー間にスペースを挿入したら見やすくなった。分野選択ページで「全分野選択」ボタンと「全分野解除」ボタンを設けた。
2013年(平成25年)08月10日(土)

「数学教室第3学習室」を「第2学習室」、「数学教室第2学習室」を「第3学習室」と名称変更した。「第3学習室」の「頭の体操」のページを問題と解答の画像表示方式への改良。
2013年(平成25年)08月12日(月)

「数学教室第3学習室」の改良プログラミング。稼働させると55秒で停止する原因がわかり解決できた。(1)問題表示の間隔を、一定間隔で動作させる「 setInterval 」に変更したのが原因。処理が完了してから指定ミリ秒後に動作させる「 setTimeout 」に元に戻す。(2)杓子定規に一定間隔で動作させる「 setInterval 」を用いていた現在時刻の表示を止める。以上の2点で解決できた。
 ページ最上部へ ページ最下部へ

2013年(平成25年)08月17日(土)

問題自動作成の「新村学習館の数学教室第2学習室」の問題追加作業。展開公式 (○+a)(○+b)=○^2+(a+b)○+ab の追加作業
2013年(平成25年)08月18日(日)

「新村学習館の数学教室第2学習室」(問題自動作成)の問題追加作業の続き。展開公式 (○+a)(○+b) を 4つのタイプ (○+a)(○+b)、(○+a)(○-b)、(○-a)(○+b)、(○-a)(○-b)に分けてプログラミング
2013年(平成25年)08月20日(火)~21日(水)

「新村学習館の数学教室の第2学習室」の問題と解答の自動作成の改良作業。因数分解 ○^2 +(a-b)○-ab=(○+a)(○-b) のタイプの問題のプログラミング
 ページ最上部へ ページ最下部へ

2013年(平成25年)08月22日(木)~23日(金)

「新村学習館の数学教室第2学習室」の問題と解答の自動作成の改良作業。今後の分野拡大が容易になるために問題自動作成部分を関数化する作業。(たとえば問題表示プログラムなどが複数にならないような対策の一環として再利用可能な関数化の作業)
2013年(平成25年)08月24日(土)~25日(日)

「新村学習館の数学教室第2学習室」の問題と解答の自動作成の改良作業。因数分解の分野の ○^2+(a-b)○-ab=(○+a)(○-b) のタイプで a-b=-1 の場合に画像が表示されないバグを発見してバグ修正。全問正解後の「結果表示ページ」の追加作業。
2013年(平成25年)08月26日(月)~27日(火)

「新村学習館の数学教室第2学習室」の問題と解答の自動作成の改良作業。出題数を全問クリア後の結果表示ページの作成および根号(√)関連分野の問題自動作成の研究。解答画像に根号(√)が表示できる仕組みの工夫。
 ページ最上部へ ページ最下部へ

2013年(平成25年)08月28日(水)

「新村学習館の数学教室第2学習室」の問題と解答の自動作成の改良作業。解答画像の根号(√)の中に数字を表示することに成功、プログラムにより「ルート16の値は?」などの問題作成に成功。
2013年(平成25年)08月29日(木)

新村学習館ホームページに「デカ文字時刻表示」を設置(以前、作成していたものをアップしただけ)
2013年(平成25年)08月30日(金)~31日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良作業。1枚の切れ目のないルート画像の中に数字の画像を表示方法を模索。前日に成功した「ルート画像の中に数字を表示する方法」ではルート画像を複数の画像に分割しているので切れ目が目立ってしまう。
 ページ最上部へ ページ最下部へ

2013年(平成25年)09月01日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良作業。1枚の切れ目のないルート画像の中に数字の画像を表示方法は当分中断。元のルート画像を分割して表示する方法にもどり、初期設定時の空白画像を「等幅表示」にすることにした。
2013年(平成25年)09月05日(木)

「数学教室第2学習室」(問題の自動作成)の問題追加。(累乗根の値を求める初歩的な問題)
2013年(平成25年)09月06日(金)

「数学教室第2学習室」(問題の自動作成)の問題追加。(2つの累乗根の画像の中に数値を表示する方法を研究)
 ページ最上部へ ページ最下部へ

2013年(平成25年)09月07日(土)

「新村学習館付属資料室」を新設。平方根表を作成
2013年(平成25年)09月09日(月)

「数学教室第2学習室」(問題の自動作成)の問題追加プログラミング。「 ○√△×□√△ を計算すると?」の問題を追加した
2013年(平成25年)09月16日(月)

「新村学習館の数学教室第2学習室」(問題の自動作成)のプログラミング。問題画像パス群作成と解答画像パス群の自動作成の簡素化への切り替え作業。(プログラムを簡素化して画像へのパスを自動的に作成する工夫をしないとプログラムが複雑化してバグが発生しやすいので・・・)
 ページ最上部へ ページ最下部へ

2013年(平成25年)09月17日(火)

「新村学習館の数学教室第2学習室」(問題の自動作成)のプログラミング。手動で作成していた「展開分野」の問題画像パス群作成と解答画像パス群の自動作成への切り替え作業が完了。
2013年(平成25年)09月18日(水)

「新村学習館の数学教室第2学習室」(問題の自動作成)のプログラミング。手動で作成していた「因数分解分野」の問題画像パス群作成と解答画像パス群の自動作成への切り替え作業。
2013年(平成25年)09月21日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加。三角比の公式 sin(180°-θ)=sinθ 、cos(180°-θ)=-cosθ、tan(180°-θ)=-tanθ を答える問題と、これらの公式を用いて90°以下の三角比に直す問題を追加した。
 ページ最上部へ ページ最下部へ

2013年(平成25年)09月24日(火)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野選択メニューの改良。分野リストのテキストファイル1本で管理する方式に改良。こうすることで、分野選択と小分野選択を迅速にすることが可能になる。
2013年(平成25年)09月28日(土)~29日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野選択メニューの改良。全分野の小分野表示、非表示、一部の分野の表示、非表示でうまくいかない問題点の解決。
2013年(平成25年)10月03日(木)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野選択メニューの改良。順不同で選択した分野番号を昇順に記憶する方式に変更開始。順不同で選択した分野番号を昇順に記憶する方式でうまくいかない。
 ページ最上部へ ページ最下部へ

2013年(平成25年)10月05日(土)~19日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野選択メニューの大幅な改良。
2013年(平成25年)10月20日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野選択メニューの改良プログラミング。やっと、問題表示の直前までできるようになった。
2013年(平成25年)10月21日(月)

「新村学習館の数学教室第2学習室」(問題の自動作成)の新方式の分野選択メニューのプログラミング。従来の「1つの分野選択」でなく「複数の分野選択」ができるように改良。新方式でやっと、一部の問題表示ができるようになった。
 ページ最上部へ ページ最下部へ

2013年(平成25年)10月26日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題分野の追加作業。2次方程式の分野を追加したが、関数からの返却データが帰って来ずに原因究明に何時間も苦労した。原因は「RETURN文」を誤って削除していたことだった。
2013年(平成25年)10月27日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題分野の追加作業。昨日追加した「2次方程式」の分野の小分野の追加作業。
2013年(平成25年)11月02日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加プログラミング。1次関数f(x)=ax と f(x)=ax+b の値を求めるプログラムの改良作業。
 ページ最上部へ ページ最下部へ

2013年(平成25年)11月04日(月)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野追加作業のプログラミング。2次関数の標準形を展開して一般形に直す問題。データの分析に関する問題の「最大値、最小値、平均値、中央値、最頻値を求める問題」を追加。
2013年(平成25年)11月06日(水)~10日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野追加作業のプログラミング。データの分析に関する問題の「最大値、最小値、平均値、中央値、最頻値を求める問題」を追加。
2013年(平成25年)11月17日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の分野追加プログラミング。二重根号の問題を1タイプ作成してアップした。
 ページ最上部へ ページ最下部へ

2013年(平成25年)12月22日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。2次不等式を解く問題を10タイプ作成してアップ。
2014年(平成26年)01月06日(月)~07日(火)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。15番目の分野となる XY平面座標上の点の座標を読み取る基礎的な問題を作成。
2014年(平成26年)01月17日(金)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。2次関数の分野に「一般形を標準形になおす問題」の小分野を追加した。(15分野、34小分野になった)
 ページ最上部へ ページ最下部へ

2014年(平成26年)01月29日(水)~30日(木)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。分数の計算の分母分子の表示位置の調整。
2014年(平成26年)02月01日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。「正解のはずなのに正解が表示されない」のボタンを設置して説明のページが別ウィンドウで開くようにした。
2014年(平成26年)02月07日(金)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良作業。わからない場合に「パスして次の問題へ」ボタンを設置したことに伴う諸改良作業。
 ページ最上部へ ページ最下部へ

2014年(平成26年)03月15日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良作業。「パスしないで再挑戦する」ボタンを導入する改良プログラミング(同名のオブジェクトがある事に気づかずに思い通りに動かず、苦労の末、エラーを解消できた。)
2014年(平成26年)03月19日(水)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良プログラミング。問題と解答の画像(文字)サイズを「小」だけでなく「中」も選択できるようにした。
2014年(平成26年)03月25日(火)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良プログラミング。各コース毎の「のべ挑戦者数」を表示するためのプログラミング。
 ページ最上部へ ページ最下部へ

2014年(平成26年)03月30日(日)~31日(月)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。「命題の否定」を述べる問題を追加
2014年(平成26年)04月05日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の改良作業。問題画像の表示で、1行に長く表示されてしまって見苦しくなるので、途中改行して複数行に表示できるように改良しようとしたがうまくいかない。
2014年(平成26年)04月06日(日)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題表示の改良が成功した。問題画像の表示で1行に長く表示されるのを、途中で改行して次の行に表示できるように改良プログラミング。(画像パス群自動作成関数内で論理的ミスを発見して修正し、成功した。)
 ページ最上部へ ページ最下部へ

2014年(平成26年)05月31日(土)

「新村学習館」に自作の「ページアクセス集計」の導入作業。「限りなき~明日への挑戦!」に設置していた「ページアクセス集計」システムを一部改良してスムーズに設置できた。
2014年(平成26年)06月01日(日)

「新村学習館」の自作の「ページアクセス集計」稼働開始
2014年(平成26年)06月15日(日)

「JavaScriptで直線を引く方法」をネット検索の末、やっと発見できた。傾きとY切片を指定して直線を引く研究を開始。後日、アップの予定。
 ページ最上部へ ページ最下部へ

2014年(平成26年)06月18日(水)~19日(木)

「限りなき~明日への挑戦!」と「新村学習館」の自作のアクセス集計システムを改良して「トップページを除く」から「トップページを含む」に変更したために「限りなき~明日への挑戦!」のトップページを htmlファイルから phpファイルに変更した。それに伴って数十ページに設置してある「トップへ戻る」や「トップページへ」のリンクの確認および変更作業を余儀なくされた。
2014年(平成26年)06月20日(金)

「限りなき~明日への挑戦」の自作のページアクセス集計システムが一応完成した。今までに利用させていただいていた「ステップサーバー提供のアクセス集計」から自作システムに完全に移行できた。「本日◎人、昨日◎人」の部分も自作システムに切り替えた。(「新村学習館」はまだ、一部そのまま利用中)
2014年(平成26年)06月21日(土)~22日(日)

「限りなき~明日への挑戦」のアクセス集計の「本日◎人、昨日◎人」の部分の自作システムの不具合(日替わりしたときの処理ミス)を発見して修正し、正しく表示できるようになった。
 ページ最上部へ ページ最下部へ

2014年(平成26年)06月25日(水)

「新村学習館」のトップページにPHPによる自作の「アクセスカウンター」を設置。今までに利用させていただいていた「ステップサーバー提供のアクセス集計」から自作システムに完全に移行できた。「本日◎人、昨日◎人」の部分も自作システムに切り替えた。
2014年(平成26年)07月04日(金)

「新村学習館付属資料室」に「3乗根表(立方根表)」をJavaScriptで作成
2014年(平成26年)07月09日(水)

忘れていた「HTML文法チェックサイトでの文法チェックによる点数引き上げ作業」を再開。
 ページ最上部へ ページ最下部へ

2014年(平成26年)07月13日(日)

「限りなき~明日への挑戦」のURL(ホームページアドレス)を独自ドメイン sinmura.com から、独自ドメイン sinmura.net に変更しました。これに伴って、「トップページに戻る」などの約20ケ所のリンクの変更をせざるを得ない部分がありました。サイトを乗せている独自ドメインを変更しても、「数カ所程度のサイト間のリンクの変更のみ」で済むような設計を目指したい。
2014年(平成26年)07月25日(金)

「新村学習館」の「デカ文字時計」の改良版を作成。1秒ごとのページ更新(リロード)をおこなう旧型を改良して、ページ更新は初回のみで、後はJavaScriptにより1秒ごとの時刻表示ができるようにした。
2014年(平成26年)08月09日(土)~08月23日(土)

ホームページ「限りなき明日への挑戦」のアクセス集計システムの改良プログラミング。処理速度の軽量化のために、アクセスの詳細記録は3カ月前までのファイルとし、それ以前は「月毎記録ファイル」に「IPアドレスの合計数」と「アクセス数の合計数」のみを1本のファイルに記録する方式に改良。「限りなき明日への挑戦」、「新村学習館」のどのサイトから入っても同一の(限りなき明日への挑戦の)アクセス集計に入る形式に変更することにした。似たようなプログラムが存在していたので、煩わしさ解消のために一本化することにした。重複を除くIPアドレスの月合計算出で論理的ミスをしていたので、2014年6月以前の記録を破棄した。
 ページ最上部へ ページ最下部へ

2014年(平成26年)09月10日(水)~09月12日(金)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題追加作業。23番目の分野となる「整数に関する問題(互いに素かどうかの判断と最大公約数を求める練習問題)」を追加。分野数は(23分野、57小分野)になった。
2014年(平成26年)09月26日(金)~27日(土)

「新村学習館の数学教室第2学習室」(問題の自動作成)の問題表示において、ランダム出題を選択したときに「選択してない分野が出題される」というバグ(プログラムミス)を発見。ある特定の分野(実は分野リストの1番目の分野だった)が頻繁に出題されるということは気付いてはいたが、約1年ぶりにミスっていることに気付いた。

「<選択した分野番号>選択した小分野群」の連結データ、例えば <9>1-3<19>2-4,7<23>1-4 からランダムに出題するための < > の位置を調べて分野番号を取得するための変数の間違いだった。)
2014年(平成26年)11月19日(水)~20日(木)

「新村学習館」の教科「情報」学習室の中に「第3学習室」を設置し、教材づくりの一環として、「入力した任意の文字列をビットパターンに変換するプログラム」の研究。入力した任意の文字の文字コードの取得法を模索。
 ページ最上部へ ページ最下部へ

2014年(平成26年)11月23日(日)~24日(月)

入力した任意の文字列をビットパターンに変換するプログラムが一応完成したのでアップした。学習室の数が増えたので学習室毎のフォルダにプログラム群を再配置したことに起因する不具合の解消の作業が発生してしまった。
2014年(平成26年)11月24日(月)

ローカルテスト(アップする前のプログラムテスト)の中で、それまで、教科「情報」学習室の「第1学習室」で正常に動作していたHTMLエンティティ化関数(ダブルクオーテーション(””)などのHTML特殊文字をHTML上で、表示できる文字に置き換える関数)がうまく動作せずにシステムがうまく動作しない現象が出ていることに気付いた。

原因はPHPのバージョンアップに伴って、HTMLエンティティ化関数の第3引数(文字コードの指定)を省略していると、文字コードが自動的にUTF8と解釈されるようになり、結果的に空文字になってしまっていたのが原因だった。このことに気付くまで何時間も時間を無駄に浪費していた。第3引数で文字コードを「プログラムファイルの保存時の文字コード」に指定したところ正常に動作した。
2015年(平成27年)01月07日(水)

「限りなき~明日への挑戦」の「プロフィール」の中の「断食健康法」のページを更新。
 ページ最上部へ ページ最下部へ

2015年(平成27年)05月21日(木)

「新村学習館」の「P検、一発!合格道場」のプログラミングを開始。約5年前から作成していた教科「情報」学習室を改良して作成することにした。改良中に、文字コードを「EUC-JP」から、主流になってきた「UTF-8」に変更しなければならない事態が発生した。「P検、一発!合格道場」だけでも、PHPプログラムと外部設置のJavaScriptプログラム合わせて約100本のすべての文字コード変更作業を開始。
2015年(平成27年)05月22日(日)~25日(月)

「P検、一発!合格道場」の文字コードを「EUC-JP」から、「UTF-8」に変更したことに起因する「文字化け解消」で苦労したが、自分にとっての「EUC-JP」時代には、文字化けしない対策が不十分だったにもかかわらず、文字化けしていなかったので、今回の文字コード変更により、「いろいろと」勉強になった。
2015年(平成27年)05月30日(土)

「新村学習館」の「P検、一発!合格道場」の収容問題数が73題になった。パソコン室版は、教科「情報」学習室では扱っていた「クラス名」と「出席番号」を扱わないことにしたので、諸改良点が発生した。これらの対応に時間を費やされ、苦労の末、やっと思いどおりにシステムが動くようになった。これからは、日々、問題追加作業ができるようになった。

この「更新履歴」のページも約5か月ぶりに更新したが、このページも文字コードがEUC-JPのままでは、約300件もの記録ファイルを認識できずに、「記録件数=0件」と表示されていた。文字コードをUTF-8に変更したら正常に表示されるようになった。
 ページ最上部へ ページ最下部へ

2015年(平成27年)07月08日(水)~15日(水)

一部のページの文字コードを「UTF-8」に変更済みではあるが、自作のアクセス集計システムが正常に動くためには、結局、関連する全サイトの全てのページの文字コードを「EUC-JP」から、「UTF-8」に変更せざるを得なくなった。大部分を占める「PHPのプログラム」と「JavaScriptのプログラム」、「スタイルシート設定のプログラム」および「既成のWEBデータベース」の代替として採用しているファイル形式のデータベース的システム関連のテキストファイル、まだ若干残っている「HTML形式のファイル」の合計数百本にもおよぶファイルの文字コードの変更という膨大な作業が発生してしまった。ここ1週間で変更できたのは、まだ約20%にすぎないが数年ぶりに「いじくる」プログラムもあったりするのでバグの発見・修正にはなるようだ。
2015年(平成27年)07月20日(月)

「クロスワード・パズル」のページの一連のプログラム(約20本)の文字コードを「EUC-JP」から、「UTF-8」に変更。この変更作業の中で、自分としては「特殊文字のサニタイジング(無害化)」のつもりで使っていたのだが、(正確には「HTMLエンティティ(特殊文字)化」を行う関数であるらしい)「htmlspecialchars()」で、第2引数(処理の種類を指定)と第3引数(文字コードの指定)を省略していても以前は正常に動いていたデータの受け渡しが空白文字として出力されてしまうことにより動いていないことを発見して修正。PHPの習得過程でその業界での専門家が出版している手引書(解説書)に従って作成して正常に動いていたプログラムが、レンタルサーバー側のPHPのバージョンアップによっていつの間にか(数年で)動かなくなっているのである。
2015年(平成27年)08月28日(金)

「限りなき~明日への挑戦」に『私のブログ』を追加。「MOS Word 2010」取得のテキストのレッスンの中に『ブログの記事を作成する、発行する』とういう項目があって、「Wordからブログを投稿するには、あらかじめ自分のブログが開設されている必要があります。WordPressでブログを開設しましょう。」ということで、4月1日に無料ブログの「ワード・プレス」に開設していたものにリンクを貼り直しました。
 ページ最上部へ ページ最下部へ

2015年(平成27年)08月23日(日)~29日(土)

「クイズ・ゲーム」、「クイズ24時館」の文字コードを「EUC-JP」から、「UTF-8」への変更作業。(PHPファイル約100本を含む、全部で約130本のファイルの文字コードを修正)「EUC-JP」の時は、ローカルテストでも、レンタルサーバー上での本番動作でもエラーはなかったが、「UTF-8」に変更したらローカルテストでいくつかのエラー(たまに、While文で無限ループにはまってしまうなど)が発生した。

自分のPCで無限ループにはまっても30秒後にエラーを発して教えてくれるが、もし共用のレンタルサーバーで無限ループにおちいったら多大な迷惑をかけてしまうことになるので、ループ回数が5000回とか10000回を超えたら『ループを抜ける』という手法を組み込んだ。この手法はすでに、いくつかのページで取り入れているのだが、プログラムミスはなくても、while文やdowhile文を用いているすべての個所に施しておくことが大切だと感じた。
2015年(平成27年)10月28日(水)

EUC-JPからUTF-8への文字コード変換の際、「文字化け」は起こしていないことを確認していた「万年カレンダー」のページが文字化けを起こしていることを偶然発見した。先頭のHTML宣言の部分で<HTML lang=”ja”>としていなかったのが原因だった。大部分のページでは<HTML lang=”ja”>としていたが、一部のページで、まだ<HTML>とだけにしていたのが原因だった。

また、InternetExplorlorでは正常に動いていたJavaScriptが、Windows10のブラウザ「MicrosoftEdge」では正常に動かないことに気付いた。
2015年(平成27年)10月29日(木)

InternetExplorlorでは正常に動くJavaScriptが、Windows10のブラウザ「MicrosoftEdge」では正常に動かない原因は、HTML記述の部分で<form name=”XX”><input tipe=”text” name=”yy”>・・・</form>のように「form文」になっていないことだった。IEではこんな不十分な記述でも、なんとか動いていたものだな~と思った。

大部分の自作JavaScriptはすでに、

<form name=”XX”>・・・</form>

として、JavaScriptでのデータの受け取り方法は document.xx.yy.value としているのだが、2003年(平成15年)12月という「JavaScript習得の初期段階」に作成したものだった。

その当時の「プログラムの達人」による「例題プログラム」を参考にして自作し、正常に動いていたのだが。

これから普及してくる「Windows10のMicrosoftEdge」での確認作業が重要になってきた。
 ページ最上部へ ページ最下部へ

2015年(平成27年)11月08日(日)

2004年(平成16年)04月に作成した「ヒットホームランゲーム(3桁用)」が、Windows10のブラウザ「MicrosoftEdge」では正常に動かない現象を修正。原因は、やはり、HTML記述の部分で<form name=”XX”><input tipe=”text” name=”yy”>・・・</form>のように「form文」になっていないことだった。

また、JavaScriptの習得の初期段階で作成したプログラムだったので、過去30数年も前から身についていた「1行の命令文を長くする」という習慣から抜けきらない時期に作成したJavaScriptプログラムに、数多くの文法上のミスを含んでいたようだ。それでもブラウザ「インターネット・エクスプローラー」ではなんとか動いていた。「ヒットホームランゲーム(4桁用)」の修正を開始。
2015年(平成27年)11月16日(月)~19日(木)

「P検、一発!合格道場」に、従来の(1)「1問1答後の正誤判定方式」に加えて、(2)「選択した出題数の全問一括表示・テスト問題形式でプリントアウト方式」を導入しました。

解答(正解)は、テスト問題に印刷してある「問題ID」で検索してパソコンや携帯・スマートフォンでも閲覧できるようにしました。

(3)「選択した出題数の全問一括表示・画面上で一括採点方式」の導入が今後の課題である。

また、収容問題数が増加しても既出問題の問題文や解答が変動しないように、テキストファイルとして記録する方式を採用したので、記録ファイルのサイズが大きくなるという欠点を解消するために、保存期間をどの位に設定すればいいのかが検証課題である。
2015年(平成27年)11月25日(水)

「新村学習館」の「P検、一発!合格道場」の収容問題数が200題を超えました。
 ページ最上部へ ページ最下部へ

2015年(平成27年)12月11日(金)

「新村学習館」の「P検、一発!合格道場」の収容問題数が300題を超えました。

「選択した出題数の全問一括表示・画面上で一括採点方式」が一応完成しました。「正解率に応じたメッセージ表示」など、もうすこし、改良する必要がありますが・・・。
2015年(平成27年)12月12日(土)~13日(日)

「ヒットホームランゲーム(4桁用)」が、InternetExplorlorでは正常に動くのに、Windows10のブラウザ「MicrosoftEdge」では動かない不具合を修正。原因は、HTML記述の部分で一部分が<form name=”XX”><input tipe=”text” name=”yy”>・・・</form>のように「form文」になっていないことだった。

InternetExplorlor上で動くJavaScriptでは、yy.value でデータ取得ができていたのに、MicrosoftEdge上で動くJavaScriptでは document.xx.yy.valueとしないとエラーになるのが原因だった。

これで、InternetExplorlorでは正常に動くJavaScriptが、Windows10のブラウザ「MicrosoftEdge」では正常に動かないページをすべて解消できました。
2016年(平成28年)01月14日(木)

「新村学習館」の「P検、一発!合格道場」の『全問一括表示・テスト問題形式・プリントアウト方式』において、問題が表面と裏面に分かれてしまったり、次のプリントに分かれてしまうのを防ぐために、問題表示後に任意の行数の改行を挿入できるようにしました。

また、プリントタイトルと氏名等記入欄を任意のページの任意の場所に「追加表示」できるように改良しました。一度設定した「追加表示」の取り消しができるようにすることが今後の課題です。
 ページ最上部へ ページ最下部へ

2016年(平成28年)01月24日(日)

「限りなき~明日への挑戦」の「生活お役立ち集」の中の「肥満度判定」のページを更新。体重・身長のデータの入力に100行近くのHTML文を要していた部分をPHPのfor文に変更し、わずか20行程度で記述できるように改良しました。

身長と体重の入力で「百の位~小数第一位を一桁ずつ選択してもらう」というPHPとHTML習得の初期段階の原始的な発想から脱却できました。
2016年(平成28年)01月25日(月)

「限りなき~明日への挑戦」の「万年カレンダー」のページを更新。年月選択の入力に1930年から2050年までの120行のHTML文を要していた部分をPHPのfor文に変更し、1930年から2100年までの170年をPHPプログラムの数行で記述し、プログラムのダイエットをおこないました。
2016年(平成28年)01月26日(火)~30日(土)

「限りなき~明日への挑戦」の全ページの関連ファイル(PHPファイル、外部ファイルとしてのJavaScriptファイル、CSS設定ファイル、テキストファイル等、計262本)の「6点チェック」(次行参照)を完了。

「6点チェック」とは、(1)HTML出力を伴うPHPプログラムの冒頭部分に「header("Content-Type: text/html; charset=UTF-8");」を記述しているか。(2)PHPの初期設定として 「ini_set('mbstring.language', 'ja');」を記述しているか。および、「ini_set('mbstring.internal_encoding', 'UTF-8');」を記述しているか。(3)HTMLのバージョンを記述しているか。HTML4の場合は「<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">」を記述、HTML5の場合は「<!DOCTYPE html>」を記述 (4)HTML記述部分に必ず使用言語の記述として「<html lang="ja">」とする。(5)HTML部分のHEAD内の文字コードを <META http-equiv="Content-Type" content="text/html; charset=UTF-8">に変更 (6)ファイルを保存する文字コードをUTF-8に変更する。

以上の「6点チェック」を完了した結果、「限りなき明日への挑戦」の「自作アクセス集計」は正常に表示されるようになりました。「新村学習館」のアクセス集計はまだ「不具合」発生中。
 ページ最上部へ ページ最下部へ

2016年(平成28年)02月01日(火)

「限りなき~明日への挑戦」サイトに「サイト管理」の一環として「パーミッションチェックプログラム」を導入しました。日々の更新により、ファイルやフォルダーに設定した適切な「パーミッション」が変わってしまってゲームなどの「挑戦者登録」を取り入れているページがいつの間にか正常に動かなくなっているケースが多発しているからである。プログラムによる「パーミッション診断」のおかげでサイト管理がやりやすくなりました。

まだ、一か所の診断しか導入してないが、今後徐々に増やしていくつもりである。「新村学習館」と「限りなき明日への挑戦」に、合わせて数か所、アップロード直後のパーミッションが規定値の755(フォルダ)や644(ファイル)では正常に動かない部分があるからである。レンタルサーバーなので「プログラムによるパーミッション自動修正」はできないが、手動で修正すべき箇所がわかるだけでも、メンテナンスがかなり楽になってくる。

日本のロケット打ち上げ前の「何万か所にもおよぶ自動診断」にはかなわないが、それに近いことができるのではないだろうか。こういうのを取り入れなければサイトのメンテナンスが困難になっているからである。
2016年(平成28年)02月10日(水)~17日(水)

「お問合せメールフォーム」など、数か所に設置している自作のメールフォームの改良に着手。今までは、入力されたメールアドレスの存在チェックを行っていなかったので、実在しないEメールアドレスや携帯メールアドレスを入力された場合に、どうしようもなかった。

改良3日目の2月12日の段階で、ほぼ完成のメドがたった。最近では、ほとんどの企業のホームページで取り入れている「確認メール受信後に送信完了」となる仕組みである。すでに、「新村貸農園申し込みメールフォーム」で取り入れている仕組みを改良すれば済むことだが・・・。

2月17日(水)の段階で、目標としていた「メールアドレスの確認」までは「文字化け」はなく一応完成。お問合せフォームへの入力は「自分のメール受信ができない外出先のパソコン」でおこない、確認メールは自分の携帯またはスマートフォンで受信した場合にも「お問合せメール」が送信できるようにプログラム間のデータの受け渡しは「すべてクッキーではなく、テキストファイルでの受け渡し方式」を採用。最近は、PCメールアドレスを持たない人が多いので、こういうケースにも対応できるようにしたが、お問合せのメールの内容は文字化けは起きないが、ヘッダー部分の一部分の文字化けが解消せず。
2016年(平成28年)02月20日(土)

2月17日の段階で解消してなかった「お問合せメール」のヘッダー部分の文字化けを解消できた。文字化けの原因は、送信者PCメールアドレスに、送信内容の編集用に作成していた【送信者PCメールアドレス】という全角文字を含む変数を mb_send_mail関数に送っていたことだった。

今回の改良は未公開(公開準備中)のページの「お問合せメールフォーム」だが、今後は、全部で5~6本設置しているメールフォームの改良に着手したい。この作業も相当なプログラミング作業量になることだろう。
 ページ最上部へ ページ最下部へ

2016年(平成28年)02月01日(月)~24日(水)

「新村学習館」の全ページの関連ファイル(PHPファイル、外部ファイルとしてのJavaScriptファイル、CSS設定ファイル、テキストファイル等の、名付けて「6点チェック」(平成28年1月26日(火)~30日(土)に説明)の作業

2月21日(日)までの3週間でようやく約500本のファイルの(EUC-JPからUTF-8への)文字コード変更が一応完了。

文字モード変更作業の中で発見したことだが、『確かにEUC-JPで保存したはずなのに』文字コードがShift-JISに化けていたファイルがかなりあったが、UTF-8で保存した場合は、確実にUTF-8で保存されることがわかった。

2月22日(月)~24日(水)、部分的な改良も行いながら、不具合(退行現象)が起きていないかのチェック(リグレッションテスト)を完了。
2016年(平成28年)03月14日(月)

久しぶりに「限りなき明日への挑戦」、「新村学習館」、「新村農園」サイトのトップページのHTML文法採点チェックをしたら、文法が壊れている部分がかなりあった。

また、JavaScriptによる「限りなき明日への挑戦」サイトの1秒ごとの時刻メッセージをやめて、PHPによる1分おきの時刻表示に切り替えた。 HTML文法採点サイトの採点では「 <meta http-equiv=”refresh” content="秒数"> は使わないように」と勧告されたので、JavaScriptによる「1分おきのページ更新」に切り替えて、なんとか満点(100点)にすることができた。
2016年(平成28年)03月17日(木)

2015年(平成27年)7月20日~2016年(平成28年)3月17日の約8か月間かかって、3サイト(未公開サイトを含めて4サイト)のEUC-JPからUTF-8への文字コード変更作業を完了。

文字コード変更作業期間中停止していた自作のアクセス集計のページを再開。メンテナンスによる記録データの『一部消失』または『意図的に廃棄』により、新しいアクセス集計システムによるアクセス集計のデータに切り替えました。
 ページ最上部へ ページ最下部へ

2016年(平成28年)06月03日(金)

「限りなき明日への挑戦」サイトに「断糖食との出会い」のページを追加。断糖食(だんとうしょく)とは、「糖分を断つ(食べない)食事のこと」です。 糖分とは砂糖などの甘いものだけでなく、ごはんや麺類、パンなどの炭水化物全般を指します。

食事から糖を断つことで糖尿病をはじめとした様々な病気や好ましくない体の状態を改善することです。

とは言っても、実際には全く炭水化物を含まない食品は数える程しかありません。全く炭水化物を摂取しない食事は不可能に近いでしょう。コンビニなどでも「低糖質パン」が売られています。
2016年(平成28年)12月05日(月)~08日(木)

「限りなき明日への挑戦」、「新村学習館」、「新村農園」の「3つのサイトの共用メールフォーム」を改良し、お問い合わせ者のメールアドレスの「冒頭確認方式」に変更しました。これにより、実在しないメールアドレスを入力された場合の、お問い合わせへの回答ができない事態を防ぐことが可能になりました。
2016年(平成28年)12月27日(火)~28日(水)

「限りなき明日への挑戦」のトップページに「CSS 検証サービス検証結果」を追加しました。ここ半年位前から、「どうもカラー表示がおかしいな!」と気付いていたのだが、ブラウザの「Google Chrome」では正しくカラーが表示されているのに、「InternetExplorlor」や「MicrosoftEdge」ではカラーが出てないので、「ブラウザが悪いのだ!欠陥ブラウザだ!」と思っていた。

実は、ブラウザの欠陥ではなく、自分が組んでいるスタイルシート「CSS」に文法上の問題があるということが判明。苦労の末、修正することができました。

CSSを取り入れた時期はこんな欠陥CSSでも意図した通りにカラー表示が出来ていたのだが、・・・。正しい文法のCSSでないと意図したとおりに表示してくれないようにブラウザが進化したようだ。
 ページ最上部へ ページ最下部へ

2017年(平成29年)04月09日(日)

平成13年のホームページ開設以来、16年間、現在に至るまで、フォント(字体)指定はしたことがなかった。明朝体とか、ゴシック体だとか、指定しなくても、ブラウザ側が勝手に適当なフォントで表示してくれていたのでしょう。

ところが、あるページに上矢印(↑)や下矢印(↓)を用いて表示しようとしたら、どうもうまく表示してくれないことに気づいた。そこで、苦労の末、フォントを指定してみたところ意図通りに表示されることがわかった。

最初は該当ページに、フォント指定の行を埋め込んでうまく表示できたのだが、3つのサイトの合計数百ページにこれらを埋め込むのは至難の業なので、スタイルシート「CSS」に一つだけ設定して、フォントを指定したいページだけに用いることにした。

私たちは、どの分野においても、その分野が持っている豊富な機能や知識、ノウハウなどの、「ごく一部の機能」しか利用していないのだろう。
2017年(平成29年)04月10日(月)~17日(月)

「限りなき明日への挑戦」のHTML文法チェックサイトを用いたHTMLの文法エラーの解消作業。

サイト全体で100ページ以上ある中で、まずはトップページから一段目の約30ページについて、文法チェックを行って100点に引き上げる作業をおこなった。

100点への引き上げ作業の中心は、CSS(スタイルシート)の適用であったが、とりあえず100点への引き上げが目標であったので減点0の軽微なエラーは残った。
2017年(平成29年)04月18日(火)~24日(月)

「限りなき明日への挑戦」のHTML文法チェックサイトを用いたHTMLの文法エラーの解消作業。

トップページから一段目の約30ページについて、減点0の軽微なエラーの解消作業をおこなった。「エラーは見つかりませんでした。\(^o^)/ このHTMLは 100点です。」という表示が出て「たいへんよくできました。」という評価が得られた。

次は、「新村学習館」と「新村農園」のトップページから一段目の約30ページについて、減点0の軽微なエラーも含めた文法エラーの解消作業をおこなう予定である。
 ページ最上部へ ページ最下部へ

2017年(平成29年)04月25日(火)~28日(金)

「新村学習館」のHTML文法チェックサイトを用いたHTMLの文法エラーの解消作業。

トップページから一段目の11ページについて、減点0の軽微なエラーも含めてすべての文法エラーの解消作業をおこなった。「エラーは見つかりませんでした。\(^o^)/ このHTMLは 100点です。」という表示が出て「たいへんよくできました。」という評価が得られた。

次は、「新村農園」のトップページから一段目の18ページについて、減点0の軽微なエラーも含めた文法エラーの解消作業をおこなう予定である。
2017年(平成29年)05月06日(土)~17日(水)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「四国歩き旅日記」の3ページと「登山日記」10ページの計13ページについて、HTMLの文法エラーの解消作業をおこないました。

作業の中心はスタイルシート(CSS)の適用でした。
2017年(平成29年)05月18日(木)~24日(水)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「クイズ・ゲーム」の中の「石取りゲーム」の6ページについて、HTMLの文法エラーの解消作業をおこないました。

作業の中心はスタイルシート(CSS)の適用ならびにゲームの改良でした。
 ページ最上部へ ページ最下部へ

2017年(平成29年)05月25日(木)~06月11日(日)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「クイズ・ゲーム」の中の「ヒット・ホームランゲーム」の4ページについて、HTMLの文法エラーの解消作業をおこないました。「(<INPUT> には ACCESSKEY 属性を指定するようにしましょう。) 」という減点0の軽微なエラーの解消のため、プログラム中の<INPUT>の個数がアルファベットの個数の26個をはるかに超えているので「苦肉の策」を講じて解消しました。

作業の中心はスタイルシート(CSS)の適用ならびに「ヒット・ホームランゲーム」の画面の改良でした。

画面の文字サイズを大きくしても画面が崩れないように工夫しました。
2017年(平成29年)06月11日(日)~30日(金)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「クイズ・ゲーム」の中の「お遊びじゃんけん」の「グー、チョキ、パー選択ページ」、「勝ち負け判定ページ」、「勝敗記録ページ」、「集計ページ」、「挑戦者リスト表示ページ」、「挑戦者リスト登録希望者のデータ入力ページ」、「挑戦者リストへの登録希望者の入力データ確認ページ」、「挑戦者リストへの追加登録ページ」の全8ページについて、HTMLの文法エラーの解消作業をおこないました。

作業の中心はCSS(スタイルシート)の適用および全面改良(プログラムの改良)でした。拡張子が「 .php 」であるプログラムの中の、PHPによる出力部分を必要最小限に抑えて、HTMLによる出力を適用する作業が中心でした。

8ページの改良に約3週間もかかったのは、正常に動いていたのがフォルダー毎の削除やアップロードを繰り返すうちに、フォルダーや記録ファイルに設定していたアクセス権限(パーミッション)が下がっていたことを見落としていたことも原因だった。
2017年(平成29年)07月01日(土)~15日(土)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「クイズ・ゲーム」の中の「モグラたたき」全2ページのHTMLの文法エラーの解消作業をおこないました。

「モグラたたき」と言いながら「モグラ」ではなく「ネコ」に似ているので、暇を見て「モグラ」にする予定。「ゲーム分析ページ」は未完成です。

「モグラたたきゲーム」の改良およびブラウザによっては動作不良を起こす不具合の解消を行いました。(「たたかれた時のもぐらの悲鳴」の追加および「ブラウザの種類の検出」など)
 ページ最上部へ ページ最下部へ

2017年(平成29年)07月16日(日)~23日(日)

HTML文法チェックサイトを用いて「限りなき明日への挑戦」の「クイズ・ゲーム」の中の「日本史クイズ」、「世界史クイズ」、「雑学クイズ」、および、クイズシステムの一本化(二重化防止)のために置いている「新村農園クイズ」の4つのクイズの「HTMLの文法エラーの解消作業」をおこないました。

問題数はまだ少ないので問題数の増加が今後の課題です。
2017年(平成29年)08月31日(木)~09月30日(土)

「限りなき明日への挑戦」と「新村学習館」のPC対応のみの状態から「スマートフォン対応化」とHTML5へのバージョンアップを開始

HTML5での文法チェック、ならびに、文法エラーの解消作業。(減点1以上のエラー解消のみ)
2017年(平成29年)10月01日(日)~10月31日(火)

「新村学習館」の教科「情報」学習室の中の「クライアント版(パソコン室版)」の改良プログラミング

数年前に、パソコン室の40数台のパソコンで実施していた「クライアント版(パソコン室版)」を組み込むための準備
 ページ最上部へ ページ最下部へ

2017年(平成29年)11月01日(水)~12月07日(木)

HTML文法チェックサイトを用いた「新村学習館」の教科「情報」学習室の「正誤判定プログラム」のスリム化の作業。66キロバイトの容量の正誤判定プログラムをHTML文法チェックサイトでチェックできない原因を「大容量」が原因だと思ってプログラム分割に着手。

約半分の容量のプログラムに分割しても、依然として「指定されたHTMLを取得することができませんでした。500 Internal Server Error」が表示されてしまう。

問題表示のプログラムは40数キロバイトもあるのにチェックしてくれているのに・・・
2017年(平成29年)12月08日(金)~12月14日(木)

「新村学習館」の教科「情報」学習室の中の「クライアント版(パソコン室版)」の改良プログラミング

「学年・クラス名」、「出席番号」、「名前」の形式が「一様ではないので」いろんな形式に対応できるようにプログラミング

「クライアント版(パソコン室版)」を発展させて、新たな「クライアント版」で学校やコンピュータ室だけにとどまらない形態を目指しています。

ある程度完成したら「通常版」に組み込む予定
2017年(平成29年)12月15日(金)~12月31日(日)

「新村学習館」の教科「情報」学習室の中の「クライアント版(パソコン室版)」の改良プログラミングを発展させた新たな「クライアント版」と「通常版」を並列して選択できるように改良プログラミング。
 ページ最上部へ ページ最下部へ

2018年(平成30年)01月01日(月)~01月31日(水)

「新村学習館」の教科「情報」学習室の改良プログラミング

「通常版」および「クライアント版」の数ページの中の「詳細説明」の部分を、「詳細説明を表示する」と「詳細説明を非表示にする」の切り替えができるように改良

同じ説明が毎回表示される煩わしさを解消。
2018年(平成30年)02月01日(木)

昨夜(1月31日)、ローカル(自分のパソコン)での開発環境「XAMPP」の最新版をインストールしたところ 「XAMPP Version: 7.2.1」になっていた。過去何回か「XAMPP」をアップグレードしてきたが、そのたびに同じポート番号を使用するソフト(例えばスカイプ)との衝突が起きてエラーを解消するために、ポート番号の変更をせざるを得なかったのだが、今回は全くエラーは起きなかった。

ところが、今までサーバーへアップする前のローカルテストで、エラーが起きていなかった行でエラーが表示されるようになった。

ネットで調べてみたら、PHPバージョン7以降は、文字と数値の混合演算の部分でエラーが起きるようになったらしい。PHPもC言語に近づいたようだ。バージョン6(?)までは、例えば、$B = "123" と宣言している場合、$A = 1 * $B という演算で、$A が123という数値になっていたのだが、PHPバージョン7では数値と文字との演算が出来なくなったようだ。これからは、より厳密に変数を宣言しなければならなくなった。

HTML4からHTML5への切り替えも大量に残っている段階で、サイト全体に散らばっている混合演算を解消せざるを得なくなった。

今までは、PHPは「演算で融通が利いているのでいいなあ」と思っていたのだが、「これではいけないんだ!」ということになった。こらからは、文字を数値に変換する正当な方法、例えば整数に変換する場合は、$A = (INT)$B を用いなければならないので、PHPのバージョンが上がるのは良いことだと思う。
2018年(平成30年)02月02日(金)~02月11日(日)

「新村学習館」の「数学」学習室(数学特訓道場)の改良プログラミング

「スマートフォン対応化」とHTML5へのバージョンアップ作業ならびにHTML5での文法エラーの解消作業およびスタイルシート(CSS)を適用するプログラミング。

「HTML5化」と「CSSの適用」だけなら短期間で終了するのだが、数年前に作成したページなので、数多くの改良したい部分が見つかってくる。例えば、「数十~数百行のプログラム」が「for文を用いればわずか数行のプログラムで表せる」などです。
 ページ最上部へ ページ最下部へ

2018年(平成30年)05月19日(土)

「限りなき明日への挑戦」の「生活お役立ち集」の「元号による日数計算および曜日判定」のページを2019年5月1日から始まる新元号への対応を開始。

新元号の政府発表は1か月前ということなので新元号名はわからないが、プログラミングは始められる。
2018年(平成30年)05月27日(日)~05月31日(木)

「元号による日数計算および曜日判定」の改良の中で、CSS(スタイルシート)を用いてBODYに設定している背景画像とTABLEに設定している背景画像が違っていることに気づいたので、CSSの細分化作業を開始。

細分化したスタイルシート(CSS)の外部ファイルを組み込む順番を間違うと正常に機能しないことを発見した。
2018年(平成30年)06月01日(金)~06月02日(土)

「元号による日数計算および曜日判定」の新元号への対応。存在しない元号年月日の判定プログラミング。
 ページ最上部へ ページ最下部へ

2018年(平成30年)06月03日(日)

「限りなき明日への挑戦」の「生活お役立ち集」のトップページをHTML5へバージョンアップ。
2018年(平成30年)06月04日(月)~06月05日(火)

「限りなき明日への挑戦」と「新村学習館」の更新履歴のページをHTML5へバージョンアップ並びにスマートフォンへの対応をおこないました。
2018年(平成30年)05月中旬~

「限りなき明日への挑戦」に「視野を広げてくれた海外旅行」の「ドイツ旅行」のページを追加(10月末時点で約80%完成)

海外旅行から帰ってからいろいろ調べたり勉強することの方が多いようだ。
 ページ最上部へ ページ最下部へ

2018年(平成30年)10月上旬~2019年(平成31年)1月中旬

「限りなき明日への挑戦」に「あなたのスマホで目の前のパソコンを操作してみましょう!」のページを追加開始

10月のプログラミング内容:「パソコンとスマホのペアリング」、「操作者のニックネームの登録」など

11月のプログラミング内容:スマートフォン側で選択・登録した「ニックネーム・号数」をパソコン側に自動的に表示。および操作権限の残り時間の表示。「スマートフォン動作の記録プログラミング」

12月~1月のプログラミング内容:「パソコンとスマホの同期」を確実にするための工夫として、「パソコンとスマホの間の同期信号」を考案しました。

10月上旬~1月中旬の3か月以上を要して、やっと「スマホでパソコン操作の仕組み」が出来上がったので、「第1作」の作成に取り掛かかることができました。
2018年(平成30年)11月21日(水)~22日(木)

「限りなき明日への挑戦」の「生活お役立ち集」の「西暦による曜日判定」を「スマートフォン対応」ならびに「HTML5へのバージョンアップ」と「スタイルシート(CSS)の適用」をおこないました。

外出先で「来年の11月21日は何曜日なのか」を知る必要があったので、スマホで調べようとしたところ、パソコンにしか対応しておらず文字が小さくて困ったので早速実行。
2018年(平成30年)12月30日(日)~2019年(平成31年)01月01日(火)

「限りなき明日への挑戦」の「視野を広げてくれた海外旅行」~「ドイツ編」のページの説明文の量を、初期設定では少量を表示して、「続きを読む」や「説明文の続き」などをクリックすれば全文表示になるように改良しました。

最初から全文表示にすると、スマートフォンで表示したときに膨大な量と感じてしまうので何とかしなければと思っていたので「HTML 続きを読む」で検索したところ、意外に簡単な方法で出来ることがわかった。

トップページなどでは、複数個所を一括で「詳細表示・簡略表示」を切り替える方法は自分なりの方法で実現はしていたが、この方法だと問題解決にはならなかった。

<div onclick=”obj=document.getElementById(’・・・’).style; obj.display=(obj.display==’none’)?’block’:’none’;”>を用いればよいことがわかった。
 ページ最上部へ ページ最下部へ

2019年(平成31年)04月01日(月)

新元号発表に伴い「生活お役立ち集」の「元号による曜日判定」を新元号の令和に対応させました。

半年位前から仮の新元号を用いてプログラム改修は終えていたので短時間で対応できました。
2019年(令和元年)05月~05月中旬

「限りなき明日への挑戦」の「スマホでパソコンを操作してみよう。」の「第1作 パソコンの背景色操作」を何とか完成させました。

2018年(平成30年)10月上旬に作成を開始してから7か月かかって試行錯誤の結果、何とかシステムを構築できました。

苦労したのは「パソコン」と「スマホ」を「同期(ペアリング)」させることでした。単一媒体でなく「二つの媒体」を結びつけるプログラム構築とアップ前のローカルテストでした。

サーバー上での実際の稼働は「パソコンとスマホの2つの媒体」で、ローカルテストは「自分のパソコンだけの1つの媒体」なので多数のクッキーのやりとりは勘違いを誘発してしまう。これを解決するための一助としてローカルテスト用にフレームで分割してプログラムテストをおこなうことを思いつきました。
2019年(令和元年)05月19日(日)~2019年(令和元年)05月21日(火)

「新村農園」と「限りなき明日への挑戦」の「お問い合わせメールフォーム」をPC対応ページからスマートフォン対応ページに改良しました。
 ページ最上部へ ページ最下部へ

2019年(令和元年)06月20日(木)~2019年(令和元年)06月21日(金)

お名前ドットコムで、ドメイン「shinmura-programming.net」と「shinmura.net」を取得しました。取得したドメインはこれで何個目だろう。(おそらく10数個目かな)

独自ドメインを「取得しては廃止」の繰り返しでした。「新村パソコン教室のためのshinmura-pc-lesson.net」も廃止、「新村未来塾のためのsmjk.net」も取得しては廃止、令和元年の現在で活用している独自ドメインは「sinmura.net」、「s-nouen.net」、「sgakukan.net」の3つである。「sinmura.net」も9月7日に廃止の予定。「新村学習館 sgakukan.net」もドメイン維持費削減のために廃止してホームページの中身は「shinmura.net」の中に移転させるつもりである。

やはり自分のやりたい事は「プログラミングの世界」なのだ! 昭和46年から50年近くも打ち込んできた「プログラミング」の世界だ。高校生全員がプログラミングを学ぶことになる2022年までには「新村プログラミング教室」を開講しようと決意して、まずはホームページの準備に取りかかることにし、6月21日(金)にサイト開設の運びとなりました。
2019年(令和元年)08月中旬~

「限りなき明日への挑戦」の「スマホでパソコンを操作してみよう。」の「第2作 歴史クイズ」が一応完成し、「後は収容問題数を増やせばいい」ところまで来たが、パソコン1台とスマホ1台だけのシステムだけでは物足りないことに気づいた。

どうせなら、多数のスマホ(操作権限を持たせたスマホ1台と、操作権限を持たせないゲストスマホ多数)のシステムにしようと思いついて改良に着手しました。このシステム改良のためのローカルテスト(サーバーへのアップ前のパソコン1台でのテスト)を開始。
2019年(令和元年)10月上旬~2019年(令和元年)10月27日(日)

6月21日に取得していたドメイン「shinmura-programming.net」に「新村プログラミング教室」ホームページを乗せていたが、ホームページの名称を「新村プログラミング教材研究所」に変更。理由は、日々やっていることはプログラミング教室を開設するための「プログラミング教材」の「研究」であること。

「新村プログラミング教材研究所」の「自動広告表示システム」の作成に取り掛かりました。「自動広告表示」とは通行人などに見てもらうための「指定する秒数ごとに自動的にページ変化を繰り返す広告」です。(電光掲示板は価格が高くて手が出せないので)自作のシステムなら、せいぜい中古のテレビか中古パソコンのディスプレーだけでよい。

10月23日頃~27日の数日をかけて自動表示広告システムの応用として「クイズのお部屋」を作成。
 ページ最上部へ ページ最下部へ

2019年(令和元年)11月上旬~中旬の更新履歴

「新村プログラミング教材研究所」ホームページの「自動広告表示システム」の改良。毎分の5秒前から5秒後の10秒間に「時報告知ページ」を割り込ませるための工夫。各ページ(現時点で36ページ)をキッチリ5秒、15秒、25秒、35秒、45秒からスタートできるように遅延プログラムの考案。PHPのsleep(”秒数”)関数を用いて遅延させることにしたが、ローカルテストでは(変数で設定した値)を()内に用いても動作するが、本番のサーバー上では正常に動作しないことを突き止めてfor文を用いてsleep(1)を「秒数分」繰り返すことで解決した。これを解決するのに何時間もかかった。

「プログラミング教室」の「教材化」第1号としての「クイズのお部屋」を作成。「プログラムフローチャート」を作成開始。今まではプログラムフローチャートは作らずに、各プログラムの冒頭に「前のプログラム」、「次のプログラム」をコメント(注釈)として書き込んでいたが、システム全体の流れを一望できていなかった。多数のプログラム間の流れを記述することで「不具合」の原因究明も容易になった。
2019年(令和元年)11月下旬の更新履歴

「新村プログラミング教材研究所」ホームページの「自動広告表示システム」と「クイズのお部屋」に「時報告知ページの割り込み」導入に伴う改良で、PHPのsleep(”秒数”)関数を用いる方式では目に見えないのでプログラムの流れ(動き)を把握しにくいことに気づいた。プログラム作成の方針転換をして、JavaScriptを用いて「あと〇秒」と目に見える形で遅延させることにした。

クイズの種類はまだ少ないが「クイズのお部屋」の調整中のマークを取り払って見れるようにしました。自分の他のサイトのクイズもやがてここ(クイズのお部屋)に集約する予定です。

約2か月ぶりにサーバーが記録している「エラーログ」を見てみたら、PHP警告で「システムのタイムゾーン設定に依存することは安全ではありません。関数getdate()を使用する前に、date_default_timezone_set('Asia/Tokyo')を使用することが必須です。」という警告が大量に出ていることに気づいた。PHPバージョン5.1.0 以降(日付/時刻 関数が書き直されてから)、設定せずに日付/時刻関数をコールすると警告が出るようになったらしい。getdate()関数を用いている数10か所を修正しました。自分のパソコンには、PHP Version 7.2.1をインストールしているが、ローカルテストでエラーが出ないのはすでに、date_default_timezone_set('Asia/Tokyo')を設定しているからだろう。

「date_default_timezone_set()に関する警告」を逆手にとって「世界各地の現在の時刻」や「日本時間との時差」のページを作成することができました。「警告」から「アイデア」が得られました。
2019年(令和元年)12月上旬の更新履歴

「新村プログラミング教材研究所」ホームページに「HTMLとは?」、「JavaScriptとは?」、「CSSとは?」、「PHPとは?」、「世界の2都市間の距離はどれくらい?」のページを追加。

「新村プログラミング教材研究所」ホームページに「当研究所の気温の表示」のページを追加。T&D社の温度データロガー「おんどとりRTR-501」で観測された温度をワイヤレスで収集し、(親機)RTR-500-NWでサーバーにアップされたXML形式のファイルから温度を抽出して表示するプログラムをなんとか作成することができた。「ただいまの温度」のページや蓄積された温度データを「月別」、「日別」などの各種の一覧表や難度の高い「グラフ表示」に挑戦する道筋ができた。
 ページ最上部へ ページ最下部へ

2019年(令和元年)12月中旬の更新履歴

上旬に「新村プログラミング教材研究所」ホームページに追加した「HTMLとは?」、「JavaScriptとは?」、「CSSとは?」、「PHPとは?」のページを充実。

レンタルサーバーに蓄積され続ける「観測されたXML形式の温度データ」を「容量の軽量化」のためのプログラム作成。自分のパソコンでは古いファイルの自動削除ができるが、レンタルサーバーでは「セーフモードPHP」のために自動削除ができないので苦労させられる。
2019年(令和元年)12月下旬の更新履歴

「限りなき明日への挑戦」に「立山黒部アルペンルート紹介」のページを追加しました。パソコン・タブレット・スマホのいずれにも画面サイズに応じて自動的に写真の配列が変わるような「メディアクエリーCSS」を採用しました。

「新村プログラミング教材研究所」ホームページの「蓄積され続ける温度データファイル」の「容量の軽量化」のための「プログラムによる古いファイルの削除」に成功しました。あとは、温度データ1件で1053バイトあるファイルを「記録日などの温度データのみに絞るコンパクト化」の段階に入った。例えば2020年1月1日14時23分35秒の温度が13.5℃だったら「20200101-142335-13.5」と表現すれば20バイトの1.9%になる。「10桁のタイムスタンプ-13.5」と表現すれば15バイトの1.42%に減る。これをさらに、私が24~30才の頃やっていた「0~255までの数値を00~FFと表現する手法」を取ればもっと軽量化される。

あれから約50年後の現在では、PHPの base_convert()関数を用いれば、10進数を36進数に変換し、例えばタイムスタンプが1577024673で、記録温度が11.7℃の場合は q2x40x-11.7 と11バイトになり1.04%にコンパクトに格納できる。もっと軽量化する方法として、1日分のデータを、1番目のみタイムスタンプを付加して「q2x40x-11.7/11.8/k/11.9/…/11.0」(kは観測データなし)などと表現して約0.33%に圧縮する方法もある。
2020年(令和2年)01月の更新履歴

「新村プログラミング教材研究所」ホームページの「世界の2都市間の距離を求める(簡略版)」のページの距離計算のJavaScriptのプログラムの改良。「2地点の平均緯度での地球半径を用いる方法」と「2地点での地球半径の平均を用いる方法」のどちらでも誤差がないことがわかった。

距離計算の「第3の方法」として「区間をn等分して楕円の弧長を求める方法」でのプログラミングに取り掛かりました。これが完成したら第4の方法の「楕円積分を用いる方法」に挑戦します。

HTML4.01からHTML5への変更点の一つに「<META http-equiv=”SET-COOKIE” content=”〇〇”>が非推奨になったことで、「新村プログラミング教材研究所」のホームページだけでも約70本のプログラムファイルからすべて削除する作業を完了。また、プログラムの著作権情報として「スパムメールの餌食となることを防止するために」、<LINK rel=”author” HREF=”mailto:ダミーのメールアドレス”>を設定していたが、すべてのプログラムで<meta name=”author” content=”新村 保”>を設定しました。残る3つのサイト(「限りなき明日への挑戦」、「新村学習館」、「新村農園」)の数百本のプログラムの改修はこれからの課題です。

これもHTML4.01からHTML5への変更点のひとつだが、クッキーが非推奨になり、代替として新しく登場した「Webストレージやローカルストレージ」に切り替える作業を開始しました。
 ページ最上部へ ページ最下部へ

2020年(令和2年)02月の更新履歴

HTML5から新しく登場した「Webストレージやローカルストレージ」への保存や読み取りには成功したが、表示はできてもこれらのデータを「PHPの変数に渡す」ことに2週間も挑戦したがうまくいかないので表示だけに留めて、画面サイズによるプログラムの分岐は「メディアクエリーCSS」で行うことにした。ネットサーフィンで調べてみたら、「メディアクエリーCSSで行うのが一般的である」とのこと。

ローカルストレージの値を「PHPの変数に渡す」ことは「今後の研究課題」にして、サイト構築の充実を目指すことにした。

「限りなき明日への挑戦」でも初歩的なことはやっていたが、HTML5から登場した「CANVAS(キャンバス)」を用いて図形やグラフを描くプログラムの研究を再開しました。
2020年(令和2年)03月の更新履歴

「CANVAS(キャンバス)」を用いて図形やグラフを描くプログラムの追加ならびに更新作業。CANVAS(キャンバス)サイズが小さい「スマートフォン版」とCANVAS(キャンバス)サイズが大きい「(受講者専用)PC&タブレット版」、「(一般公開)PC&タブレット版」の3つに分けることにした。「スマートフォン版」と「(一般公開)PC&タブレット版」では、(完璧ではないだろうが)プログラムを表示できないようにする対策を施す工夫を取り入れました。ここで問題なのが、3つの場所に置いている「PHP+HTML+CSSプログラム」と「JavaScriptプログラム」は、プログラム間の接続部分以外はほぼ同じなので「音楽カセット」や「ゲームカセット」みたいに「どれに挿入しても調整なしで動作する」ようにしないと、調整に手間取り、プログラムの生産性が低いことに気づいたので改良を開始(この時点で約20本作っているので合計60本近いプログラムを改修せざるをえないが、この方が近道だろう。)。

ドメイン維持費の削減のため、「新村農園」を乗せていた独自ドメイン「s-nouen.net」が4月3日の期限切れが迫っているので、サイト全体を「限りなき~明日への挑戦」への移転作業およびリンクの調整作業。この作業の中で、多数のエラーが出ることを発見。エラーの原因は、レンタルサーバー側のPHPのバージョンアップに伴い、それまでは「1*(数字の文字列)」で数値に変換できていたのが、整数の場合は「intval("整数の文字列")」で整数型に変換、小数点を含む場合は「floatval("小数点を含む数字の文字列")」で浮動小数点型に変換しなければならないように「改良された」ことである。「PHPが、厳格なC言語などに近づいた証拠」である。
2020年(令和2年)04月の更新履歴

「限りなき明日への挑戦」の「クイズ24時館」の「〇〇市ってどこの都道府県?」、「〇〇ってどこの国?」クイズの改良をおこないました。HTMLの旧バージョン4から新バージョンHTML5へのバージョンアップ作業および問題追加作業ならびにスタイルシート(CSS)を適用しました。複数のプログラムから読み込まれる「共通の関数(9本)」(問題取得関数など)と「問題表示や正誤判定などのプログラム(18本)」を、「別々のフォルダに分離」することですっきりさせました。作成支援ソフトを使用していた時の「古い文法」を「新しい文法」に置き換える作業で一苦労。

「新村プログラミング教材研究所」ホームページに「オンラインサポート窓口」を設置するためのプログラミング作業を開始。2021年(令和3年)4月オープン予定で、教材作成やプログラミング教室の準備をしていたのだが、「新型コロナウイルス」の感染拡大に伴い世の中は、「テレワーク(在宅勤務)」、「オンライン授業」、「遠隔診療」、・・・と大きく変わろうとしている。「当プログラミング教室」も遠隔サポート・オンライン授業をメインにすることに「方向転換」をしました。過去に別の用途に作っていた「申し込みフォーム」を改良すればいいので、ある程度は助かるが、本格的な申し込みシステムの構築になるので相当時間がかかりそうだ。
 ページ最上部へ ページ最下部へ

2020年(令和2年)05月の更新履歴

「新村プログラミング教材研究所」ホームページに作成中の「オンラインサポート予約窓口」のプログラミング作業の途中で、「プログラミングの前にやらなければならない『プログラミングに必要な各種ソフトのインストール方法』」というページを先に作っておいた方が「オンラインサポート予約窓口」も作りやすいことに気づいた。「テキストエディタ-としてnotepad++」、プログラム開発環境として「XAMPP」のインストール方法のページを作成開始。これまで10数年使ってきた「Terapad(テラパッド)」が「32ビット対応」という名目で「64ビットパソコンでも動くのだが」、受講生にサポートするのならと「64ビット対応のnotepad++」に変更したのだが、「とにかく遅い!」。この更新履歴のファイルの容量が136KBだからだろうか?画面スクロールが遅くていらいらする。これまで使ってきたTerapadは非常にスクロールが速かった。また、この更新履歴のファイルをWindows付属の「メモ帳」で開いてみると「Terapad」と同様にスクロールが非常に速い。

『プログラミングに必要な各種ソフトのインストール方法』のページは「Webでの一般公開」ができる段階にまでこぎつけたが、実際にプリンタで印刷してみたら画質が良くない。「印刷製本」となるとPC画面とは違って「画像の精度」が求められることがわかった。「gif形式」で作成していた画像形式を「PNG形式」で作り直す作業でこれまた一苦労。画像の保存時に「PNG形式での保存」も考えたが、「まあいいか」と安易な気持ちでgif形式にしてしまった。これまでに作っていた80数枚の説明画像のうち7割程度の作り替えの作業が発生してしまった。ネット検索してみたら「PNG形式にすべきだ」とのこと。
2020年(令和2年)06月の更新履歴

「新村プログラミング教材研究所」ホームページに作成中の「オンラインサポート予約窓口」に、無料通話ソフト「Skype(スカイプ)」と「ZOOM(ズーム)」でも「オンラインサポートの申し込み」ができるようにするプログラミングを開始。サポート希望者に「ビデオ通話への招待メール」を送付する形式を採用することにした。

これまで「限りなき明日への挑戦」、「新村学習館」、「新村プログラミング教材研究所」の3つのサイトの「共用、お問い合わせメールフォーム」を、契約しているレンタルサーバーの暗号化通信の「共用SSL」を利用して設置していたのだが、独自ドメイン内でも「無料のSSL通信」ができるようになっていたことを知り、「共用SSL」から、独自ドメイン内への移転作業を開始。無料の「郵便番号による住所検索システム」の導入や入力項目の追加などの改良にも着手。お問い合わせ者の携帯メールアドレスに「確認コードを送付する方式」も約1週間かけて完成させました。
2020年(令和2年)07月の更新履歴

以前は時々行なっていた「HTML文法チェック」を、ほとんど行なわずに「新村プログラミング教材研究所」の各ページを作成して来たが、久しぶりに「HTML文法チェック」をしてみたら、大幅なマイナス点のページがあることがわかった。たとえ「マイナス200何点」であっても「ページの表示」は全く支障はないよう見えるのだが、「プログラミング教材の作成および出版」を掲げている以上は「100点満点」でなければならないので、早速、100点になるようにHTMLの修正作業を開始。

図形やグラフを描く「CANVAS(キャンバス)」は目標の50本の半分程度を作成中であるが、「プログラムソースを閲覧しにくい設定」にしている「(一般公開)PC&Tab版」、「プログラムソースの表示を閲覧可能」に設定している「(受講者専用)PC&Tab版」、サイズの小さい「スマホ版」の3パターンのプログラムを1本のプログラムにまとめる作業を開始。1ケ所のプログラムライブラリーにまとめて置いておき、「どのタイプのメニューから呼ばれたのか」に応じてスタイルを変えるようにすることで、「プログラムの管理」がしやすくなった。また「プログラムの生産性」も向上した。例えるなら、「どのラジカセにセットしても動くカセットテープ」みたいなものである。
 ページ最上部へ ページ最下部へ

2020年(令和2年)08月上旬の更新履歴

「新村プログラミング教材研究所」ホームページの「CANVAS(キャンバス)を用いて図形やグラフを描く」に、「3次元キャンバス」を追加する作業を開始。現時点で30本作成している2次元キャンバスとは違った視点でのプログラミングになりそうだ。

キャンバスサイズの大きい「(受講者専用)PC&タブレット版」と「(一般公開)PC&タブレット版」のサイズをもっと広くするプログラミングを開始。とりあえず、「横900ピクセル、縦540ピクセル」に目標を設定。この作業の課程で、「キャンバスサイズへのフレキシブル度(=柔軟性)」(つまり、キャンバスの幅と高さを変えれば自動的に描画範囲も変わること)が100%でなかったプログラムが30本中2本見つかったので改良した。キャンバスの横サイズを画面横幅の98%程度に高める予定である。PC・タブレット・スマートフォンなど、どんなサイズの媒体でも、スクロールや拡大・縮小の手間を極力なくして快適に閲覧できるようにしたい。
2020年(令和2年)08月中旬の更新履歴

自分が苦労に苦労を重ねて作ったプログラムを隠す方法は幾つかの組み合わせが大切である。PHPのソースはまず見られる心配はないが、Javascriptのプログラムは簡単に見られてしまうので対策の1つ目は「右クリック無効化。こうしないと右クリックしてソースの表示とやられてしまう。」、対策の2つ目は「ウインドウの新規オープンでメニューバーを非表示にし、かつ、フレームに分割して片方のフレームの高さを0%にしてURLを表示させない。」、対策の3つ目は、「対策の2つ目のウインドウの新規オープンによってページが開かれた証拠となるクッキーを焼いておき、クッキーが見当たらない場合に順路へ誘導する。」対策の4つ目は「スマホ版ページのURLをメモしてパソコンのブラウザのURL欄に入力してみたら簡単にプログラムが見えるではないか!」この対策も施したが「これで十分ではない」とわかった。なんと「開発者ツール」F12キーでもソースが丸見えであることに気づいた。「F12キーの無効化」も必要である。合わせて5つの対策を組み合わせることが重要である。(これでも不十分かもしれないが・・・)
2020年(令和2年)09月~10月の更新履歴

「新村プログラミング教材研究所」ホームページに「オンラインサポート申込みシステム」および、テキスト販売や受講料徴収のための「オンラインショップ(ネットショップ)」の構築作業に着手。契約中のレンタルサーバーが無料で提供しているネットショップを利用させてもらうことにしたが、「SSL(暗号化通信)」でないのでブラウザが警告を発することに気づいた。
 ページ最上部へ ページ最下部へ

2020年(令和2年)11月~12月の更新履歴

「新村プログラミング教材研究所」ホームページに構築中の「オンラインショップ(ネットショップ)」を、「SSL(暗号化通信)対応」で年額約 3,000円の有料ネットショップを利用することにした。

「プログラミング教室の受講」や「オンラインサポート」を割引価格で受けることができる「会員登録システム」の構築に着手。会員情報を暗号化して登録することにしたが、PHP関数の暗号化関数「Mcrypt関数」は非推奨になったらしい。

非推奨になった「Mcrypt関数」を使うことも可能らしいが、先を見据えて「Mcrypt関数」を使うのはやめた。代替案として、登録データの順序を変えるなどの「自力作成の古典的暗号化方式」も考えたが解読されやすいだろう。

いろいろ調べてみた結果「OpenSSL関数」なるものを使えばいいとのこと。これだと「暗号化後のデータ」から「暗号化前のデータ」が推測されにくいのではなかろうか。これからの研究課題である。
2021年(令和3年)01月~02月の更新履歴

「新村プログラミング教材研究所」ホームページの「新村プログラミング教室」への「オンライン受講申し込みシステム」の構築。

ネット上での仮予約を放置すれば「自動的に仮予約消滅」となる仕組み作りと、「入金が確認されたら予約確定」になるシステム構築だ。これらの仕組みのすべてを一人で作っているので、かなり時間はかかるが、工夫次第で作れるので「やりがい」がある。

「予約リストファイル」や「開講日設定(時間割データ)ファイル」、「削除リスト(ゴミ箱)ファイル」などの、テキストファイル間の「相互連携」が苦労の山場である。10数年前から自作している「諸項目データ取得関数」で新方式を思いついたので、短い行数で関数を作れるようになった。「どのリストがどのような項目の並びになっているのか」に関係なく欲しい項目のデータが取得可能になった。
2021年(令和3年)03月の更新履歴

「新村プログラミング教室」への「オンライン受講申し込みシステム」の構築を一時中断して「エクセルマクロ」のプログラム作りなどに没頭していた。地域の自治会の会計処理の一部の作業を、「マクロ」により自動処理できる工夫に没頭、また、「年度末処理」の一つとしての「次年度への移行処理」のマニュアル作りをしていた。

エクセルVBA(それ以前はロータス1-2-3のマクロ)は現職中にいろいろ『いじっていた』ので感覚を取り戻して作成することが出来た。PHPの文法とは少し違っていて、IF文についてはPHPでは「 if(条件){ 処理 } だが、エクセルでは、「 IF (条件)Then (処理)」となっているなどがあげられる。

テレビを見ていたら、プログラミング教材の一つとして「表計算ソフトのマクロ言語を用いたプログラミング」を取り入れている東京の某高校が紹介されていた。また、高等学校でのプログラミングを教える「情報Ⅰ」担当の職員のうち、「情報の正式な免許を持たないで、臨時免許で教えざるをえない実情」も紹介されていた。さらには、取り扱う言語は、教員の負担を考慮して「小学校で取り扱うスクラッチにした」というニュースには失望せざるを得ない。「プログラマーを育てるプログラミング教育ではなく、プログラミングを通して問題解決能力を育てる。」という目標なので仕方ないが、「デジタル社会(情報化社会)を支えているプログラミング言語」は、「C、C#、Java、PHP、HTML、CSS、Javascript 、・・・などの言語である」ことを忘れてはならない。「現在(2021年)、プログラミング言語の種類は200種類以上あるそうで、全ての言語が今も使われているわけではなく、実際に使用されているのは全体の10%程度である。」そうだ。よって約20種類位が使われていることになる。「ブロックを組み合わせて動かせるような簡単な作業」ではない。日本が世界から遅れてしまうことにならないことを願う。

「エクセルマクロ」のプログラム作りは以前から取り組んでいるので、この分野でも充実を目指したい。
 ページ最上部へ ページ最下部へ

2021年(令和3年)04月~05月の更新履歴

「新村プログラミング教室」への「オンライン受講申し込みシステム」の構築を再開。

「受講申し込みシステム」の予約の「削除・修正・各種情報の変更」などの「サイト管理プログラム」で、ローカルテストでもエラーメッセージが出ない「無限ループ」にはまっているプログラムが見つかり苦労している。おそらく「while文」のどれかだろう。「無限ループ」にはまった場合は、30~60秒で、エラーを表示してくれていたのだが、2分経っても無限ループのままで問題箇所が突き止められない。仕方ないので、複雑なプログラムをいくつかに分割することにして改良中。

順調に動いていたプログラムが不具合を起こす原因は、「改良にともなうあらたな不具合発生」である。今回の不具合発生も、受講料システムを変更したことにより、プログラムをいじっていたことが原因である。

「予約確定処理プログラム」で2回目の処理で「無限ループ」かどうかはわからないが、パソコンが固まることが判明。パソコンを再起動して、予約リストを削除すれば、1回目は無限ループは起きない。これだと話にならない。原因は不明だが、「既存の予約リストを自動削除してから新規に自動作成する方式」ではなく、「暫定的な予約リスト」を自動作成後に、PHP関数の「COPY(コピー元、コピー先)」でコピーする方式を採用したら無限ループにはまることがなくなった。この解決に4~5日かかった。この経験から「本番リスト」作成だけでなく「バックアップリスト」を自動作成することが重要であることに気づいた。

無限ループ(?)でパソコンが固まっていた原因は、「PHPのfopen(対象データファイル, モード)」で開いたままで閉じていなかったのが原因」と判明した。エラーメッセージが出ないようだ。
2021年(令和3年)06月の更新履歴

(6月上旬)サーバー上で指定したプログラムを自動実行する「cron設定」に初成功。これを応用すれば、予約サイトで「仮予約」のまま「指定した日数(時間)」を経過すれば、「自動的に予約削除して各種の調整をする」ことができる道が開けた。「cron設定」には10年位前に挑戦していたのだが「必要性」もなかったのであきらめていた。「自動実行cron」に頼らずに、「予約ページにアクセスがあった時に、プログラムによる仮予約の削除・調整等」には成功していたのだが、これだと数日間アクセスがない場合には実行されないことになってしまう。サイトへのアクセスがなくても自動実行される「cron」の役割は非常に大きい。

(6月中旬)「自動実行cron」を思い通りに走らせることが出来るようになったが、「テスト用のデータ」が必要になってきた。仮予約のまま指定する日数を経過すれば「受講料お支払い案内メール(再)」や「自動削除」のための「プログラムテスト用模擬予約」がどうしても必要であることに気づいた。プログラムテスト用に毎日、自分で模擬予約を入れてはいたが、忘れる場合もあるので「プログラムテスト用模擬データ作成プログラム」の作成に取りかかった。

(6月下旬)「プログラムテスト用模擬データ作成プログラム」が一応完成したので、仮予約のまま放置された予約への「受講料お支払い案内メール(再)」の自動送信などのプログラムテストを再開。この「模擬予約作成プログラム」を転用すれば、「予約済み受講者からの口頭での予約変更依頼」に対応可能となる。

(6月下旬)仮予約のまま放置された予約への「受講料お支払い案内メール(再)」の自動送信に成功。「仮予約のまま放置されて自動削除」になった予約者への「告知メール自動送信プログラム」と「受講済み予約の自動仕分けプログラム」も一応、完成した。自分は別の仕事をしても、テレビを見ていても、寝ていても、サーバー上で仕事をしてくれるので「CRON様さま」である。
2021年(令和3年)07月~08月の更新履歴

受講申し込みのネット予約の「予約者自身による予約の確認・変更修正およびキャンセル」を可能にする「マイページ」のプログラム作り。

各種の受講料の入金確認後に、受講料などに使える「プレミアムポイント」を付与するプログラム作り。「ポイント付与率」は固定ではなく、「変動付与率」に方針変更した。「一か所の指定で、システム全体に波及する」ように改良予定である。

「入金確認メール送信」の改良、および「予約者からの送金日時連絡リスト」を「入金確認メール送信済みフォルダー」へ転記するプログラミング。8月中旬の段階で、「ネット予約システム」だけで、プログラム数が90本に達した。「ネット予約システム」が、一応の完成を見るまでには、100本は超えるだろう。
 ページ最上部へ ページ最下部へ

2021年(令和3年)09月の更新履歴

「新村プログラミング教室」への「ネット予約システム」の手動での「入金確認メール」および「予約確定連絡メール」、自動実行CRONによる「受講済み予約」の自動仕分け等のチェックの段階に入った。模擬の予約データを用いての実証実験を開始。

ネット予約システム関係のプログラム数が100本を超えた。100本の中の、15本は、複数のプログラムから読み込まれる共通関数である。長い時間、頭をひねって作った重要なプログラムを一本だけ作っておけば便利だ。共通関数形式にしてない場合は、「どのプログラムの、どの部分に」目的の関数があるのかを探し出すのに苦労する。

予約システムである程度の目途が付いたら、次は、「テキスト(プログラム)販売のネット申し込みシステムづくり」に取り掛かる予定である。
2021年(令和3年)10月の更新履歴

「新村プログラミング教室」の「ネット予約システム」で苦闘の連続である。「予約リストと開講日設定(時間割)データ)の照合」の結果、「どちらか一方のみに存在する予約データ」を、自動的に削除しているが、自宅や仕事先の複数のパソコンで開発している関係で、データの欠落が多発。また、ローカルテストと、サーバー上でのデータの不整合等で、予約データがいつの間にか消失している。「ネット予約システムの本格運用」に備えてこれらを解決しておかなければならない。

そのための対策として、サイトの約20か所に記録されている、各種の予約情報・入金情報・受講記録・自動実行CRONの実行記録などを一望できるページの作成に取り掛かった。

自動削除等をおこなう場合には、必ず、「自動バックアップ(控え作成)」をおこなうことが大切だと気づいた。

ポイント付与や割引料金などのメリットを与える「会員登録システム」はほぼ完成させた。住所・氏名・年齢・メールアドレスなど、いくつかの質問に答えれば通常料金で受講できる「受講者登録システム」の完成を目指したプログラミングを開始。「会員登録のような細かな質問には答えたくない」という人向けの受講形態も一応作っておきたい。
2021年(令和3年)11月の更新履歴

「新村プログラミング教室」の「ネット予約システム」で、「90日先(教室PCでは180日先)までの予約申し込み」の場合に、10月以降(教室PCでは7月以降)に予約を取る場合には「翌年の受講年月日」を「開講日設定(時間割設定)表」に書き込むことになるのだが、「個別の予約リスト」はうまく書き込めているが、目的としていた「開講日設定(時間割設定)表」ではなく、翌年の設定表の方に書き込まれていることに気付いた。今年と来年の2本の時間割設定表を、それぞれ366+180=「546日分」を用意していたのを「366日分」に変更し、「(年末年始を含む場合もあり得る)画面表示用の予約状況表」を新たに作成することにした。。

「プログラミング教室の受講申し込みシステム」は、「ある程度出来上がったので」今後は、模擬予約による「サーバー上での検証の段階」に入った。という訳で、「プログラミング教材テキストのネット注文システム」の構築に取りかかった。約1年前から年額約3000円で契約している「有料のオンラインショップ」はどうも使いづらい。理由は「低料金だけあって、あまりにも簡易版である。」のともう一つの理由は「他人が作ったシステムなのでどうもやりにくいことである。」という訳で、これも自作するすることにした。自作となると、膨大な時間はかかるが、自分の意図する注文システムが作れる。レンタルのネットショップは1年更新したばかりだが、全く利用しないまま2年目に突入した。1年後は更新しないつもりである。

「プログラミング教材テキストのネット注文システム」と連動する形で、独自作成の「キーボード操作検定システム」を構築することにした。キーボードが全く打てない人にとっては、プログラミング教材テキストを購入しても意味がない。キーボード入力の得点算出方式として、「1文字ずつの文字列分解判定方式」を取り入れた。不合格者には練習してもらい、合格点に達してから購入できるようにすることにした。
 ページ最上部へ ページ最下部へ

2021年(令和3年)12月の更新履歴

「新村プログラミング教室」の「ネット予約システム」で、「会員登録」および「受講者登録」の一環として、独自作成の「キーボード操作検定」を受検してもらい、一定程度のレベルの合格者しか登録できないようなシステムへの改修に着手した。

正常に稼働していたはずなのに動かなくなっている部分を発見。調べてみたら、あるプログラムがいつの間にかなくなっていた。原因は、おそらくアップロードとダウンロード時の消失だろう。パソコンが複数あるので、サーバーへのアップロードとサーバーからのダウンロードは不可欠である。パソコンをシャットダウンする前に、ほぼ毎回、バックアップを取っていたので「何月何日に消失したのか」を突き止めて、消失プログラムを復活できた。システム開発途上ならではの注意点だろう。システム稼働後は、「データの消失」に備えることが重要なのだろう。

独自作成中のネットショップで「在庫数に応じた注文制限数」を設けているが、「同一テキストコードの再注文」により「注文制限数を超えてしまうバグ」が見つかり、修正に数日を費やしてしまった。(数年前までは「終日プログラミング」も出来たが、前期高齢者の今は、頭がついていかないので睡眠か農作業)
2022年(令和4年)01月の更新履歴

独自作成中の「テキスト購入ネットショップ」で会員登録者には10%、受講登録者には5%の割り引き適用のテキスト販売システムが「一応完成」という域には達したが、「貯まっているポイントの使用」を取り入れるとプログラミングにとっては「相当な難工事」になるのであきらめた。

「ポイント付与の廃止」となると「新村プログラミング教室」の会員登録者に対して、受講料の入金確認後に「次回の受講料やテキスト購入などに使えるポイントの付与」を取り入れてシステムを構築して来たが、約10ページのプログラムの修正が必要となって来る。「ポイントの管理を維持し続ける労力」よりも「廃止する短期的な労力」の方がはるかにメリットが大きい。(開通を目指して着工していた鉄道の路線を廃止するようなものだ。)

複数の社員や開発グループで作成しているネット予約システムに比べれば、1個人で作成する「メリットやデメリット」にはいろいろあろう。メリットとしては「すべて自分で作っているので、細部にわたってすべてのプログラムの意図がわかっている」こと。デメリットは「とてつもなく時間がかかる」ことだ。しかし、プログラミングを教える(学んでもらう)ことを目標にしている以上、自作にこだわりたい。(プログラミング言語の自作は無理だが)
2022年(令和4年)02月の更新履歴

「新村プログラミング教材研究所(教室)」設置の気温データ記録計「おんどとり」の電池切れに気づかずに、観測データが欠落していることに気づいたのを契機に、ページの改良をおこなった。

クッキーではなく、「ローカルストレージ」なる新しい方式で画面サイズを取得する方式に乗り換えていたのだが、「表示は出来ても」、処理を分岐させるために「PHPの変数に値を渡す」ことには成功していないため、JavaScriptで画面サイズを取得してクッキーに焼く方式にもどしたのだが、「ローカルテストではJavascriptの格納フォルダー名を大文字小文字を区別せずに正常に作動する」が、「レンタルサーバー上では大文字小文字を区別するためにうまくいかない」ということに気づかずに数日間苦闘した。
 ページ最上部へ ページ最下部へ

2022年(令和4年)03月の更新履歴

「新村プログラミング教材研究所(教室)」のサイト全体に存在する、約30ケ所の諸データ格納リストを1つの画面で一望できる「サイト全体の総合管理室」ページを新設した。これにより、「各種の予約申し込み状況」や「テキスト注文の状況」、「自動実行CRONの実行結果情報」などが「ほぼ、リアルタイム」で把握できるようになった。レンタルサーバーへ負荷をかけないように30秒おき更新に設定。かつて、パソコン室の42台のパソコンの学習進捗状況を教師用のパソコンで管理した経験が役に立った。

今までは、パソコン1台でプログラミングをおこない、同じパソコンでテストをおこなう方式で開発していたが、2台のパソコンを左右に並べて、プログラミングとテストを別々のPCで行なう方式を思いついた。これにより開発速度も向上した。左右のPCで「同一監視項目の別々の画面」を見ることにより「プログラムミス」も発見しやすくなった。多数のコンピュータを配置して監視する「ロケット打ち上げ」や「小惑星探査」みたいなものだが、一つのページを作るにもかなりの時間がかかる。

以上の理由により、新村プログラミング教室の開校(開始)を4月1日と予定していたが、中高生の夏休みが始まる7月下旬に変更せざるを得なくなった。
2022年(令和4年)04月の更新履歴

(4月上旬)サーバー上で、「指定したプログラムを、指定した時刻に、指定した間隔で、自動実行するCRON」を、新村プログラミング教室の(1)「予約日選択準備」、(2)「受講済み予約移転処理」、(3)「テキスト注文取り置きボックス整理」の3つに設定しているが、(1)は1時間おき、(2)と(3)は毎日1回、実行する設定にしているので、実行結果の「お知らせメール」だけで毎日26本届くので、大事な受信メールを探すのに苦労していた。多い時には数百本のEメールを受信していたので「お知らせメール」が来ない設定に変更。代替策として「CRON実行結果情報をサーバー上の指定場所に保管しておく方式」に変更し、好きな時にサイト管理画面から見るように改良。

自宅と仕事場ではパソコンのIPアドレスが異なる場合があるので、「ネットワーク内IPアドレス探査プログラム」を自作した。LAN上のPCのIPアドレスを調べる方法は「コマンドプロンプト」や、「探索ソフト」など、いろいろあるが、面倒くさい。コンピュータと人間との「対話方式(メニュー提示方式)」にしておくことが重要である。メニュー提示方式にしておけば、(プログラム作成者ではない)事務員でも「操作方法がわかれば管理できる。」という長所がある。

(4月中旬)ローカルでも(つまり、宅内ネットワーク上でも)、自動実行CRONを定期的に実行するシステムを作成中。実行時刻になれば自動的に走らせるのだが、「リダイレクト(繰り返し多重実行)」が発生するので、「リダイレクト」が起きないように工夫中。

(4月下旬) 上記の3本の自動実行プログラムの実行間隔を 1分から2分 へ変更し、さらに、javaScriptでHTMLページに「残り秒数表示を60秒から始める」ことで、「繰り返し多重実行」を起こさずに、意図する動きをさせることに成功した。また、PHPのスリープ関数(実行遅延関数)だと意図する動きをしてくれない。「javaScriptでHTMLページにデータを書き込む方式」の方が良いようだ。
2022年(令和4年)05月の更新履歴

(5月上旬)2台のPCを左右に並べて、プログラミングとローカルテストを別々のコンピュータで行なう方式を導入したことによるプログラムの改修作業。2台のPCと言っても、正確には、片方は「無線キーボード」と「ワイヤレスマウス」のBluetooth電波が届く距離にあるコンピュータの「リモートディスプレー」である。リモートディスプレーにした方が、新たにパソコンを買う必要がないので低コストである。本番稼働だと、確認コードを送信するところを、ローカルテストの場合の場合は、「送信できたことにして」、確認コードを画面表示するプログラムが3サイト全体では相当数あるので修正作業が必要だ。ローカルなのか本番なのかの判断には「サーバー変数$_SERVER["SERVER_NAME"]の値が自分自身のIPアドレスである『127.0.0.1』かどうか」だけで良かったのだが、これからは「プライベートネットワークIPアドレスの『192.168.X.X』かどうか」も加味しなければならない。

(5月中旬)新村プログラミング教室の会員登録フォームの改良。「管理者権限での会員情報の修正」を可能にしたことに伴うプログラムの改良。「会員登録フォーム」と「会員登録情報の修正」の両方に存在する同じ部分を、「部品化関数」として作成および改良。「部品化関数」のメリットは、「どこからでも再使用可能」で「修正部分がすべてに反映されること」である。
 ページ最上部へ ページ最下部へ

2022年(令和4年)06月の更新履歴

(6月上~中旬)2台のPCを左右に並べて、プログラミングとローカルテストを別々のコンピュータで行なう方式を導入したことによる改修作業の続き。改修作業は面倒だが、「メリット」は絶大である。多数のプログラムの中から、改修作業中のプログラムを見つけ出す作業が楽になり、また、プログラムの改修により「どういう不具合が起きるのか起きないのか」の確認も楽に出来るようになった。難工事のために「ポイント付与の廃止」を考えていたのだが、「会員特典のポイント付与およびポイント使用」を続けることにし、「ポイント付与率」をプログラム中に書き込む方式から、状況を見て 「 いつでも改変できるように 」 改良することにした。2ヶ月位前から取り入れていることだが、「 Windows11にも対応するテキストエディタ 」として 「マイクロソフトの無料コードエディタ-Visual Studio Code 」 をPHPのプログラムだけでなく、すべてのコード編集に用いることにした。「 テラパッド 」 は軽快だったが、Visual Studio Code は抜群に軽快だ。「 読み取りとスクロール 」 が軽快であることに気付いた。TeraPadはWindows11対応とは書かれていないことも考慮して 「 Visual Studio Code 」 に切り替えた。これに伴い 「 プログラミングに必要な各種ソフトのインストール方法 」 のページとテキストも作り変えなければならなくなった。という訳で、7月下旬開始という目標だった「 新村プログラミング教室 」を12月頃の開始に、「 再々々延期 」 せざるを得ない。
2022年(令和4年)07月の更新履歴

「新村プログラミング教室」の「受講申し込みシステム」の改良作業。「予約確定」の状態で受講年月日を過ぎると、本番稼働のサーバー上では自動実行CRONにより自動時に「受講済み候補リスト」に移転されるが、ローカルの場合にはパソコンを立ち上げている時だけ、しかも気付いた時に「手動」で「受講済み予約リスト移転処理プログラム」を動かさないかぎり移転されない。これだと、テストがやりにくい状態が続いていたので、「サイト管理プログラム」を立ち上げた時に、「実行推奨のメッセージ」を出すように改良した。

また、「テスト用の模擬予約リスト」を日々の時間割表に入れて置いた方がテストがしやすいので「模擬予約リスト作成プログラム」の改良作業に着手。仮予約のまま放置され、自動削除(ローカルの場合は予約ページを開いた時に削除)された予約リストを元に「模擬予約リスト」を作れるようにもしているが、この方式も一長一短がありそうだ。

受講料やテキスト購入のためのQRコード決済(キャッスレス決済)として、「ペイペイ(paypay)」を登録済みであるが、どういう訳か「楽天ペイ」や「メルペイ・d払い」などから勧誘電話がくるようになった。「渡りに船」なので申込んだら、思ったよりもすんなりと登録されたが、まだ予約システムの構築中なので利用は先になりそうだ。
2022年(令和4年)08月の更新履歴

「新村プログラミング教室」サイトの「運用テストを兼ねたプログラム改良中」に、約1,000個のプログラムと画像ファイルの中で、容量が0バイトのファイルが見つかった。ファイルサイズが0では、プログラムならば稼働停止となり、画像ならば表示されない。原因はおそらくアップロードまたはダウンロード時のFTPソフトの不具合だろう。画像ならば問題ないが、プログラムだと一本でもあれば正常に稼働しない部分が生じてしまう。約1,000個あるファイルを目視でチェックするのは膨大な時間がかかってしまうので何かいい方法はないかと考えた結果、自動でファイルサイズ0のファイル見つけるプログラムを自作することにした。ネット検索の結果、PHP関数の「scandir(相対パス)」を用いれば「サイトがどんな構造になっていようとも一瞬でチェックできる」ことが確かめられた。この自作プログラムを「限りなき明日への挑戦」サイトにも移植して調べたところ、約1,300個のファイル中の3個の画像ファイルが容量が0だった。サイト構築開始から約20年間で3個というのは確率は非常に低いが、「1個でもファイルサイズ0のファイルがあれば支障を来す」ことになる。幸いにも、バックアップが残っていたので正常なファイルに置き換えることができた。バックアップを取っておくことの重要性がわかった。

「新村プログラミング教室」の「テキスト注文予約システム」の構築および改良の段階に入った。「(入金未確認)注文テキスト取置リスト」から「(入金確認済)予約確定リスト」への移行処理ならびに削除処理の確認テストの段階に入った。受講予約システムからのプログラムコピーにより構築しているので少しは楽であるが、チェックが欠かせない。
 ページ最上部へ ページ最下部へ

2022年(令和4年)09月の更新履歴

「新村プログラミング教室」サイトの「テキスト購入ネット注文システム」の構築中に「Bad Request エラー」が多発するようになった。ネット検索で調べたら、原因として「次のページにGETで送付するデータのURLが長すぎる。」、「ブラウザキャッシュやクッキーの破損または有効期限切れ」、「ファイルサイズが大きすぎる。」などが記載されていた。「IT用語辞典」に「GETの場合はURLの一部として送信するためあまり長いデータは送信できないが、POSTであれば大容量の添付ファイルなども送信することができる。」とあったので、エラーが出たページのデータ伝送をGETでなくPOSTに変更してみたが、それでも「Bad Request エラー」が出る。ページ間の各種データの伝送として「クッキー」も多用しているので、「ブラウザの履歴のクリア」をすればエラーは出なくなるが、しばらくするとまた出る。根本的な解決策として、クッキーに焼くデータ量を減らすしかない。ネット注文ならば「テキストコードと注文数のみ」とし、画面提示用の「テキストのタイトルやサブタイトル、解説文」などはその都度、登録情報リストから調達することにした。「その都度調達するプログラム」は一本だけ作っておき、何度でも、どこからでも利用できる「関数」とすることにした。
2022年(令和4年)10月の更新履歴

「新村プログラミング教室」サイトの「テキスト購入ネット注文システム」の構築および改良中に、バグを見つけた。■ 入金未確認注文取り置きリスト、■ 入金確認済み注文取り置きリスト、■ 取り置きリストゴミ箱、■ 入金未確認のお支払い連絡リスト、■ 入金確認済みのお支払い連絡リスト、■ お支払い連絡リストゴミ箱、■ 取り置きリスト過去帳、■ お支払い連絡リスト過去帳、の相互移動処理(10数通り)を1本のプログラムで処理しているが、「ゴミ箱」から「過去帳」への移動処理の中で「リスト全壊」ではないが壊れるというバグが見つかった。10数通りの処理を1本のプログラムで処理することのメリットもあるが、バグ修正の面では『複雑すぎる』というデメリットもある。

11月からは「在庫管理プログラム」に入りたい。お支払い期限までに「キャッシュレス決済」または「銀行振り込み」がなかった場合の『 注文自動取り消しおよび手動取り消し 』による 【在庫数の自動修正】はまだ取り入れていないので今後の課題である。
2022年(令和4年)11月の更新履歴

「アプリ開発環境zammp(ザンプ)の最新版」をインストールしたところ、PHPのバージョンが8になっていた。これまで正常に稼働していたページで不具合が発生して先へ進めないことを発見した。3つのサイトを置いているレンタルサーバーはまだPHPver7なので正常に動くので問題はないが、アプリ開発に支障が出てしまう。ネット検索で調べてみたら、「PHP7までは、厳密でない比較演算子を利用した文字列および数値の比較について、文字列を数値にキャストし、比較を実行している。利便性が高いが意図しない誤った結果につながる可能性があり、・・・」と書かれている。テキスト注文ページで「もし在庫数>3ならば」とすべきところをうっかり「もし在庫数>3冊ならば」と誤設定していたがPHP7ではうまく処理されていたのだろう。PHP8では「エラーメッセージを出すことなく不具合が発生している」ことがわかり、プログラム修正を開始した。まだ見つかるかもしれない。
 ページ最上部へ ページ最下部へ

2022年(令和4年)12月の更新履歴

「新村プログラミング教室」の「会員特典ポイント管理システム」の改良に着手。一度は、「ポイント管理の煩雑さ」からポイント付与の廃止を決めていたのが、あちこちに残るポイント付与プログラムの痕跡を除去するのをやめて、逆に、完成させようと心に決めた。

今までは「ポイントの付与並びにポイント使用の記録」を、「複数の会員の混合ファイル」としていたが、「会員毎の個別記録ファイル」として管理することにした。個別の記録ファイルは、会員登録後の受講申し込み時に入金確認メール送信時に自動的に作成されるので、「既知の記録フォルダー/未知の会員IDフォルダー/未知の記録ファイル名」を探索する「ディレクトリスキャン」という手法を用いる必要があるが、これだと煩雑になることはないというメリットがある。「ディレクトリスキャン」はすでに「サイト全体のファイル容量のチェック」で取り入れていたのでうまくできた。「既知のフォルダー内の未知のファイル探索」は温度記録やネットワークカメラの画像名探索でも経験があったので楽にできた。

ポイントの管理は非常に大切で、ミスは許されない。「現有ポイント数」、「使用ポイント数」、「付与ポイント数」、「最終保有ポイント数」に矛盾やミスがあってはならない。「ポイントの付与と使用の段階」と「管理ページ」の複数の場所で、『 二重チェック 』をすることにした。

そろそろ「サイト内総合管理ページ」の最終運用テストの段階に入ったが、まだまだ、不具合や改良点がどんどん見つかる。ページの表示に時間がかかり、いつまで待っても「クルクルマーク」が回り続けてページのスクロールが出来ないという不具合も見つけた。旧バージョンのXAMMP(ザンプ)では、30秒程度でエラーを教えてくれていたが、PHP8では教えてくれなくなったので、「自分で不具合の原因を突き止める解析力」が要求される。

受講予約の基板となる「開講日設定(時間割設定)ファイル」の『 年末から年始への年越し 』の時にファイル名の変更が難題であった。年越しの何日も前から新しいファイルを用意しておく方法もあるが、これだと、2つのファイルに受講予約を記録しなければならず、プログラムが複雑になってくる。「固定のファイル名」とすることを思いつき、難題が解決できた。これまではファイル名に西暦年を入れていたのだが、これだと1月1日になったら新しい年のファイルを参照して読み書きするので、メンテナンスで気が抜けなかった。固定ファイル名とすることで何もせずに新年を迎えることができるようになった。あちこちのプログラムの改修は必要だが一度の苦労で済む。
2023年(令和5年)01月の更新履歴

「新村プログラミング教室」サイトの教材テキスト購入時の「教室内パソコンでのキャッシュレス決済処理」の改良の続き。無料でもらえた端末でのクレジットカードでのお支払いもできるように改良。「購入希望者が購入手続き中の教室内パソコン」 と 「管理用の別の教室内パソコンからの入金確認処理」 をサーバー上で自動連携させて 「領収書発行処理」 を可能とするプログラミングに着手した。注意しなければならないのは、 「非対面でのキャッシュレス決済」 が禁止事項になっているので 「教室外」 のパソコンでの購入手続きの場合には、キャッシュレス決済に進ませないようにすることである。

ローカルテストの場合に 「プログラミングと確認表示を複数のパソコンでおこなえる方式」 を昨年の3月頃から取り入れているが、改良箇所が数10~数百箇所もあるので、時々、未改良の場所が見つかり、対応をせまられる始末である。放置していても、サーバー上では問題ないのだが、開発テストでは勘違いや苦労の原因になる。

「受講申し込みやテキスト購入時」に、 「ページの更新」 や 「前のページに戻る」 をされてしまうと不具合を起こすページが多数ある。「javaScriptにより戻ってきても跳ね返す」 の他に、「更新ボタンを表示させない」、「戻るボタンを表示させない」 などの対策として、以前から 「数学教室」 や 「情報学習室」 で取り入れている 「新規ウインドウで開いてツールバーやメニューバーを表示させない方式」 を導入した。それでも、「ALT」 と 「←」で前のページに戻られたり、 「Ctrl」 と 「F5」 で更新されたりしてしまうので、改良以前から取り入れている 「クッキーを利用した重複実行防止」 も併用することにした。「入るな!と注意していても入られてしまう」、「さわるな!と注意してもさわってしまう。」、「戻るな!と注意しても不注意などにより戻ってしまう場合がある。」 のが人のおこないであろう。「入られても、さわられても、戻られても誤作動や不具合をおこさないシステム」 にしておくことが重要であろう。
2023年(令和5年)02月~03月の更新履歴

「新村プログラミング教室」の4月オープンに向けて「受講予約システム」と「テキスト購入システム」の総合チェック作業。作業内容(その1)としては、サイト内の4カ所に分散配置していた「暗号化方式と暗号化キー」の設定を一カ所に集約する作業。一カ所に集約することで、さらに解読されにくい暗号化設定に変更することが可能ではないかと考えている。作業内容(その2)としては、サイト構築の初期段階でタイトルや項目名を青色で表示していたが、これだと、リンクを貼っている青色部分と錯覚してしまう。この修正部分が多数ある。作業内容(その3)としては、一般には公開しない「サイト管理ページ」で「想定外の不具合発生部分」が結構あるので、これらの修正。作業内容(その4)としては、外部読み込みの自作関数の改良した関数への置き換え作業。その他の修正作業も沢山出てくる。

サイトで公表している「4月1日のオープン」までには、曲がりなりにも間に合わせたいが、再三再四のオープン延期にはしたくないので、「システムチェックを兼ねて無料開講期間」を設ける方向で検討している。サイト構築段階では「ローカルテスト」が中心なので、「無料開講期間」では、「キャッシュレス決済の運用テスト」や「キーボード操作検定の運用テスト」に参加してもらう予定である。
 ページ最上部へ ページ最下部へ

2023年(令和5年)04月~12月の更新履歴

「新村プログラミング教室」は4月オープンを目標にしていたのだが、各種独自システムの最終チェックで不具合や改良点がいろいろ見つかったので「再々々…延期」せざるをえなくなった。改良点としては、「営業時間案内ページ」を設置したこと。「料金等のお支払いやテキスト受取り」のための「来訪可能日時選択ページ」で選んでもらった「来訪可能日時・時刻」がお休みだったという事態を防止するための対策である。不具合の代表的な例としては、ローカルテストの中でテキスト購入の注文情報が壊れてしまう場合があったので、原因究明および改良であった。例えば購入IDが1234567890の場合には、検索素子を1234567890ではなく、【購入ID】1234567890とすることで解決できたみたいである。

依然として多数の不具合が解消できていないので、7月オープンも「再々・・・延期」せざるをえない。改良に伴う新たなバグも見つかる。多数のルートで一つのプログラムを使っている場面がいくつかあるが、これもあらたな不具合が生じる原因になっているようだ。「共用関数」を外部から読み込む場合は1行の記述なので煩雑ではないが、共用関数にしていない部分はプログラムが煩雑きわまりない。1000行以上になってくると「プログラム内関数」にしていても複雑極まりない。こういうプログラムの分離作業も開始した。

長年使っているWebアプリケーション構築ソフトZAMPPのメニューにある「Mercury」なるものについて調べてみたら「ローカルでメールフォームなどを開発する場合、その動作を確認できなくて困ることがあります。・・・原因は、単純にローカルマシン自身がSMTPサーバではないからです。」とあるではないか。今までは、ローカルテスト時には「架空メール送信」という方法を取っていたのが、マーキュリーを習得すればサーバーからはもちろんだが、ローカルからもメールマガジンや各種のお知らせメールが送れるということか。
2024年(令和6年)01月~03月の更新履歴

「新村プログラミング教室」の4月オープンに向けてのシステムの最終チェック。「最終チェック」の中で、次々に改良すべき箇所が出てくる。主な改良点は、ローカルテストでは、自動実行CRONが常時実行できないことによる各種予約等の処理の不具合発生だ。これを解決する手段として、自動実行CRONに頼らずに(サイト管理をしたい時に)必要なリストを自動作成することだと気付いた。

自動実行CRONをすべてやめるのではなく、「予約失効通知メール送信等」は引き続き自動実行CRONにまかせることにした。

「限りなき明日への挑戦」のTopページへ