プログラミング言語同士の比較をするとき、ある言語が別の言語より複雑であるということがよく批判の対象になります。たとえば、C++は複雑過ぎる、Scalaは複雑過ぎる(Javaと比較して)、といった意見をよく耳にします。 しかし、実際に客観的な指標に基いて比較してみたことがある人はあまり居ないのではないでしょうか。自分がみる限り、その人がこれまで学んできた言語と比較して、「難しく感じた」ことをもって「複雑だ」という主張をしていることが多いように思います。 しかし、複雑である <=> 難しい(と感じる)も必ずしも正しくありませんし、単純である <=> 簡単であるとも限りません。 このエントリでは、JavaとScalaの構文を比較して、よく言われる「Scalaは複雑である」という主張に反して、「Scalaの方が単純である」ということが言える(ただし、Scalaの方が簡単であることは意味しない)とい
コンテンツ 第1章 基本的な用語 第2章 オブジェクト指向開発 第3章 設計の問題 第4章 オブジェクト指向設計の原則 第5章 単一責任の原則 第6章 Visitor パターン 第7章 LSP、DIP、ISP 第8章 パターン技術 第9章 ユースケース 第1章 基本的な用語 クラスとオブジェクトの違い 第2章 オブジェクト指向開発 オブジェクト指向開発 オブジェクト指向分析 機能外要求 User インタフェース Student クラスとTeacher クラス Student クラスのソースコード Teacher クラスのソースコード 演習2-1 UserLocator クラスのソースコード 演習2-2 演習2-2 の解答 Teacher.java UserLocator.class 第3章 設計の問題 演習3-1 演習3-1 の解答1(返却値を利用した方法) 演習3-1 の解答2(条件分岐
Esper is a language, compiler and runtime for complex event processing (CEP) and streaming analytics, available for Java as well as for .NET. Esper (Java/JVM) and NEsper (.Net) enable rapid development of applications that process large volumes of incoming messages or events, regardless of whether incoming messages are historical or real-time in nature. Esper and NEsper filter and analyze events i
Eclipse Foundationは、“次世代のEclipse IDE”として新しく開発した、Webブラウザから利用できる統合開発環境「Eclipse Che」(エクリプス・チェ)のリリースを発表しました。 Eclipse Cheは、本体となるChe ServerにWebブラウザから接続し、Webブラウザから利用する統合開発環境。チームで開発するためのプロジェクトなどを設定可能で、GitやSubversion、Diffなどに対応。 エディタ部分ではJavaやJavaScriptのオートコンプリートや開発中のコード内容がダイナミックに反映されるIntelliSenseなどを備えています。 開発したコードはEclipse Cheの開発画面から、プロジェクトにひも付けされたDockerコンテナにデプロイして実行し、デバッガなどを利用できます。サーバサイドの実行環境まで連係することがEclips
Pants v1 is no longer maintained. See here for the Pants v2 documentation. Getting Started Installing Pants Setting Up Pants Tutorial Common Tasks Pants for Organizations Pants Basics Why Use Pants? Pants Concepts BUILD files Target Addresses Third-Party Dependencies Pants Options Invoking Pants Reporting Server IDE Support JVM Support JVM Projects with Pants JVM Dependency Management Scala Suppor
I've been beavering away for the last few days to create the missing Maven plugin for Docker. I'd previously created a plugin for VirtualBox that manages the creation of virtual machines. Based my ideas on that worked well there (configuration files, templates) but without the ones that don't (XML, patch files, building base boxes). What does it add to vanilla Docker? While Docker makes it easy to
About Kuromoji Kuromoji is an open source Japanese morphological analyzer written in Java. Kuromoji has been donated to the Apache Software Foundation and provides the Japanese language support in Apache Lucene and Apache Solr 3.6 and 4.0 releases, but it can also be used separately. Downloading Download Apache Lucene or Apache Solr if you want to use Kuromoji with Lucene or Solr. See below for so
In this post we’ll look at the hot topics of the Java 8 language: default methods, lambdas and streams, and using Optional to represent absent values. In addition, we'll talk about the Java 8 best practices that we've found so far. If you're just here for our Java 8 cheat sheet, you can click the button at the bottom of the page to download a printable PDF version. Back to topBest Practices in Jav
Java EE 7 に含まれるCDI1.1より、beans.xmlをアーカイブに含めなくてもCDIが有効となるように仕様が変更されました。この改善点、Java EE 6ユーザにとっては少し困惑する部分があったので、まとめておきます。 CDIとはなんぞやについてはこちらもご参照ください。 CDI1.1からはbeans.xmlがなくてもCDIが有効になる CDI1.0(Java EE 6)では、WEB-INF/beans.xmlを空ファイルでも良いので含めることで、CDIが有効となり、様々なJava EEコンポーネント(JSFのバッキングBeanやEJBなど)に@Injectで任意のクラスのインスタンスをインジェクションできました。 CDI1.1からは、WARファイルやEARファイルのなかに『bean defining annotationが付与されたクラス』または『セッションBean』が含ま
こんにちは id:cero-t です。 前回話題にしたJava8 ですが、もう少し別の機能を試してみましょう。 今回は新しい日時API、Date and Time API(JSR-310) を紹介します。 JDK8 M6時点でのJavadocは、以下のURLで公開されています。 http://cr.openjdk.java.net/~rriggs/threeten/threeten-javadoc-b75/ 注意:このエントリーの内容は、JDK8 M6 (b75) の時点のAPIに従っています。 M7以降では一部のAPIが変わっているので注意してください。GA時点でまた記事を見直します。 From Joda Time to Three Ten Javaの日付クラス(java.util.Date)の扱いは、 皆さんもなかなか苦慮していることだと思います。 というのも、、、 ・年月日などを指定
AWSのサービスではDNSを用いて可用性を向上する仕組みを用いている。 各種APIのエンドポイント RDSのエンドポイント ELBのエンドポイント ElastiCacheのエンドポイント CloudSearchのエンドポイント Redshiftのエンドポイント などなど。AWSが提供するエンドポイントのFQDNを、自分のアプリケーションから参照するように設定したり、一旦DNSでCNAME設定することも多い。 ただし、これらのエンドポイントFQDNで設定されているIPアドレスは、運用中に変更される可能性がある(ノード障害、フェイルオーバー等によるIPアドレス変更、スケーリングによるIPアドレス増減、等)。そのため、アプリケーション側はエンドポイントのIPアドレス変更に追随する必要がある。(追随しないと、古いIPアドレスにアクセス試行しつづけて、結果としてシステム障害になってしまう) ここで問
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く