MyNoteBook weblog

自作ソフトウェアや気になるものについて書いています

<< August 2025 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>

リファクタリング

JavaScript-STARは、もともとN88BASICで書かれたプログラムをJavaScriptに移植したものだ。
N88BASICでは次のようなソースがよく書かれていた。

10 INPUT A
20 X = 2 * A
30 PRINT X

AやXが何を指すのかなど変数をわかりやすくしようというような発想はあまりなかったように思う。
また、分かりやすい変数という前に、長い変数名をつけるというような習慣はなかったし、長い変数名を付けられないくらい、メモリー不足の問題もあったのかもしれない。
そんなN88BASICで書かれたSTARをJavaScriptに移植した当時の自分を考えてみても、プログラミング技術は今考えれば数段レベルは低かったといわざるを得ない。
常に独学ではあるが、他人のソースを見ながら、あるいはいろいろな言語に手を出すうちに、次第によいプログラムというものがわかるようになってきた。
そこで、今、バージョンアップと銘打たずに、JavaScript-STARのソースを少しずつリファクタリングしている。
リファクタリング (refactoring) とはコンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること。(Wikipedia)
変数を分かりやすい名称に変えたり、共通部分を関数化したり、分岐条件を分かりやすくしたりしている。
機能的には変わりないのだが、これにより、プログラムの可読性が上がり、デバッグしやすくなったり、機能追加がしやすくなったり、実行速度が上がったりするメリットがあると言われている。
少しずつだが、コツコツとやっていきたい。

リファクタリングとはプログラミングの用語だが、プログラミングとは違う仕事の場面でリファクタリングを生かせないだろうか?
最終的な仕事は同じでも、やり方とか、過程とかを見直すこと。
結果は同じでも、効率がよくなったり、他の仕事との関連性が図れるようになったり、多様性が増したり、そんな効果が生まれるのではないだろうか?
明日の仕事から、見直してみよう!
ソフトウエア | - | trackbacks (0)

必見!指輪を使ってビール瓶を開ける方法 

明日から、5年生がてこの勉強に入るので、こんな話題を・・・。

道具があれば簡単なのに、ないばっかりにできないということが起きる。
栓抜きもその一つだろう。
lifehackerに、指輪を使ってビール瓶を開ける方法が紹介されている。
指輪を使う以外にも、紙とか、もう一つのビールとか、いろいろと紹介されている。
うちの近所のおじさんで、100円ライターで開けてくれる人がいます。
栓抜きがないというシチュエーションのときに、栓抜きなしで開けられたら、カッコいいですね。

結局、硬いもので、てこの原理を使うことになるのでしょう。
ただ、同じてこの原理でも、栓抜きは第2のてこと呼ばれる原理です。
指輪も第2のてこのようですが、紙とかライターは、第1のてこの原理ですかね。
- | - | trackbacks (0)

紀伊国屋書店で見つけました


昨日、新潟市の紀伊国屋書店に行ったのです。
そこで、自分の本があるのか調べてみたら、置いてあって、ビックリ!
今まで自分の本が本屋に並んでいたのを見たことがなかったので、感動しました。
(大きな本屋に行くたびに、一応ないかなぁと確認してみてはいたのです)
やっぱり、紀伊国屋くらいになるとあるんですね。

でも、この本は気軽に読めるようにと、少しほっそりとした変形版なので、たくさんの本と一緒に本棚に入ると、奥まってしまうんですよね。
そこで、背の部分が他の本と並ぶように、前に出してきたのでした。(^^)

まぁ、一冊置いてあっただけでも感動するんだから、平積みとかだと、感動はすごく大きいんでしょうね。
上越教育大学の売店では、平積みですけどね。
講義用テキストだからですけど・・・。
| - | trackbacks (0)

プログラミングのセオリー


私は、自作のソフトウエアを公開などしているが、きちんとプログラミングについて習ったことはない。
20年以上前に大学の講義で、FORTRANの講義を取ったくらいだ。
(そのときは、1枚1枚マークシートに命令を塗りつぶしていた・・・)
だから、プログラミングといっても、独学ゆえに我流なのだ。

この本は、CやJAVAをもとに書かれているが、変数の命名の仕方や高速化の技法、あとから変更が容易になる書き方などは他の言語でもとても参考になるものだ。
前に書いたプログラムを見直してみたくなった。

