nmtysh.log

Tech系のネタや日々の独り言などを書いています。

プログラミング

Java: RecursiveTask

Java 7 の RecursiveTask でフィボナッチ数列なサンプル。 import java.util.concurrent.RecursiveTask; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ExecutionException; public cl…

Ubuntu 10.10 に Java 7 をインストールする

先日 Java 7 が公開されました。 ので、早速 Ubuntu 10.10 にインストールしてみました。 1. まずダウンロードサイトから 「Linux x86 - Compressed Binary 92.17 MB jdk-7-linux-i586.tar.gz」をダウンロードします。 ~/Downloads/jdk-7-linux-i586.tar.gz …

Java: JSP の Taglibs のダウンロード先

JSP のタグライブラリを使うことにしたのですが、 jar ファイルをどこからダウンロードしたらよいのかさんざん迷ったので、備忘録なメモ。 Apache Taglibs - Apache Taglibs がプロジェクトのページですが、404エラーばっかで上手くたどり着けません。 結果…

Ubuntu 10.10 に Eclipse 3.6.2 をインストールする

Ubuntu 10.10 のリポジトリに登録されている Eclipse は 3.5(Galileo) です。 本家で Eclipse 3.7 もリリースされたことですし、 3.6.2 にバージョンアップすることにしました。 1. eclipse 3.6.2(Helios) をまずはダウンロードします。 ダウンロードページ…

CSS3 でフォルダツリーみたいに見せる

CSS3 対応ブラウザ限定 <ul> の <li> 要素の前に"├"や"└"を付けてフォルダツリーみたいにしてみる。 ul.dir li:before { content: "├"; margin: 0px 4px 0px 0px; } ul.dir li:last-child:before { content: "└"; margin: 0px 4px 0px 0px; } こんな感じ A B a b c C</li></ul>…

JIT を無効化する

Android 2.2 以降は JIT(Just In Time)コンパイラが有効になっています。 基本的には、有効にしておくと処理の高速化が期待できます。 しかし、意図的にJITを無効化したい場合があります。 そういった場合は AndroidManifest.xml の Application要素に andro…

Java: 3桁区切りにする

Java でカンマ区切りな文字列にする。 NumberFormat format = NumberFormat.getCurrencyInstance(); Sysout.println(format.format(数値)); で、 "\12,345" NumberFormat format = NumberFormat.getNumberInstance(); Sysout.println(format.format(数値)); …

Android: Chapter09_01.HelloMap のズームコントロール

木南英夫さんの「Google Android アプリケーション開発入門」p189にあるサンプルは、SDK1.1を対象にかかれていて SDK2.2(IS06) で実行するとタップを上手く認識してくれません。 MapView.getZoomControls() が Deprecated になっているので、推奨されるメソ…

Java: StringBuilder と synchronized

以前、Java: StringBuilder と StringBuffer の違いでソースを見ると両者の違いは synchronized メソッドであるかの違いだと書きました。 そこで、 StringBuilder の append() を実行するときに syncronized 文にした場合の実行速度は StringBuffer と同じな…

GLib: フォルダの存在確認

Linux な C プログラムでフォルダの存在確認をする方法(要 GLib) #include <glib.h> if (g_file_test(folder, G_FILE_TEST_IS_DIR) == FALSE) { if (g_mkdir(folder, 0755) == -1) { printf("フォルダの作成に失敗しました。"); return; } } この例だと、 folder が</glib.h>…

Java の char は 2byte

まあ、表題の通りなんですが、Java の char型は 2byte です。 C言語だと char型は 1byte なんですがね。 なので、異なる言語間で通信したりするときには型のサイズが重要になってきますよ。と言うお話です。 C言語な Webカメラの画像取得プログラムから TCP/…

Video for Linux

Ubuntu 10.10 でWebカメラの映像を取得するプログラムを書いたのですが、 ioctl(VIDIOCGMBUF) に失敗してしまいます。 Debian(Etch) だと動いたんですがね~ VIDIOCGMBUF 辺りをキーワードに検索したのですが、なかなか見つからず、やっとこさ見つかったので…

Java: StringBuilder と StringBuffer の違い

以前、Java で文字列の結合にかかる時間の比較を行いましたが、 StringBuilder と StringBuffer の違いについて JDK のソースコードを読んでみることにしました。 ソースファイルのどの部分に記述されているのか検索しながら探すのは大変なので、 Eclipse の…

android のソースを取得

android の api でどんな処理になっているのか気になるところがあったのでソースを取得しました。 ソースの取得には git が必要です。 git clone で 400MB 近くダウンロードするので気長に待ちましょう。 下の git://~ のリンクをクリックするとブラウザで…

Cとバッチでスタートアップを遅延起動

