Java Developers Summit (2023-02-28)
![クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング](https://cdn-ak-scissors.b.st-hatena.com/image/square/ea53e2103056c3470a8a7ad4f29d4dcf02545c9b/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F42aae699216449459488017fd780a544%2Fslide_0.jpg%3F24787057)
プログラマがシステム開発において共通で必要となる、技術と業務の狭間の共通知識を解説します。連載第2回は文字コードの実践編です。 0. 前回の復習と今回の概要 システム開発で必要となる標準規格の話、前回 は文字コードの概要について説明しました。ざっくりまとめるとこんな内容でした。 「符号化文字集合」で文字集合と符号位置を定義し、「符号化方式」でバイト表現に変換していること。 日本では、しばらく文字集合 JIS X 0208 を、ISO-2022-JP、EUC-JP、Shift_JIS の符号化方式で利用してきたこと。 近年は、世界中の文字が扱える Unicode が主流となっており、UTF-8、UTF-16 などの符号化方式があること。 常用漢字、人名用漢字に限っても、字体を正確に扱おうとすると、JIS X 0208 の範囲では不十分であり、JIS X 0213、Unicode、サロゲートペ
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー
この記事は Java Advent Calendar 2018 の 9 日目のエントリーです。 流行をとらえた話題が多いなか、10~15年前感のあるコンテンツです。化石です。 しかし化石とはいえ、よく使う技術ではあります。 ということで、何気なく使ってたけど改めて勉強し直しました。 検証バージョンjava 1.8.0_181JDBCドライバ postgresql 42.2.5PostgreSQL 10.5 自前ビルド検証環境Java動作環境 Windows 10 Pro ver.1803CPU 4コア(Hyper-Vと共用)RAM 16GB(うち、Hyper-Vへ8GB割り当て)Intel Core i5-4690 CPU 3.50GHzSSDPostgreSQL動作環境 Hyper-V 仮想インスタンスCentOS Linux release 7.1.1503 (Core)CPU 4コア
O/Rマッピング・ツールと運用設計ミス 本稿では、Java EEアプリケーションで使われることの多いO/Rマッピング・ツールにおけるサイジングの重要性について解説します。 今回取り上げる事例は、JavaのWebアプリケーション開発ではかなり有名なO/Rマッピング・ツールである「iBatis」*1を使ったものです。 [*1] 現在は、MyBatisと名前を変えて、継続的にリリースされています。 [mybatis[http://www.mybatis.org/java.html]] , [google code:mybatis[http://code.google.com/p/mybatis/]] 問題となったアプリケーションでは、データベースの接続からクエリーを投げるところまで、全面的にiBatisを利用していました。採用された理由は、既存のSQLを利用しつつ、動的SQLを簡単に作成できると
再帰は強力なアルゴリズムであり、様々な実装に用いられていますが、現実では間違った実装をしてしまうとメモリが枯渇してしまうことなどの問題があり、あまり好まれていないことも多いアルゴリズムだと考えています。 ですが、正しくプログラミングする方法を知っていれば、再帰を使うことのメリットを享受できるとも思っています。 フィボナッチ数列をJavaでプログラミングしながら、スタックオーバーフローが発生しない再帰のプログラムを書いてみようと思います。 よくあるフィボナッチ数列の実装 以下にフィボナッチ数列の簡単な実装をしてみました。 public class Fibonacci { public int fibonacci(int n) { if (n <= 0) { return 0; } else if(n == 1) { return 1; } else { return fibonacci(n
NullPointerException 嫌いですよね!そんなときに頼りになるのが Java 8 から導入された Optional です。 でも、 null の代わりに Optional を積極的に使うとコードが Optional だらけになり、特に次のような場合に面倒くさいです。 Optional<Integer> a があるとき、 a の値を二乗したい。ただし、 a が empty の場合は empty を得たい。 Optional<Double> a があるとき、 a の平方根を計算したい。ただし、 a が empty または負の数の場合は empty を得たい。なお、 Math.sqrt を安全にした(負の数を渡すと empty を返す)関数 Optional<Double> safeSqrt(double) があるものとして考えて良い。 Optional<Integer> a と
開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.1はヘキサゴナルアーキテクチャについて。動画はこちら。 新規開発では理想どおりにならないことはよくある 成瀬允宣氏:さぁ、じゃあやっていきましょうか。(コメントで)「Javaより時代はKotlin」。そう、Kotlinね、そうですね。今回はアーキテクチャの話なので、たぶんKotlinとかでも使えると思います。 (コメントで「設計の講座助かります!」)設計の講座はなかなかないですからね。あと、今日最後のほうで「次何やろうか?」って話もしようかなと思っているので、もしよければ、そのときに僕の相談に乗ってください。 よし、じゃあいきましょう。「先行開発!Javaでクリーンアーキテクチャ」
この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を
はじめに 例外処理の問題は Java コードレビューでの頻出指摘事項である。この記事で述べる通り、Java の例外処理において守るべき基本的なルールはそれほど複雑ではない。だが、たとえ職務経歴上は経験年数の長い Java プログラマであっても、適切な例外処理を実装できないケースは残念ながらよく観測される。さらに経験年数が短い Java プログラマにおいては言わずもがなである。 なぜ不適切な例外処理が広くはびこっているのか。そこには大きく分けて三つの要因が考えられる。まず、Java 言語仕様において例外機構 (特に検査例外) に歴史的事情による混乱があり、プログラマに過度の自由が与えられていることである。次に、アプリケーションを開発するだけでなく実際に運用してみない限り、不適切な例外処理の弊害に気づけないことである。最後に、適切な例外処理を学ぶためのコンパクトにまとまった資料が世に存在しない
2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基本的にJava 8以降での開発を想定しています。 OpenJDK/OracleJDK上での開発を想定しています。 Android開発の場合は一部適用できない可能性あり。 英語のIDE、ツール等は積極的に使用します。 英語嫌いだとモダン化は難しい。 Java開発全般を前提としているた
元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ
2014年版はこちら => http://d.hatena.ne.jp/JavaBlack/20140420/p1 「見習いプログラマが読んでも、ほとんど無意味な10冊」http://d.hatena.ne.jp/JavaBlack/20101124/p1 「プログラマーになるには」http://d.hatena.ne.jp/JavaBlack/20101128/p1 「気合いでやり抜く努力型」http://d.hatena.ne.jp/JavaBlack/20101201/p1 の関係で,あくまで一例として.言語や分野が異なれば,お勧め本も変わってくるので注意.*1 プログラミング言語Java (The Java Series) 作者: ケン・アーノルド,ジェームズゴスリン,デビッドホームズ,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2007/04メディア: 単行本購
ソフトウェア開発プロジェクトに加わるプログラマーは、必ずしも全員が使用するプログラミング言語に習熟しているわけではないのが発端です。 Javaプログラミングに習熟する一環として、専門書籍を読んで学ぶことになりますが、その際どんな本を薦めるかは常に悩みます。 Javaの場合、プログラミング言語の中では出版されている書籍の数が多く、目を通していないものが大半 読む人の習熟度によって、適する書籍の難易度が異なる 習熟度は、最近読んだ書籍「リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法」で紹介されているドレイファスモデルで分類するとよさそうです。ドレイファスモデルは、技能モデルを5段階でモデル化しています*1。 以下に、ドレイファスモデルの技能レベルと、Javaプログラミング技能においてそのレベルで読みこなし自分に取り込むことを目標としたい書籍を記載します。 レベル 名称 こ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く