herokuの無料SSL(https://?.herokuapp.com)を使ってHTTPS通信を強制する方法

まず、ローカルで起動した際にHTTPS通信を強制してみます。 コントローラとしてApplicationクラスのみを使っているとして、Applicationクラスに次のメソッドを追加します。 @Before static void before() { if(!request.secure) { int port = Integer.parseI…

Playframework1系でhtmlファイルをサーバを通さず開いた場合と、通して開いた場合で処理を切り替える方法

最近の私の開発の流れとしては、仕様を決めるために、htmlとJavascriptとjQueryとjsonでまずプロトタイプとして画面の動きを作り、仕様の確認が取れてから、DBのロジックを組み込むようにしていて、設計書ベースでの設計を最小限にしています。プロトタイプ…

一覧の並び順の変更方法について

システム開発でよく、一覧表示の並び順を任意に変更したいといった要望が出たりします。 簡単な対応方法としては並び順の数値フィールドを設けて、数値の小さい順に表示するようにしておいて、 並び順の数値を設定してもらうなどがあると思います。 ただ、そ…

WPFでQuickTimeやFlashのActiveXを使おうとして引っかかったこと

64bit OSを使っている場合はプラットフォームターゲットをx86にしないとActiveXが動かない(REGDB_E_CLASSNOTREGエラーが発生) WPFにはActiveXコントロールを貼り付けられないので、コードで生成することになるが、BeginInitなどを省略するとうまくいかないこ…

Expression Encorder 4を使ってビデオキャプチャのプレビュー表示を行う

あらかじめ、VisualStudio2010とExpressionEncorder4をインストールしておいてください。 新規「C#ウインドウフォームアプリケーション」プロジェクト作成します。(プロジェクト名はVideoCaptureEE4としました。) 参照設定を右クリックし、「参照の追加」…

電子書籍内の広告について考えた

iPodTouchとiPadを使うようになって、その直感的な使いやすさにPCにない魅力を感じている。 とくにキーボードが通常隠れているのが画期的で、PCだと触ろうともしなかった親が、iPadだと、勧めもしないのに自分から触っている姿には感動すら覚えた。PCはキー…

ウインドウ全体を半透明にする(Vista以降)

WPFアプリケーションを新規作成し、MainWindowクラスを以下のように書き換えます。 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Loaded += delegate { IntPtr hWnd = new System.Windows.Interop.Window…

apacheとsubversionの連携

apacheに必要なモジュールの確認とインストール apache -Mを実行し so_module (static) auth_basic_module (shared) dav_module (shared) dav_fs_module (shared) ssl_module (shared) dav_svn_module (shared) authz_svn_module (shared)が入っているかを確…

PHPからOracleにアクセスするポイントのメモ

Linuxの場合 ./configure --enable-mbstring --with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib --enable-sigchild --enable-mbstring はOracleとPHPの文字コードを合わせる設定をするために指定します。 --with-oci8 はoci関数を利用できるように…

既存のテーブルをマージテーブルで分割する手順

mysqlにはマージテーブルという複数のテーブルをあたかも1つのテーブルを扱うかのように操作できる機能があります。 ログファイルなど、時間とともにサイズが肥大するテーブルに対して適用すれば、1テーブルサイズの限界、参照スピード等の対策となりそうで…

データベースの設定情報を表示する

SELECT * FROM NLS_DATABASE_PARAMETERS; 実行例) PARAMETER VALUE NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET JA16SJISTILDE NLS_CALENDAR GREGORIAN NLS_DATE_FOR…

酒類の販売時に注意書きを表示するようにする

設定(ALCOHOL_CATEGORY)で指定されたカテゴリID(下記の例では1)配下の商品がカートに入った状態で、購入画面に行く際に、年齢制限のメッセージを表示させるよう機能を追加しました。 data/mtb_constants_init.phpに以下の内容を追加します。>|| /** 酒類のカ…

入力項目のタグを許可する手順

管理側のテンプレートの該当項目名部分に <span class="red">(タグ許可)</span>を追加します。 表示側のテンプレートの該当項目表示部分のescapeとnl2brを外します。 つまり、 <td></td>のようになっている部分を <td></td>にします。 nl2brは外さなくてもいいですが、その場合は普通にHTMLを書くように…

都道府県コードを都道府県名に変換する処理の場所

SHOPマスタに複数の住所を記載できるようにカスタマイズしたかったので、2つ目の都道府県のDBフィールド名を sub_pref にし、dtb_baseinfoテーブルにフィールドを追加、以下の関連ファイルを修正しました。 data/class/pages/admin/basis/LC_Page_Admin_Basi…

テキストエリアでのキーボード入力をとらえ、デフォルト動作を抑制する

テキストエリアでファンクションキーやタブキーの動作をカスタマイズするために、まずキーコードを取得し、F1のヘルプ表示などのデフォルトの動作を抑制するコードを書きました。 IEでF1キーのヘルプ表示を抑制するには window.onhelp で false を返すように…

テキストエリアの選択範囲を正しく取得する方法

入力フォームのテキストエリアに、ブロックインデントなどの機能を追加するためには、現在の選択範囲を正しく取得する必要があります。selectionStart, selectionEndプロパティがサポートされていれば話は簡単なのですが、IEはサポートされていません。IEで…

サイトマップページ(人間用)を自動生成する

EC-CUBEには、もともと /sitemap.php にアクセスすると検索エンジン用のサイトマップXMLファイルを出力する機能はありますが、ホームページ閲覧者が見る通常のサイトマップページは用意されていないようなので、作ってみました。 「デザイン管理」「ページ詳…

user_data直下のphpが勝手に書き変わらないようにする

「デザイン管理」「ページ詳細設定」で新しいページ、たとえばURLをtestとして作成したとき、user_data/test.phpが自動生成されますが、test.phpに独自の内容を追加した後に、「ページ詳細設定」の内容を書き換えると、test.phpが再度自動生成されて、独自に…

会員登録機能を使用しない設定ができるようにする

品物をかごに入れた後、ログイン画面をとばしてお客様情報入力画面に行くようにしたかったので、 「システム設定」「パラメータ設定」でログイン画面をとばすかどうかを切り替えられるようにしました。 データベースに以下のSQLを発行しますINSERT INTO mtb_…

現在のカゴの中画面やお客様情報入力画面のレイアウトを設定できるようにする

初期状態だと、現在のカゴの中画面やお客様情報入力画面は、ヘッダーフッター以外のブロックが表示されません。 そこで、商品詳細画面と同じブロックが反映されるようにしました。 現在のカゴの中画面に表示させたい場合は data/class/pages/cart/LC_Page_Ca…

フォームに「テキストエディタを作るぞ」と表示させる。

「ソリューションエクスプローラ」のForm1.csを右クリック 「コードの表示」をクリック 17行目の行末をクリックし、Enterキーを押す ov と入力し、候補から override を選択 スペースキーを押し、onp と入力 候補から OnPaint を選択 20行目を TextRenderer.…

新しいプロジェクトを作成する。

VisualStudio2008を起動 「ファイル」「新規作成」「プロジェクト」をクリック 「VisualC#」「Windowsフォームアプリケーション」を選択 右上で「.NET Framework 3.5」を選択 「プロジェクト名」ProgramPad と入力 「場所」C:\dev と入力 「ソリューションデ…

C#で0からテキストエディタを作る

突然ですが、昔から一度は作りたかったテキストエディタを作ろうという気になりました。 ネットで作り方を検索しても、データ構造などの断片的な解説は見つかるんですが、 作成経過まで載っているページはないので、ここでははしょらずに経過を書いていきた…

文字コードについてのまとめ

[文字集合] JIS X 0201:1969 ANK文字が定義されている 制御文字33文字, ASCII文字63文字, カタカナ63文字 計191文字 JIS X 0208:1978, 1983, 1990, 1997 → 1面で94(区)×94(点)=8836文字を表せる中 6879文字が定義されている 記号・英数字・かな(1〜8区)、第1…

SSHでログインできるようにする

SSH

作業用ユーザでログイン OpenSSHのダウンロード(→ http://www.openssh.com ) $ wget ftp://ftp.jp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz $ tar xvfz openssh-4.6p1.tar.gz $ cd openssh-4.6p1 $ ./configure +

DELLのサーバを買ったのでVine Linuxを入れてみる

Vine Linuxのisoイメージをダウンロード(→ http://vinelinux.org ) DeepBurnerをダウンロード、インストール(→ http://www.forest.impress.co.jp/lib/sys/hardcust/cddvdburn/deepburner.html ) DeepBurnerでisoイメージをCD-Rに焼く CDをセットしサーバ…

テーブルがすでに存在している場合は削除してから作成するPL/SQL

MakefileでPro*Cをコンパイルするとき、テーブルとの構造のチェックができるらしいのですが、 そのとき、makeを実行するだけで自動で最新のテーブルが作成されれば便利です。 DROP TABLEとCREATE TABLEを順に実行すればすみそうですが、それだとテーブルが存…

PL/SQLでのファイルの読込(9i以降)

Oracleではファイル入出力用に、UTL_FILEというパッケージが用意されていますが、実際に読み書きするには対象となるディレクトリのオブジェクトをあらかじめ作成して権限を与える必要があるようです。 SET SERVEROUT ON CREATE DIRECTORY D_READ AS '{ファイ…

ブロック内でCREATE文やDROP文を使うには

普通に以下のようにかけると思っていたら、 BEGIN CREATE TABLE t1(f1 NUMBER(1) PRIMARY KEY, f2 VARCHAR2(10)); END; / ERROR at line 2: ORA-06550: line 2, column 2: PLS-00103: Encountered the symbol "CREATE" when expecting one of the following:…

sourceforge.jpでmysqlを使う

突然ですが、sourceforge.jpのアカウントを取ってプロジェクトを立ち上げたので、その使い方のメモです。 「プロジェクト管理」「データベースの管理」で「作成」ボタンを押す 「新しいパスワード」「パスワード再入力」にパスワードを入力 「更新」で完了(…