サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
www.javable.jp
Redmine を 1.3.2 から 1.4.1 にアップグレードしました。 アップグレードはいつも Redmine.JP の記述を参考にしながらやらせて頂いてますが、Redmine 1.4 系のアップグレード手順はまだ用意していないそうなので、 Redmine 1.4をCentOS 6にインストールする手順 Redmine Guide日本語訳 アップグレード の両方を参照しながら作業しました。が、表題のとおり、DocumentRoot にシンボリックリンクを指定すると Rails が起動しなかったので、対応内容をまとめておきます。 設定 おおむね Redmine.JP の手順書のとおりですが、mod_passenger の読み込み用設定ファイルは、 passenger-install-apache2-module --snippet > /etc/httpd/conf.d/passeng
Apache 2.2.19 以下では、Range リクエストの処理に DoS 脆弱性(いわゆる Apache Killer )があるので、CentALT で配布されている Apache 2.2系 の(現時点での)最新バージョン Apache 2.2.23 をインストールします。(2.2.21にも脆弱性は多いです。) CentALT のリポジトリ追加方法は、readme.txtにありますが、記載してあるURLが少し古いです。次のURLでEPELを追加できます。(2013/02/25時点) rpm -ihv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm (32bitの場合↓) rpm -ihv http://dl.fedoraproject.org/pub/epel/6/i386/epel-r
CodeIgniterではエラーページのテンプレートが application/errors/error_404.php (1.7.x系だと system/application/errors/error_404.php)にありますが、これをカスタマイズしただけだとセッションなどが使えません。コントローラーを用意して前処理を行なう事もできません。 CodeIgniter 1.7系の場合は、Custom 404 error pages with CodeIgniterに詳しい記述がありました。ここではこれをバージョン2.0.x系に適用する場合の方法をメモしておきます。CodeIgniter 2.0 では後述する404エラー用のルーティング設定があります。 コントローラーの作成 まずエラー画面を表示するコントローラーを作成します。 application/controllers/error.p
正規表現の小ネタ。 たとえばパスワードの強度チェックを行う場合に、0000や9999のような同一文字の連続を不許可にしたい場合、 以下のような正規表現で簡単に引っかける事が出来る。 /(.)\1{1,}/ ※これは2文字以上連続している場合にマッチさせたい場合。 3文字以上の場合は /(.)\1{2,}/ 以下、チェック用のサンプル↓ 同一文字の 連続以上を不可とする。
$("#sample02_radio01").click(function() { $("#sample02_row").slideDown(); }); $("#sample02_radio02").click(function() { $("#sample02_row").slideUp(); }); Firefoxでは、「非表示」を選択すると、一旦全てのセルが左端のセルに収まってからスライドアップします。「表示」にするとアニメーションしながらスライドダウンしますが、左端のセルに行の全てが収まってしまって、表自体が崩れます。 IEでは表の構造は崩れませんが、そもそもアニメーションしてくれません。単に表示/非表示が切り替わるだけで、非表示になる時は微妙に上下に振動したりします。消えるまでのタイムラグもあります。 スライドアニメーションを使わず、単純に表示/非表示を切り替えるだけなら、テー
サーバー移管を行った時に、表題の件でハマりました。 移管を行ったサーバーは、同ドメインのメールをGoogle Apps で管理しています。 だから、DNSのゾーン設定にも、MXレコードを IN MX 10 ASPMX.L.GOOGLE.COM. IN MX 20 ALT1.ASPMX.L.GOOGLE.COM. IN MX 30 ALT2.ASPMX.L.GOOGLE.COM. IN MX 40 ASPMX2.GOOGLEMAIL.COM. IN MX 50 SPMX3.GOOGLEMAIL.COM. と設定しました。 Google が推奨している優先順位(上記の10とか20の部分)の指定の仕方が違いますが、 これはこれで問題ありません。 じゃあ、何が問題なんでしょう。 症状としては、たとえば example.com というホスト名を持つサーバー上で稼働するPHPやCGIから、 同じドメイ
Subversionでバージョン管理していると、コミットログを書きかけとか間違えた内容で書いてしまって、そのままコミットしてしまう事がよくあります。 「再編集できたらなあ」と思ってましたが、TortoiseSVNのメニューを見たら再編集できる事に気が付きました(知らなかった)ので、まずその経緯を。 TortoiseSVNでの操作 作業コピーディレクトリで右クリックして、「TortoiseSVN」→「ログを表示」とすると、「ログメッセージ」ウィンドウが表示されます。ここでコミットログを変更したいリビジョンを右クリックすると、下図のようなメニューが出てきます。 ここで「ログメッセージを編集」を選択すると、 と、元のメッセージが表示されるので、 と編集して「OK」を押します。 すると、とりあえずエラーダイアログが表示されて、失敗します。 Subversionリポジトリの設定 前述のエラーダイアロ
前回はサンプルだけ提示しましたが、今回はそのソースコードを解説します。 念のため、対応ブラウザ このページのサンプルは、下記ブラウザで確認しました。 Firefox 2.0.0.10, Firefox 3.0.10 (Windows XP sp3, Mac OS X v10.5.6) IE6, IE7, IE8 (Windows XP sp3) Safari 3.2.1 (Mac OS X v10.5.6) jQueryのバージョンは、1.3.2です。 組み方のポイント 行の表示/非表示をスムーズに見せるには、jQueryの組み方だけでなく、HTML, CSSでもいくつか注意すべきところがあります。概要は以下の通りです。 [HTML] 各セル内部をdivで囲み、divをスライドさせるようにする。 [CSS] セルのパディング(cellpaddingまたはCSSのpaddingプロパティ)は
以前参加していたプロジェクトでバッチプログラムを開発する事案があり、 ログ出力には Log4J を採用してプログラムを開発しました。 ところが、後付けでログ出力方式が決まり^^; ログファイル名をサーバーの環境変数から取得しなければならなくなってしまいました。 環境変数からログファイル名を取得…それぐらい Log4J なら簡単だよね、と思いつつやってみたら、出来ません。 ログファイル名は設定ファイルに記述されていて、固定なのです…。 しかし、Log4J は簡単に拡張することが出来ます。 「環境変数からログファイル名を取得する」というような場合には Appender を自作すれば解決できます。 今回の場合、バッチプログラムの動作環境が JRE 1.4 なので環境変数が取得できない件も考慮し、 JVM の起動引数からファイル名を取得する Appender を自作しました。 package jp
IE では、 ウィンドウを window.close() で閉じる場合、 下図のようなダイアログが出ます。 セキュリティ上の理由だったか、 ECMAScript の仕様だったか忘れましたが、 いずれにせよスクリプトコードが勝手にウィンドウを閉じるという、 ユーザーが意識しない所での動作を防ぐ意味では重要なダイアログだと思います。 ちなみにこれは、 あらかじめ JavaScript で開いたウィンドウを閉じる場合には出ませんし、 IE 以外のブラウザでは、 ダイアログすら出ず、 window.close() そのものを機能させなくしているものもあります。 ところで、 このダイアログですが…企業内でのみ使う業務アプリなどを作っていると、 時に邪魔になる事があります。 例えば下図のような画面遷移を行って、 セキュリティ上の目的から ログイン後の画面ではアドレスバー・メニューバーなどを表示しない
Web アプリなんかを作っていると、よく DB 側のサービス層から取得したオブジェクトを Web 層側のフォームBean に変換して使用したり、またその逆を行ったりという事をよくやります。 こんな感じですね↓ SimpleDateFormate sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); // サービスクラスから id をキーにして UserModel を取得 UserModel model = userService.getUser(id); // フォームBeanを作成して、プロパティを1つ1つコピー UserForm form = new UserForm(); form.setName(model.getName()); form.setLoginDate(sdf.format(model.getLoginDate()));
CrossJ PropEditor は、 Eclipse で Java のプロパティファイルを編集する為のプラグインです。 特に日本語リソースを扱う際に、「~」や「-」を任意のコードに変換出来るなどの機能を付加しています。 詳細につきましては、プラグインに付嘱しているオンラインドキュメントか、@IT:CoolなEclipseプラグイン(5):を参照して下さい。 動作環境 CrossJ PropEditor 1.1.0 では Eclipse バージョン 2.1.0 以上で 動作確認を行っております。Eclipse 3.0 以上でも動作します(3.0RC3 で確認)。 2.0.x では動作しません。
BeanUtils で JavaBeans のプロパティを一気にコピーする で作成したサンプルでは、 java.util.Date を String にコピーした時に “yyyy/MM/dd HH:mm:ss” というような任意のフォーマットへの変換は出来ませんでした。 これは BeanUtils のデフォルトの振る舞いが java.util.Date#toString() の値を使用して String へ変換するようになっている為です。 まずその仕組みを少し調べ、独自の変換を行うにはどうすれば良いかを試してみます。 BeanUtils が型の違うプロパティを変換する仕組み BeanUtils ではコピー元とコピー先のオブジェクトを比較して、 同じ名前のプロパティがあれば、 その型が違っても自動で変換してくれます。 例えば下図において、 コピー元の UserModel#getLoginDa
Webシステム構築, Java/PHP/DB開発, Flash制作, スマホアプリ作成からLinuxサーバ管理まで、お気軽にご相談ください。 www.Javable.Jp Top Tools Blog About News 2022.07.04 実績を更新しました。 2012.11.07 実績を更新しました。 2012.04.18 サイトをリニューアルしました。
ここでは、JavaScript による汎用ライブラリとして公開されている overLib について記述します。 この記事は OverLib 3.51 を元に書きました。2006/04/07 時点では OverLib 4.21 がリリースされているようです。 基本的な使い方には違いはないようですが、細かいところで差異があるかもしれません。 概要 ツールチップを表示させるだけなら、標準の HTML 属性である title を使えば表示させられるのですが、overLib はツールチップ内に HTML が記述できたり、幅・表示時間・キャプション等、設定できる項目が多数にわたる便利な汎用スクリプトになっています。 ダウンロード overLIB : http://www.bosrup.com/web/overlib/ 使用方法 ダウンロードしてきた overlib.js をページに組み込むには、まずペ
Web アプリケーションを作成していると、時にブラウザで履歴をさかのぼる機能をを無効にしなければならない時があります。 よく使われる方法としては、「サーバ側でページアクセス毎にユニークなトークンを発行して、ブラウザの戻るボタンで戻ってフォームを再送信した場合に、エラーを発生させる」といったものもあり、各種フレームワーク等で提供しているような機能は、このようなサーバサイド側での処理を作り込んだものが多いのではないかと思います。 しかしいま携わっているプロジェクトでは、「前の画面さえ表示したくない」…つまり戻るボタン(BackSpace キーや、 Alt + ← 、マウスの割り当てボタンなど)そのものが効いていないか、効いていないように見える、という事をしなければならず、最初は愚直にキーイベントを取得したり等をしていたのですが…、こんな方法がありました↓ (戻りたくない画面に) <script
この記事は OverLib 3.51 を元に書きました。2006/04/07 時点では OverLib 4.21 がリリースされているようです。 基本的な使い方には違いはないようですが、細かいところで差異があるかもしれません。
このページを最初にブックマークしてみませんか?
『www.javable.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く