タグ

javaに関するcaretta2のブックマーク (180)

  • Javaオブジェクトを永続化させるEclipse Storeがよさそう - きしだのHatena

    Eclipse Storeというのをみつけて、これはJavaオブジェクトを永続化するものなのだけど、トランザクションもあったりPostgreSQLなどのDBをバックエンドにできたり結構よさそう。 https://eclipsestore.io/ MicroStreamがEclipseに寄贈されてオープンソース化したものみたいですね。Eclipse Selializerとセットです。 https://github.com/microstream-one ということでGetting Startedをみてみます。 https://docs.eclipsestore.io/manual/storage/getting-started.html 組み込み版を使うのでこんな感じのdependencyを追加 <dependencies> <dependency> <groupId>org.eclipse

    Javaオブジェクトを永続化させるEclipse Storeがよさそう - きしだのHatena
  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

    Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
  • Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note

    テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J

    Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note
  • HTTPクライアントライブラリ Unirest for Java - Challenge Engineer Life !

    JavaのHTTPクライアントはHttpClientやJersey Client等、いつも何を使うか迷います。 google-http-java-clientなんかも良さそうだし。この辺は同じような迷いの中、色々と紹介されています。 d.hatena.ne.jp vividcode.hatenablog.com で、英語でググっていたらUnirestというのがありました。 Unirest for Java - Simplified, lightweight HTTP Request Library 色々な言語に対応しているようで、Java以外にRuby,PHP,.NET,Python,Objective-C,Nodeとあるようです。 Windows 8っていう箱が.NETと何が違うのかちょっと謎ですが…(^^; で、このライブラリはmashape.comというAPIのマーケットプレース的な

    HTTPクライアントライブラリ Unirest for Java - Challenge Engineer Life !
  • Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ

    一般的な Web Application Server *1 を Java8 で動かすにあたって,最近有効にしている起動オプションについてメモ. 何か間違っていたり,あるいは「こっちの方が良い」みたいなのがあれば教えて下さい. -server server mode で起動させる (指定しないと client mode になる可能性がある,マシンスペックによってスイッチする?). -Djava.net.preferIPv4Stack=true If IPv6 is available on the operating system the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, and accept connections from,

    Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • リアクティブなマイクロサービスフレームワーク「Lagom」を試してみる - たけぞう瀕死ブログ

    Lagomとは? LagomはLightbend社(旧Typesafe社)がリリースした新しいマイクロサービス向けのフレームワークです。 www.lightbend.com 元々Scalaの開発元であったLightbend社が開発しているだけあり、PlayやAkka、sbtといったScalaベースの技術基盤上に構築されていますが、現時点ではJava向けのAPIのみ提供されているJava用のフレームワークとなります。*1 これまでもSpring Bootなど手軽に使えるAPIサーバ向けのWebフレームワークは存在したわけですが、Lagomは最初からリアクティブなマイクロサービスの構築を前提に設計されており、いわば「マイクロサービスネイティブ」とも呼ぶべきフレームワークになっています。 実際にLagomを使うかどうかはさておき、新しいコンセプトのフレームワークなので学ぶことも多いのではないかと

    リアクティブなマイクロサービスフレームワーク「Lagom」を試してみる - たけぞう瀕死ブログ
  • GitHub - alibaba/fastjson: FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.

    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

    GitHub - alibaba/fastjson: FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
  • システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ

    はじめにこんにちは。星です。 弊社では、お客様の基幹システム構築をする際、Java言語を採用することが多いのですが、2015年4月末にJava7のサポート切れになったことを受けて、昨年よりJava8で開発をしています。 弊社でもそれなりの規模の案件になると、社員やパートナーの皆様を合わせて、数百人が同時に開発することも珍しくありませんので、私の所属する技術部隊でコーディング規約をはじめとして、開発をするにあたってのガイドラインの整備やEclipse等の開発環境の整備などのタスクを実施して、標準化とクオリティの担保を推進しています。 さて、Java8においては、Java7において実装見送りとなったStream APIやラムダ式といった大きな機能追加がありました。とはいえ、これらの機能を使ったとして、性能的に大丈夫なのかとか、どういったコーディングスタイルが良いのか?など、エンタープライズ領域

    システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ
  • Spring Boot 入門 - 入門記事の一覧 - Java to Web開発

    2015 - 10 - 05 Spring Boot 入門 - 入門記事の一覧 Spring Boot はじめに Spring Framework の Getting Started Guides を参考に、Spring Boot の入門記事を書いています。今回は、その入門記事を一覧としてまとめました。 補足 入門記事は、タスクベース(何をしたい、これを使いたい)の記事です。Webアプリを作ってみたい場合は、次の記事を参照して頂ければ幸いです。 Spring Boot チュートリアル - 目次 入門記事の一覧 各入門記事は、「 最初のアプリ "Hello World" 」を作成していることを前提としています。 前提 最初のアプリ "Hello World" (参考文献: Building a RESTful Web Service ) WEB, MVC jQueryでアプリ開発 (参考文献

    Spring Boot 入門 - 入門記事の一覧 - Java to Web開発
  • Java製SeleniumラッパーのSelenideを使ってみた - Qiita

    Selenium勉強会@サイボウズに行ってきました #selenium_cybozu の記事で Selenideの話 Selenide == Javaで書かれたSeleniumクライアントラッパー というのを見つけてGroovy製のGebと比較したいなと思い、使ってみました。 Selenideについて 公式はここ。http://selenide.org/ Selenide is a wrapper for Selenium WebDriver that brings the following advantages: Concise API for tests Ajax support True Page Objects jQuery-style selectors You don't need to think how to shutdown browser, handle timeou

    Java製SeleniumラッパーのSelenideを使ってみた - Qiita
  • FAT JARを簡単に作る | DevelopersIO

    はじめに JAVAのWEBアプリを実行する際はwar形式にして実行することが多いかと思いますが、spring bootなどのフレームワークではjarの中にtomcatなどのアプリケーションも含めてしまいjar形式で実行することができます。jarの中に色々なライブラリのjarも含めて1つのjarファイルにすることをfat jarと呼んだりします。 fat jarにすることで実行ファイルが1つにまとまるため、WEBアプリやバッチアプリの起動がお手軽にできるようになります。そこで今回はfat jarの簡単な作り方を紹介したいと思います。 fat jarを作ってみる では、早速作ってみたいと思います。今回はgradleというビルドツールを使います。gradleはeclipse4.5では標準で使えるようになっているためeclipse4.5で作成します。 eclipseでファイル->その他->Grad

    FAT JARを簡単に作る | DevelopersIO
  • 春だから!Javaでの開発にSpring Bootを使おう! | 株式会社メイプルシステムズ

    こんにちは、STです。季節の中で心地よい春がやってきました。 桜はすでに散ってしまい、花見の時期を逃してしまいました。 そんな春にお届けするのは『Spring Boot』です。 Spring Bootとは Javaのフレームワークに「Spring」というフレームワークがあります。 「Spring Boot」と「Spring」は別物なのでしょうか? 答えはNoです。 Spring Bootは、Springの機能とは別の全く新しいフレームワークというわけではなく、 それまでのSpringの各種フレームワークを新しい形で「統合」したものです。 フレームワークは「Spring Boot」だけ Spring Bootは、いかに簡単に使えるアプリケーションを作るかで設計されています。 内部では様々なSpringのフレームワークが使われていますが、開発者はそれらを意識する必要がありません。 以下に Sp

    春だから!Javaでの開発にSpring Bootを使おう! | 株式会社メイプルシステムズ
  • Java トラブルシューティングガイド - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は藤岡弘の弟子になることです。 Cybozu では多くの Java アプリケーションが稼働しており、トラブルも発生します。僕はトラブル対応をすることが多く、今まで大小様々なトラブルを見てきました。その中で得られた知見を社内ドキュメントとして記していましたが、そちらを手直ししたものを記事で公開します。Cybozu ではインフラ基盤に Ubuntu を用いているので各種ツールの紹介もすべて Ubuntu を前提にしていることをご承知ください。 すぐやること 各種データはトラブルが発生している状態で運用チームに取得してもらいましょう。鮮度が重要なデータも多いので、常日頃運用チームと手を取り合ってトラブル対応できる組織づくりをしておくべし。 モニタリングツールで該当環境のデータを確認 トラブルの原因は多種多様です。

    Java トラブルシューティングガイド - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 遅いッ!遅すぎるッ!Java の正規表現のお話。 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木です。 先日、アプリケーションサーバーが応答を返さなくなるトラブルに遭遇しました。 今回はその時のトラブルの原因と対策の顛末についてお話しようと思います。 現象 アプリケーションサーバーが突如応答を返さなくなりました。 現象が発生したアプリケーションサーバーのスタックトレースを見ると、あるスレッドの先頭が上記のようになっていました。 "qtp258153142-514386" prio=10 tid=0x00007f40b8dbf000 nid=0x7b4e runnable [0x00007f415ccb0000] java.lang.Thread.State: RUNNABLE at java.util.regex.Pattern$Loop.match(Pattern.java:4692) at java.util.regex.Pattern$G

    遅いッ!遅すぎるッ!Java の正規表現のお話。 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • [PDF] ゴールドマン・サックスの Javaへの取り組み

    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

    [PDF] ゴールドマン・サックスの Javaへの取り組み
  • OrangeSignal CSV – Java CSV ライブラリ

    OrangeSignal CSV とは OrangeSignal CSVCSV 入出力操作を簡易化させる高機能で便利な Java プラットフォーム向けの CSV ライブラリを提供します。 OrangeSignal CSV はパワフルであらゆるシチュエーションにマッチ可能な OSS (オープンソース・ソフトウェア) の CSV ライブラリです。 機能・特徴 区切り文字、囲み文字、エスケープ文字など CSV 形式を詳細に設定可能 (CsvConfig) 区切り文字、囲み文字、エスケープ文字やその他もろもろの CSV 形式に関する設定が可能です。 設定可能な項目は以下の通りです。 区切り文字 囲み文字 (無効化も可) エスケープ文字 (無効化も可) 項目値内の改行置換文字列 NULL 文字列 (大文字・小文字を区別する/しないの指定も可) 項目値前のホワイトスペースを除去 項目値後ろのホワ

  • Java アプリケーションの起動スクリプト - Windows・Linux - なんとなくな Developer のメモ

    指定ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーションを起動するスクリプト例です。 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20141103-1/ Windows の場合 (bat) lib ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーション (下記では sample.SampleApp) を実行する bat スクリプトは下記のようになります。 enabledelayedexpansion と !<環境変数>! で環境変数を遅延展開させる点に注意が必要です。 こうしないと CP 環境変数へ JAR のパスが正しく設定されません。 exec_java_sample.bat @echo off setlocal enabledelayedexp

    Java アプリケーションの起動スクリプト - Windows・Linux - なんとなくな Developer のメモ
  • Javaのモックアップフレームワーク「mockito」でリクエスト/セッションを再現する

    しかし、開発推進セクションとしてリーダーを中心に「基的には必須ですが、相談には乗ります」と伝えてきました。もちろん、こちらとしても妥協することはありますが、基は書いてもらうように言い続けたことは良かったと思います。今ではテストケースは2,000ケース以上となり、毎日jenkinsからもallTestの結果が送られてくるようになったのですから。そんなやりとりをしていく中で、こんなFAQも生まれました。 Q:巨大なメソッドで1行だけ修正したのですが、そのメソッド内をすべてテストしないといけないの? A:基はテストしてください。 ただしトラブル対応など、どうしてもすぐにリリースしないといけない場合はその限りではありません。 結果的にこのようなFAQは、開発メンバーにJUnitの導入を受け入れてもらうために必要なことだったと思います。やはり、開発スピードを重視するチームにとって、やることが多

    Javaのモックアップフレームワーク「mockito」でリクエスト/セッションを再現する
  • GoogleのJavaコーディング規約

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    GoogleのJavaコーディング規約