弐条海月の とはずがたり

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

プログラム開発…法則性は大切です

先週のことでしたか、 2009年12月08日 仕事で使うサポートアプリ開発… で書いたプログラムを開発して便利だなぁ…と思っておりましたが、週1回あのアプリを使用する日がやってきました。サクっと動作することを期待してボタンを押したら…さっそくバグが発生しました(笑)。

急いでプログラムを組んで完成させたアプリですので、エラー処理とかがまるでなっていません(笑)。それでもシンプルな構造ですから、順を追って画面に処理結果を表示しながらバグが発生しているヵ所を調べると…すぐに判明しました。

データ内にある特定の文字とスペースが2つ入っている箇所で題と名称とを分離しているのですが、今回のデータは特定の文字とスペースが1つしか入っていなかったため、処理が止まっておりました。記述の法則が違っているのは、過去2週間分のデータとは違う人が作成したからなのでしょうかね。分かりませんけれども。

もちろん、すぐに対応するべくプログラムに手を入れました。特定の文字があれば、スペースが1つでも動作する仕様に変更して解決です。こういったチカラ技的な作業は得意ですからね。別の取引先から送られてくるPDFファイルのリネーム処理プログラムで鍛えられておりますので(笑)。

無事に動作することを確認し、紅茶でひと息つきながら…
「うーむ、法則性のない仕事っぷりの取引先が多いなぁ…」
と、ふと思ってしまった今日この頃。。


仕事で使うサポートアプリ開発…

仕事で使うサポートアプリ

仕事で使うサポートアプリ

メールにて取引先からデータを送ってもらい、こちらで加工して処理するという業務がいくつかあるのですが、そのうちの1つが反乱を起こしまして(笑)。今までと違った方法でデータを送ってくるので困ったあげく、作っちゃいました。文字処理に特化したサポートアプリを…。

今まではあらかじめ渡し済みのテンプレートを使ってデータを入力してもらい、そのファイルをメールに添付して週1回、送ってもらうという形を取っておりました。再三に渡って「使いづらいので何とかして欲しい」と言われておりましたが、面倒だったので無視しておりました(爆)。

そんな私も悪かったのですが…とにかくデータを送ってくるのが遅いので毎週、何度も催促しなければならないのが大変でした。そしてついに先日、よもや間に合わないのでは…というほど遅れまして、その時に先方から届いたのがテンプレートファイルを使わずにメール内に直接入力したデータだったのです。

それからというもの、渡したテンプレートを使わずに、直接メール内に打ち込んで送ってくるようになりました! テンプレートが使いづらいという声を無視していた報いなのだと思いますし(笑)、いかんせん取引先なので強くは言えません(泣)。なので…データを受けるこちらで何とかすることにします。

という訳で…さっそく「レッツ・プログラミング!」(爆)。

「ないんだったら、自分で作ればいいのよっ!」という精神はとても大切ですからね(笑)。

本当はプログラムなんて書いている場合ではないくらい忙しいこの時期ですが…目の前に何とかしなくてはならない問題があると…つい飛びついてしまいます(笑)。

さて、送られてきたデータは、題と名称が1行になっていて、頭に枝番号が振られています。添付ファイルではないので、データ以外の不要な記述が上下に入っています。ですので、プログラムでは以下の処理を行うようにしました。あっ、開発はフリーのインタプリタ型プログラム言語「HSP 3.1」(Hot Soup Processor)で行っています。

・データ以外の不要な部分を削除

・題と名称を分離

・枝番号を除去

・英数字を半角に統一

立ち上がったプログラムのウインドウに、メールの文章をコピー&ペーストし「処理開始ボタン」を押すと、上記の文字処理が瞬時に行われ、表示が成型後のデータに置き換わります。それを別アプリにコピー&ペーストできる仕様となりました。うん、これは便利!

いずれは…同様なスタイルで受け取る他のデータも成型できる複合型文字処理アプリに進化させたいと思います。…時間があればですけれども(笑)。


