lubuntu 14.04 には ax88179_178a.ko がデフォルトで存在する

usb 有線LANアダプタ では Amazon.co.jp: Anker Uspeed USB3.0 LANアダプター 10/100/1000BASE-T ギガビットイーサネット対応 USB2.0/1.1にも互換性あり MacBook Air動作確認済 ASIX AX88179チップセット: パソコン・周辺機器 のためにドライバをインストー…

Lubuntu 14.04でインストールしたパッケージ

lxkeymap CapsLockをCtrlに変更. 永続化は.config/autostart xcompmgr XのCompositeを有効化. .confing/autostartで自動起動 ibus-anthy 日本語入力 guake ワークスペースまたぎターミナル vpnc VPNクライアント xtightvncviewer VNCビューア rdesktop Windo…

行内差分をハイライト

git

diff-highlight で公開されている git-contrib の1つ. $ cd ~/bin $ wget https://raw.github.com/git/git/master/contrib/diff-highlight/diff-highlight $ chmod +x diff-highlight $ vi ~/.gitconfig .gitconfigあたりに記述 [pager] log = diff-highligh…

gradle から umlgraph を使う

要は、UMLGraphの doclet を javadoc タスクで指定し、gradle javadocすればいい. UmlGraphが依存しているgraphvizパッケージをインストール $ sudo apt-get install graphviz build.gradle に依存関係追加 configurations { doclet } dependencies { doclet…

アサーション時、 ListのtoString()がObjectのtoString()っぽくなる

Listのアサーションを記述したとき、 java.lang.AssertionError: Expected: is <[1]> but: was <java.util.ArrayList@35ffcd64> の様にObjectのtoString()っぽい表記になることがあった. 原因は toString() 内部で NullPointerException が発生していたこと. この時、org.hamcrest.BaseDisc</java.util.arraylist@35ffcd64>…

Cassandra クライアントサンプル

プロジェクトサイト The Apache Cassandra Project インストール ダウンロードしたアーカイブを展開するだけ $ tar zxvf /tmp/apache-cassandra-2.0.3-bin.tar.gz -C /opt/java $ cd /opt/java $ ln -s apache-cassandra-2.0.3 cassandra 設定変更 設定が示…

Gradle プロジェクト初期化

build.gradleのサンプルや、gradle wrapper, 基本的なディレクトリまで生成してくれる. ihiroky@LZ750HS:~/t$ gradle init --type java-library :wrapper :init BUILD SUCCESSFUL Total time: 4.28 secs ihiroky@LZ750HS:~/t$ ls build.gradle gradle gradle…

Gradle 1.10

Gradle 1.10がリリースされた. GCCやVisual Studioに対するサポートが強化されている感じ. 気になるところでは、テスト実行について、コマンドラインで指定したテストだけを実行するオプション (test タスクの --tests) がついた. 今までは -Dtest.singleton…

正規表現にマッチする文字列のカウント

find()の連続呼び出しでマッチする部分文字列を巡回することができる. 実行結果 find 0 : 0, 2 find 1 : 3, 5 find 2 : 6, 8

Object#wait()に関連するテスト

タイムアウト可能な同期をとって処理を行うメソッドを定義するとき、うっかり時間単位間違えて使ってエンバグすることがある. private final Object mutex_ = new Object(); // モニタ private String value_; // ガードする変数 public void method0(long t…

CIFSマウント先がいなくなる?と親ディレクトリまで操作不能になる

CIFSでマウントしていたWindows7にWindowsUpdateをあてて再起動したら、マウントしているディレクトリを持つ親ディレクトリ毎 ls すら不能になる. 何もできなかったので再起動して回復. つまり、Windows側を落とすときは明示的にアンマウントしておかないと…

NotificationBroadcasterSupportにExecutor

JMXの通知で使えるサポートクラス javax.management.NotificationBroadcasterSupport に、リスナ呼び出しをExecutorで行う機能がついていた. 適当な Executor を渡すと、リスナ毎に Executor の呼び出しを行うようになっていた. 未指定時はそのまま Runnable…

mockito で可変長引数に Matcher を使うときに注意すること

mockito で使って可変長引数を持つメソッドをモックしたとき、明示的に配列を使うとMatcherを使う/使わないで挙動が違う. 例えば、 public class Hoge { public int varArgsMethod(String...args) { return args.length; } } という定義がある時、 Hoge hog…

coveralls-gradle-plugin 0.2.1

coveralls-gradle-plugin が 0.2.1 になって coveralls-gradle-plugin に JaCoCo でカバレッジをとれる機能を追加した もmavenに登場した. ためしてるけどビルド自体がうまくいってない模様で確認しきれてない.

'use strict';

JavaScriptにもstrictモードがありました. 2009年からあったそうで、今更ながら知りました. 使用するには スクリプト先頭もしくは関数スコープの先頭にに 'use strict'; を記述. でも JSLint は必須. “use strict”(厳格モード)を使うべきか? JSLint,The J…

coveralls-gradle-plugin に JaCoCo でカバレッジをとれる機能を追加した

Coveralls(というか Travis CI)で Gradle を使いつつ JaCoCo でカバレッジを計測したかったが頃合いのライブラリが無かったので、coveralls-gradle-plugin に機能追加してプルリクエストをしてみた. ちょっと恥ずかしいコミット漏れをしてしまったが無事マ…

JMXの属性や操作に簡単にアクセスする

JMXの属性を取得したり操作を呼び出したりしようとすると非常に面倒. 属性の場合複合オブジェクトだとCompositeDataを再帰的に降っていかないといけないし、操作に関してはいちいちメソッドのシグネチャを特定しなければならない. この辺は型が分かっていれ…

SoftRefLRUPolicyMSPerMB

IntelliJ IDEAのJVMオプションの変更点をチェックしてみると $ diff idea64.vmoptions idea-IC-133.193/bin/idea64.vmoptions 5a4 < -XX:+UseCodeCacheFlushing 9c8,11 > -XX:+UseCodeCacheFlushing > -XX:+UseConcMarkSweepGC > -XX:SoftRefLRUPolicyMSPerM…

IntelliJ IDEA 13

リリースされたそうです。 http://blog.jetbrains.com/idea/2013/12/intellij-idea-13-is-released-work-miracles-in-java-and-beyond/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+jetbrains_intellijidea+%28JetBrains+IntelliJ+IDEA+Blo…

Intellij IDEA javac オプション

Intellij IDEAでコンパイラのオプションにオプションをつけるには、 Settings -> Compiler -> Java Compiler -> Additional command line parameters に記載する. プロジェクトを開く前の Settings から設定すると Template project settings になるので、常…

端末エミュレータカラーコードサンプル

見た目はこんな感じ

Citrix receiver linux 64bit版でも32bitライブラリが必要

Install Citrix Receiver on debian amd64 にあるとおり、 Citrix Receiverのダウンロードサイト に64bit版パッケージ(deb)が置いてあるけど、実行には32bitライブラリ (ia32-libs ia32-libs-gtk) が必要だった. ここで諦めて32bitPCでセットアップしてしま…

vncserver の xstartup

デフォルトコメントに記載されていたとおり以下とおり記述. xinitrc には実行権限がついていなかったので bash を明示する. 後、クリップボード共有ができないので、vncconfig も起動する. alternatives の x-session-manager が呼び出されるが実際に使って…

パッケージの更新を定期的にコンソールに通知する

以下のスクリプトをrootのcrontabに仕掛ける. GUIを使えないところで使った.

Jacocoプラグインが便利

使い慣れてた cobertura を使ってカバレッジを測っていたけど、gradle に jacoco プラグインが標準搭載されているのでこれを使ってみた。至極お手軽だった・・・。 プラグインを読み込んで apply plugin: 'jacoco' jacocoReportTaskを実行するだけ $ gradle …

同じポートにバインドした複数のソケットでマルチキャストパケットを受信する

1ホスト上で同じポートに対して複数のソケットをバインドし、そこにマルチキャストパケットを流し込んだときのCPU使用率. Cpu0 : 32.2%us, 22.7%sy, 0.0%ni, 8.2%id, 0.8%wa, 0.0%hi, 36.1%si, 0.0%st Cpu1 : 29.3%us, 26.4%sy, 0.0%ni, 43.5%id, 0.7%wa, 0.…

vncserver の起動停止スクリプト

Debian系でvncserverの起動停止を行うスクリプト.一般ユーザーで.

DatagramChannel#read(ByteBuffer) は空データパケットを読めない

データをDatagramChannelで送る import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; public class Hoge1 { public static void main(String[] args) throws Exception { final DatagramChannel cha…

Redmine backlogsの設定が変更できないのはDBがおかしかった

久しぶりにbacklogsの設定を変更しようとしたがいくら変更しても一向に変更されない状態になった。保存時のログは以下のような感じで特段エラーっぽくみえない。 Started POST "/settings/plugin/redmine_backlogs" for 192.168.0.12 at 2013-11-21 17:09:43…

Jenkins (winstone) を Apache と連携させる

Apache設定 ProxyPass /jenkins http://localhost:8080/jenkins ProxyPassReverse /jenkins http://localhost:8080/jenkins ProxyRequests Off Jenkins (winstone) 起動 /jenkins をつけてApacheのproxy設定に合うようにするところがポイント。外部からはApa…