home ホーム search 検索 -  login ログイン  | help ヘルプ

find 検索

391 - 400 / 1320    [|<]  [|<]  [<]  31  32  33  34  35  36  37  38  39  40   [>]  [>|][>|]
タイトル/名前 更新者 更新日
日記/2012/06/02/Eclipseでeclipse.iniの"-vm"オプションは"-vmargs"より前に書く msakamoto-sf 2012-06-02 23:08:36
Java/Maven3/warパッケージングで"selected war files include a WEB-INF/web.xml which will be ignored"警告 msakamoto-sf 2012-06-02 21:54:43
技術/Android/HTC Aria(S31HT) root化メモ msakamoto-sf 2012-05-27 18:55:12
技術/Android msakamoto-sf 2012-05-27 17:46:07
Scala/色々な実行方法 msakamoto-sf 2012-05-06 22:32:01
Scala msakamoto-sf 2012-05-06 20:54:03
日記/2012/05/04/さすがに23時overはきついかも。 msakamoto-sf 2012-05-04 15:31:10
日記/2012/05/02/JavaでHTTP(S)両対応のProxyを実験してみた。 msakamoto-sf 2012-05-02 22:40:45
日記/2012/04/22/JavaでSSLSocketの勉強メモ2 msakamoto-sf 2012-04-23 00:01:23
日記/2012/04/22/JavaでSSLSocketの勉強メモ1 msakamoto-sf 2012-04-22 19:20:38
ソート項目 / ソート順     1ページ 件ずつ表示

日記/2012/06/02/Eclipseでeclipse.iniの"-vm"オプションは"-vmargs"より前に書く  

所有者: msakamoto-sf    作成日: 2012-06-02 23:06:17
カテゴリ: Eclipse 

elipse.iniでついうっかり、"-vm"オプションを一番下(="-vmargs"の後ろ)に書くとトラブルになります。
"-vmargs"以降はJVMへの引数として解釈されるので、eclipseのオプションは"-vmargs"より前に書きましょう。

参考:


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-06-02 23:08:36
md5:1a9f81366b680a54f1016b2ab9805a83
sha1:359186d2d51c9aacfd4a8761df17a73258d267d5

Java/Maven3/warパッケージングで"selected war files include a WEB-INF/web.xml which will be ignored"警告  

所有者: msakamoto-sf    作成日: 2012-06-02 20:37:57
カテゴリ: Java Maven 

Mavenのwarパッケージングで、

[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')

という警告が出ました。Antのwarタスクでも同じ警告が出てしまう場合があるようです。
手許で確認した限りでは、archetypeとして org.codehaus.mojo.archetypes:webapp-jee5 (1.3) の構成で"mvn package" すると同警告が表示されました。

環境:

> mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900)
Maven home: C:\in_vitro\apps\apache-maven-3.0.4\bin\..
Java version: 1.6.0_22, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_22\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

> mvn help:effective-pom
...
     <plugin>
       <artifactId>maven-war-plugin</artifactId>
       <version>2.1.1</version>
       <executions>
         <execution>
           <id>default-war</id>
           <phase>package</phase>
           <goals>
             <goal>war</goal>
           </goals>
         </execution>
       </executions>
     </plugin>
...

これを解決するには、maven-war-plugin の2.2を使います。

pom.xml:

  <build>
    <plugins>
...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
      </plugin>
...
    </plugins>
  </build>

警告ではなく、以下のINFOメッセージが表示されるようになりました。

[INFO] WEB-INF\web.xml already added, skipping

警告でもINFOメッセージでも、

src/main/webapp/WEB-INF/web.xml


target/(artifactId)-(version)/WEB-INF/web.xml

にコピーされ、最終的にwarに含まれるので動作自体には影響ありませんが、警告が表示されるのが気になってしまう場合はためしてみると良いでしょう。

なお<webXml>でweb.xmlを指定する方法もweb上で紹介されていますが、2.2の前の2.1.1で試したところ<webXml>を指定しても警告は消えませんでした。

  <build>
    <plugins>
...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1.1</version>
        <configuration>
          <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
        </configuration>
      </plugin>
...
    </plugins>
  </build>

Antのwarタスクでも同じような警告が出るらしいので、maven-war-plugin自体と言うよりはwarパッケージングのライブラリの問題かもしれません。

参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-06-02 21:54:43
md5:34091a43ffbb145fa94b1bcd0554d327
sha1:b78974d3729eac07355785426e130cc1b37c2d20

技術/Android/HTC Aria(S31HT) root化メモ  

所有者: msakamoto-sf    作成日: 2012-05-27 17:46:28
カテゴリ: Android 

2012-05現在では遅きに失したが、ようやくEMOBILEのHTC Aria (S31HT)をroot化出来た(Superuserを導入し、"/system/bin/su"コマンドでroot化可能な状態)ので、簡単にまとめておきます。
大雑把な作業の流れやトラブルについてメモしておきます。具体的な作業手順等については随時紹介している外部ページを参照してください。

