タグ

javaに関するboltaのブックマーク (9)

  • Strategic Choice

    Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン

  • きしだのHatena

    X(Twitter)で他人の「いいね」が見えなくなりましたね。 ということは、以前話題になった「いいね罪」は成り立たなくなったってことですね。 「いいね罪」というのは、誹謗中傷している第三者ツイートに多数「いいね」したことが名誉毀損の不法行為とみなされたときに話題になりました。 杉田水脈議員が敗訴 中傷投稿「いいね」で賠償、初の確定 - 日経済新聞 この「いいね」がされた時期は2018年5月くらいということで、2017年3月から「いいね」がタイムラインに表示されるようになっていたことから、RTに近かったのですよね。 そのことも併せて、「いいね」による拡散効果が認められたことからの不法認定だったと思います。 Twitterはなぜ他人の「いいね」をタイムラインに流す仕様を続けるのか 運営に直接聞いてみた - ねとらぼ これはユーザーから不評だったのだけど、「実際の数字を見ると、日も含め、「

    きしだのHatena
  • MP3 SPI for Java Sound

    Here is the official web page of the MP3SPI project : MP3 SPI for Java™Sound This is not a commercial project. MP3SPI is an open source project, and anyone can add his contribution. MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG 1/2/2.5 Layer 1/2/3) audio format support for Java Platform. It supports streaming, ID3v2 frames, Equalizer, .... It is based on JLayer and Tritonus Java

  • 「Java SE 6完全攻略」第5回 プロファイラ hprofとよき相棒 jhat

    アプリケーションのパフォーマンス・チューニングなどで使用するツールといえば,まず第一にあげられるのがプロファイラです。最近は,EclipseのTPTPや,NetBeans Profilerなどフリーで使えるプロファイラが増えてきたので,使ってみたことがある方も増えてきていると思います。 意外に知られていないのですが,Java SEにも標準でプロファイラが付属しています。それがhprofです。 Java 2 SE 5.0からは「-agentlib:hprof」という起動オプションでhprofを起動できます(J2SE 1.4.までは「-Xrunhprof」)。使い方はヘルプ・オプションで表示できます。 C:\temp>java -agentlib:hprof=help HPROF: Heap and CPU Profiling Agent (JVMTI Demonstration Code)

    「Java SE 6完全攻略」第5回 プロファイラ hprofとよき相棒 jhat
  • Eclipseプラグイン開発自分FAQ

    ここでは、 Bulletnoteを開発した際に分かったことを中心に、 Eclipseのプラグインを 開発する際のFAQを勝手に設定して勝手に答えている。 Eclipseは、デザインパターンを活用した、 ポストモダンでデカダンでレーゾン・デートル なアーキテクチャになっているので、 そのプラグインを開発する際、非常に簡単なことを実現するにも 非常な困難にぶちあたることがままある。 いま目の前にあるテキストを取り出すにも、 耳の穴から指を突っ込んで奥歯をがたがたいわせながら舌をひっぱるような、 手の込んだメソッド呼び出しが必要になったりする。 パズルとして考えれば楽しくないこともなくもなくもないが、 プログラミングでいちいちこんなことをやらされるとなかなかつらいものがある。 加えて、ドキュメントが圧倒的に不足している。 一応Helpおよびいくつかの記事があるが、基を網羅しているとは 言いがた

  • Java画像メモ(Hishidama's Java Image Memo)

    画像(イメージ) Javaでは、画像をImageクラスで扱う。 Imageをファイルから読み込む [/2010-01-08] 新しいImageの作成 [/2007-02-26] 画面に表示されている画像を取得 [/2010-01-08] Imageの加工 [/2007-02-26] ImageからBufferedImageへの変換 [2010-01-08] Imageをダイアログで(アイコンとして)表示する例 BufferedImageをファイルへ書き込む [/2010-01-08] 画像ファイルから読み込む方法 画像ファイルからImageを取得するには、ImageIO#read()を使用する。 内部で画像ファイルの種類を自動的に判断して読んでくれるらしい。 なお、画像として不正なファイル(対応していない種類の画像)だったときは例外は発生せず、nullが返る。 対応状況 種類 JDK1.4

  • JavaCCでスクリプト言語を作成する 第2回:CodeZine

    はじめに この連載ではJavaCC+JJTreeを使ってスクリプト言語を作成していきます。前回は、JJTreeのオプション指定と生成クラスの定義、構築方法について説明しましたが、肝心の文法定義は説明していませんでした。今回は、基的な文法定義の構文を説明します。環境 前回と同じく、JavaCC 4.0、J2SE 5.0、Antを用意しておいてください。また、前回のサンプルプログラムも必要です。構文解析の用語 ここから文法定義の書き方を説明しますが、その前に構文解析で出てくる用語をまとめておきます。生成文法 構文解析のプログラムを組むときには、与えられた文がどのような構文になっているかという構造を解析していくわけですが、構文解析の元となる理論では「その文がどのような規則から生成されているか」という考え方をします。そのため、使われている用語に感覚的でないと思えるものがいくつかあります。 この理

  • JavaCCでスクリプト言語を作成する 第1回:CodeZine

    はじめに 少し前まではプログラム言語と言えばJavaC++、VBという感じでしたが、Webの広まりと共にPerlが使われて、PHPが現れ、Rubyが注目されて、JavaScriptが熱をおび、いろいろな言語が活気付いてきました。そして最近は、手続き型以外の関数型言語や論理型言語などにも触手が伸びているようです。 こうなると、次はプログラム言語を実装したりオリジナルのプログラム言語を作ってみたい人も増えてくるかもしれません。そこで稿では、JavaCCを使ってプログラム言語を実装する手順を解説します。対象読者 Javaの基が分かっていてプログラム言語の作成に興味がある方。必要な環境 JavaCCは最新の4.0を利用します。ダウンロードしたファイルを任意のフォルダに展開しておいてください。 今回はJ2SE 5.0をベースにプログラムを記述します。JavaCC自体はJ2SE 5.0に依存する

  • Public Object: Series Recap: Coding in the small with Google Collections

    Robert Konigsberg, Jerome Mourits and myself have written several snippets that highlight the carefully designed Google Collections Library: PreconditionsPreconditions.checkNotNull(order.getAddress(), "order address"); Iterables.getOnlyElementassertEquals(jesse, Iterables.getOnlyElement(usersOnDuty)); Comparators.maxreturn Comparators.max(perKm, minimumDeliveryCharge); Objects.equal and hashCodere

    bolta
    bolta 2008/01/08
    地味に便利そう
  • 1