What's new

困るということは次の新しい世界を発見する扉である

2016年7月13日

トーマスエジソンの名言!
「困るということは、次の新しい世界を発見する扉である」
うまく言ったよねー。

こまってる最中はめっちゃストレスだけどね。
困っていることを解決させたからこそいえるのであって、困ってしまったままあきらめてしまったらめっちゃ敗北感が残る。
まぁだからこそ解決させたときはたまらなく気分がいい。

ぼくは最近MFCプログラミングをやってるんだけど…。
なにをいまさらという突っ込みは無しでお願いします(笑)。

ただでさえVisualC++とスクリーンリーダーの相性が悪いのに…。
そのうえMFCなんて…。
それよりもC言語でWindowsAPIプログラミングをしたほうがらくなのに…。

はい、ぼくもそう思うよ。

でも男には挑戦しなきゃいけないときがあるんだよ。
わけわからないね(笑)。

そんなことを考えながら作り始めた。
しかし、…いきなりMFCアプリケーションウィザードの読みがおかしい。
まぁでもショートカットキーで操作できるのと、MSDNのサイトにけっこう詳しい説明があったからなんとかクリア。

しばらくはプログラムコードを書くだけだったから問題なし。
わけわからない記述があってもぐぐったりすればOKだもんね♪

でも、ついにきた。
スクリーンリーダーの読みがおかしいプラス、どんなふうに操作したらよいのかがよくわからないという2重苦。

どんなプレイだよ。

そもそも何がしたいのかというと…。
一言で言うと「メッセージを受ける関数の構築」。

わかりやすく言うと…。
ウィンドウズ上で動くアプリケーションというのは、ウィンドウズからいろんなメッセージを受け取っている。

たとえば、アプリのウィンドウ上でマウスボタンが押されたとか、キーボードが押されたとか、サイズ変更されたとか…。
とにかくたくさんのメッセージが送られてくる。

これら大量のメッセージのなかから特定のメッセージを受けたときのみ反応するようにしたい。

もっと具体的には…。
マウスの左クリックを感知して、その座標を受け取る関数をつくりたい。

今まではアプリの外枠を作ったり、アプリのウィンドウの中に表示される図形を描く関数とかを作っていればよかった。
これらはプログラムの中から外に発信するメッセージだから、最低限の規則さえ守れば勝手に作ってよかったんだけど、メッセージを受ける場合はそうもいかない。

VisualC++に、ウィンドウズから送られてくるメッセージを特定の関数に登録するツールみたいなものがあって、そいつを操作しなきゃいけないらしいんだけど…。
スクリーンリーダーとの相性が悪いプラス、そのツールの使い方がよくわからないのだ。

操作方法はMSDNのページにあった。
ほかにも、マウスが左クリックされたときのメッセージ名や、受け取る関数名なんかもわかった。

でも、ぼくの操作がおかしいのか、スクリーンリーダーの読みが悪いのか…。
とにかく全然できなかった。

ならばということで、別の方法にもトライした。
作られる関数名がわかっているんだから、その名前で今までのように直接コードを書いてみたりした。

でもできなかった。
当然だよね、わざわざツールを使わせてるわけだから、普通のやり方でできたんじゃ意味ない。
またしても敗北!

すごくくやしかった。
ぶっちゃけここまで2週間ぐらいかけてるんだけど…。
それがこんなことでダメになるなんて…。

実は昨日も丸一日何とかしようとしてた。
そのおかげでブログも更新できなかったし…。

まぁでもできないものは仕方ない。

丸一日がんばって無理だったんだから、くやしいけどあきらめて…。
今日から気持ちを切り替えて、C言語でWindowsAPIを使って作ろうとした。

まぁでもぶっちゃけみれんたらたらなわけよ。

だから今朝も5時起きして調べてた。
でも切り替えるなら早いほうがいいのはたしかだから、引きずるのは朝食までだと決めてた。

そうしたら…あった…。

VisualC++のツールを使わないで、直接コードを書くことでメッセージを受け取る関数をつくる方法が。
これなら今までと同じような作業でOK。

昨日も直接コードを書くことで何とかできないかと思ってやってみたつもりだったけど…。
やっぱりしっかり調べないとダメだね。

今までどおり普通に関数を登録することプラス、メッセージを受け取る関数名を記述するエリアにも関数名を書かなきゃいけなかったことがわかった。

どきどきしながら作ったプログラムを動かしてみる。

問題なく動いた!
やった!

いやー、つかれたー。
まだアプリは完成してないけど、なんかもう完成した気持ちになったよ(笑)。

新しい世界への扉が少し開いた。

健康診断

2016年7月11日

役所から健康診断の通知が来た。

たぶん地方により年齢とか、検査内容が違ってくるんだろうけど…。
無料でやってもらえるということなので、かけるのは時間と労力と朝食を抜くことだけだと自分に言い聞かせて行ってきた。

検査内容は以下のとおり…。
身長、体重、血圧、ウエストを測った。
あとは血と尿を採取された。
このほかにドクターによる診察もあって…。
胸部や腹部の触診や、聴診器を使った診察もあった。

そして結果は…。
血液検査の結果が出るのは3週間後ぐらいらしい。
だからまだわからないけど、それ以外は問題なかったらしいのでよかった。
あとは、血液検査の結果が異常なしでありますようにと願うばかりだ。

健康診断なんて学生時代以来だったから、けっこうドキドキしたけど、やはりやることやるとすっきりする。

やはり健康は宝だ!

最後の時間

2016年7月10日

おばあちゃんと孫がスピードをしてた。

