You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
暗号処理はプログラミング時にもっとも気をつかう部分のひとつだ。乱数や初期値の選定、鍵の生成方法と管理および運用、アルゴリズムの選定など気にしなければいけないことが多い。ひとつでも間違えるとまったく効果を失ってしまうこともある。暗号処理をおこなっているとしても使い方を間違っていれば無意味なこともある。 こういった問題を解決するためGoogle Security Teamは11日(米国時間)、オープンソースソフトウェアとしてKeyczarを公開した。Keyczarは暗号処理において懸念される問題を解決することを目的とした暗号ツールキット。今のところJavaとPythonがサポートされており、近いうちにC++版も登場するとされている。Keyczarの主な特徴は次のとおり。 アルゴリズムやモード、鍵長をデフォルトで安全なものを仕様 初期ベクトルと暗号文シグネチャの自動生成機能の提供 簡単なAPIの
TL でこんなのが流れてたので少し調べてみた。 Learn about the Reactive Streams initiative & how we're supporting a standard for asynch stream processing on the JVM http://t.co/5wUF0PjTBe— Twitter Engineering (@TwitterEng) 2014, 4月 17 Reactive Streams って? Reactive Streams ”JVM 上でのノンブロッキングなバックプレッシャーを持つ非同期ストリーム処理の標準の提案”(公式サイトより)。 ざっくり言うと、既にある JVM ベースの様々な非同期ストリーム処理フレームワーク実装の共通部分を括りだして API 化、SPI 化しようというもの。最終的には JSR での標準化を目指
Use Buck2This project is no longer actively maintained. Please see https://buck2.build for the build system that replaces it. Old content continues below for historical purposes. Buck is a build system developed and used by Facebook. It encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages on many platforms. Why Buck?Buck can help
The Spring Framework re-invented enterprise Java in the last decade, becoming the dominant programming model in enterprise Java. Today we are releasing Spring Framework 4.0, a brand new major version of Spring that keeps Spring at the cutting edge of modern Java development. Together with the rest of the upcoming Spring IO Platform, Spring Framework 4.0 is positioned to empower the next decade of
イマドキの現場で使えるJavaライブラリ事情 from takezoe こちらのスライドを読んでいて気になったので JGit でちょっとサンプルを書いてみました。 http://www.eclipse.org/jgit/ http://jgit.info/javadoc/ 何かいいアイデアが思いついたら JGit を使った何かをつくってみたい気になりました。 build.sbt // http://www.eclipse.org/jgit/download/ resolvers += "jgit-repo" at "http://download.eclipse.org/jgit/maven" libraryDependencies += "org.eclipse.jgit" % "org.eclipse.jgit" % "[2.1,)" sample.scala import org.e
In continuation to my previous post "UI Automation on Android Basics". Setup Android SDK provides some jar files, which provides APIs to handle devices, and perform UI actions: ddmlib.jar ddms.jar jython.jar monkeyrunner.jar sdklib.jar google-collect-1.0-rc1.jar (Not from Android SDK) All the above jar files except google-collect can be found in Android SDK tools/lib folder. Create a New Java Pro
jsoup: Java HTML Parser jsoup is a Java library that simplifies working with real-world HTML and XML. It offers an easy-to-use API for URL fetching, data parsing, extraction, and manipulation using DOM API methods, CSS, and xpath selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers. Scrape and parse HTML from a URL, file, or string. Find an
男子たるものJVMと仲良くせねばなりません。 仲良くなるにはまず相手のことを良く知ることから始めましょう。 Coreダンプを読むには 至極一般的なCoreといえばこれ。基本ツールに食わせてうはうは言いながら見るといい。 IBMのダンプアナライザはここからDLできる。 http://www.alphaworks.ibm.com/tech/jca/download 侍もみやすい。 http://yusuke.homeip.net/samurai/ja/index.html HeapDumpを読むには Coreだけじゃ満足できない時はHeapも見る。てかJavaHeap内のメモリ使用状況の解析をしたいならHeapDumpをみなくちゃ始まりません。 普通にHeapDumpを解析するならGUIでみるのが一番。 IBMからでてるHeapAnalyzerを使うのがベター。 メモリが少ないと動かなくなるの
システムのサービスのローカルインターフェイスを取得する方法です。 Context#getSystemService(serviceName:String)で取得するオブジェクトは ラッパークラスであり、内部では対応するサービスのローカルインターフェイスを呼び出しています。 ほとんどのサービスはラッパークラスよりも多くのAPIを持っていますが、公開されたAPIからでは呼び出すことができません。 ここではサービスをごにょごにょして、それらの公開されていないAPIを呼び出す方法を説明します。 Context#getSystemService()のフローを追っていくと、android.os.ServiceManagerというクラスに辿りつきます。 これはラッパーが内部で呼び出しているサービスのローカルインターフェイスを管理しているクラスです。 このクラスにはサービスの登録・取得を行うstaticメ
本連載では、セキュアコーディングスタンダード「CERT Oracle Secure Coding Standard for Java」の内容をベースに、Android特有の情報を交えつつ、堅牢なプログラムを開発するためのノウハウを具体的な事例とともに紹介していきます。第1回では、セキュアコーディングの意味と、その効果について解説します。 はじめに 昨年、C/C++に関してセキュアコーディングの連載があったことを御存じの方もいるかもしれません。今回始まる「Javaセキュアコーディング入門」は、Javaのプログラミングにおいて、入力値検査、引数の安全な渡し方、例外処理、整数演算といったソフトウェアの脆弱性に直結する問題に対して、コーディング上の注意点や脆弱性を作り込まない作法を解説するものです。具体的には、演算処理、文字列処理、ファイル操作などトピックごとに、よりセキュアなコーディングスタイル
JNIを使ってCなどのnativeプロセスからJavaVMを起動し、さらにそのJavaVMからnativeメソッドをコールバックさせる方法です。Webで調べた際に、意外と情報が見つからなかったのでメモ。 結論から言ってしまうと、RegisterNativesというJNI関数を使用します。この関数は、jclassとJNINativeMethod構造体の配列を引数に取り、Java側のnativeメソッド宣言とnative側のメソッド本体を動的に結びつけます。 具体的な使い方は、以下のサンプルコードを参考にしてください。 まずは、nativeのコールバックメソッドを持つJavaクラスを作成。 package jnitest; public class JniTest { // nativeから呼ばれるメソッド public boolean entryMethod() { System.out.p
クラス コンストラクター [2008-08-24] メソッド呼び出し [/2016-12-29] フィールドアクセス [/2009-03-28] 内部クラス [/2016-12-17] インターフェース 無名内部クラス [/2018-04-21] 実質的final [2014-03-22] 列挙型 [/2008-06-08] アノテーション [/2020-03-21] クラスをソース上で使用する為には、まず、そのクラスにアクセス可能である必要がある。 (アクセス可能(参照可能)でないと、importでコンパイルエラーになる) クラス(インスタンス)を使うには、以下のように変数を宣言する。(Fooというクラスの例)[2003-07-06] void メソッド() { Foo a; ~ } ローカル変数を宣言すると、初期値は設定されない。そのまま値を代入せずに使おうとするとコンパイルエラーにな
cglibにしろJavassistにしろオンザフライで拡張した型を際限無く生成していれば、あっという間にリソースの上限を超えてしまう。普通、生成したクラスの情報はPerm領域に積まれるが、この領域は拡張されていないことが多いためにOutofMemoryを起こしてしまうことが多い。そのため、両ライブラリィともに一定のルールで生成した型をキャッシュしており、必要の無い型の生成を抑制している。※ JavassistのProxyFactoryも型を生成するためのキャッシュ機構を持っているが、その戦略は木状になっており以下の階層順に格納されている。 1.クラスローダ トップレベルのキャッシュはHashMapであり、内部で取得したクラスローダが違うと判断された場合、2.のキャッシュキーが同一でも違う値と判定される。(クラスローダの取得方法はスタティックフィールドを使ってカスタマイズできる) 2.キャッ
Bedework is an open-source enterprise calendar system that supports public, personal, and group calendaring. It is designed to conform to current calendaring standards with a goal of attaining strong interoperability between other calendaring systems and clients. Bedework is built with an emphasis on higher education, though it is used by many commercial enterprises. You may choose to deploy Bedew
少し前から ReadWriteWeb でプログラミング言語毎に無料の e-book、チュートリアル紹介記事が定期的にあるなと思っていたのだが、ちょっと気になって調べたら、エントリ数10本を越える堂々たるシリーズになっていた。 http://www.readwriteweb.com/hack/2010/12/6-free-javascript-e-books.php http://www.readwriteweb.com/hack/2011/03/python-is-an-increasingly-popu.php http://www.readwriteweb.com/hack/2011/04/10-free-e-books-on-ruby-for-be.php http://www.readwriteweb.com/hack/2011/04/5-free-b-books-and-tuto
正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く