root化のポイント

  • デフォルトではNANDだか何だかとにかくセキュリティ設定がどうたらこうたらで、"S-ON"とかいう状態になっているらしい。
  • これを"S-OFF"という状態にすればよくわかんないけどrecoveryイメージの書き込みとか色々出来るようになるらしい。
  • というわけで、とにかく"S-OFF"にしてしまえば、後はClockWorkModのリカバリイメージをfastbootで導入して、予めSDカードにコピーしておいたSuperuserのzipをリカバリメニューからインストールすれば終了。

root化の流れ

AndroidSDKはWindows環境、HTC Syncは導入し、ADBドライバだけもらった後にアンインストール・・・したような。すくなくともAndroidSDKのadbコマンドで問題なく操作できる状態です。
HTC Aria (S31HT), EMOBILE については確か一度アップデートがかかりましたが、とりあえず現時点ではAndroid 2.2です。

下準備

DLしておくもの:

1. HBOOTのドライバをインストール

fastboot用のデバイスドライバかな?とにかくこれを導入しておかないと、AndroidSDKのplatform-toolsのfastbootコマンドでHTC Ariaを操作できない。
あと、Windowsだけの場合らしく、linuxやmacでは不要っぽいです。

手順参考:

2. "S-OFF"の実施

  1. HTC Syncはアンインストールしておきます。
  2. HTC Ariaを普通に立ち上げた後USBデバッグを有効化し、USBケーブルと接続します。
  3. revolutionary-0.4pre4.zipを展開し、revolutionary.exeを実行します。
  4. リカバリイメージのDLとインストールについては、やってもやらなくてもどちらでもOKです。

手順参考:(結構細かい手順が含まれてますので、よく読んでください。)

3. ClockWorkModを古いのに入れ替える

実は自分の場合、revolutionary導入時に一緒にClockWorkModもセットで導入したのですが(revolutionaryのツールが自動的にDL&インストールしてくれました)、以下の様な感じで、CWMのメニューを選択しても反応しなくなってしまいました。

そこで、あえて古いCWMに入れ替えたところ無事"install zip from sdcard"が動きました。

  1. HTC Ariaの方はVolDown+Power長押しで"S-OFF"後のHBOOT→"FASTBOOT"でfastbootモードにしてUSBケーブルを接続
  2. clockworkmod-2.5.1.7-liberty-offmode-charging.zipを展開して、recovery.imgをfastbootでrecovery領域にflashする。
DOS> fastboot flash recovery recovery.img

これで、ちゃんとメニューをPowerボタンで選択できるCWMが導入されます。ちょっとバージョンは古いですが、Superuserのzipをインストールしたりする分にはこれで問題ありません。

4. Superuserの導入

CWMのリカバリメニューから"install zip from sdcard"でSDカードに予めコピーしておいたsuperuserのzipをインストールして完了です。

トラブルポイント

トラブルになったポイントです。

"S-OFF"方法(Android 2.1だった頃)

S31HTが最初から2.2だったのかは不明ですが、とにかく海外の掲示板では「Android 2.2 にアップデートしたHTC Ariaじゃ、"Unrevoked"のツールでS-OFF出来ない!」という悲痛な叫びが寄せられています。

"Unrevoked"というのはHTC製端末に特化したroot化やROM操作などのツールを提供しているサイトです。

自分も"reflash_package.exe"というのを使ってみたんですが、"Internal error: failed to unlock nand flash"というメッセージが表示されてしまいました。
同様の症状もxda developersで報告されてます。

どうも、Android2.1のバグを突いて"S-OFF"化を試みていて、2.2になって(あとHBOOTのバージョンもUPした関係?)、使えなくなったようです。

ClockWorkMod RecoveryがとにかくPowerボタンでメニュー選択できない。

電源OFFすら選択しても無反応になりますので、何回も直接電池を外して強制OFFしました。
最終的に、clockworkmod-2.5.1.7というやや古いバージョンのものにして事なきを得ました。

参考

作業内容のところでひと通り紹介しては居ますが、他の参考URLなど。

  • [Info] After Revolutionary: install Clockworkmod, root & more - xda-developers
    • http://forum.xda-developers.com/showthread.php?t=1122694
      • HTC製の各端末向けにClockWorkMod Recoveryの4.0.1.4のDLリンクやメジャーな操作方法などが掲載されています。但し、ちょうどHTC AriaでメニューをPowerで選択しても動かなかったのが4.0.1.4のバージョンだったので、使えるかは謎。
  • HTC ARIA root化 | nniia.net
  • root - HTC Aria まとめ Wiki
    • http://wikiwiki.jp/htcaria/?root
      • 今回最も参考になった日本語ページ。「(恒常取得)手順0 恒常rootにするためにHBOOTの書換を行う」で"AlphaRevX Open Beta"という、revolutionaryになる前のバージョンを使っていたり、「リカバリモードのインストール」で参照しているCWMが4.0.0.5とこれまた今となっては微妙なバージョンですが、基本的な流れとしてはこれに沿った形になってます。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-05-27 18:55:12
