Mavenでのクラスの重複チェック

ライブラリの管理にMavenやGradleを利用するのが一般的だと思いますが、個人的にいつも憎たらしく思うのがgroupIdやartifactIdがバージョンによって変わってくるケース。例えばこんなの。 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-a</artifactid></dependency>…

Javassistでランタイムでクラスを書き換える

イケてないクローズドなライブラリを使う際にどうしても現在のシステムと合わない箇所があり、なんとかクローズドなライブラリに手を入れられないか?ということでJavassistでランタイムでクラスを書き換えて対応しようというものです。 unk極まりないですが…

PCとディスプレイをHDMIで繋いでハマったこと

mac book air(2012)用にHDMI出力アダプターを購入してモニター(RDT231WM)につないだところ、どんなに調整しても内蔵ディスプレイと比較して色がでない部分があった。 そこでふと思いついて以下2パターンで試した見たところ、グレーの表示が全然違う…。 HDMI…

MySQLを任意の場所にコンパイルする

Unix系の環境では開発用に使うツール類は$HOME/localディレクトリ配下に作る趣味だが、MySQLを$HOME/local/mysqlにインストールする方法が少々特殊だったため、メモ。コンパイル&インストール mkdir -p $HOME/local/src cd $HOME/local/src tar zxvf ~/Down…

Windowsマシン上の隠し共有フォルダにアクセスする

mac

Windowsの共有フォルダではフォルダ名の末尾に「$」をつけると隠しフォルダ扱いされ、Windowsからアクセスした場合表示させなくすることができます。 この隠しフォルダをmacからみようとした際に少しはまったのでメモ。Finderにて[移動]-[サーバへ接続]を開…

macにhomebrewを入れてgitを入れた

mac

いろいろあってmac book airを買いました。 普段がUbuntuなので簡単に移行できるかと思ったものの、やはりそう甘くはなかったです。 macで試行錯誤したことを書こうかと思います。さて、macにhomebrewとgitを入れようとして早速軽くつまづいたのでそれについ…

JPA2ではEntityManagerなしでCriteriaを作る方法がない?

JPA2では以下のようにしてCriteriaを生成します。 // entityManagerFactory.getCriteriaBuilder(); でもOK entityManager.getCriteriaBuilder(); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Company> cq = cb.createQuery(Company.class); Root<Company> ro</company></company>…

帝国データバンクをスクレイピング

企業名と表示ページを指定して帝国データバンクに存在する企業を検索し、結果をJSONで返却するミニアプリ。 このアプリ自体は受け取ったクエリをそのまま帝国データバンクに渡すだけなため、利用する場合は帝国データバンクに過度の負荷をかけないよう、キャ…

OpenShiftを使ってみる - 3

OpenShiftを使ってみる、第三弾としてOpenShiftにアプリケーションをデプロイする方法をまとめます。 JBoss ASを利用した場合の一通りの導入はまとめたと思っているので、一旦このシリーズは終了です。方法として大きく2種類あります。開発スタイルや好みに…

OpenShiftを使ってみる - 2

OpenShiftのアカウント登録からデプロイ用リポジトリのCloneまでが前回の手順ですが、今度はDBの作成を行います。 コマンドラインクライアントツールの導入(必要であれば) 公式ドキュメントを参照のこと http://docs.redhat.com/docs/en-US/OpenShift/2.0/…

OpenShiftを使ってみる - 1

RedHatによるPaaSサービス、「OpenShift」を始めるための手順をメモとして残します。 まずは第1段としてOpenShiftのアカウントの作成から環境の作成、リポジトリのCloneまでを行います。 事前準備 SSH公開鍵の準備 Gitの導入 アカウント作成 「TRY IT NOW」…

Janetter検索ポップアップの検索エンジンを変更する

Janetterでは文字列選択時のポップアップによる検索についてはプラグインにて実現しているようです。 検索エンジンをYahooから変更したい場合、そのプラグインを書き換えてあげれば検索エンジンを変更できます。 もともと日本語圏以外はGoogleを利用する設定…

Janetterの「Yahoo! 検索」をGoogleに変更する

JanetterのWeb検索エンジン変更第2弾。 右クリック時の「Yahoo!で検索」をGoogleでの検索に変更する方法です。 表示用のリソースファイルja.jsonと検索処理用のapi.jsを変更します。 1.C:\Program Files\Janetter2\bin\locale\ja.jsonを変更する 修正前 "web…

JSF2+CDI+Twitter4Jでカンバセーション内でOAuth認証を行う

個人的にハマりどころがあったのでJSF2+CDI+Twitter4JでのOAuth認証の方法をポイントだけまとめます。 JBoss7.1.0と7.1.1、GlassFish3.1.2で動作の確認をしています。Twitterインスタンスを提供します。 TwitterFactoryはスレッドセーフのようなので共有し、…

CDIのBeanをInjectしないで取得する

Seam2のComponent.getInstanceのCDI版を探しています。これでいけるのかな? http://soras.sblo.jp/article/35292434.html BeanManager bm = InitialContext.doLookup("java:comp/BeanManager"); Bean bean = bm.resolve(bm.getBeans(ClassA.class)); Creati…

EntityListenerからEntityManagerやQueryを触るの禁止。

Hibernateのドキュメントより。 A callback method must not invoke EntityManager or Query methods! stackoverflowを探してみるとJPAの仕様でも非推奨のようです。 それよりもEntityにEntityManagerをインジェクトしたい…。 Springなら楽そうなのになぜCDI…

DDD(ドメイン駆動設計)をやってみように参加しました。

遅ればせながらDDDをやってみよう勉強会に参加しましたので、内容を自分なりにまとめてみます。 当日の資料はこちらです。 資料があるので自分が気になったところを簡単にまとめます。 ドメインというのを「利用者の関心事」と表現 毎回ドメイン駆動設計を説…

東京node学園4時限目参加しました。

東京node学園4時限目(ハッカソン)に参加してきました。 初ハッカソンです。会社ではJava屋な自分としてはnode.jsのSocket.ioとJava間でイベントのやり取りができるとnode.jsの部分を最小化できるかな、と。 そうすることで、仕事の中でひょこっとnode.jsを組…

Bytemanでビルドいらずの時間計測処理追加

JBoss.orgにて公開されているBytemanというバイトコードインジェクションツールを用いて、ソースコードに変更を加えず、処理時間を計測する方法を紹介。 再起動とか設定の追加はゆるされるけれど、ソースコードの修正は許されないような場合に便利。 あとは…

JavaのGCログを日付時刻で表示する

こんなのを見て。 http://www.theserverlabs.com/blog/2010/05/26/human-readable-jvm-gc-timestamps/まずは基本編。 -Xloggc: -Xloggc: タイムスタンプが付いたファイルにGCステータスのログを記録する -XX:+PrintGCDetails Print more details at garbage …

JPA2タイプセーフクライテリアを使ってみた

まずは環境を準備。 JBoss AS 7を用意。 Eclipse3.7.1を用意。 JBoss Toolsをマーケットからインストール。 ランタイム設定でJBoss AS 7を設定しておく。 forge consoleビューを表示。 三角ボタンでforgeを起動。 プロジェクトを作成する(好きなディレクトリ…

OpenSSH公開鍵認証ではまったときにチェックする箇所

Sientific Linux 6.1のOpenSSH公開鍵認証でハマったので備忘録としてチェックする箇所を。 sshのパーミッション設定(700) ssh/authorized_keysのパーミッション設定(600) SELinuxを疑う 3番のSELinuxを疑うは以下の内容を受けて、とりあえずSELinuxは切って…