2011年4月28日木曜日

数値型のデータ変換 - SQL Server 2005

細かいですが、気づきがあったのでメモ。

DBはSQL Server 2005。

ちなみに開発環境はVS2005。

言語はVB.NET。


DBデザインを考えるときに数値型のカラムは今までNumeric型を使用していた。

特に意識して数値型を使い分けている訳ではなかったが、

とりあえず桁数、小数点をそれぞれ任意で指定できるし、桁が大きくなっても問題ない。

特に大規模なシステムなわけではないので、大は小をかねる、発想でこれを使っていた。


今回開発に携わったDBは数値型にINT型を使っている。

そこに今回落とし穴。


例えばNumeric型のカラムに’’(カラ)を挿入しようとすると型変換エラーで落ちちゃいます。

なのでアプリ側の制御として’’はNULLに変換してSQLは流さないといけない。

そこは毎回チェックするところというか、そんなことやるのは当たり前なので。


ところが今回見落としてしまいました。

しかもエラーが出る訳ではない。数値型に’’(カラ)を挿入しているにも関わらず。

最初はデフォルト値を設定しているのかと。

カラを挿入するとデフォルト値を使うようになっているのかと。

まあでもそんなわけでもなく。

確認するとINT型だから?

DecimalとNumericはエラーでこけます。

ところがINT型だと’’(カラ) は 0 として登録しまう。

しかも’’にいくら半角スペースが入っていてもTrimされるのか、問題なし。

とりあえずカラをCASTしてみると下記が0に変換しちゃいます。
bigint、int、smallint、tinyint、float、real、money


これってSQL Server 使う上で常識?

気づかないのはデータ型の本質を理解していないからのような気もするが。

まあとりあえずいまさらですが勉強になりました。

分からないことが多すぎて。

日々精進。

2011年4月23日土曜日

Microsoft ライセンス - 2

新規でサーバーを導入予定。

普段ハード関係は自分が担当していないので。

なにが必要なのかを一から調べることに。

たたサーバーの構成は細かく指定がある訳ではないので、

サーバー用途だけ確認し、それにあわせてメーカーに見積依頼。

見積がでたら後は要件満たせる範囲で価格交渉して、という感じ。

マザー、CPU、メモリ、HDDの細かい仕様までは今のところ分からないし。

そこまで気にするほど大規模なシステムではないので。

まあハードはこれでいい。

躓いたのはライセンス。

なんでこんなにMicrosoftのライセンスは分かりにくいのか。

あと細かく分かれすぎて種類も多い。

ライセンスだけで金額が跳ね上がってしまう。

今回確認したライセンス。


Windows Server 2008 R2 Standard Edition 

上記ライセンスには仮想インスタンスライセンスが一つ付随する。

物理マシンであろうと仮想マシンであろうとOSのライセンスは必要である。

なのでOEM版のサーバー導入+OSライセンス1つと考えていた。

ところがホストマシン側でHyper-Vの管理しか行わない場合は、仮想インスタンスライセンスが有効。

別途仮想マシンのOSライセンスを購入しなくてもいい。

ホストマシン側にドメインサーバーなり、ファイルサーバーなり、

何らかの機能を持たせてしまうとアウトとのことだが。

ちなみに Enterprise Edition の場合は仮想インスタンスライセンスが3付随する。


Windows Server CAL

今まで大きな勘違いをしていました。

ライセンスの考え方として同時接続という考えかたをしていたのですが、

そういう考えかたではないみたい。

唯一同時接続という考えかたができるのがこのServer CAL。

運用するサーバーの台数が1台かつ今後サーバーが増える可能性が無い場合は、

同時接続モードでサーバーを構成し、Server CAL を購入したほうがいい。

その分CAL数を抑えられる。

しかし同時接続モードの場合は、そのサーバーにライセンスが依存する。

なので今後サーバーが増える場合は、Server CAL の追加購入が必要になってしまう。

サーバーが複数台となる場合は、接続デバイス、または接続ユーザー、どちらか数が少ないほうで

サーバーのモードを選択し、数分のCALを準備。

この場合はサーバーに依存しない。

