タグ

Javaに関するKouJustinのブックマーク (79)

  • Androidアプリへの署名の付け方|Android|モバイル/スマートフォン|PHP & JavaScript Room

    JDKのkeytoolコマンドで署名ファイルを作成し、EclipseでAndroidアプリに署名を付ける方法を説明します。 keytoolコマンドで署名ファイルの作成 unknown 管理者権限でコマンドプロンプトを開きます。 (コマンドプロンプトを右クリックして「管理者として実行」を押す) keytoolコマンドで署名ファイルを作成します。 「キーストア名」には、keystoreの生成先と署名ファイル名。 「妥当性日数」には、証明書の有効期限を日数で指定します。 #「keytool.exe」があるJDKのbinフォルダに移動 C:\Windows\system32> cd C:\Program Files\Java\jdk1.7.0\bin Enter #keytoolコマンドで署名ファイルを作成 C:\Program Files\Java\jdk1.7.0\bin> keytool -

    Androidアプリへの署名の付け方|Android|モバイル/スマートフォン|PHP & JavaScript Room
  • Javaのjoinメソッド - 結城浩のはてなブログ

    joinメソッドの動きがよくわからない。。。という記事を見かけて、久しぶりにJavaでプログラムを書きました。 joinメソッドは、th.join();という文を実行したとき、その文を実行したスレッドAは、thというインスタンスが管理しているスレッドBが終了するのを待つ、ということですね。 以下、それほどわかりやすくはないですが、簡単なプログラム。 class Main { public static void main(String[] args) { System.out.println(Thread.currentThread() + ": Start. (A)"); try { Thread th = new Thread() { public void run() { try { System.out.println(Thread.currentThread() + ": Sta

    Javaのjoinメソッド - 結城浩のはてなブログ
  • Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.

    僕がいま係っているシステムで、別システムのログインパスワードを文字列でデータベースに格納することになりました。これを実現するために、Javaで文字列の暗号化/復合化を行う方法を調べたので、その結果を記しておきます。(※既に別の方々が解説している内容をまとめただけですが。) まず、大きく以下の工程にわけて考えます。 文字列を暗号化する(バイト配列を得る) 暗号化されたバイト配列を文字列化する(暗号化文字列を得る) 暗号化された文字列をバイト配列化する(暗号化バイト配列を得る) バイト配列を復号化する(文字列を得る) 「1. 文字列を暗号化する(バイト配列を得る)」 Java Tips:手軽に暗号化・復号化するには? このページにばっちり解説してあるとおりです。 import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec

    Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.
  • Basic認証・Digestアクセス認証の実装

    はじめに 『Javaによる簡易HTTPサーバーの作成』第2回目の今回は、RFC2617で規定されているHTTPのBasic認証およびDigestアクセス認証を、前回作成したHTTPサーバーに実装します。 記事では HTTPの認証の仕組み NullObjectパターンの利用 Javaでメッセージダイジェストを利用する方法 デファクトスタンダードと仕様の齟齬(そご)の実例 といったトピックを取り上げます。 対象読者 記事は、Javaプログラミングの初級者から中級者を対象に、J2SEのメッセージダイジェストの利用方法や、NullObjectデザインパターンの利用などについて解説します。 また、HTTPの認証機構や、RFCと現実の実装の差などの、コンピューティングの周辺知識についても簡単に説明します。 必要な環境 記事のソースをビルド/実行するには、J2SE 1.4以上を利用してください。ソ

    Basic認証・Digestアクセス認証の実装
  • javaでBlowfishを使う - 技術メモと日常のあれこれ

    仕事で暗号化を使う必要があったので やった事をメモ まず、Blowfishで暗号化する為に最初に決めないといけない事は 暗号化方式(CBC or EBC) パディング方式 IV(初期ベクトル) を決める事 暗号化方式 CBCとEBCというものがあるらしい。 ECB 初期ベクトルが固定で同じ文字を同じキーで暗号化した場合は同じ結果になる CBC 暗号化する時に初期ベクトルがランダムで設定されるらしい 同じ文字を同じキーで暗号化しても毎回異なる結果になる 複合化する為には初期ベクトルが必要になる ※初期ベクトルについては後で書きます パッディング方式 Blowfishでの暗号化は8byte単位でされるので、足りない場合は文字埋めされる その方式がいろいろあるようなのでそれをここで指定する PKCS5Padding というのが主流らしい。 Javaのドキュメントもそうなっていたのでそうなんだろう

    javaでBlowfishを使う - 技術メモと日常のあれこれ
  • 異なる言語間での暗号化と復号 - ぱせらんメモ

    仕事でデータを暗号化して保存する必要が出てきたので色々調べてみた。 メインのシステムはPHPで作っているんだけど、Javaなども絡んでくるので、お互いが処理できる暗号方式でなければいけない。 仕様さえ明確にしてあればオレオレアルゴリズムでもいいんだけど、今回はかなり重要なデータを扱うので世間でそれなりに使われている暗号方式を使うことにした。 暗号の種類 自分も暗号にそんな詳しいわけではないけど、「データをパスワードで暗号化するんでしょ?」ぐらいにしか思ってない人はきっと大変な思いをする。 今の話で登場するのは 暗号化したいデータ 暗号の種類(アルゴリズム) パスワード(暗号処理に使うキー) の3つだけど、これからやろうとしてるブロック暗号では 暗号化したいデータ 暗号の種類(アルゴリズム) 暗号処理に使うキー(パスワードというかバイト列) 暗号利用モード(ブロック処理の種類) 初期化ベクト

    異なる言語間での暗号化と復号 - ぱせらんメモ
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
  • 第1回 Gradle入門

    Gradleは、Groovyで書かれたビルドシステムです。GradleをAndroidアプリ開発に使用すると、便利なことがいろいろできます。連載では、Gradleの特徴やインストール方法、便利な使い方を解説していきます。 ビルドシステム、ひいてはGradleがあると助かる場面とは、一体どういう場面でしょうか? 筆者の具体例でいうと、ある日上司がやってきて、「今お前たちが作っているアプリを俺の端末にインストールしてくれ。」と言ってくるわけですね。1回だけならば話は簡単です。 PCと端末をmicroUSBで接続して、Eclipseを起動してADTでアプリをコンパイルして、端末に転送してインストールして返してあげるだけです。 ですが、それが2回も3回も…となってくると、思わず「自分でやってください!><」と言ってしまいたくなりますが、上司PCには開発環境が整っていません。それに、新しいAnd

    第1回 Gradle入門
  • JD-GUI | Java Decompiler

    Yet another fast Java decompilerJD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields. JD-GUI is free for non-commercial use. This means that JD-GUI shall not be included or embedded into commercial software products. Nevertheless, this project may be freely u

  • Java日付処理メモ(Hishidama's Java Date Memo)

    Java9で、日付時刻APIのChronoUnitに変換するメソッドが追加された。[2017-09-27] import java.time.temporal.ChronoUnit; import java.util.concurrent.TimeUnit; ChronoUnit seconds = TimeUnit.SECONDS.toChronoUnit(); // ChronoUnit.SECONDS TimeUnit seconds = TimeUnit.of(ChronoUnit.SECONDS); // TimeUnit.SECONDS java.util.Date java.util.Dateは、Javaで日時を保持するクラス。Date(日付)という名前だけど、時刻も保持できる。タイムゾーンは保持されない(UTCである)。 (→JDK1.8のLocalDateTime)[/2

  • KMC Staff Blog:Androidのデバッグダンプからソース上の問題発生箇所を調べる方法

    2011年02月22日 Androidのデバッグダンプからソース上の問題発生箇所を調べる方法 今回もAndroidのアプリケーション開発者でなくて、ポーティングなどでシステム部分の問題を追いかける人が知っておくとよい話です。(English version of this page) 実機でいろいろいじくって動かしていると、いつまでもandroidの起動アニメーションのままになって立ち上がってこなくなってしまうことがあります。このときにシリアルのコンソールからlogcatを見てみると、以下のようにあるプロセスが例外を起こして落ちてしまっていたりします。 ログのこの部分はdebuggerdが出しています。(debuggerdのしくみは以前に紹介しました。) I/DEBUG ( 3037): *** *** *** *** *** *** *** *** *** *** *** *** ***

  • logcatに出てくるSIGSEGVからソースファイルを割り出す

    KMC Staff Blog:Androidのデバッグダンプからソース上の問題発生箇所を調べる方法 実践してみよう。 まず、スタックトレースから。 I/DEBUG   (  741):          #00  pc 00015ca4  /system/lib/libc.so I/DEBUG   (  741):          #01  pc 0000143a  /system/lib/liblog.so I/DEBUG   (  741):          #02  pc 0000bb7e  /system/lib/libstagefright_omx.so I/DEBUG   (  741):          #03  pc 0000bbe2  /system/lib/libstagefright_omx.so I/DEBUG   (  741):          #04 

  • Android Native で SIGSEGV が起きたときに Java 例外を VM に通知する - おともだちティータイム

    android-native-signal-excption SIGSEGV が起きたときに Java 例外を VM に通知できないかなと思ってコードを書いてみたら出来てしまった。基的に以下のようなアプローチで SIGSEGV を VM に通知している。 signal 関数を使って SIGSEGV が起きた状況をハンドリング setjmp/longjmp を使って元の位置までジャンプ 例外を通知する Android だと例外が起きたときに Play マーケットに報告できたり (デベロッパーはユーザの報告を確認できる) 、 ACRA を使って例外が起きた状況を調べることが出来るが、 Native 側で死ぬと静かにプロセスが殺されるだけなので確認する手段が無い。 しかし、 Java 例外にしてしまえば調べることが出来る。素晴しい。 追記 とはいえ SIGSEGV が起きている以上、プロセスは

    Android Native で SIGSEGV が起きたときに Java 例外を VM に通知する - おともだちティータイム
  • Android:URLエンコード文字列のデコード | 智信の部屋

    智信の部屋 tomonobu.exblog.jp プログラムに関する雑談なんかを書いていこうと思います。(android記事のまとめサイトはこちらです→http://tomonobu.rocketserver.jp/android_blog_index.php) 外部のAPIとの通信を行う場合、 取得されるデータがURLエンコードされている可能性がある。 この場合、それら文字列をデコードする必要がある。 参考資料 ・「URLの問題」 ・「URLエンコード(JavaScript)をデコード(JSP)する方法」 ・「Unicode」 URLのエンコードには… ・二桁ずつにエンコードされる場合(%00) ・四桁ずつにエンコードされる場合(%u0000)…Unicodeスカラ値での表現(?) があるが、 標準で用意されている URLDecoder.decode では四桁のエンコードに対応していない

    Android:URLエンコード文字列のデコード | 智信の部屋
  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
  • Java正規表現の使い方

    正規表現とは正規表現で用意されている特殊な文字や構文を使って作成したパターンを使い、対象の文字列とマッチするかどうか調べるための方法です。正規表現を使うことで「ABCDE」など指定した文字列と完全に一致しているかどうかを調べるだけでなく、「A」で始まり「E」で終わる 5 文字の文字列などのようなより柔軟で複雑なパターンを定義することができます。ここでは Java における正規表現の使い方について解説します。 ※ 正規表現の基的な考え方については「正規表現入門」もあわせてご参照ください。

    Java正規表現の使い方
  • Atsushi's Homepage 〜 Java3Dに触れてみる

    はじめに Java3D は Java で 3 次元グラフィクスや 3 次元音響を実現する パッケージです。 これまで、Java でこれらの機能を実現しようとした時には 自分でレンダリングエンジンを作ったり、 OpenGL などを呼び出すネイティブコードを書いたり、 利用したりしなければいけませんでした。 昨年末についに Java3D の正式版がリリースされ、 Java の正式な 3 次元パッケージが用意されました。 これでやっと面倒なコードを書く必要がなくなり、 3 次元グラフィックスや 3 次元音響が楽しめるようになりました。 章では Java3D の 3 次元グラフィクスに関する 説明を書いていきたいと思います。 私自身 OpenGL や Direct3D などの 3 次元グラフィックスライブラリを 使ったことがありませんでしたが、簡単に Java3D が使えました。 そういった意味

    Atsushi's Homepage 〜 Java3Dに触れてみる
  • Java3D

    Java3D自分FAQ これは、私がJava3Dを始めるに当たってぶち当たった壁を列挙し、 可能ならばそれを解決した方法をあげたページです。 よってあんまり正しいFAQの形式をとってません。 よってこの解法が正しいかどうか保証はありません。 よって鵜呑みにするとひどいめにあうかもしれません。 Q1. Java3Dを始めるには何が必要でしょうか? JavaSoftページ Java 3D(TM) API Home Page を参照しましょう。ここから必要最低限の情報は得られます。 とりあえず、Win環境でJava3Dプログラムを始めるには、以下のものが必要です。 Java3D 1.1 implementation Java3DのJavaSoftによるインプリです。 正式公開版が出たので、JDC(Java Developer Connection)に入る必要もなくなりました。 上のページから

  • Kurusugawa – Kurusugawa Computer Inc.

    ビジネスに役立つ AI をお届けします 来栖川電算は AI 技術の研究開発から応用まで幅広いサービスを提供する名古屋工業大学発ベンチャー(2003 年設立)です。未踏ソフトウェア創造事業の採択者やソフトウェア分野の様々なコンテストの入賞者が在籍しています。最先端の AI 技術だけでなく、膨大な高品質データを生み出す技術、ハードウェアの限界性能を引き出す実装技術、高品質なソフトウェアを実現する設計技術にも定評があります。 手軽に使える様々な認識エンジン 来栖川電算の認識エンジンを活用すれば、センサーデータに埋め込まれた意味を手軽に抽出できます。種類ごとに用意された認識エンジンは教師データや設定を変えるだけで様々なタスクへ応用できます。LinuxAndroid・iOS 用のライブラリ、WebAPI、コマンドラインツールなどプログラマフレンドリーな SDK を提供しています。トレーニングやコン

    Kurusugawa – Kurusugawa Computer Inc.
  • Java 3D - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Java 3D" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2017年10月) Java 3Dは、Java向けのシーングラフベースの3D (3次元コンピュータグラフィックス) 拡張APIである。サン・マイクロシステムズが開発し、のちにJogAmp Communityに移管された。Java Media APIの一部とされている。実際の描画はOpenGLやDirectX (Direct3D) などの3Dグラフィックス用APIを呼び出すことによって行なわれる。Java3Dの設計思想はVRMLに大きく影響を受けている。現在[いつ?]Jav