プログラミングメモ

ソフトウェア開発に関する技術メモ。

Symfony Formの構造

ちょっと凝ったフォームを作ろうとして、公式ドキュメントだけでは細部がわからず、Symfony の FormやFormBuilder のソースを読んで調べようとすると、処理があちらこちらのクラスに飛んでいてすぐに迷子になってしまう。これは全体の構造を把握しておかない…

Horizontal Form の記述例メモ

bootstrap 3 の Horizontal Form。labelとinputを並べるだけのパターンから外れるといつも記述方法がわからなくなるため、しばしば遭遇するレイアウトについてHTML記述例をメモ。 レイアウト例 ソース

Symfony 2.8とPHP-DIのAuto Wiring

この記事は Symfony Advent Calendar 2015 の16日目です。昨日は@Issei_Mさんの「最近のSymfony Standard Editionのディレクトリ構成」でした。 内製フレームワークからの移行先を探してSymfonyを調査中です。その過程でDIのAuto Wiringの使い方を確認したの…

AndroidのSQLiteDatabaseを複数のスレッドで利用する

AndroidでSQLiteを使うにあたり、複数のスレッドからDBにアクセスする必要がある場合、SQLiteOpenHelperとSQLiteDatabaseのインスタンスをどう扱うべきか。 Androidの次のドキュメントからはマルチスレッドな場合の使い方がはっきりしなかった。 SQL データ…

JJUG CCC 2015 Spring メモ

Timetable / JJUG CCC 2015 Spring(4月11日開催) | 日本Javaユーザーグループ 覚えておきたいところ自分用メモ。 Javaにおけるnull。これまでとこれから (太一氏) Javaにおけるnull。これまでとこれから - Google スライド 各言語のnullっぽいもの SQL 3…

動的に追加・削除できる入力欄をJSFで作成する

JSF

同じ内容を2個以上入力できるフォームで、ボタンクリックにより入力欄の追加や削除をできるようにしたい。Googleで検索してみるとui:repeatを使った解が見つかるが、実際試してみると、場合によっては不自然な挙動になり、実際に使うのには具合が悪かった。…

Mavenで一部のテストの実行/除外を切り替える

やりたいこと 一部のテストは、普段(mvn test で実行したとき)は実行されないようにする。 ただし、mvn の引数で何かを指定すれば実行できるようにする。 また、そのテストは、NetBeansから「ファイルのテスト」で単独実行されるようにする。 使用した環境 N…

@javax.faces.view.ViewScoped を使うとWELDのManagedBeanでNotSerializableException

JSF

JSFで (javax.faces.beanのほうではなく)javax.faces.viewの@ViewScopedを使うと、セッション情報がシリアライズされるタイミングで以下の例外が出てしまう。 情報: Cannot serialize session attribute com.sun.faces.application.view.activeViewContexts …

gitの使用方法メモ

mercurialからの類推で git を使おうとしたが挫折。 gitの説明書を読んで基本的な概念と操作をまとめてみる。参照した説明書は次の2つ。 Git - Book Git ユーザマニュアル (バージョン 1.5.3 以降用) 動作は git version 1.7.10.4 で確認した。 基礎概念 コ…

データベース利用時に自前で排他制御が必要か

並行処理がある環境では、Webアプリに限らず排他制御の考慮が必要。必要になる典型例は次のパターン。パターン1 値を取得してから その値に基づく計算結果を書き出し パターン2 前提条件を確認してから 条件を満たしていれば処理を実行 1を取得・確認してか…

Eclipse 3.7 + GlassFish 3.1.2.2

Eclipseインストール http://mergedoc.sourceforge.jp/ より Eclipse 3.7.2 Indigo SR2 Windows 32bit ベース / Pleiades All in One 3.7.2.v20120225 をインストール。JRE同梱版を選択。 64bit版は無い模様。 サイトに記載のとおり、同梱のTomcatに不具合あ…

Swingと他のイベント発生元を組み合わせた場合の問題

Swingの場合、イベントリスナーの先で、マルチスレッドの考慮をする必要がある。 Win32の場合、複数の発生元からのイベントが一列にまとめられ、アプリケーションの処理は1個ずつ呼び出されるため、再入の心配はしなくてよい。 Swingの場合、SwingUtilities.…

Swing/AWTで重複する再描画イベントを1つにまとめる仕組み

関係していそうなクラスメモ java.awt.event.PaintEvent 再描画が必要な矩形を覚えている Component#coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent) ここでイベントが結合される java.awt.EventQueue#postEvent(AWTEvent theEvent) イベントを…

LGPLなライブラリを使ってアプリを開発し、配布したい

LGPLv3なライブラリFooを使ってアプリを開発した。 開発したアプリを配布したい。(開発したのはFooを利用したライブラリではなく、Fooを利用したアプリである。) 配布するときに、自分で開発したアプリと共に、そのライブラリ(foo.jar)も一緒に配布したい。 …

Visual Studio 2005 (C++) + eclipse 3.5 で JNIを使ったアプリの開発

JNIを使って連携するJavaアプリとWindowsネイティブアプリ(DLL)を開発する場合の、Visual C++と eclipseの設定について。 eclipseの設定 以下の設定をする。 ネイティブ側でインクルードするヘッダ(.h)ファイルを生成できるように、Antのbuild.xmlを作成 Jav…

「サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。」

作成したアプリケーション(.exe)を、開発環境とは別のマシンで起動させたら、以下のメッセージが表示された。この場合の調査方法について。 ダイアログボックス このアプリケーションのサイド バイ サイド構成が正しくないため、アプリケーションを開始でき…

JavaとWindowsネイティブを連携させたい

(2009/10/17 更新) Windowsネイティブプログラミングが要求されるようなソフトウェアを作るならC++やC#を使えばよいわけですが、いまさらそれらに習熟したくないという場合にはどうしたらよいか。Pure Javaでは不足でネイティブが必要なケースとして考えられ…