複数台のサーバーに一つのCALでアクセス可能となる。


いろいろ整理した上で再度WEBサイトから確認するとだいぶ理解はできる気がする。



そもそもこのライセンス自体、コンプライアンスをどう判断するか。

特に機能が使えなくなるわけではないので、余計分かりにくくなっている気がする。

使えちゃうんで別にいりませんとはいえないし。

使えるのに何でお金払わないといけないのってなっちゃうし。

今後も悩まされ続けそうです。

分からないことが多すぎて。

日々精進。

2011年4月20日水曜日

ネットワーク障害 -プロバイダ 二重ログイン

ネットワーク障害といえるのかどうかなんですけど。

本当に勉強する事が山済み。

今回もまたテンヤワンヤでした。


お客様のある拠点でネットがつながらないとのこと。

まあたまにはそんな事もある。

ケーブルが抜けてる、またはケーブルの断線、ハブの故障。

そうでなければルーターを再起動すれば大体いつも復旧する。

今回もこれで終わりかと思ってお客様にお願いすると。

復旧しません!

とりあえずモデムの再起動。

でも復旧せず。

プロバイダに確認すると対応がよろしくない。

モデムの再起動を指示され、それでもだめならNTTにと。

NTTにも確認するが正常に疎通はできているとのこと。

ちなみに回線プランはADSL フレッツ。


ルータの状況をお客様に確認してもらうと、認証できないというメッセージが出ている。

設定を確認してもらうとプロバイダの認証情報が消えているわけではない。

以前にも原因が不明だがネット接続が出来なくなったことがあったので、

とうとうルータの故障かと思ったいた。

ログを取得し、メーカーに確認。

ファームウェアも最新だし、特に機器の故障は見受けられないとのこと。

そうこうしている間に突然復旧。


とりあえずひと段落だがまた同じことが起こっては困ると。

引き続き原因を調査。

ルータのメーカーに確認すると、プロバイダ認証が通らない場合は

二重ログインの可能性があるという。

プロバイダに再度確認。

状況を詳しく説明し、プロバイダ側のログを確認してもらうと、

確かに二重ログインでアクセスを拒否しているログが残っていたと。

最初にそれを教えて欲しかったわ。

まあ自分もプロバイダに原因があるとは全然思っていなかったので

なんともいえませんが。


その拠点では前日停電があったそうで、その際に突然接続が切れたため

プロバイダ側にセッションが残ってしまったんではないかと。

一度残ってしまうとプロバイダであっても意図的に削除するのは出来ないとのことで、

クリアされるのを待つしかないそうだ。

プロバイダにアクセスをし続けるとセッションがクリアされないとのことで、

対策としては、モデムとルータの電源を落とし、30分~1時間待ってくれとのこと。

その後モデム⇒ルーターの順番で電源をいれ接続を確認するという手順。


当然ながら複数拠点で同一の認証情報を使われないように

二重ログインを許可してないということですが、こんなこともあるんですね。

本当に今回は久々の大ハマリでした。

本当原因の特定に長時間を有してしまい。

ネットワーク関連の勉強もやはり大切。

というか今の時代これが繋がっていないと何も出来ないことを改めて痛感。

まあ次回からは確認箇所が一つ増えました。

わからないことが多すぎて。

日々精進。

2011年4月12日火曜日

19歳

その頃何を考えていただろうと。

なんの志があったのだろうと。

大学に入学したものの、授業もまじめに受けず。

ただなんとなく楽しければいいと毎日を過ごしていた気がする。

酒を覚え、タバコを覚え。

もちろん大切な仲間も増えたし、多くの人にお世話になり、

勉強以外のことも多く知り、身にしみて学び、

人生の中でも今までと違う経験をしたのも事実だけど。

その生活はありふれているモノだった。


東日本大震災から一ヶ月。

著名人、業界、世界各国から多くの支援が東北に集まった。

その中でも衝撃を受けたのが、プロゴルファー石川遼選手の賞金の全額寄付だった。

世界中のメディアがこの話題を取り上げ、19歳のゴルファーに注目が集まった。

