自作ソフトについて少し
をテンプレートにして作成
開始行:
[[FrontPage]]
だいたい製作順。書きかけ。
#contents
*Guppy [#i2f519e1]
VB(Visual Basic 4)で作った最初のソフト。たぶん中2の頃ですね(昔だなぁ)。
当時は親のPCを借りてたこともあって、PCを使える時間が制限されてたので、ソースコードを全部紙に書いて、机上デバッグまでしてからPCに打ち込むという、前時代的なプログラミングスタイルでした。
机上デバッグの甲斐あってか、最初に作ったにしては、素直に動きました。
が。
数ヵ月後にソースを読み直して、「このPとかLとかいう変数(コメントも無し)は何だ?」と悩むことに(笑)。分かりやすい変数名とコメントの重要性を痛感したのでした。
*大貧民 [#w6ad0051]
最初にVB版を作ったのが中3の頃。それをBCB(Borland C++ Builder 4)に移植したのが高1の頃。
VBとBCBは、言語の違い以外はほとんどそっくりなので、とっつきやすかったですね。移植の時は、VBのソースをBCBのコードエディタにコピペして、行末にセミコロンを付けたりしてC++のソースに直訳したぐらいです。
そのせいで、いまだにグローバル変数いっぱいの汚いソースをひきずってますけど。
いかにもツール屋が作ったゲームって感じのチープな見た目が特徴です。COMはイカサマしてない割にはまずまず強いですけどね。
僕が作ったものの中では一番DL数が多いようです。今は亡きOh! PCなど、いくつかの雑誌にも載せてもらいました。
*Devas [#u67af43a]
語源のDeveloping Assistantが示すように、元々は「ソフト開発に役立つ小物ツールの寄せ集め」にする予定でした。
初期のDevasには、「クリップボード内のテキストをインデント/逆インデントする」なんて機能が付いてます。が、その手の機能はエディタが持ってるほうが便利だし、実際持ってる場合が多いので、「テキスト検索/置換」機能に専念することに。
一度、特定条件でずれた所を置換してしまうというバグが発覚して、かなり焦りました。この手のソフトにバグがあると、ユーザさんの大量のファイルを一度に壊しちゃうかもしれないですからね。
そんなこんなでバックアップ機能が付きました。これはユーザさんのためというより、作者の不安を減らすための機能ですね…。Devasのバグのせいでファイルが壊れても、「バックアップが有りますよね?そこから元に戻せますよ」と言えば、なんとか糾弾は免れる、という。
このソフトは自分が開発する時、他人のソースを読むときに必須になってます。MacやLinuxで作業する時は、grepと簡単な置換スクリプトで代用してますが、
-検索結果を見やすく一覧表示したい。
-ヒット箇所前後の行も簡単な操作でチェックしたい。
-リストを見ながら選択的に置換したい。
-正規表現置換の結果をプレビューしたい。
となると、なかなかCUIでは難しいですね…。
最近は文字コードの自動判別機能(powered by [[バベル:http://tricklib.com/cxx/ex/babel/]])も付いて、「誰もが欲しがる機能」はだいたい出揃ったかな、と思ってます。
*G Check [#je04e770]
今時はメールソフトを常駐させといても大した負荷にならないので、あまり需要は無いのかも…。これを作った当時はMe使いで、「Outlook Expressを閉じるとシステムリソースが4%から12%になるから、代わりにもう1個IEを開けるぞ」とか言ってたので、メールソフトの常駐は論外でした。
いくつか他のメールチェッカを試してたんですが、
-シンプルな新着通知(件名が表示されて音が鳴るだけ)
-普段は全く(タスクトレイにも)表示されない
てのが見つからなかったので、作っちゃいました。
メール受信部分は[[nMail.dll:http://www.nanshiki.co.jp/lib/nmail.html]]を使ってます。これを見つけなければ、作れなかったでしょう。
実は一度、「Windows起動直後にWindows全体がやたらと重くなる」という、最近どこかで聞いたようなバグが発覚してかなり焦りました。原因は、状態をファイル(バイナリ)を保存する時に、文字列のサイズをsigned charで書き込んでいたので、件名が128バイト以上のメールが届くと、次のロードで読み込みの無限ループに陥る、というものでした。
signed shortならともかくsigned charって…。ケチりすぎです。>自分
実は、最近IMAPを使いはじめたので、自分自身は使わなくなってしまいました…。
終了行:
[[FrontPage]]
だいたい製作順。書きかけ。
#contents
*Guppy [#i2f519e1]
VB(Visual Basic 4)で作った最初のソフト。たぶん中2の頃ですね(昔だなぁ)。
当時は親のPCを借りてたこともあって、PCを使える時間が制限されてたので、ソースコードを全部紙に書いて、机上デバッグまでしてからPCに打ち込むという、前時代的なプログラミングスタイルでした。
机上デバッグの甲斐あってか、最初に作ったにしては、素直に動きました。
が。
数ヵ月後にソースを読み直して、「このPとかLとかいう変数(コメントも無し)は何だ?」と悩むことに(笑)。分かりやすい変数名とコメントの重要性を痛感したのでした。
*大貧民 [#w6ad0051]
最初にVB版を作ったのが中3の頃。それをBCB(Borland C++ Builder 4)に移植したのが高1の頃。
VBとBCBは、言語の違い以外はほとんどそっくりなので、とっつきやすかったですね。移植の時は、VBのソースをBCBのコードエディタにコピペして、行末にセミコロンを付けたりしてC++のソースに直訳したぐらいです。
そのせいで、いまだにグローバル変数いっぱいの汚いソースをひきずってますけど。
いかにもツール屋が作ったゲームって感じのチープな見た目が特徴です。COMはイカサマしてない割にはまずまず強いですけどね。
僕が作ったものの中では一番DL数が多いようです。今は亡きOh! PCなど、いくつかの雑誌にも載せてもらいました。
*Devas [#u67af43a]
語源のDeveloping Assistantが示すように、元々は「ソフト開発に役立つ小物ツールの寄せ集め」にする予定でした。
初期のDevasには、「クリップボード内のテキストをインデント/逆インデントする」なんて機能が付いてます。が、その手の機能はエディタが持ってるほうが便利だし、実際持ってる場合が多いので、「テキスト検索/置換」機能に専念することに。
一度、特定条件でずれた所を置換してしまうというバグが発覚して、かなり焦りました。この手のソフトにバグがあると、ユーザさんの大量のファイルを一度に壊しちゃうかもしれないですからね。
そんなこんなでバックアップ機能が付きました。これはユーザさんのためというより、作者の不安を減らすための機能ですね…。Devasのバグのせいでファイルが壊れても、「バックアップが有りますよね?そこから元に戻せますよ」と言えば、なんとか糾弾は免れる、という。
このソフトは自分が開発する時、他人のソースを読むときに必須になってます。MacやLinuxで作業する時は、grepと簡単な置換スクリプトで代用してますが、
-検索結果を見やすく一覧表示したい。
-ヒット箇所前後の行も簡単な操作でチェックしたい。
-リストを見ながら選択的に置換したい。
-正規表現置換の結果をプレビューしたい。
となると、なかなかCUIでは難しいですね…。
最近は文字コードの自動判別機能(powered by [[バベル:http://tricklib.com/cxx/ex/babel/]])も付いて、「誰もが欲しがる機能」はだいたい出揃ったかな、と思ってます。
*G Check [#je04e770]
今時はメールソフトを常駐させといても大した負荷にならないので、あまり需要は無いのかも…。これを作った当時はMe使いで、「Outlook Expressを閉じるとシステムリソースが4%から12%になるから、代わりにもう1個IEを開けるぞ」とか言ってたので、メールソフトの常駐は論外でした。
いくつか他のメールチェッカを試してたんですが、
-シンプルな新着通知(件名が表示されて音が鳴るだけ)
-普段は全く(タスクトレイにも)表示されない
てのが見つからなかったので、作っちゃいました。
メール受信部分は[[nMail.dll:http://www.nanshiki.co.jp/lib/nmail.html]]を使ってます。これを見つけなければ、作れなかったでしょう。
実は一度、「Windows起動直後にWindows全体がやたらと重くなる」という、最近どこかで聞いたようなバグが発覚してかなり焦りました。原因は、状態をファイル(バイナリ)を保存する時に、文字列のサイズをsigned charで書き込んでいたので、件名が128バイト以上のメールが届くと、次のロードで読み込みの無限ループに陥る、というものでした。
signed shortならともかくsigned charって…。ケチりすぎです。>自分
実は、最近IMAPを使いはじめたので、自分自身は使わなくなってしまいました…。
ページ名: