iTextについてちょっと調べて見た
Javaのサーバーサイドで簡単な帳票を作成したいのだけれど、専用の製品を導入する程でもない。 ということで、手軽にPDFを作成できるライブラリを調査しました。
ネット上に情報が多そうなのはiText(http://itextpdf.com/)でした。
ライセンスについてのQiitaの記事が分かりやすかったです。 http://qiita.com/takudo/items/e2b37b659c9143db730c
CSSで改行の指定(page-break)もあるようなので、更にライトにやるなら、こっちかなぁ。 http://www.htmq.com/style/page-break-before.shtml
SQL DeveloperからSQL Serverにつなぐ
SQL DeveloperはOracleが出しているDatabaseを操作するためのGUIのクライアントツールです。Oracle SQL Developerから入手できます。
接続先のデータベースがOracle DBの場合はそのまま使えるけど、それ以外で最初は新規の接続を選択しても、Oracleというタブしかないので準備が必要です。 MicrosoftのSQL Serverに接続する手順を書きます。
ドライバーの設定
Microsoftのドライバを使うのでは無くて、オープンソースのjTDSを使うみたいです。
動作確認はjtds-1.3.1-dist.zipを使っています。
Zipを解凍した後、SQL DeveloperのPreferenceからjtds-1.3.1.jarのパスを設定します。
接続設定
ドライバを入れる前までは無かったSQL Serverタブが表示されます。
上手く接続できれば、GUIでがんがん操作できるので便利です。
MySQL
MySQLの場合も同様です。MySQLのJDBCトライバーをSQL Developerから参照することで、MySQLのタブが表示されます。
MySQLのドライバーはこーゆーやつ。
mysql-connector-java-5.1.6.jar
参照資料
http://www.oracle.com/technetwork/jp/developer-tools/sql-developer/thirdparty-095608.html その他のデータベースに接続するために必要なドライバに付いても書かれています。
WebLogic Server 12c上でHibernateを使う
WebLogicでHibernateを使った時にはまったことをメモしておきます。
利用している環境はWebLogic Server 12c。
発生したエラーはClassNotFound。
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [from 自分で作ったクラス]
解決方法はデプロイしようとしているのがwarファイルだったので、weblogic.xmlを開いてWEB-INF/lib以下を優先するように設定。
1.WEB-INF/lib以下全部を優先する場合
<weblogic-web-app>
(略)
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
(略)
</weblogic-web-app>
2.特定のjarのみWEB-INF/lib以下を優先する場合 今回使っているのはantlr-2.7.6.jarでした。
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
(略)
<container-descriptor>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
<prefer-application-packages>
<package-name>antlr.*</package-name>
</prefer-application-packages>
</container-descriptor>
(略)
</weblogic-web-app>
なるべくJava EEの標準ライブラリでやった方がこの手の問題は絶対楽だな。
参考サイト
https://blogs.oracle.com/WebLogicServer/entry/resolving_conflicts_with_classloaders http://stackoverflow.com/questions/2702266/classnotfoundexception-hqltoken-when-running-in-weblogic http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#i1098467 Log4jとantlrはWebLogicのマニュアルのサンプルに載るくらい皆はまってるってことだな。
GitHubメモ
会社でやっているプロジェクトは複数の会社で構成されることが多く、GitHubを使ってます。 まだそれほど大規模な使い方では無いのでPrivate Projectで運用しています。
Issue管理や、Wikiも使用してコミュニケーションしています。 設計書はお客さんに提出する関係で、Officeで作っているけどこれもWikiに移行していけたらいいな、と思ってますが表や、図の書きやすさはまだまだMS Officeの方が良い。
Wikiにはプロジェクトに入ったら知っておいて欲しいルールや、環境の情報、Tipsなんかを書いていっています。
このエントリでは、GitHubを使う時のメモを書いていっています。
Step 1. リポジトリのクローン
GitHub上のプロジェクトをローカルに取得する
$ git clone https://github.com/AAA/BBB.git BBB/
URLの部分はGitHubのリポジトリ画面の右下から持ってくることができます。
Step 2. ファイルの追加
$ vi test.txt
$ ls
README.md test.txt
$ git add test.txt
Step 3. ローカルへのコミット
$ git commit -m "テスト用のファイルを追加"
[master 2588d93] テスト用のファイルを追加
1 file changed, 1 insertion(+)
create mode 100644 test.txt
Step 4. GitHubへのPush
$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 369 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/AAA/BBB.git
1e9e805..2588d93 master -> master
これで、GitHub上に先ほどのファイルが更新される。
push.defaultが定義されていないという警告がでたので、設定する。
git config --global push.default simple
JavaのpropertiesのUTF8、Native変換
いつも忘れてしまう。
符号化されているpropertiesファイルをもらったら、こちらで人が読めるように変換。
native2ascii -reverse MessagesBundle_ja.properties MessagesBundle_ja_native.properties
日本語の修正が終わったら、符号化する。
native2ascii MessagesBundle_ja_native.properties MessagesBundle_ja.properties
Oracleの公式マニュアルはこちら。
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/native2ascii.html
AppPotの概要紹介スライドを公開しました
モバイルアプリ向けプラットフォームAppPotをリリースしました
僕がNCDCの中でプロダクトオーナーを担当しているAppPotというソフトウェアが製品化されました。
AppPotはいわゆるMBaaSといわれるソフトウェアに含まれる下記のような機能を企業内で使い易いようにしたものです。
- デバイス・サーバー間のデータ同期
- Push通知
- アプリを使用するユーザーの管理と認証
などなど
企業でこれまでPCを使ってやっていたような業務をタブレットを使ってどこでもできるようにするためには、既存のシステムとの連携が必須になります。
そこで、AppPotでは他システムと連携するためのアダプタを用意しています。
詳しくは製品サイトを見て下さい。
http://app-pot.jp/
現在、クラウド上でだれでも試せるトライアル環境を準備中です。できあがったら、使ってみてフィードバック下さい。
製品サイトの方では、誰にでも分かりやすいようにという制約がありますが、
個人のブログの中では内部のアーキテクチャや、プロジェクトの話しみたいなテクニカルな内容も書いていきたいなぁ。