ただそのときは多くの支援の声に混ざってしまい、もちろんすごい事だとはわかったが、

あまり感じることが無かった。


TVをたまたまつけると、石川選手の特集をやっていた。

その内容にすごく感銘を受けた。


アメリカへの遠征の真っ最中に、震災は起きた。

その中で、自分の成績とは関係の無いところで、日の丸を背負ってるがために、

メディアの注目を集める。

日本の被災地の状況が分からないことの不安も重なって、

自分自身を見失い、らしいプレーが全然できなくなったという。

人気も実力も日本のトッププロ、かかるプレッシャーも半端じゃない。

ただこの状況を打開できるのも石川選手にしかできなかったのだろう。

震災とゴルフを切り離そうと何度も自分に言い聞かせたらしい。

でもできなかった。その結果プレーに影響が出てしまった。

でも決してそれを理由にする事は無かったと。

出した答えは、自分がゴルフを極め、集中する事、いいゴルフをする事で、

被災地の復興に貢献したいという事だった。

賞金の全額寄付。

不振だった石川選手はアメリカ遠征の最終戦、マスターズという大きな舞台で、

初めて予選を突破し、自己最高の成績を残し、大会を終えた。


そのような背景があった決断だったと知って、改めてその支援の大きさを知った。

こんな19歳って。。。怖さすら感じてしまうほどだ。

年齢は関係ない。

尊敬すべき人であり、プロゴルファーである。


自分は石川選手に比べると、月とすっぽん、というか比べるには値しないが、

どんな困難な状況でも、自分と向き合い、自分の役割を全うできる、人でありたい。

自分も負けないように、明日も頑張る!

日々精進。

2011年4月9日土曜日

何か新しい事を考えたいが何も生まれず - 2

日々の生活の中には情報があふれている。

WEBが普及し結構な時間が経過したが、

今や一般の人でもそれなりの情報収集がわりと簡単に出来る時代。

特にITリテラシーも必要ない。

Googleのおかげで情報検索も簡単、かつスピーディー。

逆に情報があふれすぎて、その中にある情報を選択しなければいけない。

より確からしく、より価値のある情報を。

そこが難しくなってきている。

だからこそ、mixi、Twitter、FacebookといったSNSのが急速に勢力を拡大し、

いまや東日本大震災の被災地の情報を公な機関がTwitterを使って発信する時代だ。

SNSを情報を選択する上で同じ価値観を持った仲間同士がSNSというツールを使って

コミニケーションをとる。

自分の価値観にあった情報、かつ信頼できる情報を、

探しに行かなくとも、選択しなくとも、お互いが発信し合い、情報収集が可能になる。

現在Facebookがこれだけ価値を見出しているのも、実名を使い、

より濃い個人の情報を公開することで、信頼性も高まり、つながりも親密になるからだ。

また、戦略を打ち出す企業にとってもピンポイントでマーケティング戦略が打すことができ

そういった観点からも価値が見出されている。


そんな中いかに選択される情報を発信できるかが鍵かと。

今後サービスを考える上で。


話はそれてしまうがTGC(東京ガールズコレクション)について。

Girlsファッションは良く知らないんですが、最近になってようやく知りました。

モデルがランウェイをブランドの服を着て歩く。

それをみてキャーキャー言っているだけではないんですね。

モバイル端末で、まさに今ランウェイを歩いているモデルが着ている服を買えるそうで。

これってすごく関心した。

情報の発信者側と情報を選択する側でしっかりと送受信が出来ている。


有名モデルには自分はなれないが、やはり情報を発信する上で、

いかに信頼を構築できるかが重要。

まさにブランドを作り上げるということ。

じゃあまずは何をやるか、なにが出来るか。

というところで、結局撃沈。

想像力、創造力の乏しさを悔やむばかりですが。

いつかは絶対に通してみせる。

オリジナル企画。

ただそれはかなり先の話になりそう。

生きているうちには。

日々精進。

2011年4月4日月曜日

ストアドプロシージャ ループ処理 SQL Server 2005

今回初めてSQLServerのストアド使ってバッチを作成。

