First step of contribution for OpenJDK in Japanese on JJUG CCC 2016 SpringRead less

かつて、Log4jというロギングライブラリがありました。 最強でした。1999年のお話です。 ロギングの大切さとLog4jの素晴らしさが見直され、Java標準にjava.util.loggingというAPIが追加されました。2002年のお話です。 java.util.loggingはLog4jを参考に作られましたが、ところどころ使いづらかったため、「標準」という武器をもってしても、Log4jに置き換わることはできませんでした。そのため、Javaの世界には2つのロギングライブラリが残ってしまいました。 Maven1.0が2004年にリリースされ、人々はOSSライブラリを組み合わせてアプリケーションを作るようになりました。 ところが、ロギングライブラリが2つあったため、Log4jを使っているライブラリと、java.util.loggingを使っているライブラリが混在してしまい、アプリケーション
Java EEの概要 Java Platform, Enterprise Edition(Java EE)はコミュニティ主導のエンタープライズ・ソフトウェアの標準です。Java EEはJava Community Processを使って開発されており、業界の専門家、営利団体とオープンソース団体、Javaユーザー・グループ、さらに数え切れないほど多くの個人が貢献しています。リリースごとに、業界のニーズに合わせて調整された新機能が統合され、アプリケーションの移植性が強化され、開発者の生産性が向上しています。 現在、Java EEは機能豊富なエンタープライズ・ソフトウェア・プラットフォームを提供しており、選択可能な低リスクの豊富なオプションとしてJava EEに準拠する20の実装が用意されています。 更新情報 Java EEに関する最新情報は、米国オラクルのJava公式ブログ 【The Java
2016年5月24日に開催された、『Java Day Tokyo 2016』のプレゼンテーション資料と一部のセッションの動画をご提供します。この資料に記載されている内容は、イベント時点のものであり、製品の仕様・機能などについては今後、変更の可能性があります。 ※資料が提供されないセッションもございます。あしからずご了承ください。
プリミティブ型にはそれに応じたStreamインタフェースが用意されています。 JavaはStringをプリミティブ型ではないとしているのでStringStreamはありません。 昔はAとBの処理を同時に実行するには2台のPCにそれぞれの処理を振り分けて実行することで 時間の短縮をしていました。これは分散処理と言われています。 これは1つのPCに1つのCPUしかなかったからでした。 しかし、今は1つのPCに複数のCPUがあり、AとBの処理を実行する事が出来ます。 これが並列処理というものです。 現在は並列と分散を組み合わせた並列分散処理という形が広く使われています。 そこでJava8にも並列処理を可能とにするStream APIがついに追加されたのでしょう。 StreamAPIの使い方は中間操作と終端操作! Stream APIは基本的に『中間操作』、『終端操作』という使い方になります。 S
java8で追加されたラムダ式とストリーム処理がわからない ラムダとストリームはjava8から新しく導入された機能ですね そして自分自身javaを使ってきてどうしても馴染めない機能でもあります ラムダ式とストリーム処理って実は何かわからない 関数型プログラミングって最近よく聞くけど何みたいな感じで なので、ちょっとしたメモ程度で書いていきます 関数型プログラミングの「関数」ってなに 関数型プログラミングというぐらいなので、関数に関係してるものだと言うのは誰でもわかると思います。 ですが、大切なのは関数が具体的に何かということより その関数が備える性質の方です 関数に必要な性質は、ざっくり言えば 入力に大して出力がただひとつに定まることです。 プログラミングでいうなら入力とは引数で出力とは戻り値です。 なので、javaで言うなら 関数とは引数と戻り値を持つメソッドなんだな程度で理解しておくと
こんにちは。 SI部のS.Kと申します。 本日はJava 8 で導入された新機能の中から目玉、「ラムダ式」についてご紹介したいと思います。 目次 ・今更聞けない?Java8のラムダ式について知ろう! ・ラムダ式とは? ・ラムダ式って美味しいの? ・ラムダ式は読めないとまずい? ・最後に 今更聞けない? Java 8のラムダ式について知ろう! 2014年3月18日(米国時間)、ついにリリースされたJava 8、新たな表記法として「ラムダ式」が追加されました。 (事情通の方からすると「やっとか!」と言った感じですが、、、) またこのラムダ式を使う事によって効果を発揮するAPIも追加される事になり無視出来ないバージョンアップとなりました。 今回はそのラムダ式について ラムダ式とは? ラムダ式って美味しいの? ラムダ式は読めないとまずい? の3つのテーマを解説して行きます。 対象は「まだラムダ式を
java8で新規に追加されたラムダ式を、まずは触ってみるのが目的です。 事前準備 java8が必要なので、まだの場合はインストールしましょう。 インストールはココ ラムダ式って何だろう ラムダ式を使用することでこれまで匿名クラスとして実装していたような処理を簡単に記述できるようになる また、コレクションAPIでもラムダ式を活用した新たなAPIが追加されているなど、 ラムダはJava 8において非常に大きな役割を果たしている。 と書いてあります。がよく分からないですね(^^; サンプルコードを見ながら考えてみることにします。 サンプルコード プログラミング言語名のリストを、降順に並び替えて出力するサンプルです。 Comparatorインタフェースの辺りがキモですね。 public class SmapleCompare { /** * プログラミング言語を降順に並べるサンプル */ publ
Javaでパスワードをハッシュ化するのに良い方法を調べたのでメモしておく 要件・方針 必要な全情報が攻撃者の手に入ってオフラインで解析されても困らない。 強力なHASH関数と、アカウント毎に違うSalt、そしてストレッチングが必要。 SaltはHASH化されたパスワードと一緒に保管してOK Saltとストレッチングの処理は、独自実装ではなく既存のアルゴリズムの既存実装使う PBKDF2 とか Bcrypt, Scrypt など。 JCA(Java Cryptography Architecture) が利用出来るなら最善だろう。そうでなければ著名プロジェクトの物を使いたい 参考 http://www.f-secure.com/weblog/archives/00002095.html 日本語訳:http://blog.f-secure.jp/archives/50564743.htm *「
Javaで文字列を暗号化(ハッシュ化)する場合、「メッセージダイジェスト」というものを使用するようだ。 「メッセージダイジェスト」とは、一方向ハッシュ関数とも呼ばれ、任意の文字列から固定長の擬似乱数(ハッシュ値)を生成するアルゴリズムのことらしい。 実際にやってみた。 使用するクラス名は、「MessageDigest」。 そのままで分かりやすい。 コーディングは以下のようになる。 なお、メッセージダイジェストで生成されたハッシュ値はbyte配列なのだが、それだと人間に優しくないし、DBに格納する時に少し面倒かなと思い、16進数の文字列に変換する(+α負の数は正の数へ)メソッドにした。 本来なら、文字列に変換せずに「isEqual」メソッドで2つのハッシュ値が等しいか確認するみたい。 暗号化アルゴリズムは「SHA-1」や「MD5」などが指定できるが、これらでは突破される脆弱性があるらしく「S
一般的にWEB系の言語で、DBを使う場合、WEBサーバーとDBサーバーは単独に動くことが一般的です。 JavaEEではアプリケーションサーバーとしてGlassFishを使いますが、先日、GlassFishを通さないとJavaEEでDBが動かせないということを知りました。そのためJavaEEではデータベースの情報をGlassFishに登録することが必要です。(Netbeansからもできますが、あえて動きを理解するためにGlassFishを直接操作したいと思います。) JavaEEとDB接続 ローカルでGlassFishをインストールした場合、以下のURLでGlassFishの管理画面にアクセスできます。 http://localhost:4848/ ディフォルトではポートが4848なはずです。 こちらの画面でDBの設定を行います。 JDBC Connection Poolの設定 左記のメニュ
ちょっと前になりますが、最新のJavaEE7がリリースされました。 さらにJavaEE7に対応したNetBeansとGlassFishも出たということなので、WebSocketの実験です。 ローカルで動作確認ができたら、AWSのEC2で動かしてみます。 ローカル環境構築 NetBeansとGlassFishのインストール まずはJavaEE7に対応したNetBeans7.3.1のダウンロードから。 https://netbeans.org/downloads/ "JavaEE"でいいやと思ったけど、サイズたいして変わらないので"すべて"をダウンロードして netbeans-7.3.1-windows.exe を実行。 ※JDKがインストールされていないとエラーが出るので、事前にインストールしておきます。 プロジェクトの作成 デスクトップにできた NetBeans IDE 7.3.1 をクリ
エンタープライズJava開発に従事している方であれば、一度はStruts 1を扱ったことがあるでしょう。Struts 1はJavaのWebアプリケーションフレームワークとして2001年ごろに誕生しました。 MVCモデルに基づいたアーキテクチャと高い生産性から、数年後にはデファクトスタンダードとなるほどの人気を獲得。当時、多くの企業がこぞってStruts 1を使った企業システムを構築しました。筆者自身が業界に入ったのは2004年のこと。最初に参加したプロジェクトがStruts 1を使った企業システムの構築だったことをよく覚えています。 当時に作られたシステムの多くは、今でも現役で稼働しています。最近でもStruts 1ベースの企業システムを改修する話はよく聞きます。しかし、2013年にサポート終了を迎えたため、今後Struts 1を使い続けることは大きなリスクになりました(参考)。つまり、新
JJUG CCCの懇親会で@makingさんと話したら、Spring Bootの書籍を頂きました(^^) ありがとうございます!! 火事であらゆる技術書が燃えたり水浸しになってしまい(金魚本すら…ウッ)、Javaの書籍としては「Javaエンジニア養成読本」の次が「はじめてのSpring Boot」となりました。 著者がうまいこと言ってました(私が「堀北真希さん」の大ファンだから(^^;;) @kikutaro_ とりあえず「マキ」の本から再始動でw— Toshiaki Maki (@making) 2014, 11月 18 ということで、本を読みながら、普段使ってるNetBeansでSpring Bootやってみました。 NetBeans 8.0.1&JDK 1.8です。 「ファイル」->「新規プロジェクト」 カテゴリ「Maven」でプロジェクト「Javaアプリケーション」を選択 プロジェ
Your perfect companion for Angular, React, Vue and JSF featuring elegant, high-performance, accessible and fully customizable UI Components. Open source products of PrimeTek are used all around the world by 5M+ developers in Fortune 500 companies, corporations, government agencies and educational institutions.
負荷試験対策ミーティング ここでは、チームメンバーを集めて、システム要件の再確認と、バックエンドのアーキテクチャを再確認をまず行います。すなわち、「求められているもの=要件」と、「提供できるもの=アーキテクチャ」の確認です。ここの認識が揃っていないと、的はずれな負荷試験を実施してしまうことになりかねません。立場や役割にかかわらず、サービス全体として考えるべきです。 負荷試験の目的 負荷試験を行うことによって、何を示したいのか決めます。今回は、以下の目的を定めます。 サービスリリース後、想定されるピーク時のリクエストを受けた場合でも、問題なく稼働を続けられることを確認する システムのスループット限界値を確認する 負荷試験の観点 たいていのWebシステムの場合、昼夜を問わず稼働し続けるものとなるでしょう。今回例にとったシステムも24時間365日、リクエストを受け付けるものとします。この場合、観
Occured Error Windows7, Java7u51 + NetBeans7.4でJavaDBのsampleを覗こうとして、NetBeansからJavaDBを起動しようとしたら ポート1527の接続が確立できないエラーが発生して起動できず。 標準出力にもExceptionががが・・・ Wed Feb 05 20:12:51 JST 2014 : access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") at java.security.AccessCon
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く