トップ(最新) | <前

nDiki : Java

Java

web

数値計算

Javaプログラムの起動を支援するツール

実行可能ファイルへの変換、ラッパー、ランチャなど。

スポンサード リンク

Related term

2008年6月23日 (月)

サブプロジェクトが使える GTD ツール ThinkingRock 2.0.1 このエントリーを含むはてなブックマーク

スポンサード リンク

naney:2603837839

Task CoachGTD しているうちに、もっとスマートにできるツールがないかなと探して出会ったのがこれ。

  • Java で書かれており、Linux でも使える。
  • サブプロジェクトを作ってブレイクダウンしていける。

というのがイケてる。Web ベースの GTD ツールも多いが、ThinkingRock は普通のアプリケーションなのでインストールも簡単。RDBMS 等のセットアップも不要であり、すぐに使える。

GTD の流れを知っていればマニュアルをほとんど見なくても自然に使うことできる。 今日ダウンロードして使い始めたのだが、すぐに ThinkingRock ベースで GTD のプロセスをまわせるようになって驚いた。

GTD をしていて欲しいと思っていたプロジェクトテンプレートも作っておける。 チェックリスト的なプロジェクトを登録しておいて、必要な時にプロジェクトにコピーして使うような運用ができるようだ。

これホントいいんじゃない?

今後は

  • 仕事 -> ThinkingRock
  • リピートするアクション -> RTM (ThinkingRock にはリピートがない)
  • 外出先でチェックするアクション(買い物など) -> RTM (ThinkingRockケータイで見られない)
  • プライベート -> 手帳 (PC とは離れたプロジェクトが多い。一部は ThinkingRock にのせてもいいかもしれない。)

という形でまわしてみようと思う。

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox


[ 6月23日全て ]

2009年3月13日 (金)

久しぶりの C++GNU Automake + CppUnit このエントリーを含むはてなブックマーク

ちょっとした文字列構文解析関係の C++ コードを書き始めた。 C++ は随分触ってなかったので「C++ で書き直すのを考慮してそれっぽく Perl で書くから後で書き直して」と最初は言っておいたのだが、それもあんまりだと思って C++ で書くことにした。

Debian GNU/Linux 上で書くので GNU Automake + CppUnit で。 「Perl + Test::Harness」や「Java + Eclipse + JUnit」や「C# + Visual C# + NUnit」などと比べるとやっぱりタルいな。

1つメソッド書くのに、

  • テストメソッドの宣言
  • テストメソッドの登録 (CPPUNIT_TEST())
  • テストメソッドの実装
  • メソッドの宣言
  • メソッドの実装

と 4ファイル5カ所編集しなければならない。 クラス追加時には Makefile.am にヘッダファイルとソースファイルをテストケース用のと含めて4ファイル書き加える必要があるし。

あー面倒。

でも C++ で書き始めると楽しいんだよなあ。


[ 3月13日全て ]

2009年3月24日 (火)

今日のさえずり - オフィスで最初に WBC の結果を口に出した人がサボリーマン このエントリーを含むはてなブックマーク

naney:3377462171

@ 2009年03月23日

@ 2009年03月24日


[ 3月24日全て ]

2009年8月20日 (木)

アクセサは foo と set_foo にしたい このエントリーを含むはてなブックマーク

オブジェクト指向プログラミングではほとんどの場合に必要となるアクセサについては命名規則にいくつかのパターンがある。

  1. 属性名に対して getter に get (get_)、setter に set (set_) をプレフィックスとしてつける。
  2. getter も setter も同じ名前とし属性名にする。
  3. setter のみ set (set_) を属性名にプレフィックスとしてつける。

1 番目は Java プログラミングでよく使われる。 またそれ以外でも広く使われている形式だ。 get と set 命名規則的に対になっていて規則的には美しい。 getter と setter を別々に検索するのも用意だし、プログラミング時にも誤解を招きにくい。

ただし例えば x、y、z のような短い名前の属性の取得の場合 obj->get_x などと、うるさい感じになってしまう。また obj->get_foo->get_var なども obj->foo->var などに比べてすっきり感がない。

2 番目は Perl でよく使われる。C# のプロパティへのアクセサは getter と setter が同じ名前になる。 呼び出し側ではコードが短くなりすっきりする。

ただし Perl の場合は引数の数を動的にチェックするために効率が若干犠牲になるのと、setter の機能が無いアクセサに引数を渡してもエラーにならないため見逃しやすいバグが潜んでしまう可能性があるなどの問題もある。Perl ベストプラクティスではこの形式ではなく1番目の形式を勧めている。

3 番目はあまり多くないかな。 getter に get がついていると個人的には重い印象を感じる。 getter を属性名だけにすることですっきりするとともに、setter は set_ と動詞がつくことでオブジェクトに働きかけるという印象を残すことができる。

命名規則が非対称なのでちょっと気持ち悪いといえば気持ち悪い。

