MW211 EXIT

devlog
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
HTML/ボタン
2015年08月22日
今更ながら、現在のところボタンはどういう方式で運用されているのか軽く見てみた。

以下の三つがあり、大手サイトはほぼそのいずれかを使っている。
┌──┬──────┬────────────────────────────┐
│i系 │inputタグ系 │<input type="button" name="" value="ボタン"/>           │
│    │            │<input type="submit" name="" value="ボタン"/>           │
├──┼──────┼────────────────────────────┤
│b系 │buttonタグ系│<button name="" value="">ボタン</button>                │
├──┼──────┼────────────────────────────┤
│a系 │aタグ系     │<a href="">ボタン</a>                                   │
└──┴──────┴────────────────────────────┘

特徴を分析すると以下の通り。
┌──┬───────────────────────────────────┐
│i系 │○オーソドックスなやり方                                              │
│    │×ラベル名が属性に含まれるので、多言語対応時のビュー切り分けが不得手  │
├──┼───────────────────────────────────┤
│b系 │○モダンなやり方(value値が表に出ないので自由に使える)                 │
│    │×レガシーブラウザでは非対応                                          │
├──┼───────────────────────────────────┤
│a系 │○ボタンに依存しないやり方                                            │
│    │×本来の使い方ではない(ボタン形状は自前で用意)                        │
└──┴───────────────────────────────────┘

「i系」から「b系」から移行しつつある一方で、
別概念の「a系」に移行する流れも見られる感じか。
分類:HTML
設計/国際化の略語
2015年08月21日
文字数が多いので以下のような略語(造語)が流行っている。
┌──┬──────────┬──────┬─────────────────┐
│i18n│InternationalisatioN│国際化      │大文字(I18N)だとわかりづらいので  │
├──┼──────────┼──────┼─────────────────┤
│L10N│LocalisatioN        │地域化      │                                  │
├──┼──────────┼──────┼─────────────────┤
│G11N│GlobalizatioN       │グローバル化│                                  │
├──┼──────────┼──────┼─────────────────┤
│M17N│MultilingualizatioN │多言語化    │                                  │
└──┴──────────┴──────┴─────────────────┘
分類:設計
言語/ロケール名
2015年08月20日
ロケール(locale)名にはいくつか流派があって、
UNIX系の「POSIX」ロケールが源流の模様。
以下の組み合わせで決まる。
  ・POSIXロケール=言語(ISO 639-1)+「_」+国(ISO 3166-1)
但し、国は省略可能。
また、後ろに文字コードが付く場合もある。
  ・POSIXロケール=言語(ISO 639-1)+「_」+国(ISO 3166-1)+「.」+文字コード
    例)「ja_JP.UTF-8」

また、Unicode系には「CLDR」(Common Locale Data Repository)ロケール
というものもあり、こちらはPHP向けに使用されている。

