タグ

Javaに関するvanbraamのブックマーク (58)

  • 10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルしている話 #jjug_ccc #ccc_g2

    JJUG CCC 2017 Fall での発表資料です ◆githubにサンプルプロジェクトあげてます https://github.com/maeharin/kotlin-dvd-rental-dev ◆Kotlinのイベント「どこでもKotlin」を開催してます! https://m3-…

    10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルしている話 #jjug_ccc #ccc_g2
    vanbraam
    vanbraam 2017/11/19
    http://b.hatena.ne.jp/entry/346511216/comment/vanbraam<こんな事書いたら,server-side事例が出てきた;読む限りKotlin置き換え自体は手堅い感じ.それよりバックエンドのデータストア(p.11)を整理してp.32-33に持って行く方が遥かに大変そう
  • 私の異常なプログラミング教育

    BPStudy#122 〜いかにプログラミングを学ぶか?プログラミング教育を考えるの発表資料です。 https://bpstudy.connpass.com/event/66418/

    私の異常なプログラミング教育
    vanbraam
    vanbraam 2017/10/22
    "毎年やってる研修"のゴールがわからないので評価は保留.ゴール重要;"現場で使ってる"以外の言語をあえて選ぶのはありかも.学習を暗記ではなく理解中心にできそうなので(Pythonで理解しないと仕事=Javaで応用できない)
  • 新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena

    9月の頭くらいに、Javaのリリースモデルが6ヶ月ごとの短期リリースになるということが発表されてました。 で、「へぇ〜」みたいな感じで見てたのですけど、JavaOneでの話を聞くと、これ結構大変なのかも、ということになってそうなので、ちょっとまとめてみます。 追記:2018年05月の状況をQiitaでまとめています。 [Javaのサポートについてのまとめ2018 - Qiita](https://qiita.com/nowokay/items/edb5c5df4dbfc4a99ffb) Javaの新しいリリースモデル 公式情報はこちらにまとめられています。(10/4にアップデートされてます) http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html ざっくり言えば、6ヶ月ごとに機能リリースを行い、3ヶ月ごとにメンテナンス/セキ

    新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena
    vanbraam
    vanbraam 2017/10/07
    これもうJavaはOracle離れするしかないのでは.その力(経済力)がJavaコミュニティにあるかどうかはわからないが
  • Javaのジェネリクスは「まがい物」ではない - kmizuの日記

    先日、自分が書いた kmizu.hatenablog.com に対する反応として、「Javaのようなまがい物のジェネリクスと比較するのは適切でない」「Javaのジェネリクスと比較するのは適切でない」(おそらくC#や(C++等(2017/09/24追記))の言語と比較して)といった コメントをいくつか見かけました(はてなブックマークコメントやツイッターなどで)。しかし、ここでは、そのような言説こそが適切でない、ということを言いたいです。なお、methane氏との 対話については既に終わったものなので、それとは関係ありません。 そもそも、Javaジェネリクスは、静的型付き関数型言語で既に一般的であったパラメータ多相をJavaに追加する目的で導入されました(C++テンプレートのようなものをJavaに追加するためだと思っている人がいるかもしれませんが、それは実態にあっていません)。実際、Java

    Javaのジェネリクスは「まがい物」ではない - kmizuの日記
    vanbraam
    vanbraam 2017/09/25
    全く文脈の異なる記事だが,b:id:entry:286074513の時も思ったのは,何かを"まがい物"という人物は"本物"の定義を明示すべき,という事.定義が違ってたら議論以前の問題だし,オレオレ定義に基づく言葉は感想でしかない
  • むかしむかし、あるところにチェック例外という機能があったそうな | システムアーキテクトのごった煮

    ってことで、例外のお話です。 どうも僕の知っている限りでは、チェック例外という言語機能をもっているのはJavaだけみたいです。 僕個人としては、すばらしい機能なんですが。 Javaで最初にチェック例外を学んだ時、「そうそう、これこれ、これが欲しかったのよ!」 って思ったあの頃の想いは今も色あせていません。 「ずっと好きだったんだぜ~♪」って斉藤和義の曲を口ずさむくらいに、今もチェック例外を愛しています。 しかし、このチェック例外、他の言語からdisられまくって、最近の言語には取り込まれないという悲しいお話になっています。 過去に様々な議論があった中で、結論としてチェック例外は役に立たないってことになったらしいです。 経緯は知らんがね、そんなん。僕には役立ってるんだから。 ってことで、僕の立場から見た、チェック例外についての考察と扱いを書きます。 反論したい方、自重をお願いします。 だって、

    むかしむかし、あるところにチェック例外という機能があったそうな | システムアーキテクトのごった煮
    vanbraam
    vanbraam 2017/09/24
    例外=大域脱出の手段,検査例外=例外も戻り値の一種なので静的に型を把握,という認識.利点はある&コストも(IDEを使えば)大きいと思わないので,忌避される理由に納得感が余りない;Goの様に大域脱出を否定する方が理解できる
  • スレッド名にデバッグ情報を埋め込むと激しく捗る件 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回、Java のちょっとしたデバッグテクニックを紹介したいと思います。Java で運用中何かトラブルが発生した場合、スレッドダンプを取得することはしばしばあると思いますが、スレッドダンプだけだとちょっと情報が足りないことがあります。今回はスレッドダンプから得られる情報を増やして、素早く障害対応したりデバッグに役立てる方法を紹介します。 まずはじめに: スレッドダンプの取り方 基ですが、改めてスレッドダンプの取得の仕方を紹介しておきます。スレッドダンプを取得する対象のプロセス ID を仮に 12345 として、下記のように jstack コマンドを実行すればスレッドダンプが取得できます(※Linux上で操作する想定)。 $ jstack 12345 対象のプロセス ID は ps aux | grep jav

    スレッド名にデバッグ情報を埋め込むと激しく捗る件 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Javaの難しいところ - きしだのHatena

    Javaをプログラム未経験者に教えるときの話。 細かいところまでちゃんと理解するための難しさではなくて、とりあえず頻出コードが読み書きできるまでの難しさの話です。細かいところまでの理解、どの言語も難しいので。 あと、ここではプログラム自体の難しさは別の話、ということで。 で、Javaには難しいところが結構あるんですけど、難しいのをひとことでいうと「昔の事情や歴史的経緯により、が多い」ところです。 プログラムを教えるときに何が難しいか たとえばpublic static void mainを書くとか、おまじないが多いとか記述量が煩雑とかは、ツールで対処可能で、ツールで対処可能というのは機械的に慣れればいい部分なので、そこまで問題にならないと思います。 あと「おまじないを減らしたい」というのは教える側のこだわりであって、理解しやすさとは別で、そのおまじないがどういうときに必要かというところさえ

    Javaの難しいところ - きしだのHatena
    vanbraam
    vanbraam 2017/04/01
    じゃあやっぱりデータ型も構文も全てlistでシンプルなLispだな,にならない?; TMTOWTDIはPythonにもある(strとstring)し,暗黙のルールはRubyの方が多い;入門言語はOOでない方がいいとは思うので,割とガチでPascalかもしれない
  • ようやくSaStrutsを卒業してSpring bootデビューしたので良かった点と悪かった点を書いてみます - 文系プログラマによるTIPSブログ

    長い道のりでした・・・ 今回の記事は長文になります。 ありがとうSeasar。そしてさようなら。 次のフレームワークは Spring bootを使ってみて 良かった点 Spring STSが便利 application.ymlが便利 セッションレプリケーションが楽 ロガー周りが楽 Controllerが使いやすい actuatorのhealthcheckが便利 gzip圧縮転送が楽 Fully ececutable jarが楽 swaggerとの連携が楽 設定ファイルと定数クラスの紐付けが楽 静的リソースのバージョニングが便利 悪かった点 application.ymlで警告が出てしまうプロパティが有る Spring Batchが難しい 例外ハンドリング周りに注意 ログ設定まわりの混乱 domaとの連携に一手間必要 mime-typeにjsonpが無い jsonpに謎のコメントが混入する

    ようやくSaStrutsを卒業してSpring bootデビューしたので良かった点と悪かった点を書いてみます - 文系プログラマによるTIPSブログ
    vanbraam
    vanbraam 2016/10/20
    これは非常に良いSpring Boot解説.現場の人からこういう記事が出てくるの素晴らしい
  • GCC、Javaコンパイラを削除へ

    The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages. GCCチームのデベロッパは9月5日(米国時間)、「Andrew Haley - [PATCH] Delete GCJ」において、GCCブランチからgcc/javaおよびlibjavaを削除するパッチを公開した。GCJ (GNU Compiler For Java)はJavaコンパイラとして開発が進められてきたが、ここ数年は開発が停滞。ほとんどメンテナンスしかされていなかった。すでに役割は果たしたとして削除へ向けた取り組みが進められている。 Javaはこの十年以上、常に重要なプログラミング言語であり続けている。多くのエ

    GCC、Javaコンパイラを削除へ
    vanbraam
    vanbraam 2016/09/09
    そのうちLLVMをバックエンドにするJava compilerフロントエンドが出てくる,と書こうとして調べたら,本格的なものはないようだが実験レベルな既にいくつかある模様(確証なし)
  • 10のJava9で変わるJava8の嫌なとこ!

    IDENTIFICATION BY SCARS, TATOO MARKS, FINGER PRINT, FOOT PRINTS , SHOE PRINT...

    10のJava9で変わるJava8の嫌なとこ!
    vanbraam
    vanbraam 2016/09/03
    モジュール化による変化がすごい.見た目Javaじゃなくなりそう
  • NTTデータが「Spring」のコミュニティを盛り上げたい理由とは? 『Spring徹底入門』著者陣に訊く

    JavaのOSSフレームワークとして地位を確立しているSpring Framework。翔泳社では『Spring徹底入門』を刊行しましたが、書はNTTデータの皆さんが執筆されたもの。NTTデータはなぜ価値あるノウハウを公開し、共有しようとするのでしょうか。今回、書を執筆された橋賢二さん、槙俊明さん、池谷智行さん、小島祐介さん、川崎真弘さんにお話をうかがいました。 なぜNTTデータがSpring Frameworkの入門書を手がけるのか? ――『Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発』はNTTデータの皆さん(槙さんは執筆中に転職)が執筆されましたが、最初におうかがいしたいのは、なぜNTTデータがJavaのOSSフレームワークであるSpring Frameworkのノウハウを広めるための入門書を手がけたのかということです。 橋:NTT

    NTTデータが「Spring」のコミュニティを盛り上げたい理由とは? 『Spring徹底入門』著者陣に訊く
    vanbraam
    vanbraam 2016/07/27
    "仲間作り","Springの品質向上","私たち自身がSpringコミュニティでNo.1の存在になること"<この辺は企業のOSS活動に共通する目的
  • Oracle says it is 'committed' to Java EE 8 – amid claims it quietly axed future development

    Exclusive Oracle has told The Register it is "committed" to Java amid growing fears the IT giant had all but given up on Java EE – aka Java Platform, Enterprise Edition. The Redwood City titan said it will present fresh plans for the future of Java EE 8 at its JavaOne conference in San Francisco in September. Version eight is due to be released in the first half of 2017. However, over the past six

    vanbraam
    vanbraam 2016/07/09
    "Oracle is committed to Java and has a very well defined proposal for the next version of the Java EE specification – Java EE 8... "<"well defined proposal"が明らかにならない限り空手形と言われそう
  • Java EE Guardians に対する現時点での最新情報の共有

    2016年7月8日 at 6:37 午後 Java EE Guardians に対する現時点での最新情報を共有いたします。結論から申し上げますと、現時点(2016/07/07)での最新の情報は下記の記事になります。 The Register:Oracle says it is ‘committed’ to Java EE 8 – amid claims it quietly axed future development Java EE Guardians:Oracle Issues Statement on Java EE 8 それ以外の情報はすでに古い情報、もしくは憶測を元に記載されている記事になっていますので、上記記事をご覧ください。おそらく、最新情報をまだご存知ない方が、古い情報を元に SNS で色々と発言されていましたので、整理のためにエントリを記載しました。 これまでの経緯を

    Java EE Guardians に対する現時点での最新情報の共有
    vanbraam
    vanbraam 2016/07/09
    Java EEってopen sourceじゃないんだっけ?OSSなら,"Guardians"とか作ってOracleにpressureかけるよりforkしてしまえばいいと思うのだが;調べたらlicenseはSCSLでOSIのOSDには非適合=非open sourceらしい.そういう物への依存を選んだ人の不幸かな
  • Stateless Session for Multi-Tenant Application Using Spring Security - DZone

    Once upon a time, I published one article explaining the principle to build Stateless Session. Coincidentally, we are working on the same task again, but this time, for a multi-tenant application. This time, instead of building the authentication mechanism ourselves, we integrate our solution into Spring Security framework. This article will explain our approach and implementation. Business Requir

    Stateless Session for Multi-Tenant Application Using Spring Security - DZone
    vanbraam
    vanbraam 2016/06/18
    session cookieをcacheに入れると書いてあるが,cacheの更新ポリシーはどうなってるんだろう?少なくとも1リクエストに1回はdata sourceに取りに行く必要がある気がするし,それだとcacheの意味余りないのではとも思う
  • Javaと偽Javaの話。 - なるようになるかも

    qiita.com これの話。ブコメに書こうとしたら4000字は入らなかった。 Microsoft Java VM かつての WIndows には MS 製の Java VM が搭載されていました。 古代の Java は「Write once, run anywhere」を掲げていた通り、クライアントサイドで Java アプレットとして利用されるのが主流でした(サーバーサイドで動くようになって、真価を発揮した感じがあります)。 しかし Java VM の仕様は、パフォーマンスについての記述は曖昧になっており、OS ごとの実装の違いによって、実行速度に顕著な差がありました。 Windows の Sun 純正の Java VM は性能が悪かったため、MS は独自の Java VM を開発し、Internet Explorer にバンドルしました。調子に乗った MS は Windows GUI

    Javaと偽Javaの話。 - なるようになるかも
    vanbraam
    vanbraam 2016/05/29
    事実関係含めてこちらの認識に近いが,Oracle vs Googleは標準化分断が争点ではないのではと思う.あとSwiftってそんなに人気なのか少し疑問
  • Oracle v. Google.md

    Oracle v. Google.md link Oracle v. GoogleAPI著作権裁判の話(連邦最高裁) Oracle v. Google API Fair Use訴訟の話(連邦地裁編) 2016年5月26日付で、合衆国連邦地裁(Federal District Court)において、いわゆる「Java API著作権裁判」について、「GoogleJava API使用はフェアユースである」という陪審員評決が出たと報道されている。 なお、注意すべき点として、2016年5月26日段階で報道されている評決はまだ未確定である。今回の裁判はいわゆる知財裁判のため、州裁判所ではなく、連邦裁判所の管轄になっており、連邦地裁はその1審である。Oracleはおそらく控訴審の巡回裁判所、状況によっては連邦最高裁まで進むつもりであると思われるので、今後の動向には引き続き注意を要する。 また、一部で

    Oracle v. Google.md
    vanbraam
    vanbraam 2016/05/29
    SSOって何だ?と思って原文に当たったら"structure, sequence, and organization"との事.なるほどわからん
  • 贖罪のイレイジャ - プログラマーの脳みそ

    Javaのジェネリクスでしばしば話題に上がる「イレイジャ」について整理しておきたい。 イレイジャについては僕もいろいろと誤解しており、過去に誤った発言をしている。エントリはその贖罪として書かれたものである。 「イレイジャ」という方式についてはネガティブな誤解が広まっていると思う。「イレイジャ方式」が問題の根ではない事象について、それを「イレイジャのせい」であると誤って理解することはエンジニアとしてはマイナスである。 しばしばイレイジャのせいとされる事象にnew T()できないという論点があるが、これはJavaのジェネリクスがC#でいうnew制約(型変数の制約としてデフォルトコンストラクタを持つことを要求する機能)を持たないことに起因する問題である。 そのため、この点についてJavaの言語仕様に改善を求めるのであれば、new制約を導入せよという現実的な要求とするべきである。 イレイジャ方式

    贖罪のイレイジャ - プログラマーの脳みそ
    vanbraam
    vanbraam 2016/05/21
    一部理解できていない.後でちゃんと読もう
  • The Top 100 Java Libraries in 2018 - Based on 277,975 Source Files | OverOps Blog

    Harness empowers software engineering teams with AI-infused technology for seamless software delivery.

    The Top 100 Java Libraries in 2018 - Based on 277,975 Source Files | OverOps Blog
    vanbraam
    vanbraam 2016/05/14
    GitHub repositoriesから依存関係を抽出して集計.上の方はテスト&ログ周りが多い.guavaが異彩;注目はSpringの勃興とFantastic 4(lombok,jsoup,netty,dom4j)
  • 作って理解する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
  • Dockerコンテナ上でのJavaの実行はライセンス違反なのか?

    先日のブログ記事でHenn Idan氏が,Oracle Javaをコンテナで使用することはOracleのライセンス契約に違反しているのではないか,という問題を提起した。この記事は,発端となったAlpine Linux用のJavaの再コンパイルバージョンを推奨するツイートに対して,Oracleライセンスに対する明確な違反ではないか,とBen Evans氏が指摘したことを受けて提起されたものだ。 OpenJDKはGPLライセンス下で公開されているが,java.comでダウンロード提供される OracleJDKのコンパイル済バイナリには,これとは違うバイナリライセンスが適用されている。コードの著作権はOracleが所持しているため,Oracleには,GPL管理外のバージョンをリリースする権限があるのだ。また,Oracleの提供するJREにも,AppletプラグインやGUIをプラットフォームに依存

    Dockerコンテナ上でのJavaの実行はライセンス違反なのか?
    vanbraam
    vanbraam 2016/04/16
    難解でよくわかってないが,要するに「Oracle JDK/JREをアプリなしに再配布するのはライセンス上認められていないと考えられる」という事かな?だとするとタイトルは煽りすぎの感が;自動ダウンロードも確かに難しい話だ