JJUG CCC 2017 Spring E1 2017-05-20 10:00-10:45
JJUG CCC 2017 Spring E1 2017-05-20 10:00-10:45
2017年4月18日紙版発売 2017年4月18日電子版発売 谷本心,阪本雄一郎,岡田拓也,秋葉誠,村田賢一郎 著,Acroquest Technology株式会社 監修 B5変形判/448ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-7741-8909-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 誕生から20年を迎え,幅広い分野のプログラミングに欠かせないJavaの基礎から応用までをしっかり解説。Javaの最新仕様(Java 8)に基づく文法から,オブジェクト指向やデザインパターン,そしてビルド,ドキュメンテーション,品質へ
DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこと。 コンテナ管理 インスタンスのライフサイクルをコンテナが管理していること。雑に言えば、使う側で new しないってこと。 インジェクション Dependency Injectionのこと。 Short Answer コンストラクタインジェクションを使いましょう。使い分けなくていいです。 3種類のインジェクション インジェクションには3種類ありますね。他あっても知らない。 フィールドインジェクション セッターインジェクション コンストラクタインジェクション フィールドインジェクション 一番よく見るかな。 class Hoge { @Inject
ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。 dentomoさんから『Java本格入門』を頂きました。ありがとうございます。 (著者は谷本心さんを始めとするAcroquest Technology株式会社の方々ですが、編集がdentomoさんのようです) なんと、p.436の参考文献に、そうそうたる本に混じって自分のウェブページのURLが載っています! うわ~嬉し恥ずかしw (「この本を読んだ人たちが次に参考に出来るサイト」という意味かなーと思ったら、書いた人が本当に参考にしていたみたいです^^;) このJava本格入門、入門の名の通りJavaの基本的な文法も扱っていますが、そこからさらに、よく使われるライブラリーやJavaで開発するために知っておいた方が良いこと(デザインパターン・ログ出力・JUnit、果ては例外の
The Twelve-Factor App is a recent methodology (and/or a manifesto) for writing web applications that, hopefully, is getting quite popular. Although I don’t agree 100% with the recommendations, I'll quickly go through all 12 factors and discuss them from the perspective of the Java ecosystem, mentioning the absolute “musts” and the points where I disagree. For more, visit the 12factor.net site. Cod
import java.time.*; import java.time.format.DateTimeFormatter; public class PremiumFriday { public static void main(String[] args) { int[] years = {2017, 2018, 2019}; for (int year : years) { for (int month = 1; month < 13; month++) { if (year == 2017 && month == 1) { continue; } YearMonth ym = YearMonth.of(year, month); LocalDateTime pf = getMonthOfPremiumFriday(ym); System.out.println(DateTimeFo
Hello, This blog post is heavily inspired by this presentation by Andres Almiray. This was so good, that I needed to groom it as the reference list. Sharing it with short feature lists and examples. Enjoy! Guice Guice (pronounced ‘juice’) is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. # Typical dependency injection public class DatabaseTransactionLo
メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解するJavaバグ脆弱性トラブルシューティングjconsole 概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVM
目的 Javaのコレクションフレームワークの1つである Map について、整理してみます。 各クラスやメソッドの詳細な説明はしません。 主要なクラス java.util.HashMap いわゆるハッシュマップ、ハッシュテーブル キーとなるオブジェクトは hashCode() と equals() が正しく実装されている必要がある java.util.LinkedHashMap 基本的には HashMap と同じ イテレータで返す順番が保証されている(基本は挿入順) 順番は「挿入順」のほかに「アクセス順」にできる。LRU方式のキャッシュを作ることもできます。 参考:LRUキャッシュの実装 java.util.TreeMap ツリー構造を持つマップ キーとなるオブジェクトは java.lang.Comparable を実装しているか、別途 java.util.Comparator を明示的に指
SpringでField InjectionよりConstructor Injectionが推奨される理由を調べてみたメモです。 (2016/12/30) サンプルコードにfinalをつけるように修正 (2017/03/29) Immutabilityについて追記 --- 家でも会社でもIntelliJを使って開発しているのですが、 Spring Bootで@Autowired(@Inject)を使うと下記のような警告が出るようになりました。 警告内容を見てみると、フィールドインジェクションは推奨されません、とのこと。 「Field injection is not recommended.」 警告の詳細を見てみると下記のように書いてあります。 「Field injection is not recommended. Spring Team recommends: "Always use
どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H
色んなシステムに携わっていると、様々なJavaのクラス名に遭遇する。 ○○Beanとか ○○DTOとか ○○Entityとか ○○VOとか ○○Form。 ここらへんって 「MVCのModelのデータ部分にあたるって意味で同じだし」 とか 「ゲッター/セッターがあるクラスで意味的に一緒じゃない?なんで色々名前つけてんの?」 って思いませんか? ってことで、今回はそれぞれの定義を改めて考えてみようと思う。 とりあえずはそれぞれの意味から ・Bean 総称はBean。あえて言うならJavaBeansの略。 Javaの初心者でも知っている。 あまりに有名すぎるが、Oracleのサイトのガイドを見ながらパクってまとめてみた。 ・Sun Microsystems社のJavaBeans仕様に準拠した再使用可能なソフトウェア・コンポーネント。 ・最低限、クラスにはプロパティが必要。 ・プロパティはメソッ
先週、FindBugsのメーリスに興味深い宣言が流れました。今のFindBugsはメンテ困難であり現体制での継続保守が難しいとするものです。 ただこれをもってFindBugsはおしまいだ、としてしまうのはちょっと違います。コミュニティ自体はまだ活発で、プロジェクトのあるべき姿について話し合っています。私はコミッタでもなんでもないのですが、1週間経ったこともあり日本語で簡単に経緯を紹介したいと思います。 出典明示のため細かくリンクを張りますが、リンク先を見ずとも本エントリだけで理解できるよう努めます。 現体制最大の問題はプロジェクトリーダーの不在 1年以上前から、プロジェクトリーダーのBill Pugh氏はコミュニティ開発者からの連絡に返信しなくなりました。メールもそうですがGitHubやTwitterでのmentionにも返信しません。私もこの5月にTwitterで連絡を取ろうとしましたが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く