今回はExcelファイル読み込みをやります。環境構築はExcel出力を参照して下さい。 簡単な読み込みサンプル POI 4 以降 package test; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; impor
POI便利っすよねー。 Excelデータの操作をJavaで行うなら必需品です。 だがしかーし!使えない時もある! POIが悪いんじゃない。使うなという企業が悪い。 開発環境に"自由"にライブラリを設置できない場合、ネイティブでやるっきゃない。 "自由"とは責任をもってやること ターゲットをxlsx形式のみにしたら比較的容易にできる。 Office Open XMLなのでDOM解析すれば良い。 手順は下記の通り。 xlsxファイルをZipInputStreamで読む sheetN.xmlとsharedString.xmlを解析して該当セルと中の値をマッチさせる(vタグ内の数値が何番目のsiタグの値かを指す) 以上。 下記サイトでとても綺麗に纏めてくださってる。 Excel XLSX Parser | Chris' Creative Musings ここで読み込めるのは固定値として設定してる値
はい、どーも。モバイルアプリサービス部の吉田です。 今日は、Javaアプリケーションを簡単にDocker化できるツール、Jibを試してみたいと思います。 Jibとは Dockerfileを書かなくても、良い感じのDockerfileを生成してくれる DockerHub,Amazon ECR,Google Container Registryなどにpushしてくれる など、いままでJavaアプリケーションをDocker化するにあたっての面倒な作業をやってくれるツールです。 また、既存のJavaアプリケーションに特に手を入れることなく、簡単にDocker化できるのも嬉しいポイントです。 導入方法 JibはMavenやGradleのプラグインが提供されていますので、これ経由で使うのが簡単です。今回はMavenのプラグインを使用しますが、Gradleプラグインでもほぼ同様です。 Docker化する
JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String
JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM JavaでJavaScriptエンジンを実装し、JavaVM上でJavaScriptを実行可能にする機能「Nashorn」は、JDK 8で新たに搭載された機能でしたが、2018年5月8日付けで登録された「JEP 335: Deprecate the Nashorn JavaScript Engine」で非推奨(depricated)となり、将来的には廃止されることになりそうです。 JavaVM上でJavaScriptを実行する機能としては、Nashorn登場以前からMozillaが開発したオープンソースのRhinoが存在しており、Java 6からサポートされていました。 NashorhはこのRhinoを置き換える形でオラクルが開発を始め、ECMASc
日本オラクルが今後のJavaのリリースモデルと公式バイナリについてあらためてJava Day Tokyoで説明。オラクルによる公式バイナリの無償提供はOpenJDKベース 日本オラクルは5月18日に都内でイベント「Java Day Tokyo 2018」を開催。午後に行われたセッション「Java SE の新しいリリースモデル」で、あらためて今後のJavaのリリースモデルと配布について説明を行いました。 説明の基本的な内容は、以前の記事「来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) - Publickey」と変わっていません。 本記事はセッションの内容を基に、現時点でのステータスをあらためて確認するものです。 Javaは6カ月ごとのタイムベースのリリースへ
オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用 JavaやJavaScriptなどには、それぞれその言語を実行するためのランタイムが存在します。JavaならJavaVM、JavaScriptならJavaScriptエンジンといった具合です。 米オラクルがオープンソースで公開した「GraalVM」は、これまで言語ごとに個別に用意されていたランタイムを統合し、単一の高性能なVMにするという同社の研究の結果開発された汎用仮想マシンあるいは汎用ランタイムです(米オラクルのブログ、日本語訳)。 GraalVMのWebサイトには、次のような説明が記されています。 GraalVM is a universal virtual machine for running appli
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJava エンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) ロードマップ 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊
Java 10が本日付で正式リリース。ローカル変数の型推論、ガベージコレクタが入れ替え可能、不揮発性メモリ対応など。Java 9は早くもサポート期間終了 昨年9月に登場したJava 9から、Javaは6カ月ごとのタイムベースによるアップデートサイクルが採用されました。そしてその最初のワンサイクルが経過し、今日3月20日付けでJava 9の次のメジャーバージョンアップとなるJava 10が登場する予定です。 おそらくJava 10の正式な発表は米国時間の3月20日、日本時間では休日となる明日の午前中あたりになると思われます。 Java 10の新機能:ローカル変数の型推論、ガベージコレクタが入れ替え可能など Java 9では、通称「Project Jigsaw」と呼ばれるJavaのモジュール化機能が入り、Javaに対する大きな変更が行われました。しかし今回のJava 10では、それほど大きな機
NTTは、Webシステムを開発するためのアプリケーションフレームワーク「Macchinetta(マキネッタ)フレームワーク」をGitHub上で公開した。 Macchinettaフレームワークは、Java言語向けのオープンソースソフトウェアのアプリケーションフレームワーク「Spring」を中心に、Webシステムの開発において必要となる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したもの。NTTグループにおいて広く標準的に活用されており、豊富なベストプラクティスに基づいて作成されているという。 OSSの組み合わせによる共通機能の提供においては、様々なユースケースを想定した動作検証を行い、OSSのアプリケーションフレームワークであるSpringを中心にOSSスタック推奨モデルとして定義しているという。 MacchinettaフレームワークのOSSスタック推奨モデ
皆さんこんにちはこんばんは、開発部の陳です。 この間の大雪の積雪の影響で、首都圏の交通事情が一時期ひどいことになりましたね。 そんな大変な状況でも、物流業の方々はみんなの手元に荷物がちゃんと届くように頑張り続けていました。 おかげで、去年の夏に予約した Effective Java 第三版を無事に入手しました! というわけで、その気になる内容をかるく紹介して行きたいと思います。 第二版と第三版、構成がどうか変わったか 2008 年に第二版が出版されてから、Java はメジャーバージョンアップを3回もリリースして、第三版では、元の Java 6 向けの内容を Java 9 までの変更を含めて一通り改定しました。 その影響でボリュームが少し増えて、第二版の 11 章 78 項目という構成に対して、第三版では 12 章 90 項目になっていて、新しい章は第 7 章の "Lambdas and S
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
ドメイン駆動設計の4つの基本活動、Springのプログラミングモデル、ドメイン駆動設計のためのSpringの使い方
こんにちは、エムスリーのエンジニア前原([twitter:@maeharin])です 11/18(土)に日本最大のJavaコミュニティイベント、JJUG CCC 2017 FALLが開催されました http://www.java-users.jp/ccc2017fall/ 弊社エムスリーは💰ゴールドスポンサー💰 & ☕コーヒースポンサー☕として参加しました。また、スポンサーセッションとして私が登壇させていただきましたので、そのレポです 登壇内容 午前11:00からのセッションで私のチームで進めているサーバーサイドKotlinを用いたシステムリニューアルについて登壇させていただきました。会場でKotlinを触ったことがある方に挙手いただきましたが、触ったことがある方は全体の10%くらいだったのが印象的です。KotlinはAndroidの開発言語として有名ですが、サーバーサイドでもどこでも
発表資料 DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話 from Koichiro Matsuoka www.slideshare.net twitterの反応 togetter.com CQRSの参考資料 CQRS | Microsoft Docs CQRS - Martin Fowler 英語ですが、CQRSの概要についてものすごくわかりやすく書いてあります。 英語頑張って読んだほうが日本語で断片的な資料をたどるより結果的にわかりやすいと思います・・・! イベントソーシングの参考資料 Event sourcing in practice 今まで見た中で圧倒的にわかりやすいイベントソーシングの資料です。英語ですが平易なので読みやすいと思います。 当ブログ発表資料関連の記事 little-hands.hatenablog.com writeモデル実装の意図を詳
JJUG CCC 2017 Fall に行ってきました! 今回は自分好みな「普段使ってるアレ、深掘りするとこうなってるんだぜ」的なセッションをいろいろ聞けて大満足でした。 印象に残っているのが「DBのTCPプロトコルとJDBC / yohei yamana さん」。 「かっちりした PostgreSQL とやんちゃな MySQL という感じがする」という話があって、自分が普段使ってる印象がそのまま JDBC にも現れているんだなーと思いました。なかなかこういうものは深掘りできないので、面白い!と思ったところをポイント抑えて紹介してもらえたのは嬉しかったです。 あと、今回のメインセッションで唯一の難易度 ★★★ だった「CPUから見たG1GC / 数村憲治さん」。 難しすぎて理解できていない*1ですが、なんでこうなるの!?という不可思議現象に迫るというお話は聞いていてワクワクしました。これを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く