タグ

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

  • Javaプロジェクトにおけるリリース周りの手法あれこれ - Kengo's blog

    考慮する点 成果物のデプロイ ビルドの成果物(artifct)をアップロードすること。アップロードと公開は分けて考えることに注意。デプロイ先にはいくつか候補がある: GitHub Packages (旧GitHub Package Registry) Maven Central Repository Docker HubなどのDocker Registry GitHub Packagesはコンテナも.jarもまとめて置けるが、コミュニティ標準の場所ではないので利用する際にひと手間必要になる。プライベートプロジェクトの場合は積極利用することになりそう。FOSSなら基的にMaven Centralに置くことになる*1。プロジェクトによっては.jarファイルとしてではなくコンテナとしてデプロイすることもあるだろう。 リリースノートの作成 CHANGELOG.mdやsrc/site以下のファイル

    Javaプロジェクトにおけるリリース周りの手法あれこれ - Kengo's blog
    vanbraam
    vanbraam 2019/12/01
    ちょっと状況がわからない.内製っぽいのにk8sじゃなくてdocker/docker-compose? ライフサイクルもDockerでいうBuild,Ship,Runと違う様だし..?
  • EclipseとOracle、javaxパッケージ名前空間と商標の扱いに関する合意を断念

    「FinOps、アプリケーション単位の経済性、クラウドコストの最適化について、ロワ・ラヴホン氏語る」 このエピソードでは、Finoutの共同設立者兼CEOであるRoi Ravhon氏が、InfoQポッドキャストの共同ホストであるDaniel Bryant氏と対談し、FinOpsの出現と業界の採用について議論した。この対談では、FinOpsを採用するメリット、クラウド・コストについてもっと知りたいと考えている組織の典型的な道のり、実装を成功させるために必要な様々な文化やツールといったトピックが取り上...

    EclipseとOracle、javaxパッケージ名前空間と商標の扱いに関する合意を断念
    vanbraam
    vanbraam 2019/07/24
    JCPにおけるJava EEの位置付け(openなのかclosedなのかが曖昧)という積年の問題が,ここにきて噴出してる感じ
  • KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes

    CloudNative Days Tokyo 2019 1D3 セッションのスライドです。 #CNDT2019 #OSDT2019 #RoomD

    KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes
    vanbraam
    vanbraam 2019/07/24
    凄く実用的なJVMアプリ on k8s ガイド.もう少し早く知りたかった..;開発/ビルド/デプロイ周りはCNB使うともう少し楽にならないかな?;一言もdevopsって出てこないが,k8s使うと自然にdevopsになってる気がする
  • Javaは今でも無償ですという話と最近のJava Webフレームワーク / Java is still free and Java Web FW

    Javaは今でも無償ですという話と最近のJava Webフレームワーク / Java is still free and Java Web FW

    Javaは今でも無償ですという話と最近のJava Webフレームワーク / Java is still free and Java Web FW
    vanbraam
    vanbraam 2019/07/22
    Linuxの利用は無償.サポートが有償という話をしてるんだったら,他人のスキルや稼働をタダで使おうというのは搾取であって"お仕事"ではない.真っ当なビジネスは労働に正当な対価を支払う事で成り立つ
  • jOOQで自動生成したJavaコードの管理方法&ついでにFlywayのサンプル - Qiita

    TL;DR jOOQで自動生成したO/Rマッピング用のJavaソースコードは、git管理してはいけない。 .gitignoreの対象にしておきましょう。 さもないとチーム開発のときにコンフリクトが起きやすくなり、DBの変更(テーブルやカラムの追加、変更、etc)に強いというjOOQのメリットを生かせなくなります。 ローカル開発環境のセットアップ、つまりDocker, gradle-jooq-plugin, flyway-gradle-pluginをきちんと使えば上記はラクに実現可能 ついでにDDD(ドメイン駆動設計)的な意味では、jOOQで自動生成したエンティティクラスをそのままドメインクラスとして使うのは悪手。面倒でも自作したドメインクラスに値を詰め替えましょう。 サンプルコードはこちら なお、jOOQの読み方は「ジューク」です。 Detail 2018年12月のJJUG-CCC(日J

    jOOQで自動生成したJavaコードの管理方法&ついでにFlywayのサンプル - Qiita
  • Introducing Quarkus: a next-generation Kubernetes native Java framework (Japanese)

    This entry is based on the one by Jason Greene (Quarkus Co-Founder, Distinguished Engineer and Manager, Red Hat). https://developers.redhat.com/blog/2019/03/07/quarkus-next-generation-kubernetes-native-java-framework/ オープンソースコミュニティにJavaが現れて20年以上が過ぎましたが、いまなお開発者の間では非常に人気があります。事実、TIOBEインデックスの2位を下回ることは一度もありません。Javaは90年代半ばに生まれ、(仮想化)ホストCPUとメモリの単独所有を前提とした、非常に動的なモノリシックアプリケーションを実行するため、約20年間にわたって最適化されてきました

    vanbraam
    vanbraam 2019/03/12
    GraalVMの寄与分を除いた,Quarkusのみの性能向上はどれだけなのだろう?
  • Javaのパッケージ名の命名には2019年でも所持ドメインの逆順を使うべきなのか調べた - Qiita

    発端 Java6までは言語仕様の中に命名規約の章があったけどJava7からはなくなった。あとパッケージ名もドメイン名逆順にしろというのが、ローカルでの利用を意図してるなら単一の識別子だけでいいということになった。そのころからlombokみたいにプロダクト名だけのパッケージ名を見るようになった気がする — きしだൠ (@kis) 2019年1月22日 今までjavaパッケージの命名はドメイン名の逆順というのが通例だと思っていたが、たしかにそれに沿わないライブラリも特にScala系のライブラリで見ることが増えてきた。 そもそもこの命名規則は確かに衝突を避けるためには合理的ではあるもののコード中の記述量が増えるため後発の言語でもまったく真似されていない。 最近のJavaでより短いパッケージの命名が許容されるならとても嬉しいと思い、当にJavaのFQDN逆順命名規約は無視していいのか調べた。 調

    Javaのパッケージ名の命名には2019年でも所持ドメインの逆順を使うべきなのか調べた - Qiita
    vanbraam
    vanbraam 2019/03/06
    こういう調査は(自分含め)多くの人の不要な苦労を減らしてくれるのでありがたい;最初のツイートした人物は記事著者にお礼を言うべきだと思う
  • ヤフーにおけるJava事情を軽くご紹介します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。第8代黒帯〜プログラミング言語(Java)〜 の森下と申します。 ヤフーでは、最近はJavaで書かれたさまざまなOSSの利用や貢献がされていたり、サービス開発でもJavaが使われることが増えてきているなど、社内でのJava利用が拡大してきています。 その背景には、ヤフーにおける標準言語の一つとしてJavaが位置付けられていることや、システムが大規模になるにつれて静的型付けやコンパイルなどできっちり作れるという利点が活きてくる点、また社内で利用できるPaaS環境(Pivotal Cloud Foundry)でもSpring Bootベースのアプリケーションがサポートされていて親和性があるといったことからだと思い

    ヤフーにおけるJava事情を軽くご紹介します
    vanbraam
    vanbraam 2019/03/04
    Spock知らなかった.勉強になった;記事本題とは無関係だがPHP7から型安全性を保つ仕組みが導入された筈.その辺の対応はどうなってるんだろう?
  • オラクルの手から離れたJava EEの運命

    Java EE(Java Platform, Enterprise Edition)が米オラクル(Oracle)から離れたことは良かったと思っている」。Java EEを採用した情報システムやJava EE対応製品を開発するITエンジニアは口ぐちにこう話す。Java EEは、Javaを利用した企業システムのサーバーサイドの開発に使われる標準仕様だ。 Java EEの仕様策定を取りまとめていた米オラクル(Oracle)は2017年9月、Java EEを米Eclipse Foundationに移管すると発表した。Java EEの仕様はこれまで「JCP」(Java Community Process)と呼ばれるコミュニティで決めていた。これからは新たにEclipse Foundationのオープンソースのコミュニティで決まることになる。 「Java EEの個々のAPIについて、ワーキンググループ

    オラクルの手から離れたJava EEの運命
    vanbraam
    vanbraam 2018/05/23
    名称がJakarta EEに変更されるとの事.なぜEEのみ商標権を強く行使するのかがよくわからない
  • Instant Netty Startup using GraalVM Native Image Generation

    In this article we demonstrate how you can achieve instant startup for Netty, a non-blocking I/O Java networking framework. We do this by compiling the Netty application into a native executable with GraalVM. First we discuss why we think this is important, then we detail what steps are necessary to enable ahead-of-time compilation of Java bytecode, and finally we show how to do it on a sample Net

    Instant Netty Startup using GraalVM Native Image Generation
    vanbraam
    vanbraam 2018/05/23
    GraalVMのNative Imageを使った高速起動の例
  • Netflix、自社開発したコンテナマネジメントプラットフォーム「Titus」、オープンソースで公開

    動画配信サービスを提供するNetflixは、Amazon Web Services上に巨大な動画配信用のシステムを構築していることはよく知られています。同社は先月、2018年4月の実績によると、そのシステム内で1週間あたり約300万ものコンテナを起動したそうです。 その膨大なコンテナのマネジメントプラットフォームとして同社が自社開発した「Titus」が、オープンソースとして公開されました。 Titus, the Netflix container management platform, is now open source 同社はこのTitusのうえで機械学習やビッグデータの分析、エンコーディング、社内エンジニア向けのツールなど、同社のビジネスを支える重要なシステムを稼働させています。 コンテナマネジメントプラットフォームには、すでにKubernetesやMesosphere DC/OS

    Netflix、自社開発したコンテナマネジメントプラットフォーム「Titus」、オープンソースで公開
    vanbraam
    vanbraam 2018/04/24
    "Apache Mesosをベース","AWSのサービスなどと密接に連係";リソースの予約はk8sにはない機能では;runCやOCI,CNIみたいなオープン標準のサポートがどうなってるかが気になる;調べたらcontrol planeはJava,executorはGoだった
  • FAXシステムをJavaでリプレイスしたら劇的性能UP - ぐるなびをちょっと良くするエンジニアブログ

    こんにちは。社内のJava利用率を少しでもあげたいと常日頃から考えている、Javaラーのカンノです。プラットフォーム開発グループに所属しています。 Javaと聞いて、ぐるなびの開発は「PHPメインでしょ?」と思われる方が多いようですが、実は社内でもJavaで開発されたシステムは多々あります。個人的にはJava推しで、実際にPHPのシステムをJavaでリプレイスしたら性能が劇的に良くなったので、今回紹介するのはその話です。 ぐるなびエンジニア内のJavaの扱い ぐるなびの開発エンジニアの中ですら「社内でJavaを使っているところがあるの??」と言われるほど、ぐるなびではPHPが主流となっています。たまにシステムのリプレイスや新規開発でGoRubyを使うと社内で話題に上がったりしますが、いざJavaで開発するとなっても、そこまで話題にすら上がりません……何故なのか……Javaラーとしては日陰

    FAXシステムをJavaでリプレイスしたら劇的性能UP - ぐるなびをちょっと良くするエンジニアブログ
    vanbraam
    vanbraam 2018/04/13
    PHP/Java云々の前に設計の違いが性能差に直結してそう;でもJavaは起動が重いだけで動き出したら速い事は知っておいてよいと思う
  • Java開発のノウハウを全面公開、NTTの深謀遠慮

    「開発人材を増やすため」。NTTは3月13日、Javaアプリケーションフレームワーク「Macchinetta(マキネッタ)」をGitHub上で一般公開した。公開の狙いについて、取り組みのリーダーである夏川勝行ソフトウェアイノベーションセンタソフトウェア開発技術プロジェクトグループリーダ主幹研究員はこう語った。GitHubはクラウド型のソースコード共有サービスで、オープンソースソフトウエア(OSS)の公開でよく使われる。 IT人材の不足は深刻化し、人材の争奪が加熱している。NTTグループは自社のJavaアプリケーションフレームワークをオープンソース化して、他社も利用できるようにする。これを通じて、Macchinettaフレームワークを扱える開発人材のすそ野を広げる。将来的にMacchinettaフレームワークを扱える技術者が増えれば、NTTグループにとって開発人材の獲得が有利になると見込む。

    Java開発のノウハウを全面公開、NTTの深謀遠慮
    vanbraam
    vanbraam 2018/03/25
    何が"深謀"/"遠慮"なのかよくわからない;"多数の開発案件を通じた判明したベストプラクティスを詰め込んだ、2000ページを超える開発ガイドラインのドキュメントも一般公開"<"も"とあるがこちらが本体では?
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
    vanbraam
    vanbraam 2018/02/19
    拡張for文で正解だけど,それがなかった時代でも普通にrecord.next()する案件だと思う;"ランダムアクセスしちゃダメ"というより,sequencial accessでいいのに無意味にrandom accessしてる例では
  • Java EEは今後JCPを使わず

    Mark Fussell氏とYaron Schneider氏とDaprを知ろう 日のエピソードでは、Thomas Betts氏がMark Fussell氏とYaron Schneider氏に、分散アプリケーション・ランタイム(Dapr)について話を聞いた。最新のInfoQ Architecture and Design Trends Reportでは、Daprはポータビリティとクラウドアプリケーションのための設計というアーリーアダプターのアイデアの一部となっている。

    Java EEは今後JCPを使わず
    vanbraam
    vanbraam 2018/02/11
    そしてOracle JDK有償化なんかよりこっちの方が大問題.まあEEはSpring他の代替があるから本質的にはなくても困らないと思うし,むしろ「エンタープライズ」はOracleに金払ってEEの面倒を見て貰う事を喜ぶかもしれん
  • Oracle Javaの無償配布終了で何が起こるのか? - セカイノカタチ

    www.publickey1.jp 世界中で30億デバイスに搭載されているプログラミング言語Javaのリリースサイクルが変更になることと、オラクル版のJavaが無償提供されなくなるというニュースです。 リリースサイクルが半年ごとに オープンソースのOS、LinuxのメジャーなディストーションであるUbuntuなどで採用されているリリース方式で、「機能ができたらリリースする」のではなく、「時間が来たらリリースする」方式です。 Javaぐらい大規模で歴史も深いプロジェクトになると、影響範囲の検証などをじっくり行うため、大きな機能改善などは、何年もかかったりします。すると、自然とリリースサイクルは長くなり、Java7からJava8までで、2年半、Java8→Java9では、3年半もかかってしまいました。 機能ベース = いつリリースされるかわからない このことを回避するために、「リリースペースを

    Oracle Javaの無償配布終了で何が起こるのか? - セカイノカタチ
    vanbraam
    vanbraam 2018/02/11
    少なくともb:id:entry:357250201よりは遥かに真っ当な事が書いてあると思う;そもそもmajor versionのsemanticsが変わるので,半年毎のmajor version upは従来のupdate(uNNN)と余り変わらない位置付けになる筈.それすら追従しないのはsecurity無視
  • 来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり)

    来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) 2017年9月に「Java 9」が登場したばかりですが、いまから1カ月後の2018年3月には早くもJavaの新バージョン「Java 10」がリリースされます。そしてその6カ月後の9月にはさらに次の「Java 11」がリリース予定です。 Java 9以後のJavaは、毎年3月と9月の年2回メジャーバージョンアップを行う、タイムベースのリリースモデルを採用することになりました。今年はその最初の年となります。 オラクルによるJDKの提供方法やサポートポリシーも、これから大きく変更されることが明らかになっています。一般公開され無償でダウンロードできたOracle JDKの公開はJava 10が最後となり、サポートは3年

    来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり)
    vanbraam
    vanbraam 2018/02/11
    "Oracle(Sun)"という外見だけ見て,中身(OpenJDK=Oracle JDK"になる事)を理解してないブコメが多い事に萎える.LTSが無くなる事に文句を言ってる人もいるが,こういう人々は従来のupdate(uNNN)も当ててないのだろうか?
  • 『【悲報】Javaがオラクルにとどめ刺されそう。Oracle JDKの無償公開がJava 10までの衝撃 : IT速報』へのコメント

    テクノロジー 【悲報】Javaがオラクルにとどめ刺されそう。Oracle JDKの無償公開がJava 10までの衝撃 : IT速報

    『【悲報】Javaがオラクルにとどめ刺されそう。Oracle JDKの無償公開がJava 10までの衝撃 : IT速報』へのコメント
    vanbraam
    vanbraam 2018/02/10
    この話,自分が最初に知ったのはこの頃かb:id:entry:345858825;OpenJDKを嫌がる人をちょくちょく見るが,Sun/OracleのJDKとそんなに違うものなのだろうか?少なくとも自分で使ってる範囲では差を感じたことはないのだが
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
    vanbraam
    vanbraam 2018/02/07
    割と知ってる話だったが,Military Timezoneは知らなかった.あの`Z`にはそういう意味があったのか.Zeroの頭文字かと思ってた;そして今のJavaは新旧DateTimeライブラリーが入り乱れてて割と辛い
  • Amberで検討されているJava構文の変更 - Qiita

    Amberとは Java言語を拡張するプロジェクトです http://openjdk.java.net/projects/amber/ Amberのブランチ records データ保持用のクラスです sealed-types シールドタイプ newesapes line blockのエスケープ対応 patterns パターンマッチの全体的な開発 patterns-deconstruction パターンマッチでのデコンストラクション patterns-stage-1 instanceofのみのパターンマッチ pattern-runtime パターンマッチのランタイム? local-methods ローカルメソッド lambda-leftovers ラムダで_使えるようにする concise-method-declarations メソッド定義の簡略化 enhanced-enums 拡張enu

    Amberで検討されているJava構文の変更 - Qiita
    vanbraam
    vanbraam 2018/01/28
    予想より小幅な修正だった(Perl6比);recordは簡易classみたいなものか.やりたいことはわからなくもないがscopeを人間が理解しやすいように定義しないと死にそうな予感;他はまあ細かい改善