Google C++ スタイルガイドではこの形式を採用している。

個人的には3番目がコードの見た感じにもすっきりしていて読みやすく、また getter と setter の区別も(1番目ほどではないにせよ)つきやすいので良いのではないかと思う。 2番目もよく使っていたのだが、しばらく3番目にしてみようかと思った今日このごろ。


[ 8月20日全て ]

2010年2月6日 (土)

Debianアップデートしたら Java プログラムが通信できなくなった このエントリーを含むはてなブックマーク

昨日 Debian GNU/Linux sidノート PC で久しぶりにアップデートをかけたら、無線 LAN がつながらなくなった。こちらは新しく入った linux-image を消したり、NetworkManager のフロントエンドを knetworkmanager から nm-applet に変えたりしているうちにつながるように。

これで大丈夫かと思ったら Web ブラウザなどは問題ないのに Java プログラムである Twitter クライアント P3:PeraPeraPrv が全くつながらなくなってしまっていた。こちらは有線 LAN でも駄目なので無線 LAN 関係は関係なさそう。

困ったなと思って調べていたら、java のコマンドライン引数で -Djava.net.preferIPv4Stack=true を指定すれば良さそうということで試しに

 java -Djava.net.preferIPv4Stack=true -jar PeraPeraPrv.jar

と起動したら無事アクセスできるようになった。ふう。

そこから調べてみると netbase 4.38 (2009年12月6日)から /etc/sysctl.d/bindv6only.conf で net.ipv6.bindv6only=1 と設定されるようになったのが影響しているようだ。

こちらの設定を以前と同様にするならば 0 に変更して

 invoke-rc.d procps restart

とのこと。


[ 2月6日全て ]

2010年3月29日 (月)

さらば GTD ツール ThinkingRock このエントリーを含むはてなブックマーク

1年9カ月ほど GTD ツールとして ThinkingRock をメインに使ってきた。 今まで使ったツールの中で一番 GTD らしい運用ができるツールだ。 いつでも PC を使える状況であれば、かなりグレイト。

しかし奴にも弱点がある。 その一つがモバイルで使えないこと。 ネットサービスとの連携はほぼ皆無なスタンドアローン Java アプリケーションなので、PC が使えない状況で各種リストにアクセスできない不便さがある。

こればかりは仕方がないので、外出先用のアクションを Remember The Milk に入力したり、いくつかのコンテキストのアクションをロルバーン「ポケット付きメモ」などに手書きしたりして運用していた(ちなみにリストを綺麗な PDF ファイルとして出力する機能があって、これを印刷して使ってみたりもしたんだけれど、更新のたびに印刷するが面倒で紙ももったいないのでしばらくしてやめた)。

今回 Android ケータイXperia 購入するにあたり、GTD ツールも見直し中。 今後は PC / スマートフォン両方で扱える GTD 環境にしたい。

で、いろいろ調べてみたりしたんだけれど、やはり Remember The Milk 以外に選択肢が見つからなかった。 Pro アカウントにすれば公式 Android アプリケーションが使えるようになるので、アップグレードするか。 サブタスクが使えないのがネックだが、タグ・スマートリストやタスクの名前付けの工夫などカバーする方法を考えよう。

ということで ThinkingRock サヨナラを決断。不要になったプロジェクト/アクションを捨てつつ一気にデータを Remember The Milk へ移した。 しばらく試行錯誤の日々が続きそうだ。


[ 3月29日全て ]

2010年12月7日 (火)

今日のさえずり: 間違えて、いる方の Git リポジトリ rm -rf した このエントリーを含むはてなブックマーク

@ 2010年12月06日

@ 2010年12月07日


[ 12月7日全て ]

2011年5月23日 (月)

Perl での一時変数のインライン化はコンテキストの変化に注意 このエントリーを含むはてなブックマーク

Perl ではスカラーコンテキストとリストコンテキストが肝の一つなんだけれど、ここ最近 C++ を使うことが多かったこともありリファクタリングでちょっとポカった。

 #!/usr/bin/perl
 
 use warnings;
 use strict;
 use Data::Dumper;

 sub f { return; }
 sub g { return undef; }

 my $f_value = f;
 my $g_value = g;

 my $f_hash = { a => 1, b => $f_value, c => 3};
 my $g_hash = { a => 1, b => $g_value, c => 3};

 print Dumper($f_hash, $g_hash);

 #$VAR1 = {
 #          'c' => 3,
 #          'a' => 1,
 #          'b' => undef
 #        };
 #$VAR2 = {
 #          'c' => 3,
 #          'a' => 1,
 #          'b' => undef
 #        };