この本のように、いろいろなことに共通して使える方法を考えてみることは、プログラミング以外でもとても役立つのではないだろうか。
| - | trackbacks (0)

ETC割引の裏技で得する方法

通勤でETCを使うことが多くなった。
ETC割引は便利だが、普段つかっているところはよいが、ちょっと出かけたときなど、ここから割引されるのはどのインターまで?などと思っても調べる方法がなくて困っていた。
ETCの入り口に、100km未満で最大のインター名を表示しておいてくれたりすると親切なのに、などと考えていた。

私がそんなことを考えるのだから、すでにそういうことを考えてネット上で公開している方がいるのではと思い、検索してみたら、やっぱりありました。

ETC割引の裏技で得する方法では、出発ICと到着IC、出発時間などを入力すると、どこで降りれば安くなるかを検索して表示してくれます。

でも、あらかじめ調べていければよいけれど、出先からはどうする?ってときには、携帯電話からも使えるようになっていて、さすが!です。

自民党が、土日1000円乗り放題!なんてことをいっているけれど、とりあえずブックマークにいれておいて損はないサイトです。
webサイト | - | trackbacks (0)

Google Chromeに驚いた!

Google Chromeがリリースされ、今ネット上は少し落ち着いたように思う。
JavaScriptが速いということだったので興味はあったが、やっとインストールして試してみた。

速い!!

自動集計検定2×2は、データ数が多くなると、処理時間が結構かかってしまったのだが、あっという間に結果が出力される。
スクリプトを実行すると警告がでることもない。

Google恐るべし!
ソフトウエア | - | trackbacks (0)

WikipediaでJavaScript-STARが紹介されています

WikipediaでJavaScript-STARが紹介されているのを見つけました。
分散分析のページです。
ユーザーのどなたかが書いてくださったのでしょうか。
ありがとうございます。
このページ以外にも、フィッシャーの検定とノンパラメトリック検定のページにも外部リンクが貼られています。
最近はほんとにバージョンアップができていないのですが、多重比較の変更に向けて準備だけはしています。
いつになるかは、わからないのですが・・・。
ソフトウエア | - | trackbacks (0)

別冊Mac Fan 01 スグ使えるフリーソフトでおもてなし


すごーく久しぶりに自作ソフトを雑誌に取り上げてもらった。
Gymn@sterは自分としてはかなり作りこんだソフトなのだけれど、PenFunに比べてユーザーの反応は思ったほどではなかったのです。
シェアウエアにしたからかなぁ。
| - | trackbacks (1)

「残業ゼロ」の人生力


「残業ゼロ」の人生力

「残業ゼロ」の人生力

日本能率協会マネジメント 出版情報事業



「残業ゼロ」の仕事力と合わせて読んだ。
残業ゼロにするには、勤務時間内に仕事を終わらせばよい。
確かにそのとおり。
でも、終わらないではないか。
終わらないのは何故なのか?
本人の勤務態度の問題なのか、終わらないほど仕事があるのか、会社のシステムとしての問題なのか。
勤務時間内に仕事が終わり、なおかつ、会社としての成果を上げるには、何をすればよいのか。
そうやって問いかけていくと、今までとは違う仕事のやり方が見えてくる。

仕事は生きるためのお金を稼ぐためのゲームと言い切る著者の考え方は、過労死やノイローゼでの自殺が増える日本の社会において、とても重要なことだと感じる。
| - | trackbacks (0)

アイアンマン



息子と2人で観てきました。
つじつまの合わないところはご愛嬌で、楽しめます。
アイアンマンを作る場面がメカ好きの私にはジャストミートです。(古い!)
テロ組織に隠ながら兵器を寄せ集めて作るシーンも、アメリカに帰ってきて最新設備で作るシーンもどちらもわくわくさせられます。
主人公トニー・スタークを助けた医師インセンに涙でした(T_T)
続編を期待させてくれます。
音楽・映画 | - | trackbacks (0)
CATEGORIES
NEW ENTRIES
RECOMMEND
【いちばんやさしい教える技術】…
いちばんやさしい教える技術

Book (発売日:2012-04-16)
【いままでのA面、B面ですと!?(通常盤)】…
いままでのA面、B面ですと!?(通常盤)

Music (発売日:2009-11-25)
RECENT TRACKBACK
ARCHIVES
PROFILE
OTHER