MW211 EXIT

devlog
Apache/PHPの設定
2016年12月02日
「httpd.conf」における以下の記述が肝。
┌──────────────────────────────────────┐
│LoadModule php5_module "C:\PHP\php5apache2_4.dll"                           │
│AddHandler application/x-httpd-php .php                                     │
│PHPIniDir "C:\PHP\"                                                         │
└──────────────────────────────────────┘
「C:\PHP\php5apache2_4.dll」と「C:\PHP\」は適宜変更のこと。

分類:PHP、Apache
PHP/password_hash()など
2016年11月30日
PHP5.5から導入された「password_hash()」等の暗号化関係の関数について。

【暗号化】
  「password_hash()」は暗号化するための関数である。
┌──────────────────────────────────────┐
│$暗号文 = password_hash($平文, PASSWORD_DEFAULT);                           │
└──────────────────────────────────────┘
  暗号化結果($暗号文)は、現状は60文字のハッシュ値となるが、
  格納する領域は将来的な拡張に備え255文字あたりにした方が無難。

【照合】
  「password_verify()」は照合するための関数である。
┌──────────────────────────────────────┐
│if (password_verify($平文, $暗号文)) {                                      │
│    echo '一致する';                                                        │
│} else {                                                                    │
│    echo '一致しない';                                                      │
│}                                                                           │
└──────────────────────────────────────┘

【暗号文のレベルを上げる】
  暗号文の難易度レベルは、コストに比例するので、
  使用するハードに適したコストのレベルにしなければならない。
  (難しすぎると処理が重くなり使いものにならない)
  但し、ハードを交換して性能が上がった場合には、レベルをあげたくなる。
  この場合は、以下の方法をとる。
┌──────────────────────────────────────┐
│// まず暗号文と照合し、平文を確認                                           │
│if (password_verify($平文, $暗号文)) {                                      │
│    $options = array('cost' => 11);  // 既定より一つ上のレベルのアルゴリズム│
│    // その暗号文が一つ上のレベルのアルゴリズムを満たさないか?             │
│    if (password_needs_rehash($暗号文, PASSWORD_DEFAULT, $options)) {       │
│        // 満たしていなければそのレベルで暗号文を再生成                     │
│        $暗号文 = password_hash($平文, PASSWORD_DEFAULT, $options);         │
│    }                                                                       │
│}                                                                           │
└──────────────────────────────────────┘
  「password_needs_rehash()」は暗号のレベルを判断するための関数である。


【暗号内容確認】(暗号化前の平文は確認できないが)
  「password_get_info()」は暗号のレベル等の情報を確認するための関数である。
┌──────────────────────────────────────┐
│$暗号内容に関する連想配列 = password_get_info($暗号文);                     │
└──────────────────────────────────────┘
分類:PHP
PHP/HTTP500内部サーバエラー調査
2015年09月01日
再現できるなら、まずエラーを見てみよう。
┌──────────────────────────────────────┐
│ini_set('display_errors', On);                                              │
│error_reporting(E_ALL);                                                     │
└──────────────────────────────────────┘
PHPソースコードの冒頭に以下の処理を埋め込めばよい。

画面にエラーメッセージが表示されるはず。
分類:PHP
MSSQL/レコードなしを返却
2015年08月31日
ストアドプロシージャでレコードを返すことになっているものの
条件分岐であきらかにレコードを返すものがない(0件レコードを返す)という時に
ダミーで0件レコードを返却したいが、適切な方法というのは見当たらない。

ということで、いくつか候補を考えてみた。
┌──────────────────────────────────────┐
│SELECT 1 WHERE 1 <> 1;                                                      │
├──────────────────────────────────────┤
│SELECT 0 WHERE 0 <> 0;                                                      │
├──────────────────────────────────────┤
│SELECT NULL WHERE NULL IS NOT NULL;                                         │
└──────────────────────────────────────┘
上に行くほど直感的、下に行くほど論理的ていう並びにしてみた。