スピードって知ってる?
トランプのゲームで、普通は1対1で行なう。
あらかじめ手元に4枚おもてに並べて置き、ゲームスタートと共に中央に1枚ずつおもてに出す。
あとは中央におかれた2種類の数字に対して、プラスマイナス1になるように、どんどん手元のカードを積み重ねていく。

例えば、中央に置かれたカードがAだったら…。
プラス1で2、マイナス1でKなので、このどちらかがおける。
仮に2を置いた場合、今度は中央の数字が2になるので、Aまたは3が置ける。

スピードには手番という概念はないので、ひたすら早く中央にカードを積み重ねていく。
そしてカードが先になくなった方の勝ちである。

地方によってルールがじゃっかん違うかもしれないが、だいたいこんなかんじ。

ぼくも幼いころはまだ見えていたので、家族でやったりしたなー。
なつかしい。

最後に遊んだのはいつだったかなー。
思い出せないけど、そのときはこれが最後になるなんて夢にも思わなかった。
今はもう見えなくなっちゃったから、やりたくてもできない。

人生もきっとこうやって過ぎていくんだろうね。
あなたもやりたいことがあって、今のあなたが多少無理することになったとしてもそれができるのだとしたら、やっておこう。

これが最後かもしれないよ。

モノ作りってむつかしい

2016年7月8日

先日「イケアが北米でタンスをリコール」というニュースを読んで、モノ作りって本当にたいへんでむつかしいと改めて感じた。
どんなニュースかというと…。

スウェーデンの大手家具メーカーのイケアが、米国とカナダで3600万個のタンスをリコールすると発表したのだ

今回、リコールの対象になった製品は、MALM という商品名のタンス。
転倒したタンスの下敷きになり、これまでに子どもの死亡事例が6件、けがが36件報告されているらしい。

具体的には、子供がタンスの上にあるものを取ろうと、下の方の引き出しを引き出してその上に足をかけて上がると、前足が細いこのタンス、バランスが崩れて前に転倒するということらしい。

イケアジャパンの広報によると、MALMなど一部商品は日本でも販売されており、壁に固定して使うよう説明書に記載されているという。
また、担当者によると「日本の安全基準は満たしており、事故の報告もなく、国内ではリコールに該当しない」だそうな。

ぼくもプログラマーの端くれなんで、モノを作り上げるむつかしさっていうのはほんの少しはわかっているつもり。

モノってただ作って終わりじゃないんだよね。
まぁ自己満足でいいなら、ただ作って終わりでもいいんだけどさ…。
それだとすぐ飽きてくるんだよね。

そうじゃなくてもっと長く楽しくって考えたとき、どうしても他人とのかかわりっていうのがほしくなる。
自分の作り上げてきたものを世間に発表して、賛否関係なく評価されてみたくなったり。
同じことを考えている人と思いを共有したり。

でも、自己満足で作ったモノと他人と共有するためにつくったモノとでは決定的な違いがある。

それは、「他人のことをどれだけ考えられているのか」ということ。

わかりやすくプログラミングでたとえるなら…。
プログラムを駆使してなんらかのアプリケーションを作って公開したいと思った場合、大きく2つのプロセスがある。

1つ目は、プログラミング技術を身につける段階。
2つ目は、ちゃんと動くか確かめる段階。

1つ目は説明する必要はないよね。
問題は2つ目のちゃんと動くかというところ。

このちゃんと動くというのは…。
正しい操作ではもちろんのこと、ヘンな操作をされたときでさえもプログラムが動くかということ。

例えば、オセロのアプリケーションを作ろうとしたとき…。
普通は相手の石をはさむように自分の石を置くものだが、
いきなり角に石を置こうとしたり、すでに石が置かれているところに置こうとしたりなど…。

とにかくユーザーは、「オセロにかぎらずルールを守ってくれるとはかぎらない」ということを念頭においてプログラミングしていかなければならないのだ。

前述のイケアでも同じ。

まず、たんすを作る技術があって、
そのうえで、美しいタンスだったり、使いやすいタンスだったりを世に広めていかなきゃいけないんだけど…。

使う人によって、タンス以外の使われ方をする場合があることを考えなければならない。
今回であれば、「子供がタンスの上にあるものを取ろうと、下の方の引き出しを引き出してその上に足をかけて上がる」ということも計算する必要があったということ。

そりゃ無理だよって思うよね。

だからモノ作りはむつかしいのだ。

七夕

2016年7月7日

今日7月7日は七夕。

幼稚園や保育園では今日七夕会をやるのかな?
たんざくに願いとか書くのかな?

まぁそれはそうと、今日実は「ポニーテールの日」だって知ってた?
髪を後頭部の高い位置で一つにまとめて垂らしたあれだよ。
なんでもポニーテール協会が、七夕伝説の織姫がポニーテールであったということからポニーテールの日にしちゃったらしい。

なんかすごいな…。
もうこのことについては何も言えない(笑)。

実はぼくもわかかれしころ、長髪を束ねてポニーテールにしてたんですよー。
そんなわけで一時期だけとはいえポニーテールを体験してたので一言言わせてもらうと…。

あの髪形は髪を傷めやすいので、手入れがけっこうたいへん。
どうしても束ねてある付近に力がかかるから、途中で切れちゃったりするんだよねー。

だから日によって結ぶ高さを変えたりしてたんだけど…。
さすがにツインテールにするわけにもいかず、家にいるときとかはそのままにしてたな。

まぁでももう髪をいたわらなきゃ絶滅しちゃうかもしれないような年だから、もうやらないけどねー。
今思い返せば懐かしい。

ちなみにツインテールの日もあるって知ってた?

ツインテールの日は2月2日。
男性が好きな女性に髪留め要の2本のゴムを送る日らしいよ。