タグ

SoftwareArchitectureとJavaに関するscrewboundのブックマーク (15)

  • ConditionalFailuresExplained

    One could easily handle every conditional failure the same way: if (!condition) throw new RuntimeException();. But if you spend a moment to consider the nature of the check you're performing and handle it in the most appropriate way, you'll make your code more understandable, and errors easier to diagnose. Here are the major kinds of runtime checks. A precondition check ensures that the caller of

    ConditionalFailuresExplained
  • プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena

    2005年くらいから、コンピュータの性能には余裕があるので、プログラムの効率が多少わるくなってもプログラムが組みやすく人間の能力が発揮できるほうがいいという傾向が強くなりました。 プログラムはサーバーで動かすものであり、サーバーの制約はネットワークとストレージでCPUやメモリには余裕があったためです。 また、世の中は、ITのない世界からITのある世界への変化の中にあって、サーバーでの情報処理やネットワークをサービスとして提供することで、世の中が変わっていきました。 そういった状況であれば、プログラムが組みやすく、思ったとおりのサービスを思った時期に提供できるということが大切になっていました。どんなに未完成でも、新しいアイデアをいち早く見て触ってもらうということが大切だったからです。 しかし、もうすでに世の中は、ITがある世界に変わりました。 もちろん、より便利な情報処理サービスも今後でてく

    プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena
  • 今どきのJava Webフレームワークってどうなってるの? - きしだのHatena

    昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

    今どきのJava Webフレームワークってどうなってるの? - きしだのHatena
  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
  • HTTPサーバにJava NIOは必要か

    0x00. はじめに 筆者はJava製のWAF(Web Application Firewall)、Guardian@JUMPERZ.NETの開発とメンテナンスを行っている。元は自社のシステムを守るために(そして半分趣味で)作ったものだが、数年前にこれをコアのエンジンとしてさらに拡張し、SaaS型の商用サービス「Scutum(スキュータム)」を立ち上げた。 その後順調に顧客を獲得することができ、システムリソース的にも増強が必要となる段階などを経験した。Google、mixiやはてな等、さまざまな大規模サイトのインフラエンジニアの方々がインフラ設計に関する考え方などをインターネット上で公開してくれているおかげで、初期のシステム設計時に「将来的にスケールアウト可能なシステム構成にしておくこと」が重要であるということがわかっていた。その教えに従っていたおかげで、リソースの逼迫(ちなみに今回はCP

    HTTPサーバにJava NIOは必要か
  • okuyamaについて教えてもらったよ

    くまぎ @kumagi JavaはGCなどの為にメモリ効率がそんなに良くないので、オンメモリなデータストアを構築する言語としては向いてないと思ってたんだけどokuyamaがどういう哲学でJavaを選んだのかどこかに転がってないかな。 2011-06-15 11:28:03 Kenji Yoshida @xuwei_k Javaが得意とか好きとかいってたような・・・ RT @kumagi JavaはGCなどの為にメモリ効率がそんなに良くないので、オンメモリなデータストアを構築する言語としては向いてないと思ってたんだけどokuyamaがどういう哲学でJavaを選んだのかどこかに転がってないかな。 2011-06-15 11:30:53

    okuyamaについて教えてもらったよ
  • agilecatcloud.com - このウェブサイトは販売用です! - agilecatcloud リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • [執筆][Java] 特集記事を書きました - かとじゅんの技術日誌

    こんばんわ。1/24日発売の日経ソフトウエア 3月号で特集記事として、特集3「現場で通用するソフトウエア設計」を書かせていただきました。 日経ソフトウエア 2011年 03月号 [雑誌] 作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2011/01/24メディア: 雑誌購入: 10人 クリック: 81回この商品を含むブログ (5件) を見る 今回も前回の2010年11月号と同様に、実際にアプリケーションをJavaで開発する事例を用いて、設計の考え方について学べる特集記事になっています。ある程度コードは書けるけど、これからよりよい設計を目指して開発する方には、特に読んでいただきたいと思っています。 今回、取り上げているアプリケーションは、ソースコードを生成するアプリケーションです。いわゆる、コードジェネレータです。*1それを作るには、どういう設計の考え方に基づけばよいのか?

    [執筆][Java] 特集記事を書きました - かとじゅんの技術日誌
  • JavaとEclipseとドメイン駆動設計の特集記事を書きました - かとじゅんの技術日誌

    9月24日発売の日経ソフトウエア 11月号の特集2で「最新Eclipseで良いJavaプログラムを書こう」という特集記事を書かせていただきました。 日経ソフトウエア 2010年 11月号 [雑誌] 作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2010/09/24メディア: 雑誌購入: 3人 クリック: 39回この商品を含むブログ (9件) を見る 記事としては、「良いJavaプログラムを書くには」何をどうしたらよいのか、という興味深いテーマです。 記事の構成としては、以下のとおりです。 基礎編:Eclipseとプラグインを使ってプログラムを効率よく書こう コラム:ポリモーフィズムを生かした実装をしよう 準備編:良いプログラムを開発するための考え方と実践方法を学ぼう コラム:Javaプロジェクトの作成と設定/ソースアーカイブの動かし方 実装編:SQLでスキーマを作成するア

    JavaとEclipseとドメイン駆動設計の特集記事を書きました - かとじゅんの技術日誌
  • 2WaySQLが使えるDBアクセスライブラリ - たけぞう瀕死ブログ

    Javaのフレームワークは、フロント部分はいいものがいろいろあると思うのですが、DBアクセス周りはHibernateもiBatisも正直微妙で、これが決定版!というものがありません。 個人的にはS2JDBCが使いやすいと思うのですが、Seasar2に依存しています(実際にはS2Containerを使わなくても動かせますが、Seasar2の依存JARが必要になりますし、現実問題としてS2Containerを使わないケースであればS2JDBCが候補に挙がることもまずないでしょう)。 というわけで、S2JDBCの2WaySQLが使えるDBUtils的なコンパクトなデータベースアクセスライブラリを作り始めました。 使い方はこんな感じ。JdbcManagerの代わりにSqlManagerというクラスを使います。また、流れるようなインターフェースは使わず、メソッド呼び出し一発で結果が返ってくるようにし

    2WaySQLが使えるDBアクセスライブラリ - たけぞう瀕死ブログ
  • EJBとは何か・何だったか・どこへ行くのか - uehaj's blog

    このブログエントリは書きかけです。 「素朴なオブジェクト指向」の限界 EJBが示した一つのことは、古典的なクラスベースオブジェクト指向の限界です。つまりクラスやメソッドの組み合わせを、継承やカプセル化・多態・の枠組みで列挙していくだけでは実用上表現しきれない領域があった、ということを実証的に示したのでした。継承階層で対象を表現することの危険、特に長期的に拡張を重ねていく上で、屋上屋を重ね、融通が利かなくなっていくということも露呈しました。 また、EJBでは、「なんとかBean」という、細かく小さく役割分担を果たすクラス群に分離します。しかしながら、すこしずつ動作の違う大量のクラス種別を正確に理解し、正しい設計を行うのは並大抵のことではないでしょう。EJBは設計の敷居をあげてしまいました。もちろん「正しい設計をしろ」と言えればよいでしょう。しかし現実問題、多人数での開発でそのレベルの要員を確

    EJBとは何か・何だったか・どこへ行くのか - uehaj's blog
  • データベースのスキーマレス化も静的型付けを復権させるかも - 2010-01-06 - きしだのはてな

    最近Google App Engineのプログラムを組んでて、そうすると当然データベースはスキーマレスです。データベースの設定としてテーブルやフィールドを定義するという作業は必要ありません。そして、JDOなどを使ってデータの定義としてJavaのクラスを書いたりするわけです。 で、これを、まったく苦のない当たり前の作業としてやっています。 ORマッピングのときは、データベースのスキーマとJavaのクラスを定義する必要があり、そのどちらかが自動的に同期されるにしても、同期させるときにやっぱりどうしても気持ち悪さがあったものでした。 たとえばデータベースのスキーマからJavaのクラスを自動生成する場合は、どのようなJavaのクラスになるかを考えながらデータベースのスキーマを考える必要がありました。必要はなかったかもしれないけど、データベースのスキーマを考えるときに自然にJavaのクラスを考えてし

    データベースのスキーマレス化も静的型付けを復権させるかも - 2010-01-06 - きしだのはてな
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • From Ruby to Java - ひがやすを技術ブログ

    当は、Rails風にしようと思ったわけではなく、ふたがわさんがCubbyがいいっていってたので、インスパイヤされて作ったらRails風になっちゃったって感じ。 http://locahost:8080/sa-struts-tutorial/loginにアクセスすると、tutorial.action.LoginAction#index()が呼び出されます。 index()の戻り値がlogin.jspだと、/login/login.jspにフォワードされます。 また、/employee/list.jspが表示されているときにリンクタグが <a href="edit/${e.id}">...</a>だと、/employee/edit/idの値に遷移し、idがActionにセットされ、edit()が呼び出されます。 edit()は以下のとおり。 @Execute(urlPattern = "ed

    From Ruby to Java - ひがやすを技術ブログ
  • Djangoへの片思い日記 - ■Struts脳の恐怖とRails

    Strutsは良いフレームワークであった。 登場時のStrutsは MVCを体現しWebフレームワークとしてプログラマ達に夢を見せた。 今見てしまえば冗長で可読性の低い設定ファイルに 糞のようなtaglibとゲロのようなjspであるが それでも当時はセンセーショナルだった。 しかし、その後、Strutsには悲劇が起きる。 あまりにもセンセーショナルなデビューのおかげで それを金に換えようとしている奴らに目を付けられてしまった。 人月計算とExcelスーツで出来ている奴らだ。 奴らは Strutsをいかに簡単であるか宣伝し 役に立たない講習会で金を取り sessionが何なのかすら知らない人間を大量に生み出した。 そうやって生み出されたStruts脳人間は 「動くコードが正義」の負の面を体現し スパゲティを更に絡ませたActionFormを書き 解読不能なActionを書いた。 勉強など一

    Djangoへの片思い日記 - ■Struts脳の恐怖とRails
  • 1