タグ

Javaに関するntaooのブックマーク (92)

  • JJUG CCC 2017 Springで論理削除フラグをどうにかするための話をしてきました 【FOLIOスポンサー】 - itohiro73’s blog

    JJUG CCC 2017 Springで、「データ履歴管理のためのテンポラルデータモデルとReladomoの紹介」という話をしてきました。 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 from Hiroshi Ito 今回の登壇は、株式会社FOLIOのスポンサーセッションです!FOLIOについてはこちらの入社エントリー記事もご参考ください。Toggetterは下のリンクから。 togetter.com 世の中のみなさんが「論理削除フラグ」を使いたくなるモチベーションとしては、実は「削除」ではなく別のビジネスロジックを実装したいだけであることがほとんどだと思います。 たとえば論理削除フラグという名の死亡フラグ - @ledsun blogというエントリを参考にさせていただくと、下記のような要件の例があります。 ・社員が退職(・転

    JJUG CCC 2017 Springで論理削除フラグをどうにかするための話をしてきました 【FOLIOスポンサー】 - itohiro73’s blog
    ntaoo
    ntaoo 2017/05/23
  • Javaの7大禁じ手 - Kengo's blog

    Javaの7大禁じ手」というブログタイトルを思いついたので、なんとかして7つダメコードをでっちあげたいless than a minute ago via Twitter for iPhone Favorite Retweet ReplyKengo TODA eller86 などと書き込んだところいくつかネタ提供を頂きましたので、自分のネタと合わせてまとめてみました。Thanks to @flyaway ! Stringインスタンス同士を==で比較 Javaプログラムを始めた人がまず引っかかるのがこれでしょう。厄介なのは System.out.println("abc" == "abc"); // => true System.out.println("a" + "bc" == "abc"); // => true といったコードが期待通りに動作してしまうということです。 System.

    ntaoo
    ntaoo 2017/02/20
  • メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita

    メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解するJavaバグ脆弱性トラブルシューティングjconsole 概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVM

    メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita
  • SpringでField InjectionよりConstructor Injectionが推奨される理由 - abcdefg.....

    SpringでField InjectionよりConstructor Injectionが推奨される理由を調べてみたメモです。 (2016/12/30) サンプルコードにfinalをつけるように修正 (2017/03/29) Immutabilityについて追記 --- 家でも会社でもIntelliJを使って開発しているのですが、 Spring Bootで@Autowired(@Inject)を使うと下記のような警告が出るようになりました。 警告内容を見てみると、フィールドインジェクションは推奨されません、とのこと。 「Field injection is not recommended.」 警告の詳細を見てみると下記のように書いてあります。 「Field injection is not recommended. Spring Team recommends: "Always use

    SpringでField InjectionよりConstructor Injectionが推奨される理由 - abcdefg.....
    ntaoo
    ntaoo 2016/12/30
  • 1.0から学ぶJava

    タイトルを見て釣られクマーな皆さんこんにちは。 ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。 今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。 「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。 タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー 面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。 Java 1.0 1996年1月23日Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。 かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU

    1.0から学ぶJava
    ntaoo
    ntaoo 2016/06/17
  • JavaPoly.js — Java(script) in the Browser

    Introduction JavaPoly.js is a library that polyfills native JVM support in the browser. It allows you to import your existing Java code, and invoke the code directly from Javascript. JavaPoly works even if the user does not have Java installed on their computer. It finally allows Java to become a first class citizen by running directly in the browser's script tags (and interacting directly with th

  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
  • Bazel

    Send feedback Stay organized with collections Save and categorize content based on your preferences. From startup to enterprise, choose the Bazel open source project to build and test your multi-language, multi-platform projects.

    Bazel
    ntaoo
    ntaoo 2016/04/17
  • enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita

    現在ではSpring Bootの手軽さに軒並み飲み込まれた感がありますが、Javaのマイクロフレームワークはちょっとしたブームでした。 Javaのマイクロフレームワーク ― この新トレンドは見逃せない enkanは、RackやExpress.jsで実装されているミドルウェアパターンをJavaで実装した、現在ファーストリリースへ向け開発中の新しいマイクロフレームワークです。 Java9のREPLを活用して開発・運用を楽にする機能も実装(予定)です。 なぜ今さら新しいWebフレームワークを? Spring BootやJava EEは、高度なDIとたくさんのアノテーションでフレームワーク内部の動きはブラックボックス化されます。これを完全にブラックボックスのまま、実用的なWebアプリケーションを完成させるのは、実際のところ難しく、フレームワークの内部を覗きにいかなくてはなりませんが、これが結構ハマ

    enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita
    ntaoo
    ntaoo 2016/03/21
    良さそう
  • J2ObjC 1.0 Release

    The latest news from Google on open source releases, major projects, events, and student outreach programs. We are pleased to announce the 1.0 release of J2ObjC, a Google-authored open-source compiler that lets iPhone/iPad applications use Java code. J2ObjC's goal is to support the sharing of an application's non-UI code (such as data access, or application logic) by writing it once in Java, then

    J2ObjC 1.0 Release
  • What does it mean to hydrate an object?

    When someone talks about hydrating an object, what does that mean? I see a Java project called Hydrate on the web that transforms data between different representations (RDMS to OOPS to XML). Is this the general meaning of object hydration; to transform data between representations? Could it mean reconstructing an object hierarchy from a stored representation?

    What does it mean to hydrate an object?
    ntaoo
    ntaoo 2016/01/04
  • [速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015

    [速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015 サンフランシスコでOracle OpenWorldと同時開催の「JavaOne 2015」が開幕しました。Javaが登場して20周年、19回目のJavaOneとなります。 基調講演ではJava歴史を振り返った上で、Oracle Java Platformチーフアーキテクト Mark Reinhold氏が来年にも登場する予定の次バージョンの「Java 9」で採用される予定の「Project Jigsaw」を紹介しました。 Mark Reinhod氏。

    [速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015
    ntaoo
    ntaoo 2015/12/12
  • Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3

    1. Reactive Webアプリケーション - そしてSpring 5へ Toshiaki Maki (@making) JJUG CCC 2015 Fall 2015-11-30 #jjug_ccc #ccc_ef3 2. 聞いたことあります? • Reactive Programming? • Reactive Manifest? • Reactive Streams? • Reactive Extensions? • Reactive ... ?

    Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
  • 【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO

    渡辺です。 DevelopersIOでの100目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterGitHubでフィードバックを! JUnit Lambd

    【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO
    ntaoo
    ntaoo 2015/11/22
  • 車買取一括査定を依頼してこんな交渉には注意?

    少しでも高く車を売りたい。そして申込みをスムーズに行うためにも 車買取の一括査定サービスはとても便利です。 複数の業者へ一斉に中古車査定を依頼するのですが、交渉には少し注意が必要です。 一括査定からの申込みなので、業者も始めから競争相手がいることは知っています。 業者としては少しでも低い査定額で早く決めてしまいたいもの。 他の業者が来る前に、決断させるような交渉を進めます。 「今決めるなら、プラス10万円上げます」というような上乗せした査定額を 提示することもあります。思わず決めたくなりますが、冷静に考えてみると 最初からプラス10万円の提示ができたはずです。このやり方に誠意を感じますか? それでも決めてしまうか、他の業者を待つかはご自身次第になりますが、 このような交渉術はよくあることです。頭に入れておくと良いですね。 高額な査定額を探すためには、査定を依頼した車買取業者の金額がすべて

    車買取一括査定を依頼してこんな交渉には注意?
  • 「人工知能のRed Hat」目指す、JVMで動く商用の深層学習フレームワーク「DL4J」

    人工知能AI)やビッグデータ分析などで大きな注目を集めるディープラーニング(深層学習)。「Caffe」や「Torch」、「Chainer」など、同分野の研究者らが開発したオープンソースソフト(OSS)のフレームワークが既に利用可能となっているが(日経エレクトロニクス関連記事)、ここに一石を投じるのが米Skymind社だ。 既存のフレームワークの多くがPythonベースであるのに対し、Skymind社が手掛けるディープラーニングフレームワーク「DL4J(Deeplearning4j)」は、Java仮想マシン(JVM)上で動作するのが特徴だ。エンタープライズ向けのアプリケーションサーバーで動作させることができ、企業が持つ既存の情報システムと組み合わせて運用しやすい。 Skymind社創業者のAdam Gibson氏は「研究開発用途ではなく、エンタープライズで使える商用レベルのディープラーニン

    「人工知能のRed Hat」目指す、JVMで動く商用の深層学習フレームワーク「DL4J」
  • Android らしい Java - 1. 非同期性

    仕事Android アプリのコードを触り始めはや数ヶ月。少しは理解が進んだ。 今の仕事のコードは、残念ながらそれほど素晴らしくない。その昔 Android Java にまだ慣れていなかった人々が書いたであろう古いコードが目につく。そして古いコードの昔ながらな残念さは、従来の Java とは違う Android Java の「らしさ」を描き出す。そんな話を数回にわけて書いてみたい。 第一回は非同期性のはなし。 Android のアプリはメインスレッドをブロックしてはいけない。だから色々と非同期に書く。ところが従来の Java は非同期がさほど得意でない。多くの API がブロックする。 ブロックする処理は別のスレッドに追い出せばいい。ただし結果はイベントループを通じてメインスレッドに戻さないといけない。これを綺麗に書くイディオムが、Android では最近まで確立されていなかった(Asy

    Android らしい Java - 1. 非同期性
  • Reddit - Dive into anything

    Advertisement Get the Reddit app Scan this QR code to download the app now Or check it out in the app stores

    Reddit - Dive into anything
    ntaoo
    ntaoo 2015/05/27
    JavaでOptionalは有用なの?という議論
  • Java の AST を解析できる javaparser がアツい!!! - tokuhirom's blog

    https://github.com/javaparser/javaparser javaparser は Java をパースして AST にしてくれるライブラリである。 この手のライブラリは数多あるのだが、ほとんどのものが Java 1.5 ぐらいでメンテナンスが止まっている。 実際このライブラリもメンテナンスが止まっていたのだが、Java 1.8 対応版とし開発が再開されたものだ。 このライブラリはパーサーライブラリであるから、文字列をパースして AST を構築してくれるというものになっている。 実際どのような AST が構築されるのかが気になるところなので、構築された AST をダンプできるツールを groovy で書いた。 #!/usr/bin/env groovy @Grab('com.github.javaparser:javaparser-core:2.1.0') impor

    ntaoo
    ntaoo 2015/05/21
  • なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み

    Javaは決して悪い言語ではない。 C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。 でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドなど数多くの新機能が加わった現行C#とは最早比べるまでもないと思う。 以下は根拠。 ■注(2014年2月18日) このエントリーは殴り書きに等しい状態で放置してましたが、最近は思わぬところで読まれ始めたりしたので、ちょっと加筆修正しました。 ①そもそも純粋なオブジェクト指向言語ではない。

    なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み
    ntaoo
    ntaoo 2015/05/18