Windows 起動時(正確にはログイン時)に実行されるスタートアップのうち不要そうなものを遅延起動しようと言うことで、遅延起動スクリプトを作成。 ここで問題が、 Windows のバッチでは、 sleep(wait) ができないのです。裏技的な方法は、 ping localhost -n…

Gitチャレンジ

Gitにチャレンジするための環境構築メモ 構成: Windows XP Ubuntu 10.04 Server x86 on VirtualBox ●Ubuntu ○git をインストール sudo apt-get install git-core git-daemon-run ○リポジトリ作成 sudo mkdir -p /var/git/project.git cd /var/git/project.gi…

Java:文字列結合の実行速度の比較

Java言語で繰り返し処理で文字列結合を行う場合は、Stringを使うよりもStringBuffer/StringBuilderを使う方が処理が速くなります。(単一スレッドの場合は、StringBuilderの方が高速) 今回は、文字列結合処理でString、StringBuffer、StringBuilderでどれぐら…

Java:空文字列判定の実行速度の比較

前回は、Javaの文字列で、先頭が一致しているのかを調べるのにかかる時間は、startsWithとsubstring.equalsでは、どちらが速いのか実験しました。 今回は、変数に入っている文字列が、空文字列(長さ0)なのかの判定で、String.equals("")と、String.length() …

Android:eclipseで実行したときに起動するActivityの切り替え方法

eclipseで、Androidなアプリケーションを実行したときにemulatorで起動するActivityの切り替え方法は、AndroidManifest.xmlの<activity>の<intent-filter>の<category>タグをコメントアウトすればいいと思っていたのですが、どうやら違うようです。 Manifestファイルで <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> を付けて定義したActivi…</category></action></category></intent-filter></activity>

Java:文字列比較の実行速度の比較

Javaの文字列で、先頭が一致しているのかを調べるのにかかる時間は、startsWithとsubstring.equalsでは、どちらが速いのか実験してみました。 おまけで、charAtでも比較してみました。 ・実行環境 OS : Windows XP Pro SP3 CPU : Intel Core 2 Duo E8400(GIG…

Android:アプリを起動したときに、実行するActivityを変更する

eclipseでプロジェクト作成時に指定したActivityではなく、他のActivityをアプリ起動時に実行したいと思いました。 (というより、使用したサンプルにActivityが2つあるのですが、ボタンで片方のActivityを呼び出すなどの、Activityを切り替える方法が用意さ…

HSP:再帰処理

C言語やJava言語など一般的にサブディレクトリも処理するような場合には、再帰処理が有効です。 しかし、HSPでモジュールを使用して、再帰処理を行うと問題が起こります。 何が問題かというと、パラメータ以外の変数が内部で呼び出した自分自身によって上書…

HSP:マルチディスプレイ対応スクリーンセーバーの作成

私が作成しているスクリーンセーバーをマルチディスプレイ対応にするためにいろいろ調べてみました。 EnumDisplayMoniters関数とGetMoniterInfo関数を使えば良いことが分かりましたが、HSPでの使い方が分かりません。 HSP用のソースを探してみたところありま…

VB.NET: INIファイルの取り扱い

VB.NETでWin32APIの GetPrivateProfileString, WritePrivateProfileString を使って、INIファイルに設定を保存しようとしました。 引数のファイル名の指定に設定ファイル名のみ("settings.ini"など)を指定したところ、設定は保存されるのですが肝心のファイ…

GTKプログラミング

ふと、Linux(Ubuntu)でGUIプログラミングをやってみようと思いました。 調べると良さそうな教材がありました。 菅谷 保之氏のGTK/GNOMEによるGUIプログラミングの第2版のPDFファイル(219ページ)が公開されていました。 (現在3版を出版していて、しばらくして…

HSP:Webカメラの画像を取得

とある事情でWebカメラで撮影した画像を利用するVBAを書いたのですが、このWebカメラは画像をキャプチャしても保存先が特殊フォルダらしくVBAから手が出せません。 いくつかフリーソフトを試してみたのですが、相性の良いソフトを見つけられなかったのでHSP…

Androidメモ:javaコードからstring.xmlに定義した文字列を利用する

Androidプログラミングのメモ書き string.xmlに定義した文字列はプロジェクトの/gen/R.java(リソースファイル)から参照できる。 この中でリソース参照用に定義されている定数を使用して参照する。 文字列の場合は、R.stringに定義されていて、R.string.name…

ツェラーの公式で曜日を求める(備忘録)

与えられた日付から曜日を計算する方法を考えていて、"ある日付を基点としてその日付から曜日を求めたい日付までの日数を計算して、基点の日付の曜日(0~6)を足して全体を7で割ったあまりを出す。"という方法を考えました。 ただ、この方法だとこの基点とし…