ここではhttpとhttpsの違いについてメモしておきます。
この2つを理解しやすくするには「http」と「https」の正式名称を思い浮かべるとイメージし易いでしょう。
- http :Hyper Text Transfer Protocol
- https:Hyper Text Transfer Protocol Secure
httpsの「s」とは「セキュア」つまり「安全なhttp」という事です。
httpのホームページでは住所、氏名といった個人情報をそのままサーバへ送信してしまいます。一方httpsでは情報を暗号化してサーバへ送信します。
ブログなどのように相手に読ませるためだけのページであればhttpでも大きな問題にはなりにくいですが、ログイン画面や決済時にクレジットカードなどの個人情報を入力するような画面では「https」になっている事が大前提と言えます。逆に個人情報を入力するのに「http://~」となっているようなサイトであれば、セキュリティに対する認識が甘い企業と見られてしまうでしょう。
httpを使用する場合
- 広告やブログなど不特定多数の人に閲覧されても問題ない場合
httpsを使用する場合
- ログイン情報、住所、氏名、クレジットカード番号などを入力する場合
データベース製品のライセンス一覧です。
製品名 | オープンソース/商用 | ライセンス | データ
モデル | 料金 |
DB2 | 商用 | IBM | ORDBMS | 1プロセッサ
・461万7000円
2年目から5年目の保守料
・88万700円/年
1プロセッサで5年間運用した場合のコスト
・813万9800円 |
HiRDB | 商用 | 日立製作所 | RDBMS | 同時接続数ライセンス
・120,000円
1プロセッサ
・1,800,000円 |
MySQL | オープンソース | GPL or 商用 | RDBMS | 1-4 ソケットサーバー 1台/年(税抜)
・Standard Edition:240,000
・Enterprise Edition:600,000
・Cluster Carrier Grade Edition:1,200,000
5+ ソケット・サーバー/年(税抜)
・Standard Edition:480,000
・Enterprise Edition:1,200,000
・Cluster Carrier Grade Edition:2,400,000 |
Oracle Database | 商用 | オラクル | RDBMS | |
PostgreSQL | オープンソース | BSD | ORDBMS | 無料 |
SQLで前方一致・後方一致・部分一致等のあいまい検索の方法についてご紹介します。
SQLであいまい検索を行う場合はワイルドカード文字として「%」を使用します。
サンプルテーブル
以下の商品テーブル「goods」を元に説明します。
商品テーブル「goods」 |
|
前方一致検索
SQL文(クエリー)
-
- 前方一致検索する場合、LIKE演算子を指定して検索条件の最後に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘[条件]%’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '商品%'; |
実行結果
以下の様に前方に「商品」と入力されているデータのみ出力されます。
後方一致検索
SQL文(クエリー)
-
- 後方一致検索する場合、LIKE演算子を指定して検索条件の先頭に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘%[条件]’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '%A'; |
実行結果
以下の様に後方に「A」と入力されているデータのみ出力されます。
部分一致検索
SQL文(クエリー)
-
- 部分一致検索する場合、LIKE演算子を指定して検索条件の前後に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘%[条件]%’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '%ボード%'; |
実行結果
以下の様に文字列に「ボード」が含まれているデータが出力されます。
業務でデータベースの操作をする場合、データが大量に登録されているテーブルへアクセスする場合に索引(INDEX)を作成するとSQLクエリの実行が劇的に早くなるケースが多々あります。この索引(INDEX)についてどういう場合に作成すれば良いのか、メリット、デメリット等についてまとめておきます。
どういう場合に索引(INDEX)を作成すれば良いのか
索引(INDEX)を作成した方が良いケース
- 項目数/データ数が多い大規模な表の1%~15%程の行を頻繁にアクセスする場合
- WHERE句で頻繁に使用されている列である場合
- 列の値が比較的一意である場合
- 参照整合性制約で使用されている外部キーになっている列である場合
索引(INDEX)を作成しない方が良いケース
- データ登録件数が少ない表である場合
- 列内の値がほぼユニークである場合
- NULL値が多く、NULL以外の値を検索しない場合
索引(INDEX)のメリット
- 表検索(SELCET)する際、特定の行を素早く検索する事が出来る為、検索のパフォーマンスが早くなります。
- ソート作業を省略出来ます。
索引(INDEX)のデメリット
- データの登録(INSERT)、変更(UPDATE)の際、索引変更のためのオーバーヘッドが加わるため、索引(INDEX)がないテーブルに比べると時間が掛かります。
- 索引(INDEX)を作成する領域が必要となります。
EclipseでJUnitやDjUnitを実行すると「junit java.lang.OutOfMemoryError: Java heap space」とメモリエラーが表示された場合は「デフォルトのVM引数」を設定する事でこの事象を回避する事が出来るのでその設定方法をご紹介します。
環境
- Eclipse 4.2
- Windows7 professional 64bit版
対処方法
- Eclipseメニューの「ウィンドウ」⇒「設定」を選択します。
- 設定画面で「Java」⇒「インストール済みのJRE」⇒使用しているjdkを選択して「編集」ボタンを選択します。
- JREの編集画面で「デフォルトのVM引数」へ以下の様に設定します。
|
-Xms=1024m -Xmx=1024m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:NewSize=320m -XX:MaxNewSize=320m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=80 |
Excelで文字列置換する場合「SUBSTITUTE」関数か「REPLACE」関数のどちらかを使用します。但し、EXCELのREPLACE関数はJa「この指定文字列をまとめてこの文字列へ置換」というような事は出来ません。EXCELで文字列置換する場合は通常「SUBSTITUTE」関数を使用します。
動作環境
Microsoft Office Professional 2013
「SUBSTITUTE」関数を使用して文字列置換する方法
- 「SUBSTITUTE」関数の書式。
「SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])」
- 文字列:文字列置換するセルを指定します。
- 検索文字列:置換前文字列を指定します。
- 置換文字列:置換後文字列を指定します
- 置換対象:指定すると全置換ではなく、検索文字列の「置換対象」個目に出現した値のみ置換対象とします。
- 「SUBSTITUTE」関数の使用例
「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。