Supports Java, Scala, Groovy... any language thats generates a -javadoc.jar
※:この記事は下書き中に本文ががっつり消えたため、知らずに部分的に端折ってるところがあるかもしれません。(´;ω;`) Java、すなわち JVM (HotSpot) を立ち上げた時、どういった処理が行われているのでしょうか。正確に知りたい場合は OpenJDK のソースコードを読むのが最も確実ですが、概要レベルでどのような処理が行われていて、それがソースコードのどのあたりに書かれているのか案内があった方がすんなりと理解できます。と言うわけで、自分用のメモ書きをちょっとだけ整理してここで公開してみます。 なお、自分の理解をベースに記述しているので間違いが含まれている可能性があります。見つけた場合はそっとコメントか @sugarlife にお教え頂けると大変喜びます。 Java の動作概要について Java、特に HotSpot の動作概要については、OpenJDK コミュニティによって「H
今年はJavaOneに参加できたので、標準Java系は詳しい人に任せて、僕はアーキテクチャ関連の技術紹介や事例系のセッションを回ってきました。このサマリをJavaOne 2014 サンフランシスコ報告会 Tokyoにて発表しています。資料はこちらから。 動画はこちらから(コミュニティアップデートの途中からがアーキテクチャトレンドになります)。 発表時間が30分なのでコンパクトになっていますので、さっくりと見ていただければと思います。 もちろん「明日から案件に使えます」という話ではありません。ただ、JavaOneということもあって、話者はエンタープライズへの適用を前提にしています。よって、単純なスケーラビリティだけではなく、システム連携や信頼性についても意識はしています。意識したうえで「まだ簡単にはいかないけど、こうやっていくべきだ」という話です。 サマリとしては、アーキテクチャ設計をする上
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
What is RedwoodHQ? It is a free Open Source test automation framework that works with any tool (Selenium, Appium, Silk, etc.) and is VERY easy to install! RedwoodHQ allows multiple users to develop automation code, create readable action/keyword driven test cases and execute them all using a friendly Web interface. RedwoodHQ supports any Java/Groovy, Python and C# code or test tools like Selenium,
Java SE 8では、言語仕様に大きな変更が加わり、新たに「ラムダ式」が導入された。なぜこの機能が必要なのか、コードの書き方はどう変わるのか? 米国オラクルでJava SEのコア・ライブラリ開発チームをリードするスチュアート・マークス氏が解説する。 >> 後編の記事はこちら 2014年3月にリリースされたJava SEの最新版「Java SE 8」における最大の変更点は、言語仕様に大きな変更が加わり、関数型のプログラミング記法である「ラムダ式(Lambda Expressions)」が導入されたことだ。Java SE 8以降のJavaプログラミングでは、このラムダ式をうまく使いこなしていくことが求められる。 「そのためには、なぜこの機能が追加されたのか、どう使えば効果的なのかを知ることが近道となります」と語るのは、米国オラクルでJava SEの仕様策定をリードするスチュアート・マークス氏
はじめに 最近はRuby、Railsで開発することが多い自分ですが、使用したいライブラリがJava用に開発されている場合などの選択肢として、JVM上で実行できるフレームワークにも興味を持ち始めました。 いくつかのフレームワークを検討したのですが、その中からSpring Bootを選び、簡単なCRUDのAPIを作ってみました。Spring Bootを選んだ理由は、以下の通りです。 JVM上で実行できる フルスタックフレームワーク デプロイが簡単 ドキュメントが(割と)豊富 Spring Bootについては弊社中村が以前の記事でも書いていますが、今回はSpring Bootの開発環境の構築と、実際に作成したCRUD APIのソースについて書きたいと思います。 開発環境について 1.前提条件 開発マシンとしては、Windows、Macのどちらでも大丈夫です。予めJDK8をインストールしておくのと
はじめに 毎回、他の発表者の方々が有益情報を発表してくれる中で僕一人が誰得情報をひたすら発信しているわけですが、今回もご多分に漏れず Java 8 で認証系を自作する、というニッチな話をしてきました。 昨今のパスワード流出系のセキュリティインシデントが業界内で話題になるたびに「認証系なんてものは自作するようなもんじゃない」という認識が醸成されつつあると思います。しかし、マイナー or オレオレ Web アプリケーションフレームワークなどを利用しているとそうもいってはおられず、認証系が用意されていないときはやむなく認証系の自前実装が要求されることもあるでしょう。自分自身も周りを見渡していても、過去何度かそういうことがありました。 ただ、実装者の認証セキュリティに対する認識や知識によって脆弱な認証系を作り込むことも少なくなく、そういうのをなるべく減らしたいなー、という思いを込めて今回の発表に至
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 *「
http://shibuya-java.connpass.com/event/8212/ 前回の参加が第4回だったので、大分お久しぶりです、という感じでした。相変わらずオサレな会場に加え、なんとオフィス内にビーチまで出来ていました。オサレ感がレベルアップしている…!! オフィス内ビーチ! #渋谷java pic.twitter.com/KFxZyJkFRJ— Yusuke Ikeda (@yukung) 2014, 9月 20 資料とTogetter http://shibuya-java.connpass.com/event/8212/presentation/ http://togetter.com/li/721801 感想 以下、それぞれのセッションの個人的な感想をば。思ったままに書くので読みづらいかもしれません。 QueryDSLとSpring DataでとりあえずCRUD @na
BoofCVというJava用のコンピュータビジョンライブラリがあります。これを使うと基本的な画像処理に加え、オブジェクトトラッキングや特徴量抽出、ステレオ画像計測、領域セグメンテーション、モザイキングなどができます。機能豊富なOpenCVと比べると見劣りしますが性能はなかなか。Androidでも利用できるようです。 ありがたいことにProcessing版もあるのですが、ライブラリを自分でビルドしないといけないようです。 Tutorial Processing - BoofCV というわけで、トライしてみたので導入方法をメモしておきます。 要点 Gradle(グレイドル)なるビルドツールを使います。 JDK(Javaの開発環境)をインストールしておく必要があります。 ビルド時にProcessingに同梱されているcore.jarが必要です。 以下、実際にやった作業手順を記しておきます。環境は
Java なウェブアプリのテストをするための mech というライブラリを書いていた https://github.com/tokuhirom/mech @Test public void testGoogle() throws Exception { try (Mech mech = new Mech("http://google.com/")) { try (MechResponse res = mech.get("/").execute()) { assertEquals(200, res.getStatusCode()); } } } こんな感じで使える。この使い方は本筋じゃなくて本当にやりたいのはこっち。 class MyServlet extends HttpServlet { protected void service(HttpServletRequest req, Htt
コールバック、よく使いますよね。 非同期処理の結果を受け取るには、必ずと言っていいほど付き合うことになるコールバックですが、UI のようにライフサイクルを持つオブジェクトと共存するには、考慮すべきことがいくつかあります。 ここでは、おおまかに、上手にコールバックと付き合う方法を見ていきます。 基本となるポイント なんといってもまず抑えなければいけないポイントは、ライフサイクルを持つオブジェクトとの共存です。世に出回っている様々なコールバック管理のためのライブラリは、このライフサイクルを持つオブジェクトとの共存をいかに楽に、あるいは直感的にするか、ということをもとに作られています。 ライフサイクルとはつまり、オブジェクトが生成されてから消滅するまでの一連の流れのことです。 newしたりallocしたりしたタイミングでオブジェクトが生成され、GC に回収されたりdeallocしたりするタイミン
WEB+DB PRESS の Vol.82 に、かなり気合いの入った JVM オプションの記事を書いたので、是非読んで頂きたい。 2014/8/23 発売ですので、既に購入頂いてる方も多いと思います。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.82@Gihyo Digital Publishing 今回の記事における対象読者について 今回の記事は、ターゲットとして Java に余り時間をコミットしていないけども便利なので JVM 上で動くアプリケーションをウッカリ運用している人をイメージしながら書きました。 例えば、OSS ものだと Hadoop や ZooKeeper、Lucene や Solr、商用製品だと Stash とか JIRA とか confluence とかそういうものですね。 僕の観測範囲だと、PHP
Dropwizardについて3回に渡って説明したいと思います。 今年に入ってリファクタリングなどで有名なマーティン・ファウラーらが所属するthoughtworks社のTechnology RadarのLanguages & frameworksでADOPT(つまりプロジェクトで採用すべきプロダクト)に入りました。 他に入っているものが、Clojure,Scala,Sinatraなので、それらと同じくらい注目すべきプロダクトということになります。 他のプロダクトに比べると日本語の記事が少なく、また、バージョンも上がり変わった部分もあるので記述しました。 なお、Dropwizardは日々進化しているので、この記事の内容もすぐに古くなるかもしれません。 概要 DropWizardは、YammerのWebサービス部分で利用するために作られたフレームワークでした。 自分が思う一番の特徴は、 **「1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く