ひでっぷの技術メモ

はてなダイアリーから移行しました

2008-01-01から1年間の記事一覧

Armadillo-9で使用するphoneMEのコンパイル方法

phoneMEのコンパイル方法を書いておこうと思いながらずっとほったらかしていました。 phoneMEのコンパイルで検索してここにたどりついた方もいるようなので残しておきます。 ただし、Armadillo-9で使用するphoneMEのコンパイル方法です。 コンパイルにはATDE…

DebianでJBuilder2006を動かす

以前DebianをインストールしたDynabookにちまちまと開発環境をいれている。 うちのJava開発用IDEはJBuilder2006なのでJBuilder2006をインストールする。 事前にインストールを試した先輩からCDのインストーラーは動かないと教えてもらっていたので以下の方法…

WindowsXPとDebianのデュアルブート

Armadillo-9を使用した仕事はとてもLinuxに依存したシステムになっている。 たとえばJavaからpingコマンドをうったりifconfigをうったりしている。 Javaの開発はWindowsでもLinuxでもできるけど、いざデバッグとなるとLinuxマシンじゃないとできない。 会社…

Runtime.exec()でLinuxのパイプやリダイレクト使用

RuntimeクラスのRuntime.getRuntime().exec(String command)にてLinuxのパイプやリダイレクトを使用する場合はシェルスクリプト経由にしないとうまく動かない。 × Runtime.getRuntime().exec("ps -A | grep syslogd"); ○ Runtime.getRuntime().exec("/bin/sh…

Jakarta Commons Net FtpClientのタイムアウト設定

FtpClientの接続タイムアウト設定はsetDefaultTimeout(int timeout)メソッドで行う。timeoutの単位は(ms)。 これをやっておかないとftp接続時にネットが切断されたりした場合ずーっと待ってる気がする。 ちなみに接続後のタイムアウト設定はsetSoTimeout(int…

バッファロー製ルーターのrootパスワードには文字数制限がある

自宅で使ってる無線LANルーターWHR-G。 先日、無線LANの暗号化方法をWEPからWPA2-PSKに変更しようとルーターにアクセスするもパスワードエラーでルーターに入れない・・・。 思いつくパスワードを入れてみたが結局入れずルーターを初期化することに・・・。 …

SableVM1.13のバグ?

どうもSableVM1.13のGCにはバグがあるようです。 public class ThreadTest { public ThreadTest() { super(); } public static void main(String args) { ThreadTest threadtest = new ThreadTest(); threadtest.start(); } public void start(){ int no = 0…

phoneME使用上の注意メモ

Armadillo-9+Javaで開発をしています。 最初はオープンソースのSableVM1.13を使用しようと思っていましたが、致命的なバグがあり使用を断念しました。 (バグについては後日落ち着いてから記事にしたいと思います。) SableVMの代わりに使用するのがphoneME…

FTPクライアントの作成(Jakarta Commons Net編)

前回のFTPクライアントの作成(Socket編)だとユーザー/パスワードが間違っていたりFTPサーバー自体が動いていなかったりした場合のエラー処理が全くしてありません。 FTPサーバーからの受信内容を解析して処理をすればいいんですが面倒くさい。 で、そんなこ…

FTPクライアントの作成(Socket編)

JavaでのFTPクライアントの作成方法。 まずはべたなSocketを使った方法。参考にしたのはFTPの仕組みとJavaでHello World FTP編 private Socket ctrlSocket; private OutputStream ctrlOutput; private InputStream ctrlInput; /** * FTPへuploadする * @para…

Armadillo-9でメール送信の落とし穴

以前、Armadillo-9でメール送信について書きましたが今日試してみて気づいたことが。メール送信をするJavaプログラムを作成、起動して何げにTopコマンドを眺めていると・・・ メモリめっちゃ食ってる!Swapしまくり! どうやらオプションの-Dgnu.classpath.n…

SimpleDateFormatクラスparseメソッドのLocaleに注意

SimpleDateFormatクラスのJavaDocに以下の例が書いてあります。 次の例に、U.S. ロケールで日付/時刻パターンがどのように解釈されるかを示します。指定された日付と時刻は U.S. Pacific Time タイムゾーンのローカルタイム 2001 年 7 月 4 日 12 時 8 分 56…

文キャッシュの使用方法

ある客先で作成したアプリがメモリ・リークするとのことで色々調べていると以下のような情報があった。 Oracle JDBC Drivers README 大きいCHAR列またはVARCHAR列を含む表でPreparedStatementを使用すると、 メモリー・リークが発生します。 この問題は、文…

ojdbc14.jarはJ2SE1.4のためのもの

J2SE5.0はサポート外だそうで・・・。 J2SE5.0の場合はojdbc5.jar J2SE6.0の場合はojdbc6.jar を使用するようにとのことでした。 1.4で使えるんだから5.0でも当然・・・と思ってました。 実際ほとんど問題なく使えてるんですが、致命的なバグがあるみたいで…

Armadillo-9でメール送信

PCと一緒でJavaMailを使用するだけ。 mail.jarとactivation.jarを/usr/lib/sablevm/jre/lib/extにコピー。 ただし"iso-2022-jp"のエンコードを使用するためにjavaのオプションで java -Dgnu.classpath.nio.charset.provider.iconv -jar hogehoge.jar が必要。…

Armadillo-9で構築した環境のコピー

構築に苦労をしても一度構築してしまえばあとは簡単。 CFカードの中身をごっそりコピーしてとっておいて新しいCFカードにコピーするだけ。 コピーする時は所有者情報を残してコピーするために-pオプションをつけること。

Armadillo-9のカーネル再コンパイル方法

Armadillo-9で色々な機能を有効にする時にカーネルの再コンパイルが必要になります。 最初にカーネルの再コンパイルが必要になったのはpppを有効にする時でした。 最初は自分のLinuxマシンに環境を構築しようとしましたが構築がうまくいっているかもわからな…

SSG5 コマンドでwebUIを有効/無効の設定をする

ネットワーク構築の仕事を受けました。 ファイアーウォールならばNetScreenだと思っていたのでいい勉強にもなるかなと思ってNetScreen 5GT の後継機SSG5を選択した。 今までさわったことがあるルーターはYAMAHA製のみ。 考え方とかが独特の世界な上にすべて…

Armadillo-9のロケール設定

Armadillo-9へJavaアプリケーションを移植している時に、日本語表示が出ないことに気づく。 調べてみるとロケール設定がきちんとされていないようだ。 そこでlocalesをインストール。 #apt-get install locales インストール終了後再設定。 #dpkg-reconfigur…

SableVMで日本語エンコーディング(Shift-JIS,Windows-31J,EUC-JP)を使用する

Armadillo-9へあるJavaアプリケーションの移植をしています。 このアプリケーションの機能としてcsvファイルの読込があるのですが、Armadillo-9上で読込をすると Charset MS932 not found と表示されてうまく読み込めない。 どうやら日本語のエンコーディン…

Armadillo-9にDebian(etch)をインストール

もともとArmadillo-9にてSwingアプリを動かしたいと思いX Windows Systemが入らなかったためetch→sargeにしたわけですが、 その後いろいろ検証した結果どうもSwingがうまく動かない。 前の日記にも書きましたがレイアウトによっては正常に表示されなかったり…

Armadillo-9のシリアルポートをJavaで制御

やっとArmadillo-9のシリアルポートをJavaで制御できるようになりました。最初はSunもしくはRXTXのcommunication APIを使用しようと思っていました。 当然のことながら(?)どちらもARM用はなかったのですがRXTXにソースコードがあり、gccでコンパイルすれ…

VNCサーバーの設定

インストールは順調にいったVNCですがクライアントから接続すると灰色の画面がでるだけ(Xが立ち上がっているだけ)のようで使い物になりません。 ってことで調べながらVNCの設定をしました。 Xが立ち上がった時にWindowManagerが起動していないみたいです。…

Debian(etch)のインストール

armadillo-9のJavaによるシリアル制御に行き詰っているため気分転換(?)に会社のサーバーのインストールをしました。 サーバーはLinuxだねーと先輩と言ってたけどがディストリビューションを何にするかは決まってませんでした。 armadillo-9でDebianをさわ…

Armadillo-9でvncとSwingアプリその2

今回はArmadillo-9でvncServerを立ち上げ、開発PC(TurboLinux)のKDEについているリモートデスクトップ接続でリモート接続しました。 そんでもって前回作ったSwingアプリを起動。 こんな感じ。 まあ問題なし。 次はpanelのlayoutをflowlayoutからgridbaglayou…

Armadillo-9でSwingアプリを動かす

前回に続いて今回はX Window Systemを立ち上げてSwingアプリを動かしてみました。 Armadillo-9でのX Window Systemの立ち上げ方はArmadilloのサイトのHowtoにありますが、なんかうまくいかない。 xfonts-baseのインストールでディレクトリがないなんてエラー…

組み込みLinuxをさわる

組み込みLinuxが載ったCPUボードArmadillo-9を購入し試行錯誤中。 とはいっても内蔵フラッシュのLinuxではやりたいことができなさそうなので 4GのCFカードを買ってきてArmadillo-9の付属CDについていたDebianをインストール。 Linuxは今までTurboLinuxがメイ…

Java→C++、C#やる人の落とし穴? 〜virtualキーワード〜

問1 下のようなクラスがある グループ1(Java) public class A{ public String hoge(){ return "hogehoge"; } } public class B extends A{ public String hoge(){ return "fugafuga"; } } グループ2(C++) public class A{ public String hoge(){ return "hog…

mysqlでの不思議なエラーが解決!

前回の日記に書いた原因不明のmysqlの不思議なエラー。 DBアクセスするメソッドをsynchronizedしてもだめ。 必ずおきる特定のテーブルのデータを取得する場合、もしエラーがでたらキャッシュしているデータを返すようにしましたが、なんと別のテーブルで同じ…

mysqlでの不思議なエラー

mysql4.0.18で不思議なエラーが返って来て参ってます・・・。 JavaからあるテーブルのデータをSELECT文で取得するとごくごくまれーに以下のエラーが java.sql.SQLException : Error during query : Unexpected Exception : java.lang.ArrayIndexOutOfBoundsE…