バッチであればいいかとDB側で簡潔するのでいいかとは思うが。

クライアントのプログラム側と連携するとソースが追えなくて処理の内容がわかりにくくなりそうな。

まあでも少しは使い方がわかったのでとりあえず忘れないように。

情報はたくさんありました。

内容はテーブルAの情報をテーブルBに対して一括で登録するという簡単な要件。

SELECT INSERTで書いちゃえば一発で終わるんじゃないかと思ったんですが諸事情によりストアドを利用。

INSERT部分が別のストアドで作られており、関連テーブルの更新等を行っていたので、

SELECTしたレコードからパラメーター渡して処理を実行してあげる必要があったんです。

なのでSELECT情報をループさせてレコードごとにINSERT処理を行うストアドを実行。

下記ストアド記述
--------------------------------------------------


BEGIN


DECLARE csr CURSOR FOR 
SELECT
  id
 ,A_col1
 ,A_col2
 ,A_col3
FROM
 TABLE_A


DECLARE @prm1 NUMERIC
DECLARE @prm2 VARCHAR(50)
DECLARE @prm3 VARCHAR(50)
DECLARE @prm4 VARCHAR(50)


OPEN csr


FETCH NEXT FROM csr
INTO @prm1, @prm2, @prm3, @prm4


WHILE @@FETCH_STATUS = 0
BEGIN
  
  EXEC sp_INSERT_TABLE_B @prm1, @prm2, @prm3, @prm4 ← INSERT処理を行う別ストアドを実行
  
  FETCH NEXT FROM csr
  INTO @prm1, @prm2, @prm3, @prm4
END


CLOSE csr
DEALLOCATE csr


--------------------------------------------------


まあでもストアドの書き方がわからずそれなりに四苦八苦しちゃいましたど。

カーソルの使い方もよくわからず。

いつものことですが終わってしまうと、とても簡単なことだったと気づくわけで。

わからないことが多すぎて。

日々精進。

2011年4月2日土曜日

何か新しい事を考えたいが何も生まれず

ただいまWEBをどう活用するかを勉強中。

毎日に追われ、なにから勉強しようかと。


普段自分がどのような情報を欲しているか客観的に考えてみる。

そして周りの人はどうなんだとも。

結局いつもよくわからないまま。

もちろん、日々の生活や自分の趣味、仕事にかかわる事は当然

常に最新の情報を持ち行動したいと思うし、日々情報収集に励む。

その反面、生活にはほとんど関係ないし、別に何の役にも立たないような情報にも

目をとめ記事を読んだりすることも多い気がする。

そこにはなにがあるのか。


昨年(というか今もなのか)流行した美人時計もそうだ。

ただ女性が時間を書いたパネルを持って時間に合わせて写真が切り替わっていく。

技術的にも最先端というわけではないし、

時間なんて時計を見ればいい。

それでも月間3億5万PVをたたき出す、それだけの価値を見出している。

まあユニークではないと思うが。

このサービスの強みはなにか。

まず時間を選択したこと。

時間を確認しない人はいない。

スマフォ向けのアプリやガジェットの提供でWEBユーザーが一気に利用した。

美人と組み合わせた事によって男である自分も不純な理由から見てみたのも事実。

女性側からみても美人時計のブランドが確立されたことによって、

参加する事が一種の読者モデルのようになり、

興味を持つ女性ユーザーもかなりの数いる。

ご当地くくりでサービスを提供しているのも親近感を高めるのにかなりの効果を発揮している。

男性、女性の心理をうまく利用し、集客につなげてる。


というわけで、こんな絶妙なサービスを考えたいと思いは募るばかりで。

今回考えた結果、

普段意識して欲する情報なんてもうすでに溢れているし、すぐに見つかる。

ヒントは普段から特に情報収集に勤しむわけでもない、

生活自体には影響もない、だけど知らない間にその情報の中で生きている

みたいなことを見つけられればと。。。

で結局今日も行き詰る。

まずは、マーケティング、ブランディングの基礎からだな。。。。

いつか一発当ててやる! (←一発当てる人は言わないか。。。)

日々精進。