とりあえず一番下のを推奨としたい。
分類:MSSQL
ACID特性
2015年08月29日
トランザクション処理に求められる四つの特性
┌───────┬──────────────────────────────┐
│原子性        │全て実行されるか、もしくは全て実行されないか                │
│   (Atomicity)│(中途半端な実行はありえない)                                │
├───────┼──────────────────────────────┤
│一貫性        │整合性のとれた状態で全て完了する(全実行)か、                │
│ (Consistency)│さもなくば整合性のとれた最初の状態に戻る(全不実行)か        │
├───────┼──────────────────────────────┤
│独立性        │処理中の中途半端な状態は完了まで外部へは非公開となる        │
│   (Isolation)│外見えは処理開始前に見える(もちろん中見えはリアルタイム反映)│
├───────┼──────────────────────────────┤
│永続性        │処理が完了(全実行もしくは全不実行)したら                    │
│  (Durability)│その結果は確定して記録される                                │
└───────┴──────────────────────────────┘
トランザクション処理とは、処理をグループ化して、
すべて成功しないと個別に成功したものも含めて連帯責任で失敗とみなし
処理を行わなかったことにする(処理開始前に戻す)こと
これにより、各種整合性が維持される
分類:設計
ディスクリート系製造業とプロセス系製造業
2015年08月28日
・ディスクリート系製造業…固体を扱う主に組立加工型の製造業
・プロセス系製造業      …流体を扱う主に化学合成型の製造業
分類:経営学
受注生産と見込生産
2015年08月27日
┌──────────────────────────────────────┐
│受        ETO                       ATO                       MTS         見│
│注        DTO                       BTO                                   込│
│生        MTO                       CTO                      (MTO)        生│
│産←───┼────────────┼────────────┼────→産│
│      ×品質                    ○品質                    ○品質            │
│      ×原価低減                ○原価低減                ○原価低減        │
│      ◎在庫リスク              ○在庫リスク              ×在庫リスク      │
│      ×短納期                  ○短納期                  ◎短納期          │
│      ○付加価値                ○付加価値                ×付加価値        │
│      ○標準化負担              ×標準化負担              ○標準化負担      │
└──────────────────────────────────────┘
                              ポジティヴな要素 ◎ > ○ > × ネガティヴな要素  
┌──────────┬──────────┬────────────────┐
│ETO                 │受注生産            │受注が来たら設計から着手する    │
│(Engineer To Order) │(個別受注生産)      │発注もその後のため在庫を持たない│
├──────────┤                    │                                │
│DTO                 │                    │                                │
│(Design To Order)   │                    │                                │
├──────────┤                    │                                │
│MTO                 │                    │「MTO」は受注生産全般を意味し   │
│(Make To Order)     │                    │「繰返受注生産」を指す場合もあり│
├──────────┼──────────┼────────────────┤
│ATO                 │受注組立生産        │汎用的な半製品を予め仕込んでおき│
│(Assemble To Order) │(中間仕込品見込生産)│注文が来たらそれを組み合わせる  │
├──────────┤                    │                                │
│BTO                 │                    │                                │
│(Build To Order)    │                    │「BTO」はDELL社が広めた用語     │
├──────────┤・・・・・・・・・・├────────────────┤
│CTO                 │受注仕様生産        │「CTO」では受注者の             │
│(Configure To Order)│                    │カタログ選択で仕様決定を実現する│
├──────────┼──────────┼────────────────┤
│MTS                 │見込生産            │製品を予め仕込んでおく          │
│(Make To Stock)     │(大量見込生産)      │大量生産と関わりが深い          │
├──────────┼──────────┼────────────────┤
│MTO                 │受注生産            │これは初回は個別受注生産だが    │
│(Make To Order)     │(繰返受注生産)      │二回目以降は「MTS」的になる     │
└──────────┴──────────┴────────────────┘
分類:経営学
ExcelVBA/接続時間延長
2015年08月26日
ExcelVBAでADODBを使ってMSSQLに問い合わせをしたが
SQLの処理が長すぎてタイムアウトエラーとなってしまう場合
以下のようにタイムアウト時間を延長することができる。
┌──────────────────────────────────────┐
│Dim テーブル As New ADODB.Recordset                                         │
│Dim SQLコマンド As New ADODB.Command                                        │
│With SQLコマンド                                                            │
│    .CommandTimeout = 180   ' ←★接続時間延長(30秒→180秒)                 │
│    .ActiveConnection = (データベース接続情報)                              │
│    .CommandText = (SQL文)                                                  │
│End With                                                                    │
│テーブル.Open SQLコマンド                                                   │
└──────────────────────────────────────┘
但し、基本的に処理が長すぎるSQL文を見直すべきで(インデックスの追加など)
上記手段を行うのは最後の最後もしくは特例的に限定すべきである。
分類:ExcelVBA、MSSQL
MSSQL/正規表現
2015年08月25日
LIKE演算子で使える。
┌──────────────────────────────────────┐
│SELECT COUNT(*)                                                             │
│    FROM 表                                                                 │
│    WHERE [列] LIKE '[A-Z][0-9]%';                                          │
└──────────────────────────────────────┘
上記の場合は「A0」や「B1ABC」などが検索できる。
分類:MSSQL
COBOL/COBOLの利点
2015年08月24日
金融系に強みを見せる。その利点とは。

・金額にシビアである(有効桁数の保証)
  #割り算の浮動小数点数みたいに意図せぬ切り捨てとかが起きてはいけない

・計算順序を固定化したい(ADD命令など)
  #勝手に最適化して順序を変えられて端数がおかしくなってはいけない

・夜間バッチを安定して遂行できること(静的メモリ確保による)
  #動的メモリ起因による不測の事態を避けられる(スピードも一定)
分類:COBOL
前へ 1 … 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 … 156 次へ