どこかのだれかへ

ボク、プログラマ。

華麗な異常終了の為にキャッチされなかった例外を受け取りたい

例外が発生たけど誰も受け取ってくれなかった!という時のイベントがあるので、これを使うと見っともない異常終了ダイアログをユーザーに見せなくて済みます。

キャッチされなかった例外を受け取る

もちろんプロ生ちゃん時報でも対応済です。
(メッセージボックス出すだけでも雰囲気変わります!)

ここ連日ブログ書いていますが、書こうと思えばネタは意外とあるんですよね。

書くのが面倒なだけで。

プロ生ちゃん時報、公開中です

以前、プロ生ちゃん時報は以前作成して、VectorGitHubにて公開中です。

http://www.vector.co.jp/soft/winnt/util/se516432.html
https://github.com/tepp91/TimeSignal

元々自分用に作成していて、自分では家でも会社でも使っています。

Vectorに登録していると、月末にDL数とかのメールが飛んでくるんですが、広報なんてしてないしそもそもそんなに自分に拡散力なんてないので、今月はDL数が6とかでした

でも、逆にこの「6」はどこから迷い込んだのか気になります。

最近、ちょっとバグを見つけたり、付けたい機能があるのでそのうちまたひっそり更新すると思います。

ConsoleZはIMEに対応しているぞ!

ターミナルはConsole2を使っていたんですが、ふと最大化して使いたくなりました。でも、Console2はウィンドウサイズに制限があって最大化しても画面を覆ってくれません。 調べたらConsole2の後継としてhttps://github.com/cbucher/consoleがあり、これなら最大化出来るということで乗り換えました。

またConsole2ではIMEに対応しておらず、有志の人が対応したexeを使うという状態でしたが、ConsoleZではIMEにも対応しています!

ただし、そのまま使うとインラインではIMEが展開されないので「設定 > 外観 > スタイル > インラインIME」のチェックをONにすることで、違和感なく使用する事が出来るようになります。

あと設定画面見て分かると思いますが、設定が日本語表記に対応しています!

Console2使っている方は、ConsoleZに乗り換えない理由はないと思うので、是非。

f:id:Tepp:20180130234206p:plain

定数でdefine使ってる場所があって大変だった

とあるヘッダーファイルをインクルードしたら、Enumの定義の1つがエラーになった。
エラー内容的に、どうも定義が重複しているらしい。

でも名前空間結構深いし、名前空間の名前もユニークで、インクロードガードもある。重複することなんてあるのか? そんなことを思って調べたら、#defineで同じ名前の定数が定義されていました。

defineは、置き換え処理なので、名前空間なんて通用しません。
これで結構時間を無駄にしました。

C++ではdefineによる定数定義は非推奨なはずで、代わりにstatic const、C++11ならconstexprを使えばコンパイル時に適用されるのでこれを使うべき、これを実感しました。

せめてdefine使うなら絶対かぶらないような名前にしておいてくれていれば、こんなことにはならなかった。

ブラックラグーンで寝不足、仕事の後はバカルディ

月曜日にAmazonプライムビデオでなんとなく見たブラックラグーンがどストライク!
今週は夜中までずっとアニメ見て、原作の漫画も買って読んでいました。
11巻はいつ発売なんでしょうか。

話の最初の方で主人公のロックとレヴィがバカルディラム酒)で飲みくらべをするシーンがあるのですが、影響を受けて今はバカルディを飲みながらこの記事を書いています。 (アルコール度数高くて辛かったので、結局ラムコークにしましたが)

そんな生活をしていたので昨日今日と案の定、寝不足でした。特に今日はなかなかひどかったです。

仕事中に眠くなるほど寝不足ではなかったものの、今日は1つ検討タスク(機能の実装が難しいと思われたため、どうやって実装するか調査・検討するタスク)があったんですが、まったくもって進まず。 ちょっとコードを書いては削除、書いては削除で全くもってうまくいきませんでした。

仕事効率を考えれば、少なくとも8時間は寝たいんですけど、そうすると24時には寝ないといけないんですが、なかなか難しい……