HSPで作ったアプリの話…

 仕事で使うPDFファイルのリネーム&コピーアプリをWindows環境で動作するフリーのプログラム言語「HSP」(Hot Soup Processor)で開発して使っているのですが…その改良を久々に行いました。その記録です。

 アプリのことは、2009年08月22日の日記「仕事で使うHSPアプリ…」にある通りなので、説明は省きますが、様々なファイル名に対応させるのが結構大変なのですよ。

 しばらく忙しくてPDFファイルファイルの処理を忘れておりましてたら、ファイルが152個も溜まってました! なので、早速処理を開始したのですが…。

 久々におかしな名称のファイルがあって、プログラムの見直しを迫られました(汗)。しかも、修正すると従来のファイルの処理がおかしくなってくる始末。「ならば…いっそ!」とばかりに、リネーム部分を全く新しく書き直しました。

 しかも、これまでは1日毎のファイルしか処理できなかったのを、何日分でも構わず一気に処理できるように改良しました。ついでなので処理した日付のディレクトリを開いて確認しやすくするというオマケ機能も付加しました。こういった処理が手早くできるのは、HSPが使いやすいい言語だからです。Mac版出れば良いのに…と心から思いますね。

 ですが…どこにバグがひそんでいるか分かりませんので…一気に処理せず、今まで通り1日ずつ処理する自分(爆)。ですが、自社で生成しているPDFファイルであればファイル名が統一されていますから、一気に処理できますね。とりあえず今回は3~4ファイル毎に日付が異なる計60個くらいのPDFファイルを一気に処理できましたので、意図したとおりに動作しているようです(笑)。


UbuntuのFTPアプリのこと…

「Ubuntuソフトウェアセンター」を起動。カテゴリ「インターネット」を選択しFTPで検索して出てきた中から、いくつかの候補を選んでダウンロードしてみました。これはその記録です。

kasablanca

ヤシの木をモチーフにしたアイコンが秀逸なアプリ。GUIも良かったのですが、ローカル及びサーバーのディレクトリ一覧の窓を動かすことができないため、ネットブックでの使用に適さないと判断しました。

FOFF(Free Open FTP Face)

動作も軽快な印象ですが、NetBook Remixとの相性が悪いようで、画面が最大化されません。これでは見た目よろしくないので使用しないことにしました。

FTP

起動は一瞬。ですがシンプルなGUIは寂しさすら覚える仕様。Ubuntuとのデザインの整合性が取れていないのは納得いかないので、これも辞めておきます。

KFTPGrabber

KDE用のアプリケーションらしく、美しいGUIが特徴です。使い勝手もかなり良さそうなのですが、ファイルリストとディレクトリリストが分かれているのはネットブック向きではありませんでした。さらに、ドラッグ&ドロップでのファイルのやり取りも、個人的には好きですが、やはりネットブックでの仕様は厳しいものがあると判断しました。大きな画面のPCなら迷わず使いたいFTPアプリです。

FileZilla

名の知れたアプリケーション。豊富なカスタマイズが可能で、ネットブックでも使いやすそうな印象です。使い込めばかなり大がかりなアプリなのですが、サッと使うのも簡単なので良いですね。ただし、Netbook Remixとの相性には疑問が残ります。Windowsがうまく最大化されないようです。まぁこれは私の環境下だけでの話かもしれませんけれども。

gFTP

「Ubuntu 9.04」の時から使っているFTPアプリです。使い慣れているという点を抜きにしても、秀逸なアプリだと思います。やはりこれを使うのがベストですかね。FTP接続するのに毎回パスワードを入れるのがすごく面倒ですが…。これが何とかなれば言うことなしなのです。


ブートUSBメモリを簡単に作る「UNetbootin」…

今日は「UNetbootin」というアプリケーションを使ってみました。これは、OSインストール用のブートUSBメモリを簡単に作ることができるアプリです。

今までは自分で必要なOSのisoイメージをダウンロードしてから、iMacに入れたVirtualBox内のWindows上のアプリケーションを使ってブートUSBメモリを作成していましたが、「UNetbootin」ならばOSのインストールイメージを自動でWebから取得してくれるのです。うん、これは便利。まぁ…iMacに入れたVirtualBox内のWindowsを使う…というところは変わらないのですが(笑)。

操作はとっても簡単ですよー。OSの種類とバージョンを選んでGO! あとは自動でブートUSBメモリが出来上がるのを待つだけです。25種類のOSに対応しているらしいのですが…私はとりあえずUbuntuだけで結構です(笑)。

しかも、自動取得ではなくあらかじめダウンロードしておいたisoイメージを使ってブートUSBメモリを作ることもできるので、今まで使っていたアプリはもう必要ないです(笑)。今まで使っていたアプリは、正常に動作はするも毎回エラーメッセージを吐き出していて気分が良くありませんでしたので、ちょうど良かったと思います。

いずれにせよ、こんな便利なアプリケーションがフリーで手に入るのだから嬉しい限りですよね。
UNetbootin」の公式サイト(英語)はこちら http://unetbootin.sourceforge.net/です。


固定ページ

最近の投稿

カテゴリー





カレンダー

2024年5月
 12345
6789101112
13141516171819
20212223242526
2728293031  

過去の日記はこちら

キーワードで検索