ブログ

Javaで超簡単にスタックトレースを表示する方法

in

いろいろなところから呼び出されているメソッドで問題があったとき、どの呼び出し元が問題か調べたいときがある。

そんなときはこの1行でスタックトレースを表示。

new Exception().printStackTrace();

簡単でStackTraceElementの配列をいじる必要もなし。

Google Calendarで土日だけ違う色を付ける方法

in

Google Calendarは便利。仕事の予定も個人の予定も1つにまとめてる。ちょっとだけ不便なのは土日がはっきりと表示されないこと。そこで、

1.カレンダーを月曜表示に
 これで土日が1週間の最後に来るので仕事と遊びの計画が見やすく

2.土日だけ違う色で表示
 カレンダーのバックグラウンドの色を土日だけ違う色に。方法は以下のCSSをStylishを使ってwww.google.comに設定


div.month-row > table.st-bg-table tr > td:nth-child(6) /* for Sat in Mon-Sun system in Month view */
{
background-color:#E6EBFA;
}

Chromeで汚い日本語フォントを直す方法

in

Chromeはすごく速くて快適なんだけど、デフォルトのままだと日本語が汚くて仕方がない。そこで、Meiryoフォントを使うように設定する。

  • 右上のスパナアイコンをクリック
  • Options
  • Under the Hood タブ
  • スクロールして下の方に行き、Change font and language settingsボタンを押す
  • 面倒なので全部Meiryoフォントを指定

これでほとんどのサイトで日本語がMeiryoフォントで表示される。ところが稀にFont-Familyで変なフォントを指定しているサイトがある。例えばこれ↓

http://wiredvision.jp/

Windows 7でのAndroid開発環境

Windows 7、64Bit、Premium HomeにAndroid開発環境を作ったときの注意点。

  • Eclipse
  •  32BitバージョンのGalileo(バージョン3.5)。これはAndoroid SDKがHeliosにまだ対応していないため。

  • JDK
  •  32 Bit版 1.6.0_21。このレビジョン21は初期のものだとうまく動かないとかで、最新のものをダウンロードする必要あり。

  • Android SDK
  •  最新のものをインストール。Backward Compatibleで、以前のOSバージョン対応のソフト作成も最新のSDKで大丈夫。もっとも、2.2のSDKを使い始めてしまったので、それ以下のものを作るのが億劫になるかも。

  • パーミッション

Windows 7の共有フォルダにXPからアクセスする方法

Microsoftがセキュリティのためにデフォルト設定を厳しくしたので、Windows 7のフォルダを共有するのが難しくなっている。そこでウェブではなかなか見つからなかった部分を解説する。使っているのが英語版のWindowsのため、設定項目は適宜、日本語に置き換えてもらいたい。

Windows 7 同士の共有
PC環境
基本環境は以下の通り

  • すべてのPCを同じワークグループ名(デフォルトではWORKGROUP)にする。
  • 使用するのはWindows 7 ホームプレミアムかそれ以上のエディション
  • 両方のマシンでまったく同じユーザーアカウントを作る。
  • このとき、ユーザー名とパスワードを完全に一致させておくこと。

HotmailからGmailへ日本語メールをごっそり移動する方法

問題

HotmailからGmailへ移行する人も多い。Hotmailに溜まっているメールをそのままにしておいて、新しくGmailを使うだけなら簡単。だけど、今までもらったメールを全部Gmailに移したいという人も多いだろう。

GmailにはHotmailやYahooメールから自動的にメールを取ってくるインポートの機能がある。
Gmail Import FeatureGmail Import Feature

この機能を使えばすべてのメールを取ってきてくれるのだが、なんと日本語のメールは本文が文字化けしてしまう(タイトルは大丈夫)。そのため、英語専用で使っていたのでない限り、この方法ではうまく行かない。

解決策

Java メモ - javacで標準ライブラリの前にユーザーライブラリを参照させる方法

組み込みのJavaアプリであるライブラリを使わなければならない。そのライブラリはorg.w3c.dom.DOMImplementationを実装しているのだが、対応している環境はJava 1.4なのにそのクラスだけJava 5のメソッドを実装している。実行時にはこのjarファイルも使うのだけどコンパイル時には1.4の標準ライブラリが先に参照されてしまってエラーになる。このライブラリが標準ライブラリよりも先に参照される方法がこれ。

Eclipse

Java Build Path --> Order and Exportでライブラリの順序を指定。

Java メモ - Eclipseを使ってJavaのコードスタイルを変更する

プログラムを書くときコードスタイルは個人の好みが反映されて癖があるものだけど、自分が慣れているスタイルだと生産性も高くなる。

例えば多くのJavaプログラマーはこんな感じのスタイルを使っている。

class test(){
    public
main(args[]){
        if(
a == b){
           
System.out.println("Hello World!");
        }
    }
}

個人的には「{ 」を同じ行に書くのは好きになれない。僕はいつも「{ 」が次の行にくるように書いている。こんな感じ。


class test()
{
public main(args[])
{
if(a == b)

Javaメモ - SSL Socketを使った通信

in

JavaでSSLを使ってソケット通信するサンプル。元ネタはこの辺り。

http://codezine.jp/article/detail/105?p=1
http://mikilab.doshisha.ac.jp/dia/research/report/2005/0918/004/report20050918004.html

僕のサンプルではクライアントの証明書の認証は行わない。単にサーバーが送ってきた証明書をクライアントで認証するだけである。つまりサーバーはクライアントがどんなものであっても受け入れる。ウェブサーバーとかは普通こうなっているから。

クライアント側コード SSLClient.java

import java.io.*;
import java.security.KeyStore;

自動的にユーザー間でファイルを読み書き可能にして共有する方法

in

Macでファイルを別のユーザーと共有するには普通は2つの方法がある。

  • パブリックフォルダ
  • Drop Boxにファイルをコピーすると相手がそのファイルを見れるようになる。

  • Sharedフォルダ
  • ここにコピーしたファイルは誰でも見れるようになる。

これだとファイルを作った人(所有者/Owner)しか書き込みや削除が出来ない。Windowsでは共有フォルダを作ったらそこにあるファイルは自動的にそのフォルダにアクセス権がある人は誰でも読み書きできる。重要なのは「自動的に」というところ。Macではいちいち、ファイルやフォルダごとに書き込み権限を他のユーザーに与えないといけない。複数の人でMac上のファイルを編集したりするには自動的に読み書きできたほうが便利。

コンテンツ配信