まじめに仕事…
真面目に仕事をする。Eclipseのコーディング補助機能(エラー自動修正?)は楽だね。
CCleanerでファイル削除
コンビニで日経PCを立ち読みしてCCleanerというソフトを知る。Windowsの不要なファイルをいろいろ削除してくれるらしい。さっそくインストールして試す。機能も豊富で出来もよく、なかなか良さそうだ。
Process Explorer
最近、Process Explorerを使っている。グラフィカルなtopコマンドみたいなものだがなかなか良い感じである。Windows-XPでログインして、アプリを普通に使えるようになるまでに時間がかかるようになったのがキッカケで、調べるために導入。結局、Windows Updateが動いているようで、設定を見直して一応解決。どんなプロセスが走っているか、気になることが多いので、いまでもプログラム/スタートアップのフォルダに置いている。
Google Maps API
Google MapでGPS |
朝からGoogle Maps APIと戯れる。CGIのdirectoryのurlを登録したらkeyと一緒にサンプルのコードが表示されてそのまま組み込んでみたら地図が表示された。
その後API Documentationの例を見ながらコードを追加していくとすぐにGPSの受信データを地図上に表示できてしまった。なんて良くできたドキュメントなんだ。Word vs TeX?
仕事でMicrosoft wordを使わせられているせいか、wordにあまり抵抗が無くなって来た。Wordの変な癖にも慣れたり、対策を覚えたり。堕落だろうか。
TeXはもう随分長いこと使っていない。そもそも紙のイメージで長い文書を書くということがあまりなくなった。自分のところで書く長い文章はHTMLで書いてブラウザで読むほうが便利だ。 さて、もうすぐ久しぶりに使用説明書的なものを書いて紙で提出する必要があるのだがWordにしようかTeXにしようか。短い文書はWordの方が圧倒的に楽。長くなるとWordのスタイルが破滅的な感じになる。TeXだと文書をsvnに入れやすそうだ。とりあえず、短い文書からはじめるならやっぱりWordかなぁ。Visual Studio 2005でemacs key-bind!!
オプション設定 |
Microsoft Visual Studio 2005を使っていて、つい emacsのつもりでCtrl+Nとか押す。最近はEclipseとかでemacs風のキー入力ができるから同じIDEで勘違いしてしまう。でも、待てよ。EclipseにあるからVisual Studioにもあるかも。オプション設定のキーボードのところを見ると追加キーボードマップスキームにemacsの文字がある。設定すると普通に使える。C-x C-sも使えた。C-x bは無いが、C-x C-bはある。ああ嬉しい。
無名インナークラス in Java
昨日Javaでわけがわからんと言っていたのは無名インナークラスのオブジェクトだそうだ。▲staticでないインナークラスは、生成時の親(外側のクラス)のオブジェクトのポインタを持っていて、親のメンバーにアクセスできるらしい。▲さらに、問題の new MouseListener() { .. }
というような式で生成されるのは、無名(クラス名を持たない)の無名インナークラスのオブジェクトで、newの次にくるのはクラス名かインターフェース名、クラス名の場合はそのクラスを継承した無名クラス、インターフェースの場合はObjectを継承し、そのインターフェースを実装した無名クラスのオブジェクトが生成される。▲普通のクラス宣言を使っても実現できる機能を、コンパクトかつわかりやすく記述できるまさに シンタックス・シュガーというわけだ。
なんだなんだ、Javaのプログラムで…
JavaのGUIのイベント処理でよく見るプログラム
...addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { p = e.getPoint(); repaint(); } }...
で、newされたMouseListerのメソッドで 外部のインスタンス変数をアクセスできるということを今日初めて知った。便利ではあるが一体どういう理屈だ?MouseLister(インターフェース)型のオブジェクトが作れたりそれにメソッドを定義できるのも変な話だな。なんか知らない話があるなぁ。
書籍: Perl Hacks
なんかプログラミングの本を読みたくなってPerl Hacks購入。
ATtiny2313の割り込み
今日は割り込みの実験。ドキュメントもちゃんとあり、すぐに使えた。
ATtiny2313のタイマー出力
ATtiny2313のタイマーを使う練習をする。タイマーの出力を端子に出して動作確認しようとするがなかなか望む波形が出てこない。タイマー出力を有効にするのにDDRxを設定しポートを出力にしなければいけないらしい。
ATtiny2313のプログラミング
夜、ATtiny2313のプログラミング。usartを使ってシリアルで通信できるようになる。初期設定のクロック1MHzで19200baudは無理そうだったのでfuse bitを書き換えてクロック8MHzに変更。avr-libcのprintfも試すが組み込むとROM容量の2Kbyteを超えてしまい動かない。でも120円のCPUなので贅沢は言わない。普通にgccでプログラムできるだけでも不思議。
あと割り込みとタイマーを覚えれば普通に使えるはず。Java1.5 可変引数ばんざい
Java1.5の可変引数機能を初めて使う。printfとかは使っていたけど、自分でメソッド書いたのは初めて。極めて自然に使えて便利。長たらしく書いていた処理をコンパクトに書けるようになった。快感。
最近のコメント