リファクタリング前のコード。$f_hash も $g_hash も同じ。 ここでリファクタリングのスタンダード「一時変数のインライン化」を行う。

 my $f_hash = { a => 1, b => f, c => 3};
 my $g_hash = { a => 1, b => g, c => 3};

 print Dumper($f_hash, $g_hash);

 #Odd number of elements in anonymous hash at test.pl line 13.
 #$VAR1 = {
 #          'a' => 1,
 #          '3' => undef,
 #          'b' => 'c'
 #        };
 #$VAR2 = {
 #          'c' => 3,
 #          'a' => 1,
 #          'b' => undef
 #        };

ああ。f の呼び出しがリストコンテキストに変わるので、 return; が undef ではなく () を返すようになり無名ハッシュを生成するリストの中で消えてしまうため、キーと値の組み合わせがずれてしまう(そして無名ハッシュを奇数個の要素で作ろうとする警告も出る)。

コンテキストは理解しているんだけれど、リファクタリング前のコードでスカラー変数で受けているので、つい f がスカラー値だけを返すサブルーチンだと錯覚してしまうと。

g みたいに明示的に return undef; してればいいかというと、これはこれで落とし穴があり、一般的には return; の方が推奨されている。

Perl での一時変数のインライン化は JavaC++ に比べて要注意ってことで。


[ 5月23日全て ]

2011年6月29日 (水)

mixi Engineers' Seminar #2 は Windows Phone 7 に注目が集まった このエントリーを含むはてなブックマーク

image:http://www.naney.org/nDiki/2011/06/29/engineer_seminar_logo.jpg

株式会社ミクシィ主催のエンジニア向けセミナーmixi Engineers' Seminar #2」に参加してきた。

スマートフォンがメインテーマで、発表は次の3つ。

赤松洋介氏(サイドフィード株式会社)開発者のためのiPhone⇔Androidアプリ移植のポイント
高橋忍氏(日本マイクロソフト株式会社)Windows Phone 7 アプリケーション開発概要
藤崎友樹氏(株式会社ミクシィ)mixi x Androidの深イイ話

赤松氏の移植話では正規表現20パターンぐらいで Objective-C コードから Java コードに変換しちゃいましたとか。マジ?

藤崎氏の発表では Android 特有のアプリケーション開発事情や勘所が語られて、Android 開発者だといろいろ気づきとか得られるのではという内容であった。

そして注目だったのは Windows Phone 7。 プレゼンテーションが上手かったというのもあるんだけれど、発表の中で Visual Studio や Expression Blend でささっとデモアプリケーションを書いて、その場でエミュレータ(これが速い)でささっと動いちゃっているのを見ると、ああなんか簡単に面白いのが書けそうと思えてきちゃって、これはスゴいなと。

Windows Phone 7 端末は iPhone みたいに単一メーカーじゃないんだけれど、比較的統一が求められていて、開発者に優しいらしい。 ただ端末毎の特徴が無くなって、買う側もつまらないし売る側も差別化しにくいんじゃないかなとも思われるところ。 個人的には Android のカオスは好きなんだよね(ただし開発者じゃない立ち位置で)。

懇親会でお話させていただいた方、ありがとうございました。


ロゴはmixi Engineers' Blogより引用。


今日のさえずり: 乗り換え案内が紀香案内に聞こえてしまう このエントリーを含むはてなブックマーク

@ 2011年06月29日


[ 6月29日全て ]

2011年12月13日 (火)

今日のさえずり: カメラ欲しい病にかかったっぽい このエントリーを含むはてなブックマーク

naney:6505502075

@ 2011年12月13日

  • 06:24 月が綺麗。
  • 08:56 ソニッケアー不調の件の原因判明。ブラシ側のマグネット部品がなんかずれてた。直したらソニック復活!
  • 11:26 Android の Due Today が java.lang.NoSuchMethodError: java.lang.String.isEmpty で落ちる。isEmpty は Java の 1.6 からだからか。
  • 13:08 RT @nissen: 【注意】先日来、飛行石についていくつかお問合せをいただいております。お声掛けは大変ありがたいのですが、お買い上げいただいたお客様が海賊や軍隊に追われては多大なご迷惑であるという判断で、お取扱いをしておりません。ご了承下さい。 スミス
  • 19:37 むむ。 Toodledo で「未完了のサブタスクが無いタスク」という検索は現時点では実現できないのか。レビューで使いたいのだけれど。
  • 20:30 退勤。
  • 20:45 カメラ欲しい病にかかったっぽい。
  • 20:51 フォーカスリングと絞りリングがあるといいけど、チッチャいのがいい。
  • 20:52 @yunzo77 こじらせる前に治療を。
  • 24:34 RT @redgri: 圧倒的多数の子供たちが「サンタさんぼくはおかねがたくさんほしいです。」とお手紙を出し、サンタがおお張りきりで多額のお金をすばやくばらまき、年末から超インフレが起き、サンタさんのプレゼントのお金がみるみる紙クズ化していくのに呆然とする子供たちの顔が見たい。

[ 12月13日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.369645s / load averages: 3.35, 3.30, 2.30
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)