Easiest, safest, and most powerful community-led database change management solution.
The Software Development Kit ManagerMeet SDKMAN! – your reliable companion for effortlessly managing multiple Software Development Kits on Unix systems. Imagine having different versions of SDKs and needing a stress-free way to switch between them. SDKMAN! steps in with its easy-to-use Command Line Interface (CLI) and API. Formerly known as GVM, the Groovy enVironment Manager, SDKMAN! draws inspir
null を返さないことを保証するアノーテーションをしたいときには、JSR-305 を導入するのが一番良いです。 (ここではこのアノテーションを 「@NonNull系」と呼ばせてください) JSR-305: 導入と記述方法 導入は、 外部 jar としてjsr305-X.X.X.jar をクラスパスに追加する、もしくは Maven なら以下のようにします。 <dependency> <groupId><code class="findbugs"></code></groupId> <artifactId>jsr305</artifactId> <version>3.0.0</version> </dependency> そのうえで、メソッドの返り値が null ではないことを示すためには、ソースコード上で、アノテーションを以下のように付記します。 public @Nonnull stati
総務省はこのほど、今年7月に予定していた、自分のマイナンバーに関連するさまざまな情報を管理できる「マイナポータル」の本格スタートを秋ごろに延期すると発表した。1月に先行公開したログイン用サイトは、Java実行環境などが必須で「使い勝手が悪い」などと不評だったことを受け、Windows向け専用アプリを公開するなど使い勝手を改善する。 マイナポータルは当初、17年1月に本格スタート予定だったが7月に延期されており、二度目の延期になる。 17年1月には、マイナンバーカードによるログインやアカウント設定が可能なログインサイトが公開されたが、推奨ブラウザが限定されている上、利用するには、Java実行環境や「JPKI利用者クライアントソフト」などをインストールする必要があり、「使い勝手が悪い」と批判を浴びていた。 総務省は今回、マイナポータルの使い勝手を改善すると発表。マニュアル不要で直観的に操作でき
メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解するJavaバグ脆弱性トラブルシューティングjconsole 概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVM
ICリーダーライターを購入し、民間サイトを含む複数のサイトを巡ってソフトをインストールし、設定を完了させる。ITリテラシーの高いユーザーでも、ログイン成功まで至るのは相当な苦労を要する。 さらにJava実行環境は、2013~2014年にかけて、脆弱性を狙ったサイバー攻撃が多発した経緯がある。通常利用のブラウザーに組み込むにはセキュリティ面で不安が残る。 なぜ、マイナポータルはJava実行環境が必須となったのか。今後、改善の余地はあるのか。内閣官房 番号制度推進室 番号制度推進管理補佐官の楠正憲氏に聞いた(取材は文章ベースのやり取りで実施し、表現は一部編集した)。 Java実行環境を必須とする構成にした理由は。 楠氏 店頭で販売され、また実際に利用されている、できるだけ多くのPCとMacに対応しつつ、できるだけ端末ソフトウエアを共通化して開発および保守の工数を最適化するためだ。 e-Taxの
どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H
Sun MicrosystemsがOracleに買収されたのが2009年ですから、あれから7年が経ちました。 2013年、Javaは大人になったはずだった 僕は2013年に「イマドキのJavaとORACLEについて - arclamp」という記事をアップし、次のように書きました。 そんなわけで「ORACLEはJavaにコミットしているのか?」という質問が無意味なぐらい、ORACLEはJava技術だけではなく、Javaユーザーの方を向いているのです。 もちろん、ORACLEは(SUNに比べて)イノベーションが足りないとかスピード感がないとか批判もできるのですが、これだけエンタープライズのユーザーが増えた中では、Javaの後方互換性を保ちつつ、着実に進化していく、つまりは引き続き安心してJavaを使うことができるというのは大きな価値でしょう。 そう、Javaは本当の意味でオトナになったのかもし
Frege のチュートリアル集を日本語に翻訳しました。原著は Dierk Koenig 氏による Frege Goodness · GitBook です。 www.gitbook.com 対象読者 まえがきでも述べられている通り、Frege の (すなわち Haskell の) 基本的な文法については既知のものとして扱われます。より具体的には「すごい Haskell」の前半部分を読んだ、ぐらいでしょうか。例えば型クラス自体は知っている必要がありますが、モナドに対する理解は要求しません。 ちなみに、目を通していただけるとすぐにわかりますが、実は Frege に特有な内容はさほど登場しません。どちらかというと Java プログラマに対して Haskell 的な考え方を導入するために Frege を題材にしている、という印象が近いでしょう。 ただし 「ドット記法の威力」の記事は例外 です。Fre
NetBeansには、Jackpotという言語クエリーエンジンが載っているという噂がありました。でも新機能として紹介されるでもなく、なんかもしかしたら使えるのかなーという感じですっかり忘れていたところ、今回のJavaOneで紹介があって、試してみたら超便利だったので、使い方を紹介します。 Jackpotのスクリプトは、クラスパス上のMETA-INF/upgradeにhintという拡張子でファイルを作るか「検査と変換」の「単一の検査」のところの「参照」から開ける「検査の管理」で「新規」を選ぶことで作成できます。 ただし、「検査の管理」で作成すると埋め込まれてる <!description="Empty Inspection">という行の処理がうまくいってないようで、この記述を消す必要があります。 このせいで、今まで何度ためしてもうまくいってませんでした。。。 それでは、試しに「foo ==
A tool to detect bugs in Java and C/C++/Objective-C code before it shipsInfer is a static analysis tool - if you give Infer some Java or C/C++/Objective-C code it produces a list of potential bugs. Anyone can use Infer to intercept critical bugs before they have shipped to users, and help prevent crashes or poor performance.
GraphJet is a real-time graph processing library written in Java that maintains a full graph index over a sliding time window in memory on a single server. This index supports a variety of graph algorithms including personalized recommendation algorithms based on collaborative filtering. These algorithms power a variety of real-time recommendation services within Twitter, notably content (tweets/U
JavaでMonadをはじめからていねいに by Yuji Yamamoto on August 28, 2016 「モナドについてSwiftで説明してみた」という記事などで指摘されているように、プログラマー向けにMonadを説明した記事はサンプルがHaskellで書かれていることが多いので辛いですよね。 HaskellではMonadは「ないと文字通りプログラムが書けないぐらい」大事なもので、入出力処理や例外処理、ダイナミックスコープのシミュレーション、非決定計算など、普通の関数では難しい、非常に様々な機能の実装に使用されています。 その一方、MonadはC言語のポインターに並んでHaskellを学ぶ上での障害である、なんて言われたりもするとおり、他言語ユーザーからHaskellを敬遠させる大きな要因の一つともなっています。 そんな悲しい現状を少しでも改善するために、上記の記事を参考にしつ
今やすっかりAWS屋、しかもアプリではなくインフラ寄りのプロダクトばかり触っている都元です。しかし元々はサーバサイドアプリ屋ということで、ボスのAWSへの想いとは裏腹に、ぼちぼちとサーバサイドJavaの話も出して行こうと思っています。 というわけで、Spring Frameworkについて色々書いて行こうと思うのですが、どう考えても1回で終わる内容ではないため、シリーズ形式(連載)とさせて頂きたいと思います。ただ、書くネタは無限にありそうなので、回数は反響に応じて調整しようかな、と思っています。ギブミー・いいね。 Javaフレームワークの世界 Javaはフレームワークがいっぱいあることが利点でもあり欠点でもあります。多くの言語にはデファクトと言えるフレームワークが存在します。あまり知らない分野なので深く触れてヤケドしたくはないのですが、例えばRubyだったらRailsでしょうし、Pytho
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く