何年か前に社内向けMaven勉強会で発表した資料。 Maven使ったことない、使ってるけど仕組みは知らないという人向けに。Read less
昨日、ベルサール西新宿で開催されたJJUG CCC Spring 2014でJava EEに関する発表をさせて頂きましたm(_ _)m セッションに参加して頂いた方々、本当にありがとうございました!! また、先月、日本オラクルさんのJavaセミナーで講演させて頂いたときのレポートも公開されましたm(_ _)m 「顧客ニーズへの柔軟かつ速やかな対応」、「開発環境のカイゼン」──Java EE 6の採用で構造計画研究所が得たメリット http://t.co/8acwAhpfwm— builderjp (@builderjp) 2014, 5月 19 1年半前にボスからJavaでのWeb開発を求められて「今さらジャバ!?」と半分やさぐれつつ、右も左もわからない中、Java EEで開発をしてきたのですが…その頃はまさかJJUG CCCのような舞台やOracleさんで発表する機会を頂けるなんて正直思
ENRAPT さんで行われた「モダン Java 勉強会」で喋ってきました。モダンって何だよって感じなので取り敢えず最近やってる案件についての話をしました。お話としては JAX-RS + Backbone.js で開発してるよって感じです。ちょっと変わった構成で開発してると思うので良ければどうぞ。 GLIDE gist 構成上の特徴は、将来的にリッチクライアントなどでも使えるように業務レイヤと Web レイヤを完全に分離した点でしょうか。正直ここまでやる必要があるケースって余り無いと思うのですが、一応自分の場合はこんな感じにしています。 要件定義や設計等と並行して 2 - 3 ヶ月かけて技術調査と基盤開発をしたのですが、Web 開発も楽しいなぁと思ったので機会があったらまたやりたいです。 ところで。 正直 Web 開発の経験は全然ないのでこれが正解だとは全く思っていませんが、今回はじめて W
先日、日本Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。本エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失
『Android アプリ開発のための Java 入門』 というものを Gist で公開しました。 Android アプリ開発の勉強会を行うときに書いたものです。 Java をちゃんと使いこなすために知っておくべき必要最低限のこと をまとめたつもりですので、Android アプリを開発したいけど Java はほとんど知らない、みたいな人に読んでいただければと思います。 もちろん Android アプリ開発とは関係なく Java を学びたい人にも適していると思います。 Android アプリ開発勉強会のために書いた Java の入門文書 「Android アプリ開発のための」 というタイトルではありますが、基本的には Android アプリとは関係のない Java の基礎となっています。 この文書は次の書籍を参考に書きましたので、よりちゃんと学びたい人は下の書籍をご覧ください。 プログラミング
あらすじ Androidのテストを自動化したいので、テストツールの選定をしてみたが、昔の記事がヒットする事が多く、何を使えばいいのかよくわからん。 とはいっても、明確に「どんなテストがしたい」という方針もなく、とっかかりとしてどんなツールがあってどのくらい盛り上がってるのかが知りたかった。 環境 Windows 7 AndroidDeveloperTools Build: v21.1.0-569685 とりあえず Win メインで。 とっかかり ロジックまわりのテスト ロジック的なものは、 JUnit 拡張の TestCase クラスを使えば何とか書けそうというのはわかった。 Androidアプリ開発テスト入門(2):Android SDKでビジネスロジックのテストを自動化するには (1/3) - @IT 2011 年の記事だけど、 JUnit で書くという大前提は崩れていないはず…。 画
2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。 ※本連載をまとめて読めるKindle向け電子書籍もあります。 Scala+Play 2.0でWebアプリ開発入門(終): Play2プラグインのインストールと使用と新規開発 2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play framework」について解説し、Webアプリの作り方を紹介する入門連載。最終回は、Playを使ったアプリケーションを拡張させる仕組み、プラグインの使い方および開発方法を紹介します。(2014/1/28) Scala+Play 2.0でWebアプリ開発入門(11): Play2+nginx/Akka/WebSocketで高速双方向通信 Play framework 2.xを既存のWebサーバーと連携
Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や
JavaEEでのWebアプリケーション開発フレームワークと言えばJSFですが、JSFはデスクトップGUIの開発スタイルに似せた、コンポーネントベース、イベントドリブンなフレームワークであるため、拒否反応を示す人も多いようです。 で、フロントコントローラー型のフレームワーク (StrutsやRuby on Railsなど) が必要な人への選択肢をJavaEEは提供していないのか? ということになるのですが、JAX-RSがこの役割に向いているのではないかと言われています。 でも、基本的にRestful Webサービスを開発するためのJAX-RSがHTML Webアプリケーションの開発に本当に使えるのか、疑問に思っている人も多いと思います。 最近JAX-RSを使ってRestful Webサービスのみならず、HTMLを返却するWebアプリケーションの開発にも使ってみる機会があったので、そこで分かっ
株式会社DTS ネットワーク事業本部所属。Struts/Springベースのフレームワークの研究開発を中心に業務を行っている。また,フレームワークの利用や開発プロセスに関する講師も行っている。 株式会社DTS ネットワーク事業本部 プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 今回は,米GoogleがJavaで開発したDI(Dependency Injection)フレームワーク「Guice(ジュース)」を取り上げます。単体で使用することはもちろん,Webアプリケーションに組み込む方法や,Spring FrameworkやDWRとの連携も解説します。 XML定義ってうれしいですか? Springをはじめとするフレームワークにより
かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基本。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa
原因は大きく分けて3つあります。 1つめは、リソース不足です。たとえば、CPUのクロックやコアが足りず、処理の完了待ちであることなどが原因として考えられます。 図1 CPUのリソース不足の例 2つめは、M/W(ミドルウェア)からアプリケーションに提供されるスレッドや、コネクションのプールにあるリソースが不足していて、その提供待ち(無応答)になっている可能性です。 M/Wでプールしているリソースが不足した状況は、会社の書籍棚に1冊しかない本を社員で順番待ちしている状況に似ています。1冊しかないため、今借りている人が返すまでは他の人は借りれません。 図2 M/Wでプールされたリソースが不足しているケース 1つめのケースで問題がGCにある場合、GCに割り当てるリソースのバランスが悪いことが原因です。たとえば、特定のプロセスに対するCPUリソースの割り当てが大きい場合、GCが起きると、CPUリソー
Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた
JavaEE Advent Calendar 2012 の19日目の記事です。 昨日は@n_agetsuさんの JSF2.0でボタンの2度押しチェックをするでした。 明日は@hiranasuさんのNativeQueryじゃだめ?~JPAクエリ表現ごとのパフォーマンス比較です。 Java EEの何について書こうかなと思ったのですが、これからJavaを始めようと思っている若い世代が迷わず簡単に始めることができるJava EE開発のスタートについて書こうかなと思います。 Java EEの開発はRails等のフルスタックなフレームワークとは違いライブラリやフレームワーク、IDE、テスト等の情報が種類も多くいろんな場所に散らばっていてる為、初心者が全容を把握することはなかなか困難な状態です。 また長年のJava開発の中でWeb上の情報も古くなってしまっているものが多く、今からJavaを始めようとする
GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・本質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内
第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く