主なものを以下にまとめた(POSIXは主な組み合わせのみ)。
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│英語                │en      │en      │                                  │
│  ・イギリス        │en_GB   │en_GB   │                                  │
│  ・アメリカ        │en_US   │en_US   │                                  │
│  ・カナダ          │en_CA   │en_CA   │                                  │
│  ・オーストラリア  │en_AU   │en_AU   │                                  │
│  ・ニュージーランド│en_□   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│フランス語          │fr      │fr      │                                  │
│  ・フランス        │fr_FR   │        │                                  │
│  ・スイス          │fr_CH   │        │                                  │
│  ・ベルギー        │fr_BE   │        │                                  │
│  ・カナダ          │fr_CA   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ドイツ語            │de      │de      │                                  │
│  ・ドイツ          │de_DE   │        │                                  │
│  ・オーストリア    │de_AT   │        │                                  │
│  ・スイス          │de_CH   │de_CH   │                                  │
│  ・ベルギー        │de_BE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│イタリア語          │it      │it      │                                  │
│  ・イタリア        │it_IT   │        │                                  │
│  ・スイス          │it_CH   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スペイン語          │es      │es      │                                  │
│  ・スペイン        │es_ES   │es_ES   │                                  │
│  ・メキシコ        │es_MX   │        │                                  │
│  ・アルゼンチン    │es_AR   │        │                                  │
│  ・コロンビア      │es_CO   │        │                                  │
│  ・ペルー          │es_PE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ポルトガル語        │pt      │pt      │                                  │
│  ・ポルトガル      │pt_PT   │pt_PT   │                                  │
│  ・ブラジル        │pt_BR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ロシア語            │ru      │ru      │                                  │
│  ・ロシア          │ru_RU   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│中国語              │zh      │zh      │                                  │
│                    │        │zh_Hans │                                  │
│                    │        │zh_Hant │                                  │
│  ・中国            │zh_CN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│朝鮮語(韓国語)      │ko      │ko      │                                  │
│  ・韓国            │ko_KP   │        │                                  │
│  ・北朝鮮          │ko_KR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│日本語              │ja      │ja      │                                  │
│  ・日本            │ja_JP   │        │                                  │
└──────────┴────┴────┴─────────────────┘
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│アイルランド語      │ga      │ga      │                                  │
│  ・アイルランド    │ga_IE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│チェコ語            │cs      │cs      │                                  │
│  ・チェコ          │cs_CZ   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スロバキア語        │sk      │sk      │                                  │
│  ・スロバキア      │sk_SK   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│クロアチア語        │hr      │hr      │                                  │
│  ・クロアチア      │hr_HR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│オランダ語          │nl      │nl      │                                  │
│  ・オランダ        │nl_NL   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│デンマーク語        │da      │da      │                                  │
│  ・デンマーク      │da_DK   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スウェーデン語      │sv      │sv      │                                  │
│  ・スウェーデン    │sv_SE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ノルウェー語        │no      │no      │                                  │
│  ・ノルウェー      │no_NO   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│フィンランド語      │fi      │fi      │                                  │
│  ・フィンランド    │fi_FI   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ポーランド語        │pl      │pl      │                                  │
│  ・ポーランド      │pl_PL   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ハンガリー語        │hu      │hu      │                                  │
│  ・ハンガリー      │hu_HU   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ルーマニア語        │ro      │ro      │                                  │
│  ・ルーマニア      │ro_RO   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ブルガリア語        │bg      │bg      │                                  │
│  ・ブルガリア      │bg_BG   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ギリシャ語          │el      │el      │                                  │
│  ・ギリシャ        │el_GR   │        │                                  │
└──────────┴────┴────┴─────────────────┘
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│アフリカーンス語    │af      │af      │                                  │
│  ・南アフリカ      │af_ZA   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│アラビア語          │ar      │ar      │                                  │
│                    │        │ar_001  │                                  │
│  ・エジプト        │ar_EG   │arz     │                                  │
│  ・イラク          │ar_IQ   │        │                                  │
│  ・サウジアラビア  │ar_SA   │        │                                  │
│  ・アラブ首長国連邦│ar_AE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ペルシア語          │fa      │fa      │                                  │
│  ・イラン          │fa_IR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│トルコ語            │tr      │tr      │                                  │
│  ・トルコ          │tr_TR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ヒンディー語        │hi      │hi      │                                  │
│  ・インド          │hi_IN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ベンガル語          │bn      │bn      │                                  │
│  ・インド          │bn_IN   │        │                                  │
│  ・バングラデシュ  │bn_BD   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│タイ語              │th      │th      │                                  │
│  ・タイ            │th_TH   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ベトナム語          │vi      │vi      │                                  │
│  ・ベトナム        │vi_VN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│インドネシア語      │id      │id      │                                  │
│  ・インドネシア    │id_ID   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│マレー語            │ms      │ms      │                                  │
│  ・マレーシア      │ms_MY   │        │                                  │
│  ・シンガポール    │ms_SG   │        │                                  │
└──────────┴────┴────┴─────────────────┘
分類:設計
前へ 1 2 3 次へ