HSP用モジュール「kurage_mod」にバグ…
Windowsで動作するインタプリタ型プログラム言語「HSP(Hot Soup Processor)」で、仕事に役立つアプリケーションを開発しております。仕事の合間に取り組んでいるので遅々として進まなかったりするのだけれど、文字処理に特化した自作モジュール「kurage_mod」に助けられております。今回は「kurage_mod」の拡張をしている際に見つけたバグ…いわゆる実に情けない凡ミスのお話。
「kurage_mod」の凡ミス…それは昨日の日記でも紹介した、特定の日付から○日後を求める命令「K_WHAT_DAY」の中にありました。年月日を求める際に、閏年の処理が正しく行われていないことが分かったのです。
閏年の処理は前回の閏年である2008年の少し前に自分で書いたサブルーチンから持ってきてモジュールに組み込んだ覚えがあったのだけれど…モジュール内「K_WHAT_DAY」のソースを見ると驚くべきバグがあったのです(笑)。
閏年を求めるソースはこんな感じです。
//閏年のCHECK-------------------
//変数aに閏年かどうか調べたい西暦を代入しておく
repeat 15 //このくらいリピートしておけば良いかと(笑)
b=2004+(4*cnt) //ここで4年ごとの閏年を生成
if a=b : URU_FLAG=1 : else : URU_FLAG=0 //変数aと4年ごとの閏年が等しければ1に
await
loop
return
西暦を入れた変数が閏年ならばURU_FLAGには1が入り、そうでないならば0が入る仕組み…のつもりだったのが、上記のソースでは例え閏年だったとしても、リピートの途中でフラグが0に戻ってしまうんです(爆)。
これを見つけた時は我ながら笑ってしまいました。このせいで開発中の新しい命令の完成が遅れておりましたが、以下のソースに書き直すことで正しく動作するのを確認できました。
//閏年のCHECK-------------------
//変数aに閏年かどうか調べたい西暦を代入しておく
repeat 15
b=2004+(4*cnt) //ここで4年ごとの閏年を生成
if a=b : URU_DOSHI=1 : break //閏年だったらフラグを立ててループを抜ける
await
loop
if URU_DOSHI=1 : return : else : URU_DOSHI=0 : return //重要(笑)
こんな感じです(笑)。
それと、ここ数日は「kurage_mod」に新しい命令を追加するべく開発中です。これが完成すれば、しばらくやめいていた「kurage_mod」の公開を再開する予定です。
WordPressのデータベースをバックアップする最適な方法
WordPressにて運営しているこのサイト『「弐条海月のとはずがたり」』に、久しぶりに手を入れていこうと思います。まずは「いざという時」のためのバックアップ体制の確立を図ることにします。現在、このサイト『「弐条海月のとはずがたり」』はWordPressを利用して運営しているので、WordPressにて定期的にバックアップを取るための最適な方法を探して実践することにしました。そのお話。
WordPressにおけるデータベースのバックアップは、WordPress純正の機能で「エクスポート」という方法があるのだけれど、実はこれでは不十分らしいのです。調べてみると、「エクスポート」はページのデータ、記事の本文、日付、コメントなどのバックアップが取れるのだけれど、WordPressのデータベースには、その他にも管理画面で設定した内容などが保存されるテーブルがあるのです。それらは残念ながら「エクスポート」では書き出すことができません。
私は今までそれを知らずに定期的なバックアップ、WordPressのアップデート時のバックアップなどを「エクスポート」で行ってきました(汗)。今後は確実にバックアップをとるためにも「WP-DBManager」を導入すべきだと思ったわけです。
そんな私が選んだのは、データベースのバックアップを簡単にとることができるプラグイン「WP-DBManager」。さっそくインストールしていきます。
「WP-DBManager」のインストール
・WordPressの管理画面で「プラグイン > 新規追加」に移動。
・「WP-DBManager」を検索、インストールし有効化する。
・管理画面に表示されるメッセージに従い、FTPアプリにてフォルダ「wp-content/plugins/wp-dbmanager」内のファイル「htaccess.txt」をフォルダ「wp-content/backup-db」に移動し「.htaccess」にリネーム。
「WP-DBManager」のインストールが終わると、WordPressのダッシュボード内左側のメニューに「Database」が追加されています。ですが、このプラグインは英語表示なので、日本語化したいところです。
「WP-DBManager」を日本語化する
・「MMRT daily life」さん(http://wp.mmrt-jp.net/plugin-japanization-project/dbmanager/)で紹介されている日本語化ファイル「WP-DBManager[v2.20] 日本語版」をダウンロード&解答し、中にある「wp-dbmanager-ja.mo」「wp-dbmanager- ja.po」の2ファイルをFTPアプリで「wp-content/plugins/wp-dbmanager」に入れます。
WordPressのダッシュボード左側メニューを確認すると「Database」だったところが「データベース」と日本語化されているはずです。これで日本語化された「WP-DBManager」を使うことができます。さっそくバックアップをとらなくては…。