弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

» 2011-08-10の日記

【Linux】 フォルダの言語選択を手動で行う

Ubuntuならばログイン時に違う言語を選択して起動すると自動的にフォルダの名称を言語に合わせるかどうか聞いてくるのだけれど、Xubnutuでは聞いてくれない(汗)。ただし、それは自動起動項目にフォルダの言語選択のアプリが登録されていないだけの話であり、端末で以下のコマンドを入力することで

LANG=C xdg-user-dirs-gtk-update

フォルダの言語選択のアプリを起動させることができます。氷翠さんがUSBメモリで持ち運べる自分のLinux環境を構築する際に、この方法を試したのだけれど、Don’t ask againの設定にしてあると立ち上がってくれないんですよね(笑)。しかもこれ以外に立ち上げる方法が分からない…。

そんな時はどうしたら良いのか…調べてみるとHome内の「.config/user-dirs.dirs」というファイルを編集すればOKということが分かりました。端末にて以下のコマンドを入力します。

sudo leafpad .config/user-dirs.dirs

上記のコマンドの「leafpad」の部分は、お使いのエディタ名に変更してくださいね。で、表示されたファイルの内容を編集・保存すればOK。再ログインすると設定が反映されます。


簡易データベース作成アプリの改良

毎朝、仕事で使っているWindows98SEを立ち上げると簡易データベースの更新アプリが起動するようにしております。ところが…今月に入ってかは起動して動作しているように見えても実際にはデータベースを作成していなかったことが分かりました。私が開発したプログラムのバグです(泣)。今日はそのバグ解消というか、プログラムを書き直したお話。

このプログラムはWindowsで動作するフリーのインタプリタ型プログラム言語「HSP(Hot Soup Processor)」で開発し運用している検索アプリ用の簡易データベースを作成するものです。先月行ったプログラムの改良では、日曜日や祝日(GW休暇)などの可能性を考慮し、日付をプラス1して再処理するようにしていたのですが、7月の最終日が日曜であったことで月末の処理と日曜日の処理が同時に必要になり、その時の処理を考慮していなかったのがバグの原因でした。

ソースを改めて見直してみると…年月日ごとに保存されているテキストを一つにまとめるのに「どうしてこんなことをしたのか…」と自分でもあきれてしまうくらい複雑なプログラムの組み方をしておりました。月末、年末、日曜日とか祝日とか閏年とか…様々な状況を考えながら細かい条件を立てて、それに基づいて処理する複雑なプログラムになっていました。今回はその部分をアバウトな感じで書き直すことにしました(笑)。

今まで複雑すぎてなかなか手を入れず、だましだまし手を加えてきたために分かりにくいソースになったプログラムを捨て去り、シンプルな考え方の処理を新たに書き起こすことにしたんです。シンプルな考え方とは…月末、年末、日曜日とか祝日とか閏年とか…を全く考慮しない方法。今日の日付と簡易データベースの最終更新日。まずはそれだけをチェック。その間のデータベースを作らねばならないのですから、サーバーに保存されている年月日のフォルダ…これが存在していれば、その日付のデータベースを作成する。ただし、今日の日付まで処理したらそこでプログラムを終了するという、それだけのシンプルなプログラム。

ただ、問題だったのは、更新が必要な年月日が必ずしも仕事の稼働日ではないということ。該当するディレクトリが無かった場合は、日付をプラス1して再チェックを行うようにしていたのですが…厳密過ぎたようで…
もっと柔らかい発想が必要。とにかく更新が必要な日以降のディレクトリをリストアップし、今日の日付まで順に処理していけば良いだけだったのです。今までは年代わりの処理とか、月代わりの処理などを難しく考えすぎておりました。

そして、今までは更新が必要な日のテキストファイルの数を確認し、数が違っていれば更新をかけるという処理をしておりましたが、これをもっと単純に有無を言わさず最終更新日の3日前から処理をする仕様に変更しました。プログラムの質というか精度というか、処理の複雑さは思いっきり下がったものの(笑)、シンプルで確実な動作が期待できます。何より簡易データベースに登録するための記事漏れを防ぐこともできるなどメリットが多いんですよね。コメントやソースを見やすくするための境界線なども含めてですが513行だったのが…312行まで圧縮できました(笑)。動作速度もかなりのものになりました。


固定ページ

最近の投稿

カテゴリー





カレンダー

2011年8月
1234567
891011121314
15161718192021
22232425262728
293031  

過去の日記はこちら

キーワードで検索