タグ

Javaに関するguangdaのブックマーク (22)

  • モダンなJava開発ガイド (2018年版)

    2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基的にJava 8以降での開発を想定しています。 OpenJDK/OracleJDK上での開発を想定しています。 Android開発の場合は一部適用できない可能性あり。 英語のIDE、ツール等は積極的に使用します。 英語嫌いだとモダン化は難しい。 Java開発全般を前提としているた

    モダンなJava開発ガイド (2018年版)
    guangda
    guangda 2018/08/25
  • Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記

    Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも

    Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記
  • Eclipseデバッガを活用する31のTips - Fly me to the Luna

    Eclipseデバッガを活用するための31のtips from Hiroki Kondo speakerdeckに貼ろうかどうか迷ったけれども、どこかで話したわけではないのでslideshareに。 Eclipseのデバッガを活用すると開発が捗ります。自宅ではIntelliJを使い始めてみて、さくさくコードが書ける事を体感しているのですが、デバッグはEclipseの方がやりやすいです。で、自分の知っているノウハウをチームで共有するために作りはじめたんですが、広くみんなに公開したほうがいいと思っておすそ分け。調べてみると、結構知らなかったネタがゴロゴロでてきました。Run to Lineとかお手軽で強力な機能だと思う。 「こんなネタ知りたい」とか、フィードバックを是非お寄せください。調査して追記していきますので、コメントとかよろしくお願いします。

    Eclipseデバッガを活用する31のTips - Fly me to the Luna
  • Python - Perl + Java = ? はてなブログのデータとパソコン工房のPCを使って「word2vec」で遊んでみた - はてなニュース

    統計処理用のマシンを使って、自然言語処理で遊ぼう! BTOパソコンで有名な「パソコン工房」から「統計処理用のPCを企画しているので、何かできないか」と相談された編集部は、はてなエンジニア相談して「word2vec」を使って遊んでみることに。はてなブログのデータとかっこいいパソコンを使って、最新の自然言語処理で楽しむ様子をお楽しみください! 記事の終わりには2TBの外付けHDDが当たるプレゼントのお知らせも。 (※この記事は株式会社ユニットコムによるPR記事です) ―― BTOパソコンのショップ/サイトで有名な「パソコン工房」さんから、以下のような依頼が来ました。 データサイエンティスト向けに、統計処理用に使えるパソコンをいろいろと考えています。なので、何か面白い処理に使って、PR記事にしてほしいんです! ▽ 【パソコン工房公式サイト】BTOパソコン(PC)の通販 ―― ということで、はて

    Python - Perl + Java = ? はてなブログのデータとパソコン工房のPCを使って「word2vec」で遊んでみた - はてなニュース
  • JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編

    かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa

    JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編
  • 新人に話したJUnitのための知識とTips : toda_k

    最近新人のコードレビューをする機会が増えまして、自分の中の経験則を言語化する機会に恵まれています。なんとなーくわかっていた事柄を人に伝えようとするのは、いつの時代にも最良の学びの機会ですね。 さて新人各位に個別に伝えた「JUnit4利用に関する注意」を整理してみました。JUnitは自由度の高いフレームワークであり使い方は十人十色かと思いますので、もっと良い使い道をご存知のかたは是非はてブコメントなどで教えていただければと思います。ちなみにここで言う「テスト」とは実装の前に書く単体テストだけではなく、実装後に書かれるものや自動化された統合テストも含めています。 1.JUnitを使うために押さえるべき前提知識 テストメソッドの実行される順番は不定 EclipseのJUnit実行機能に親しんでいると意外と気付けないのですが、JUnitはテストクラス内のテストメソッド実行順を保証していません。それ

  • BlueWell2

    Rubyは抽象メソッドをサポートしていませんが、こいつを使えば抽象メソッドを定義できるようになります。 使い方はこんな感じ。 require "abstractable" class AbstractDriver extend Abstractable abstract :open, :close end class AbstractIODriver < AbstractDriver abstract :read, :write end class NotImplIODriver < AbstractIODriver; end NotImplIODriver.new # => following abstract methods are not implemented. (NotImplementedError) # [:open, :close] defined in AbstractD

  • Spring MVCのススメ - 達人プログラマーを目指して

    先日、Struts1に代わるWebフレームワークの選択 - 達人プログラマーを目指してにて、現状アクションベースのMVCフレームワークとしてはSpring MVCが有望ということを書いたのですが、今までStrutsの影に隠れてあまり人気がないようですね。*1これから何が流行りそうかというマーケティング上の問題はおいておくとして、純粋に技術的な観点から、私がSpring MVCで気に入っているいくつかの点について説明します。 インターフェースに対するコーディングの徹底による拡張性の高さ Spring MVCはDIコンテナーとしてのSpringのコア機能に隠れてあまり有名でないかもしれませんが、実は、Springが開発された当時から存在するコンポーネントです。ですから歴史的には意外に古く2003年くらいから存在しているということになります。(その原型は実践J2EEシステムデザインのサンプルコー

    Spring MVCのススメ - 達人プログラマーを目指して
  • Spring MVC - soracane

    調べてみて意外だったのは、機能が分かりやすく、簡単で、しかも柔軟性があることです。 Spring MVCの日語の情報はかなり少ないので、初めて触れる方が実践まで進める橋渡しができるとうれしいです。 【この記事でのバージョンについて】 以下のバージョンでサンプルを動かしています。 ・Spring           :5.0.8※、4.2.4、3.0.7、および3.1.1(Spring MVC5~4で動作すると思います) ・hibernate-validator  :5.2.3.Final ・validation-api      :1.1.0 ・commons-fileupload :1.3.1 ※ただし、spring5の場合、tilesフレームワークをver.3にして、XMLのTilesConfigurerをxx.tiles2.TilesConfigurerに変更する必要があります。

  • x64(64bit)版のPleiades All in Oneを作る(完全版) - ごりぽんソフトウェア

    まったりとネットを這いずり回っていたら、なんとJStyleの64bit版がリリースされていることに気づきました。前回はJStyleが64bit非対応だったので誤魔化した部分があった訳ですが、64bit版が出たとなれば、当然試してみたくなるというもの。で、早速やってみたのでエントリ。これでEclipseも64bitに移行できます(嬉)。 Eclipse公式ページのEclipse Downloadsから、64bit版のアーカイブファイルをダウンロードしてきます。Java版ならEclipse IDE for Java EE Developers、C/C++版ならEclipse IDE for C/C++ Developers、PHP版ならEclipse for PHP Developersを元にすれば良いでしょう。 私の場合はPlatform版が欲しかったので、Eclipse Classicの[

    x64(64bit)版のPleiades All in Oneを作る(完全版) - ごりぽんソフトウェア
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
    guangda
    guangda 2011/06/10
  • 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ジェネリクス再入門 - プログラマーの脳みそ
    guangda
    guangda 2010/11/05
  • Java URIメモ(Hishidama's Java URI Memo)

    java.net.URIクラスは、URIを扱うクラス。JDK1.4以降。 このクラスは不変オブジェクト。 URIを生成する方法 判断用メソッド 値取得メソッド 使用例 URI生成例 コンストラクターでは、生成したURIが間違った形式の時はURISyntaxExceptionが発生する。 create()メソッドだと、間違っていたらIllegalArgumentExceptionが発生する(RuntimeException系なので、明示的にcatchを書く必要が無い)。プログラムで生成したURI文字列を渡すなど、「間違っていないはず」の場合に使用する。 名前 引数 throws 概要 例

    guangda
    guangda 2010/08/18
    URI
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • JAX-RSの基本的な機能

    JAX-RSとは JAX-RSは、JavaでRESTful Webサービスを実現するためのAPIで、JSR-311として仕様策定作業が進められています。JavaEEの次世代バージョンにあたるJavaEE6のAPIグループに加わることが決まっている、将来性の高いAPIです。 執筆時点ではPublic Reviewが公開されている段階ですが、近い将来、最終仕様(Final Release)が確定するものと思われます。ちなみに、Public Reviewとして公開されているJSRドキュメント(PDF)のページ数は、たったの33ページです。このことからも分かるように、JAX-RSは、非常に軽量で、習得しやすいAPIと言うことができます。 JAX-RSの主な特徴を簡単にまとめると、以下のようになります。 JAX-RSは、RESTful Webサービスのプロバイダ(サービス提供者)の開発のためのAPI

    JAX-RSの基本的な機能
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Java向けPDF操作ライブラリ「ApachePDFBox 1.0」公開

    PDFの作成や操作を行えるオープンソースのJavaライブラリ「Apache PDFBox 1.0.0」「Apache FontBox 1.0.0」がリリースされた。ページラベルとAdobe CFF/Type 2フォントのサポートなどが図られている。 Apache PDFBoxコミュニティーは2月16日、PDFの作成や操作を行えるオープンソースのJavaライブラリ「Apache PDFBox 1.0.0」および「Apache FontBox 1.0.0」を公開した。性能と安定性が強化され、また最小要件はJava 5となっている。 ApachePDFBoxはPDFファイルの作成や操作、PDFドキュメントからの内容抽出などを行うJavaライブラリ。PDFドキュメントの暗号化と解読、テキスト抽出などのコマンドラインツールも備える。「Apache Tika」や「Apache Lucene」などとの連

    Java向けPDF操作ライブラリ「ApachePDFBox 1.0」公開
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サーブレットパスの構成要素を取得する

    以下では、これらのメソッドを使って、リクエストされたURLからパス情報を取り出す例をいくつか紹介します。リクエストされたURLは、仮に「http://localhost:8080/javatips/ServletPath/sample_param/」とします。 out.println(request.getContextPath()); // /javatips out.println(request.getServletPath()); // /ServletPath out.println(request.getPathInfo()); // /sample_param/ out.println(request.getPathTranslated()); // C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\

    サーブレットパスの構成要素を取得する
  • Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)

    はじめに 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世

    Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)
    guangda
    guangda 2010/01/21