md5:517debb54c7ef3ce74e34085dc403914
sha1:98664af89b5f5350564fd814ee1f57e03855ebcd

Scala/色々な実行方法  

所有者: msakamoto-sf    作成日: 2012-05-06 21:57:17
カテゴリ: Scala 

Scalaを実行する色々な(といっても2種類だけど)方法。

対話型インタプリタから実行

  1. 基本なので省略。
  2. 但し対話型インタプリタ上(正確にはREPL:Read Eval Print Loop)からの場合、中でpackage宣言は出来ません。"illegal start of definition" が発生します。な、なんだってー!!

スクリプトとして実行

シェバン行指定については調べてません。

(適当なディレクトリ1)/run_by_script.scala:

args.foreach(println)

実行:(適当なディレクトリ2)に移動してscalaコマンドでファイル名指定。

> scala (適当なディレクトリ1)/run_by_script.scala abc def
abc
def

ポイント:

  1. スクリプトファイル名と、中で宣言するクラスは無関係。いくらでもクラス宣言可能。
  2. 但しスクリプトファイルの場合、中でpackage宣言は出来ません。"illegal start of definition" が発生します。な、なんだってー!!

コンパイルして実行

(適当なディレクトリ1)/hello.scala:

class c1
class c2
object main {
  def main(args:Array[String]) {
    for (i <- 0 to args.length - 1) println("args(" + i + ") = " + args(i))
  }
}

"適当なディレクトリ2"に移動してコンパイル

> scalac (適当なディレクトリ1)/hello.scala

→ "適当なディレクトリ2" の下にクラスファイル(.class)が生成される。("-d" で出力先ディレクトリを指定できます。)

"適当なディレクトリ2"に移動してコンパイルしたクラスファイルを実行

> scala main abc def
args(0) = abc
args(1) = def

ポイント:

  1. ソースファイル名と中のクラス名を一致させる必要はありません。
  2. ちなみに、あくまでもscalaはコンパイルして実行するタイプの言語ですので、Perl/Python/Ruby/PHPみたいにソースファイルを実行時に取り込んで実行する機能は多分ありません。importはありますがあくまでもコンパイル済みの.classファイルを参照するのみ。

こういう機能はない・・・多分。

foo.scala:
...
import "abc/sub1.scala"
...

コンパイルして実行(package宣言有り)

(適当なディレクトリ1)/package1.scala:

package foo {
  class c1
}

package foo.bar {
  class c2
}

package foo.bar.baz {
  object main {
    def main(args:Array[String]) {
      args.foreach(println)
    }
  }
}

"適当なディレクトリ2"に移動してコンパイル

> scalac (適当なディレクトリ1)/package1.scala

→ "適当なディレクトリ2"の下に以下の構成でclassファイルが生成される。

foo/c1.class
foo/bar/c2.class
foo/bar/baz/main.class, main$.class, ...

"適当なディレクトリ2"の外からコンパイルしたクラスファイルを実行

> scala -cp 適当なディレクトリ2 foo.bar.baz.main abc def
abc
def

ポイント:

  1. ソースファイル・ソースのディレクトリ構成と、パッケージ名・クラス名は別々に付けられます。
  2. 但し生成されるクラスファイルの構成は、パッケージ名とクラス名に従います。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-05-06 22:32:01
md5:4c76df2739cb37fdf2ef4d5da41cb63e
sha1:828f12fba473b4d3a99a97235599d42c6257c51d

Scala  

所有者: msakamoto-sf    作成日: 2012-05-06 20:45:41
カテゴリ: Scala 

Scalaに関するエントリや、役立ちリンクなど。

言語および言語ドキュメント:

ライブラリ:

  • Akka ("Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM.")




プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-05-06 20:54:03
md5:4e605c86a8f252b167d1628006109cfc
sha1:5e1437db566215a1f5f689724e7c3907dda13709

日記/2012/05/04/さすがに23時overはきついかも。  

所有者: msakamoto-sf    作成日: 2012-05-04 15:22:16
カテゴリ:

昨日の真夜中あたりから下痢と吐き気で身動き取れない・・・。お昼すぎに正露丸買ってスポーツドリンク確保して、ようやく落ち着いてきた感じ。

1週間くらいのお休みで、後半位に発症してる。前回は年始・年末休みが開けて新年会終わった日の真夜中から発症。

2度も同じ症状なので、2回も同じ風邪とかインフルエンザに罹ったともな・・・。

去年末位からかなり帰りが遅くなる傾向で、ここ最近も週2-3日は日が変わってからオフィスを出たりする羽目になっている。

おかげで土曜日は頭痛と目眩で、午後いっぱいはだらだらとWeb見るだけが限界。

多分長めの休みを取ると、それまでのダメージが少し遅れて現れてくるのかも。

前回から4ヶ月の間が開いているので、次回は9月頃にまた1週間程度の休みを確保してみて、なおかつその前の月は遅くとも21:00頃にはオフィスを出るようにして調節してみて、比較実験をしてみようか。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-05-04 15:31:10
md5:ff4310d92d41246efea4a1d8ccdb49ee
sha1:ff9ca1066a57f07fb6f151f68e5aedc9ab119383

日記/2012/05/02/JavaでHTTP(S)両対応のProxyを実験してみた。  

所有者: msakamoto-sf    作成日: 2012-05-02 21:48:47
カテゴリ: Java セキュリティ 

前回・前々回のエントリーとJavaでSSLSocket関連のお勉強をしてきましたが、そもそもの目的はBurpSuiteなどのHTTP/HTTPS両対応のJavaのProxyが、どうやってHTTPSのProxyを実現しているかの調査でした。基本的にはHTTPSプロキシを設定されたUser-Agentは、最初にCONNECTメソッドで本来のホスト名とポート番号をProxyに伝え、Proxyは以降、HTTPではなくTCPレベルでUser-Agentと実際のサーバとの間のパケットの中継のみを行います。したがってSSL/TLSのパケットの中身には触れません。一方で、BurpSuiteやDoormanなどはSSL/TLSのパケットの中身についても読み書きが出来ます。さらにBurpSuiteなどは接続先に応じて証明書をその場で生成することが可能で、共通のPortSwiggerのCA証明書で署名された証明書がUser-Agentには提示されます。
ProxyがSSL/TLSの内容について読み書きする方式は、少なくとも2種類の実装方式があるようです。

  • 内部でMITMのSSL/TLSサーバを立ち上げ、そこに中継するタイプ。(jumperz.netのDoormanがこのタイプ)
  • SSLEngine(JDK 1.5以降)を使ってProxy自身がハンドシェイクからSSL/TLSパケットのwrap()/unwrap()を行うタイプ。

今回はMITMのSSL/TLSサーバを立ち上げ、中継するタイプを作れるか実験してみました。HTTPサーバ・クライアントの実装やHTTPメッセージの処理については Apache HttpComponents の HttpCore を使って手抜きしました。さすがにソケット入出力の調整やHTTPメッセージの処理まで、ゼロからコーディングする体力は無いです・・・。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-05-02 22:40:45
md5:710d6dc7029216647e5817e1cd49fe23
sha1:8376098b44e495181e4c6f410a2aca30b14b1055

日記/2012/04/22/JavaでSSLSocketの勉強メモ2  

所有者: msakamoto-sf    作成日: 2012-04-22 23:54:44
カテゴリ: Java セキュリティ 

前回のエントリ 日記/2012/04/22/JavaでSSLSocketの勉強メモ1 に対してFacebook経由で早速HTTPのCONNECTメソッドでFA。
やばい、SNSでこんなに早くヒントとかFAもらえるのってあまりにも初体験すぎる。

さておき、ちょっとJavaのKeyManager触ってて疑問に思ったのが、「複数のKeyPairが格納されていた時、どれがクライアントに提示されるんだろう?」
→すでにStackOverflowに挙がってた。

X509KeyManagerを実装して、chooseServerAlias()を調整すればよさげ。なるほどな〜。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-04-23 00:01:23
md5:34afb4bb4bc35a79592baffaf2233656
sha1:19466fde77430d005788306ff8c317ec41001b65

日記/2012/04/22/JavaでSSLSocketの勉強メモ1  

所有者: msakamoto-sf    作成日: 2012-04-22 18:49:24
カテゴリ: Java セキュリティ 

お仕事でBurpSuiteを使っているのだけど、暫く前から気になってしょうがない点がある。HTTPSの時に、なんでBurpは適切なCNでPortSwiggerによる証明書を生成できるのだろう?

というわけで、その辺のもやもやを解決するためにはまずSSLを学ばないと駄目かなと思い、資料漁ったり入り口としてJavaでSSLを使うにはどうするのか、とか手をつけてみました。
今回はそのお勉強メモで、SSLでechoサーバをJavaで作ってみようという、少しぐぐればサンプルがゴロゴロ転がってるやつです。ただ、そのサンプルが「なぜそれで正常に動作するのか?」を理解するだけで実に丸一日使い果たした・・・。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-04-22 19:20:38
md5:55a4d1f485048bdefbf0495b7c9f1914
sha1:069bad75931a96bbe7076f7eddc6c5648c16dc8c