2013年8月3日土曜日

AQUOS PAD SH-08Eのここがダメ


えーっと、ソフトとは全く関係ない話ですが、ちょっとスマホの話でも。文句多いからイヤな方は見ないでね♪
先月アンドロイドスマホを買いました。SH06Eと言うシャープ製。googleのサービスが使いたかったから。





これまでWindowsPhoneを確か6~7万で買って使っていましたが、購入して半年後には1万で売っている始末、嫌な思いをしながらそれでも1.5年近く使ってましたが、もう限界。やっと違約金発生しない来月に解約します。
※違約金って法律違反になったのでは?それでも続けてるの?クレーム入れたら払わなくて良くなったりして?笑

普段使いで一番の問題はgoogleマップがろくすっぽ使えなかった事かな?これはWindowsPhoneでは我慢しか方法がない。米アプリのそれらしいモノ入れてましたが正直使えない。徒歩、電車、自転車、やっぱアンドロイドで使うgoogleマップは段違いで良いです。それに他のアプリも豊富だからね。

個人的には物凄く押してたWindowsPhone、アプリも作って公開したけど、結局とても半端なスマホになり下がってしまったようで残念。アプリも結局盛り上がりに欠け、日本語アプリの少なさは今でも変わらず。
一番の原因は日本でversion8OSが出なかったこと。なんで!?意味不明。。MS好きの私でも、もう限界、押す事が100%馬鹿らしくなったので、終わりです。





と、話し戻しますが、、

とにかくこのSH06Eを買ってから自宅でもPCをあまりつけなくなり、インターネットは殆どスマホ。ショップの受注作業までスマホでやってしまう始末。 ただ一つの問題は、、、画面が小さい。

んー、と思っていたら、SH-08Eと言う7インチのスマホと言うかタブレットが出た!電話も使えるらしく、欲しかった大画面が方手持ちOK! 持ってるiPadはデカ過ぎ使いづらく全く使ってないし、7インチ!こりゃ買い換えだ♪
と調べていたら・・・・あらら、、スマホじゃなく残念な感じのタブレットなのね~と言う個人的感想。。



で、SH08Eがダメな理由(あくまで私の感想)

1.普通に電話出来ない(骨伝導イヤホンなど必要らしい)よってスマホの代わりにならない。
 メーカー担当者インタビューではデカいからイヤホン対応と言っていたが、逆にイヤホンつけなきゃ使えん電話付けてどうする?意味あると思う?使いづらいと思わない?車で使うしかないの?道路や会社でいきなり喋りだす奴が居たらカナリ怖いでしょ!何が変なのか?使いづらいのかわかんないかな?多少デカくても楽な方が良いでしょ!
 ・・・と言うかただのおまけで付けたよう、やってること意味不明ですね。
2.画面以外の余計な部分が多すぎ、特に縦が長すぎるからでかく見えすぎる
 画面以外の無駄な部分が多すぎる、それ程大きくすることに意味なし、縦は全く意味ない。だから作ってる本人からして変だと感じ、だから普通の電話つけなくていいや、みたいになってない!?、・・って、シツコイね^^;
3.カメラがスマホに比べダメ過ぎ、完璧に手抜きでしょ?
4.お財布携帯が使えない(別会社のサービスで、シール貼り付けたら使えるが)
5.フルセグなんてイラナイから1-4をどうにかしてほしい
 世間とずれてない?誰がマーケティングした?フルセグつけて利用者の何%が喜ぶ?0.012%くらい?
多分自分たちが喜ぶために作ったのだと思います。そんな事してたら真面目に完全に完璧に何時か会社潰れます、(個人的予想)。売れるものを作りなさいよ、そして売りなさいよ、サムスンのように。


タブレットと言う括りで出すことでスマホに比べ大分手抜きしているように見える。ホント、フルセグ、誰が喜ぶ?japanは4Kテレビ作ってサムスンに対抗しようとしている?時点でずれているのに、その流れを汲んでズレてるの?なんでズレるかな・・・?
それともわざとズラしてる?だとしたら物凄いパワフルな秘密が隠れてそう、中国も韓国もやっつけちゃうような秘密が、それなら是非教えてほしい♪


結論は、結局スマホでもないタブレットでもない端末作った様に思えます。手抜き多すます。

期待した分とても残念でした。私的には1.の電話が普通にできない、これでアウト、となりました。他は何とか我慢できるからね。


何故こんなこと書いたかと言うと、個人的にはPCの置き換えで使える7インチ程のスマホが欲しかったから。SH06Eは予想外に結構よい端末なので、SH-08Eもシャープ製だし!と思ったわけです。とにかく画面が大きい楽スマホが欲しかったのだけど。

PCの置換と言ったけど、10インチタブレットだろうと12インチだろうとキーパンチが苦手なスマホ・タブレットで本気メールや本気ワード・エクセルなんかは出来ません。ノートパソも同様。そこは普通にPCでないとね。
だからそれ以外の作業が全て出来る7インチ程の方手持ちスマホ出して欲しいですね。・・50代以上はiPadだけど、それ以下は7インチで対応できる(老眼出てなければ)。

SH08E仕変して是非スマホとして出して欲しいです、SH08E-Sとかね♪




でもさ、以前百貨店が潰れたりしてたけど、その理由の一つに、女子高生や20歳前後の女性が着る服を、女性誌も読まず興味もなく若い女性を知らない、ただの中年オジサン、・・・そういう部署に異動してきたと言う理由だけ・・・、が選んでいたという事実。ズレてるとか、もうそんな次元を飛び越えたことを当たり前な事としてずっと行っていたみたいね。そういう小さな積み重ねでダメになった=潰れた、当たり前の事です。
なんだか日本の家電業界も同じことをしているように思えてなりません。中国・韓国にやられるなんて個人的には悔しくてたまらないのだけど、でも日本メーカーのやってる事はズレてるとしか思えません。シャープだってシャープの先代社長×だったから会社潰れかけてる、たった一人のズレ人間のために。パナもそう、先見の明が無い×社長が無茶な投資をして結果失敗。緊張感無さ過ぎなんだろね、途上国や諸外国に比べぬるい日本の大企業は。社長がこの先も安泰と思ってる×な方々。
そして・・・、今現在もズレてます。多分この先2~3年分もズレてます。方向転換しないと10年先もズレてるでしょう。お先真っ暗で怖いよ・・・大手が潰れると下請け孫請け全部潰れちゃう、国を揺るがす?恐ろしい恐怖がたった一人の×社長が引き起こす、怖いです。。

これだけ喋ってズレてるのは俺だったりするのかも知れないけど、、^^;

ま、とにかく、SH08E-S、出してください!宜しくお願いします~♪、^^


_

2013年7月25日木曜日

爆速激速VPN=L2VPN


驚きました、@@
ある会社(ソフトイーサ)が出しているVPN=L2VPN。VPN処理をWINDOWS-OS上に配置したソフトウェアで行っている、ソフトウェアVPNです。

が、しかし!話さずにはいられないほど驚異的な爆速VPNだったので、話します、笑。
あ、しかし、同一局内=超近距離ですけど。

それと一般的なVPNはL3VPN=ネットワーク層で行います=俗に言うIPと言う奴。
このVPNはL2=データリンク層=一般的にはイーサネットを相手にしてます=当然L3まで処理が及ばないので構造的にも速そう=速い。






インターネットを介したVPN=当然距離によって速さはどんどん落ちて行きますが、通常VPNは入力業務では使えない激遅と言うのが相場で、当然SQLクエリとその応答を含んだVPNを介したパケット交換を行う業務システムは使い物にならないケースが多く、普通のファイル交換でもとろな~と感じるのが常識。
要するに、どのVPNハード屋も業務ソフトの作りが問題、と言う所に落とし込みます=俺のせいじゃない。

先日たまたまですがVPN案件がありアドバイスを求められ、F/WもグローバルIPも持っていない会社だったので、前から気になっていたソフトイーサのL2VPNをテストしてみては?そう提案しました。理由は数種のハードウェアを入れるより価格が安く数分の一の費用で済むから。

ルーター設定と環境を構築し(私は見てただけ)WINDOWSフォームで出来たSQLサーバーと通信を行うクラサバ業務システムをインストールし、さて、テストしますか!となりOPにデータ入力してもらったところ・・・


  なんと!!!  社内LANで使うよりVPNを介した方が動作が数倍速かった・・・、笑


実際のところのオチは、社内LANで使ったPCは数年使った古いXPマシン。windowsアップデートが沢山入り、数々の知らんソフトもインストールし、要するにかなり遅くなってしまったマシン。
リモートで使ったPCは箱から開けたての新品WIN7でCUPは遅いけど今どきのCUP、遅さの原因WINアップデートも変なソフトも入ってない=PCの一生のうちで一番早い時、です。

しかしそれにしても同一局内の数キロしか離れていない超近距離間通信+真っ新の一番速い状態のPCとはいえ、一応インターネットを介したVPNでトンネリングし暗号化処理まで行っているのにね。しかもWINDOWSにインストールしたソフトウェアが行っているソフトウェアVPNなのに!



とにかくクエリのレスポンスが無茶苦茶速く、キーをクリックした瞬間マスタテーブルの一覧表が表示されるのですよ、0.01秒位!?その他の複雑で多量データからSQLクエリを行う処理も同様に爆速。しかもストアドを全く使っていない業務システムです。もしや社内LANより速いのでは?と一瞬思ってしまった程の速さだったので驚いた訳でした。

が、実際は何処までインターネットと言うところへ出ていたのかは不明ですけどね・・・



次回は500キロ離れた場所からテストをするそうで、どれだけ遅くなるか結果が楽しみです。
でも本当に使えるほどの速さだったら、L3VPN=普通のVPNなんて死に体=化石では?と思います。
ただもし本当に超高性能だったら、発売元の会社やこの製品が潰されないか心配・・・だってL3VPNなんかで商売になる訳がない・・・

と、現時点ではその位の驚きでした。 世の中って広いね・・・






 _

2013年6月26日水曜日

コンサル兼SE兼プログラマーの引退年齢


自称40、実年齢48、個人で営業していた頃の名残で未だ仕方なく6つのシステムの面倒を見ています。全てWindowsフォーム+SQLServerのクラサバ。SQLのデータ件数もツゴ3千万件程になります。正直面倒で辞めたかったのだけど・・・、違う理由で辞めることになりそうです。

昨年1千万近い予算でとある特殊な事を行う新システムを、なんだかんだで半年程かけて作りました。正直、コードを書く作業が・・・カナリしんどかった。




そして現在。んー、ちとダメかもしれません、そろそろ限界かも???脳と体がついていけない感じ♪


若い人(~33くらい)には分からないと思うけど、分かり易いところで言うと子供の運動会。練習もせずいきなり参加、走ってみると足がもつれたりするでしょ?
って、わたしゃーそんな事した経験ないからあくまで想像なんだけど、若いころの自分を脳が覚えているのに、何故か体がついて行かず、足がもつれる、転ぶ、など思ったように走れず
???そう思うのでは?
例えば20kmマラソンで最後の5kmでもうどうにも自分が自分でないみたいになってしまう、なんで?俺ってこんなんじゃなかったのに・・・
あ、25過ぎると酒が弱くなる、そんなのにも似てます。


そしていまの私はそんな感じ♪


膨大な仕様を頭の上に画像で配置暗記しながら、あっちの事もこっちの事も考えながらコード組むのですが、まず画像を記憶しておける量が減ってきた。25%減。すると減った量の2乗くらい効率が落ちてきます。

それとこれが一番の問題、集中力が維持できない。忙しい時や、大きい処理を書く時は、集中して長い時間書かないといけないのだけど(これを潜水と呼んでます、息を止めてやってる感じ~)、それがキツクて集中力を維持できません。長時間集中するとイヤな汗をかくのだけど、この汗に我慢が出来なくなってキレそうになる。そう、こらえ性レベルも低下してる。

例えば、超!ロングな重要処理を3日間かけて書く、初日の朝起きて、あとは適当に机で食事取りながら3日間集中する訳ですが、せいぜい持って1.5~2日。時間にすると1日16時間コード書いたとして24時間~32時間で限界。すると残りの1日分は集中できずダラダラ。
たった最後の1日の集中力と気力がないだけで、3日予定の仕事が5日かかったりする。要するに途中半日~1日の休みを入れないと脳と体が持たない。

そしてこれを数か月繰り返し一つのシステムを完成させる。んーーー、正直無理だよ、(^_^;)



これを分業可能なレベルまでDBもキチット作り仕様も落とし込めば、集中する時間を減らすこと出来るから多少は楽になると思うけど、逆に分業可能なレベルまで仕様を考え落とし込む時間が無駄!!効率が良くなるなんて嘘。
落としてから作ると完成までの工数1.5倍、例えば昨年作ったシステムを3人で作ったとすると、工数2.5倍になります、多人数で作る事は無駄が多い。能力の差もいちいち考慮する必要あるし、超面倒。
ここまで酷いとは、大きな会社に勤める人ほど理解できないと思います、一人に託すなんて経験ないだろうからね。英語と日本語くらい、話す言語が違うくらいに違うやり方。
35位の頃、汎用やPC案件に参加していた時など入りで1人月額100万が5人で500万、年間約6000万。正直俺一人でやっても全然楽勝で出来るレベル。1年位なら気力体力続くからね、1日16時間OK!多額の金入ってくるし。ほんと笑えない程の低効率なんです、能力しかり、その位のレベルです、集団制作の無駄って。常にそう感じていて。銀の弾などない
その無駄な事が超!超!大嫌いで、それを押し通し続けたら一人になった、よくあるケースの人種です、はみ出し者、笑
(日本は非効率に向かっています、急速に。労働時間然り、今後国内生産を続ければどんどん生産性は落ち続けるでしょう。改善もされません。また中国も急速にそうなるでしょうね)

ただそれもついに限界到来。

新しいことを覚えるのも面倒になったし、クリレポ2012Verや、VS2012も中途半端。先日プレリリースされたVS2013=クラウドをかなり意識している。DLはしたけどインストールまでしてません。想像だけなら夢が沢山あって楽しいVS2013だけど、実際には上記の通りで多分地獄に。




今年中に客には、新たなシステムは組まん!そう話をつけ、

今年から手を引き始め、40代終わりを境に完全に現役SE、プログラマーは引退です。

第一線級の知識レベル保持情報レベルから離れるとコンサルも無理=半端業者はゴミでしかないから引退

20歳からソフト始めてはや30年近く、名残惜しい・・・とは全く思いませんね。

だってキツすぎるし、これ以上やったら真面目に死んじゃう、笑

実は・・・もっとおセンチになるかと思っていたけど、辞めると決めたらせーせーしてます。

今まで俺を数十年に渡り追い込み続けやがって、ざけんな!ざまみろ!と言う気持ちあるね

ざけんな!ざまみろ!は、これは客に対してかもしれないね、笑



ただ食いぶちが一つ減るから、その分また新しいこと始めますが、でもこれまでソフトに費やしてきた時間使って新しいことが始められると思うとわくわくするし、ホント早く辞めてしまいたいです♪

・・・と言いつつ、いまネットワークの勉強してます、ルータ、F/W、UTMなど。コンピューターはもう辞めようと思ってるのに、、、真面目にこちらからも手を引きますが、最後に心残り残して行かないため勉強してる感じです、笑



全ての契約を解除し、全て終わったその日、空に向かって全身で伸びをしたいですよ、

その瞬間が多分人生最高の瞬間になると思います、早くその時が来ないかな~♪

でもその瞬間は、これからきたる第2の地獄の始まりでもあるのだけどね、笑







ここからは話逸れるけど・・・

生涯現役なんて、あんなの嘘っぱち。中年は中年、ジジイはジジイでしかなく、年寄は年寄でしかないんだよね。脳も体も体力も。
自分がジジイや年寄になったせいで、やがて人の足を引っ張るようになります。第一線の最高の舞台を降りたら、それは引退したと同じ。第二の人生=隠居すると大して変わらん。

昨年2度目の引退したF1のシューマッハ見たでしょ?復帰して40代で3年もF1つづけたけどどうだった?やっぱね、無理、体力も脳も。チームの足をひっぱり多大なる迷惑を。

だからやれるうちに思い切りやっておく、特に若い内は無理利くのに勿体ない・・・
最近の人ってブラックだのなんだのガタガタ文句多すぎるね、煩いしウザい。1日16時間、10年仕事したって死にやしないし、仕事時間減らして遊んでたって大して面白いこと出来んしょ、半端な時間しか作れないのだから。すると遊びも仕事もどちらも半端でどっちつかず。だったら仕事辞めて1日遊べって。でもそれも出来んしょ、口ばかりで踏み出す勇気無いのだから。

やがてやりたくても出来ない瞬間が来るのに、勿体ないね。将来に対する不安ないの?あれば、コワけいなら、戦うしかないのに。きっと法律やらなんやらで守ってもらう事ばかりに慣れてる。でも自分の身は自分で守るしかないのに、それに気が付いてない。口で言っているだけで実際にやらない。頭で考えない。得体の知れない物を信じ最後に裏切られボロボロになった人を多く見る、可愛そう・・・でも逆に言えば人が良過ぎる、世の中そこまで良くなってないよ。
守ってもらうことに慣れた人は、当然そんな人は発展途上国や中国人などと勝負出来るわけない。気合違いすぎるから、生命力が違いすぎる。が、その中国人も最近は文句ばかり言うようになりダメになってきているようだけど・・・


国や社会や世間に騙されてはダメ、コワければ戦ってください。恐くなくなるまで戦ってください。そのための時間も気力も沢山作れます、若い人たちは。多分37までは死ぬ気で戦えると思います。気合入れて頑張るしかない。
頑張れって、、、無責任であまり好きな言葉でないけど、それ以外の言葉ないし、生き残るため、世間や社会や国に自分潰されないよう、気合入れて戦ってください。
それでも死にませんから♪

38以上のは・・・そこまで戦ったら死んじゃうかもね?


ジジイが偉そうに言ってますけど、その本人も本格的にソフト組むようになったのは30歳から、そこそこ組めるようになったのは40過ぎ。仕様だけは20代で覚えられたので(30歳までに8年ほど1日16時間労働してやっと覚えられた)助かりましたが、ソフトに関しては人よりかなり遅いレベル。散々イヤな想いもしたけど、そんなレベルでも諦めなければ最後は勝ちます。だから絶対諦めないと決めて進んでください。



あ、金持ち父さんと貧乏父さん、なんと15年も前の本だけど先日中古を買って読んでます。特に!日本のサラリーマンに伝えたい話が山のよう!!!
一度読んでみると良いですよ、「実践」したら人生変わると思います。成功するか壊れるかそのどちらかへ♪





_

2013年3月21日木曜日

HTML5とSilverLightとWindowsFormとMicrosoftってどうなの?


重い腰をようやくあげ・・・幾つかの業種に向けた数種の業務用ソフト販売を企画検討しているのですが、さて、今どき何を使って作る?




私は今でもバリバリWindowsForm人種で、現在も95%はWindowsForm。従ってMSにべったりオンプレミスのクラサバです。言語としてはC#、TSQLは10%、残り5%が、PHP、HTML、JavaScript、WordPress!?

このオンプレミスですが、プログラマの5倍~10倍の速度で文字入力するオペレーター(人間技とは思えない速さ)が利用する機能を有することが多く、その反応速度から、Webシステムは論外、WPFもダメ、共にこれまで全く興味ありませんでした。結局現在もSilverLightもWPFも全然winFormを超えられず、信頼できるは今もWindowsFormしかありません。

ただ委託が多く、内容も金額も俗世間とかけ離れた世界のため一般向けソフトとしてみると、一般的・・・と言うのに疎く色々調査していますが・・・考えがぐるぐる回って中々纏まりませんね。



当初WindowsFormを採用し、拡張性はクラサバ化、具体的にはSQLServerのエディション別に内容と価格差をつけようと。スタンドアロン、AD、VPSも使えるし、ソフトをインストールしたサーバーごと売っても良いし。
・・ほとんどこれで決まりかけていました。ただこれにはソフト不正COPY防止機能とアップデート機能をどうするか、ClickOnceはフォルダ内がゴミだらけになるので使いたくなく、検討中でした。

が、これだとソフトもそこそこの価格、数十万~します。毎月か毎年の保守料も必要。んー、どうなんでしょ?今どき?と思いましたが、考えてみると主要ソフトって今でもPCへインストールするタイプがほとんど。
Webシステムは、機能や操作性、端折ってる半端なケースばかりで(実現できない、、などなど)、FBも昨年webからスマホネイティブアプリに変更した。
よくよく考えるとソフトとしてのWEBシステムは2013年を見ても全く主流でなく(動作遅すぎ・・表示しかできない・・)、システムやサービスとしてみると、ゆっくり入力+情報系でしか使えない。

ならいっか、そうと思ったが、果たして価格的に売れる?売り物になる?営業に回らせないと売れない代物?
例えば2ケタ数十万のソフトを営業が売り歩いてたところで、それで君の給与稼げるのかな?みたいな。月に数百は売ってもらわないとだけど、日本中駆け回っていたら経費いくら使う?益率は?

んー、、、正直、こんなモデルだとサポートまで入れたら全然儲け出ないのでは?∴これでは商売でなく趣味になってしまいます。詳細に計算してませんが、パッと見、営業使わないと売れない数十万円台のソフトなんかダメでは?としたら・・・そもそも、、、みたいな。
あらら・・・・


そこでマイクロソフトのクラウドなんかはどうなの?そんな感じで調べ始めました。富士通はazureを自社ブランドとして日本国内にサーバーを置き商売を始めたので、これ使えるのでは?と。





と、ここで幾つかのアーキテクチャを調べました。

まず見たのがHTML5。夢があり期待は大きかったのですが、まだダメですね、と言うか2013年現在では全然xダメ。∴却下。とても残念です。

WEBは?WindowsFormと比べると画面見劣りしすぎで、よくある速度もユーザifもどっちつかずの中途半端で、、googleのapps位の事が出来れば別だけど、似たような物はよく見るけど開発に¥かかってそうな割には操作性悪くバグまで残っていたりと、日本の普通の会社レベルでは無理、∴却下。

あと、何がある?adobe?無理、と言うかムリ。
すると、SilverLightしか残ってない・・・。azure抜きにしても、込み入った事をWebでやらせるなら、他に選択肢がない?

しかし今さら流行ってもない、MS本国でも最近あまり力入れてないSilverLight、どうなんでしょ???
国内の事例見ても、ちょぼちょぼ位しかないし、、と言うか、日本でこれ使った商売ソフト売ってたなんて、、、そちらに驚いた。




んー、WindowsFormなのか、SilverLightなのか、その他の何かなのか、結局結論でず。 
ブラウザで動く普通のソフトがもう少しまともだったならいいのですが、10年たっても大して変わらないですね・・・Javaも結局は結構¥かかるし、PHPはHPならいいけど業務ソフトをスクリプト言語で!?


グダグダ記事ですが、とりあえず何かを使って実現します。
次は出来た!と発表したいですが・・・文章が長い分だけ悩みも長く・・

(続く・・)





2013年3月10日日曜日

Visual Studio 2010のVisualStudioインストーラーでCrystal Reportsのlog4net.dll関連エラーのためインストーラーが作成できない


クリレポ 2017.8 最新記事あり → https://oyaji-pgm.blogspot.jp/2017/08/20178-visual-studio-2017-2015-2013-2012_13.html


引き続きCrystal ReportsをVS2008→VS2010化しているのですが、これは業務システムが複数あるため。
VS2010化している理由はSQL SERVER 2012化対応することで問題発生するVisualStudioと.NetFrameworkとクリスタルレポートを使った業務システム の問題があるから。
今後の事を考え、クエリ作成でウィザードを使いたいが故、一つずつクリレポをVS2010化しており(ついでに.net4化)、デバッグ実行ではこれまでの記事の対策で、特にどれも問題なくレポートが出力されます。




しかし今度はセットアップを作成する所で引っかかってしまい、使用しているセットアップはVS2012で削除されたVisualStudioインストーラー。
あるシステムでは問題なくセットアップファイルは作成でき、しかし別のシステムではlog4net絡みのコンパイルエラーが発生しセットアップファイルが作成できない。


原因はlog4net.dllとエラーが出ます。 もういい加減ウンザリですよ、クリレポとlog4net。


エラー: ファイル 'log4net.dll' は 'AMD64' を対象にしていて、プロジェクトのターゲット プラットフォーム 'x86' との互換性はありません。
警告: ファイル 'log4net.dll' は 'x64' を対象にしていて、プロジェクトのターゲット プラットフォーム 'x86' との互換性はありません。



-------------------------------------
 セットアッププロジェクトで、コンパイルOK、コンパイルNG、となるプロジェクトの差異
-------------------------------------

① セットアッププロジェクトのTargetPlatform
 どちらもx86

② コンパイルが普通に通るセットアッププロジェクト、エラーとなるセットアッププロジェクト、log4netの差異(log4netは「見つかった依存関係」にある)
 コンパイルOKプロジェクト)SoucePath C:\Windows\assembly\GAC_32\log4net\1.2.10.0・・・・
 コンパイルNGプロジェクト)SoucePath C:\Windows\assembly\GAC_64\log4net\1.2.10.0・・・・



③ システムにインストールされている2つのlog4net.dll情報(C:\Windows\assembly)
 1.プロセッサのアーキテクチャー:x86、version:1.2.10.0
 2.プロセッサのアーキテクチャー:AMD64、version:1.2.10.0

上記を見れば、確かにエラーには納得。
②のOKプロジェクトはGAC_32、NGプロジェクトはGAC_64
NGプロジェクトはどうやら③-1を見ていないよう。ターゲットプラットホームはx86なので、そりゃエラーになるわな・・・と言う事は分かりました。


しかし問題は②
何故に「見つかった依存関係」に出現するlog4net.dllに違いが発生するのか?この原因が全く不明で、これ以上調べてもラチがあかないので、よくある無理やり的対処をすることにしました。


log4netを除外します。これでコンパイルを行うとエラー回避出来ます。当然log4net.dllは除外したのでパッケージングされません。
また別途ワーニングが出ますが無視。Framework.2.0でも古すぎて嫌なのに、MDAC2.8などWindows7時代にそんなもの使いませんよ。(クリレポ内部では使っているのかも知れないが?いい加減腹が立ってきたので無視 = 無視して動いて問題出ないなら本番環境でも無視します、私は)
後程出てきますが、無視してインストール実行できたので、依存関係にあるクダランDLLが使っているのでは?だったら無視。.net2.0やmdacなんてインストールしたくないですから。

 警告: 選択した 'SAP Crystal Reports Runtime Engine for .NET Framework' 項目には 'Microsoft.Net.Framework.2.0' が必要です。[必須コンポーネント] ダイアログ ボックスで足りない必須コンポーネントを選択するか、または足りない必須コンポーネントのブートストラップ パッケージを作成してください。
 警告: 選択した 'SAP Crystal Reports Runtime Engine for .NET Framework' 項目には 'Microsoft.Data.Access.Components.2.8' が必要です。[必須コンポーネント] ダイアログ ボックスで足りない必須コンポーネントを選択するか、または足りない必須コンポーネントのブートストラップ パッケージを作成してください。



エラー回避できたことでインストーラーが出来ました。警告は無視したので.net2.0もmdac2.8もパッケージングされません。これをHyper-Vで構築した真っ新なWindows7へインストール。

インストーラーでは.NetFramework4とSAP CrystalReportsRuntimeEngin for .NetFrameworkを必須コンポーネントとしているので、DLとインストールが始まります。


こちらの思惑通り、最新の13.0.5ランタイムがDLインストールされたようです。

こちらは.net、参考までに

真っ新なWindows7に下記インストールされました



これで業務システムを起動し、CrystalReportViewerへレポートを作成表示させてみます。すると問題なくレポートが出力され、印刷も、エクスポートも問題なく完了しました。


log4net=クリレポがログ出力しなければならない事態になった時、現状では何らかの問題が生じるかもしれませんが、業務プログラム作成者側はそんな情報を必要としません。

よってこれでクリレポVS2010化は全て終了としますが、ホント嫌になりました、SAPのクリレポ。疲れ果てました。。





◆◆◆◆◆◆ 再度注意!◆◆◆◆◆◆

前にも書いた.NetFramework4.0以降でCrystalReportを使う時の必須指定。これを忘れると必ずエラーが出ると覚えておいた方が良いです。これはVS2012対応のSupport Pack 5(v. 13.0.5.x)を使用しても改善しません。私は早々に忘れ、また嵌りましたメ

何故なら.NetFramework4や4.5のみインストールされた環境では.NetFramework 2.0 向けにビルドされたアプリケーションを実行出来ない(エラーとなる)ためで、これは上記ワーニングにもあったよう最新のSP5CrystalReportも、.NetFramework 2.0向けに作られているのだと推測できます。


  DataTable tb = ・・・・
  CrystalReport1 cr1 = new CrystalReport1();
  cr1.SetDataSource(tb); ←ここでエラー発生する

CrystalDecisions.CrystalReports.Engine.Engine.DataSourceException
不明なクエリー エンジン エラー ファイル C:\\Users\\xxxx\\AppData\\Local\\Temp\\temp_....{....}.rpt のエラー :不明なクエリー エンジン エラー。"}
errorID:CrystalDecisions.CrystalReports.Engine.EngineExceptionErrorID.DataSourceError



<< 対策 >>
app.configのstartup属性に必ずuseLegacyV2RuntimeActivationPolicy="true"を指定する


<startup useLegacyV2RuntimeActivationPolicy="true">


useLegacyV2RuntimeActivationPolicyとは、.NET Framework 2.0 のランタイムのアクティブ化ポリシーを有効にする
http://msdn.microsoft.com/ja-jp/library/vstudio/bbx34a2h(v=vs.110).aspx


とにかく.net4や.net4.5でクリレポを使う場合は、必ずapp.config の startup 属性にuseLegacyV2RuntimeActivationPolicy="true"をつけておけば間違いない、と言う話です。

◆◆◆◆◆◆ 再度注意!◆◆◆◆◆◆









余談ですが・・

これまでSystem.Transactionsを使って複数データ出力する場合、2つ目のoutputでトランザクションが昇格してしまい分散トランザクション扱いになるため、これまでPC側でMSDTCの設定が必要でした。(DTCサービスを起動させておくのとは別に、ネットワークDTCアクセス:PCのコンポーネントサービス.ローカルDTC.セキュリティータブを設定する事)

@ITでは分散トランザクションに昇格させないための工夫など記事になっていましたが。
http://www.atmarkit.co.jp/ait/articles/0804/25/news169_4.html
・・この記事を見る限り、ネットワークDTCアクセス設定をせず問題なくトランザクションが正常終了すると書いてありますが?実際はXPでは上手くいかなかったぞ・・

しかし・・・Windows7では特にネットワークDTCアクセスを設定せず分散トランザクションを走らせてみても正常終了します。当然DTCサービスは動いていますが。

なんででしょう?仕様が変わった?分散トランザクション扱いでなくなった?

調べてないのでよく分かりませんが、楽になったのならそれはそれで良いのですが、不思議?と言うだけの話でした。。









2013年3月7日木曜日

VisualStudio2012にSAP Crystal Reports が対応!(祝)


クリレポ 2017.8 最新記事あり → https://oyaji-pgm.blogspot.jp/2017/08/20178-visual-studio-2017-2015-2013-2012_13.html


VisualStudioでの帳票レポート制作にやっと光が!(少しだけね)

非常に困っていました、VS2012となった現在これからは一体何を使ってレポートを作れば良いのか?
最近ずっと方向性探していて、金を出すならクリレポ自体それ程良いレポートシステムとは思えないので他の製品を分析していたりと、しかしどれも大して変わらず、なら仕方なく使い慣れたクリレポのパッケージ購入しないとダメ?と半ば諦めていたら、、


SAPが密かに!?VS2012対応のクリレポ作っていたよう!!(素晴らしい)



VS2012対応版は既に2013年の1月よりDL可能になっており、リリース予定告知も2012/9に済んでいたよう・・メ






情報の詳細、DLについてはこちらのSAP社のページへ http://scn.sap.com/docs/DOC-35074
※SAP社クリレポVisualStudio情報TOPページはこちら http://scn.sap.com/community/crystal-reports-for-visual-studio

その内容を簡単に書くと・・・

1.Visual Studio 2012 and 4.5 .NET Framework runtimeに対応
2.OS: Windows 7 SP1, Windows 8, Windows 2012
3.DB: SQL Server 2012, HANA SP5
4.ブラウザ:  Firefox 16, IE10 (limited support; more information forthcoming soon)
5.Other technology: IIS 8, Flash 11

んー、素晴らしい(祝!) 

呼び名は SAP Crystal Reports, developer version for Microsoft Visual Studio と言うようです。
またどうやら今後はサポートパックと言うもので、新プログラムをリリースするよう。なので今回のVS2012に対応したクリレポも Support Pack 5 (v.13.0.5.x) と言う名前で出てるのでご注意!


・インストール

さっそくVS2008、VS2010、VS2012、CR for VS 2008、CR for VS 2010 の入ったWindows7PCへインストールしてVS2012で使ってみました。

・インストールその1 developer version

1.まず、developer version(CRforVS_13_0_5.exe)のインストール

 上記ページのSAP Crystal Reports, developer version for Microsoft Visual Studio SP5をインストール
 すると・・・いつものエラー発生(要するにSAPはインストーラーバグを直す気がない)

VisualStudio2012にSAP Crystal Reports が対応1

インストールエラーの対処方は過去記事へ → CrystalReports2010インストールエラー 2753
 ※記事中のCRforVS_13_0_1.exeをCRforVS_13_0_5.exeと置き換えて読む

 2.developer versionインストール完了

次の名前でインストールされました

 SAP Crystal Reports, developer version for Microsoft Visual   Ver13.0.5.891

名前紛らわしいですね、先祖返りしてしまったみたいで、でもVS2012版です

VisualStudio2012にSAP Crystal Reports が対応2

・インストールその2 ランタイム

1.DLしてインスト
 32bit版と、64bit版の2種類あるようです。私は64bit版をインスト。
 SAP Crystal Reports, developer version for Microsoft Visual Studio SP5 - MSI (32bit)
 SAP Crystal Reports, developer version for Microsoft Visual Studio SP5 - MSI (64bit)
こんな感じ
VisualStudio2012にSAP Crystal Reports が対応3

2.ランタイムインストール完了

VisualStudio2012にSAP Crystal Reports が対応4

画像は上のピンクと同じものです。
ランタイムに限っては、上書きインストールされるようですね、インストール日付、サイズ、バージョンに変化が見られます。


・これで環境は整った???

実は今回、DLページにあるマージモジュールSAP Crystal Reports, developer version for Microsoft Visual Studio SP5 MSM (32 bit only)の配置、特に行っていません。VS2005のときにはかなり厳密にやったのですが、現在まっさらな環境がなくまっさらインストールできないためVS2010、VS2008で使ったマージモジュールが入った環境へインストールしています。
要するに・・・中途半端なのですが、実際にVS2012で使用して不具合でていないので、出たら対処します。
※客先PCへインストールしたときなどに不具合出そうですね

・参照設定
 クリレポには3つ必要ですが(WindowsForm使用時は4つ)、これは通常自動で設定されるはず?
 CrystalDecisions.CrystalReports.Engine
 CrystalDecisions.ReportSource
 CrystalDecisions.Shared
 CrystalDecisions.Windows.Forms

・.Netフレームワーク
 もちろん、4.5、にしてテストしました。今のところ特に問題出ていません。
VisualStudio2012にSAP Crystal Reports が対応!(祝)9



と言う感じです。
最後が半端になりましたが(マージモジュール)、問題出たとき対応します。

※もし上記だけで上手く動かない場合は、下記の対応が必要なケースもあると思われるのでご参考に
→ Visual Studio 2008からVisual Studio 2010へのアップグレード(Crystal Reportsを含む)






↓ ここからは上記と大して関係ない話です







 ・VisualStudio2012+.NET Framework4.5対応版 SAP Crystal Reports を使ってみた

1.VS2008対応のWindowsFormソリューションしかなかったので、ソリューションをVS2012にアップグレード

・VSのアップグレードに関して言えば、
 ソリューションファイルとプロジェクトファイルがアップグレードされるだけで、基本的には問題なしです
 ただ今回のようCrystalReportsなどの他社ソフト(バンドル)を使っている場合に問題発生する可能性あります
 また利用コンポーネントの対応バージョンなど、その程度と思います
 (Webプロジェクトに関しては専門外なのでノーコメント)
VisualStudio2012にSAP Crystal Reports が対応5
2.アップグレードメッセージ
VisualStudio2012にSAP Crystal Reports が対応6

MSのインストーラーがなくなりましたね、これは仕方ないので製品版がぼったくり価格のInstallShield 限定盤、これ使います。

余談)
InstallShield の日本の販売元は何故あんなにぼったくり価格で販売しているのか?完全に人の足元見てますよね。どうもこの輸入代理店と言うのは嫌いですね、どんな業界のどんな商材の輸入元も、自分たちだけ儲かる仕組みで作られていますし販売店を泣かせてますから、、イヤと言うより敵ですわ。

3.変換完了
VisualStudio2012にSAP Crystal Reports が対応7
VS2012からブラウザに情報が出ますね。インストーラーがエラーとなっています。他は特に問題なし。

4.既存レポートを開く
VisualStudio2012にSAP Crystal Reports が対応8
いつものメッセージが表示されるので、はい、を選択して変換


・・・・


と、色々やってますが、特に問題は出ていません。
もちろん.NET Framework 4.5で(プロジェクト.プロパティー.アプリケーション.対象のフレームワーク)

が、動作がかなり遅く重い感じで動きます。これは実行時も同様で、データ表示までにこれまでの数倍がかかる印象。クリレポの最新版は、チューニングが「未」のようです。それにVS2012側にも色々問題あるようですし。

もしやWindows7に入れたから遅い?そう思ってWindows8下でVS2010、VS2012、クリレポ2010の入ったPC(i7、raid1SSD=超速)で同じことをしてみましたが、結果は変わらず。Win8では余計遅くなった気もしましたメメ



結論は、
私的判断では、まだVS2012(CrestalReportsを含む)へ移行しません。この動作の遅さからして、問題発生し嵌った場合の対処が無い可能もあると感じるので危険。よってVS2010+クリレポ。あと半年、1年はこの組み合わせになるのかな?と思っています。ただ新し物好きなのでちょこちょこさわってみますけど。






2013年3月5日火曜日

SQL SERVER 2012化対応することで問題発生するVisualStudioと.NetFrameworkとクリスタルレポートを使った業務システム


(この記事は、現在進行形のため随時追加変更される可能性あります)


(2013/3/4現在)


あるところでDBをSQL SERVER 2005からSQL SERVER 2012化しようと、.NetFramework(VisualStudio)で作成された各種システムに問題が出ないか調査していますが、VisualStudio2008で問題発生。
ちなみにSQLServer2012はSP1も出たことでベンダー各社積極的に利用を推進しています。サーバーOS、サーバーソフトウェアはSP1リリース=積極販売開始の合図なので、覚えておいて良いと思います。


 


『 稼働中の各種システム 』
・フレームワーク: .NetFramework3.5
・開発ツール:VisualStudio2008
・テンプレート:WindowsForm(問題に関しては他のテンプレート、例えばWebも同様と思われる)
・DB:SQL SERVER 2005
・クリスタルレポート2008

『 変更された環境 』
・DB:SQL SERVER 2012(DBの互換性レベル110:SQL Server 2012)

『 問題発生箇所 』
・テーブルアダプターのクエリを作るウィザードでエラー発生
 エラーメッセージ:「このサーバーバージョンはサポートされていません。サポートされているサーバーはMicrosoftSQLServer2005までです。」



SQL SERVER 2012化対応することで問題発生するVisualStudioと.NetFrameworkとクリスタルレポートを使った業務システム


・DBの互換性レベル90:SQL Server 2005にしても改善しない


『 対応 』
・VisualStudio2010化する(クリレポがなければVS2012化する=新しい方が後々良い)
 これしか方法がないのでそうします。が、こうするとクリスタルレポートのマージモジュールのバージョンに・・・。クリレポついては他の記事を参照ください。
Visual Studio 2008からVisual Studio 2010へのアップグレード(Crystal Reportsを含む)
CrystalReports2010インストールエラー 2753
VisualStudio2012にSAP Crystal Reports が対応!(祝)



「 後記 」
 くだらん!そんな話か・・・そう思う方は多いと思います。単純にTableAdapterやウィザードを使わず開発すれば良いだけの話。実際ウィザードやTableAdapterを使っている共同開発作業現場があるか?昔は皆無。
 しかし最近ではこの手のMS側問題がどんどん改善されTableAdapterとウィザードが十分業務で使えるレベルにまでになっています(VS2010やVS2012)。最近の私は積極的に使います。(トランザクションには使えん・・)。
理由は、
 簡単に済ませて良い画面などはウィザード+TableAdapterを使うことで、工数が1/100程に圧縮できる可能性があるので、手作りで作っていては儲かりません。これは画面1枚5分で完成する計算です。




本日現在こんなところです。つまんなかったですか?、笑




「ちなみに」
 バイナリーレベル、つまり、WindowsFormを使ったシステムですが(Webでも同様と思われる)PCへインストールした状態で実行しても特に動作に問題は出ていません(DBi/o、クリレポ、共に)

「後記2」
 既にクリスタルレポートはVS2012からなくなったが、→ 使えるようになった!(祝)、VisualStudioや.NetFrameworkなど、こういった他社ツール=ブラックボックスのソフトウェア=利用しているこちら側で変更不可能なソフト は商売が絡むので割と頻繁にバージョンアップされるが、可能であれば顧客に随時予算を使ってもらいツールのバージョンアップ時にシステムのバージョンアップを続けた方が良いよう感じます。(規模によりますが、、、どちらにしろこのご時世では無理かな?)
 理由は、フレームワークや他社ブラックボックスソフトが変更された場合にどのような問題が発生するかわりと見えてきます。よって2回目以降のバージョンアップが割としやすい。
 数年後のある時点でバージョンアップする場合、かなり苦戦すると思います。その時点で新システムへ移行するならその方が儲かりますからそれはそれで良いですが。




以上

2013年2月24日日曜日

LocalDB (Microsoft SQL Server 2012 Express LocalDB )


最近しょっちゅう書いてます。数年ぶりに完全にソフト屋モード。

いまWCFを学習中です、そろそろソフトを売る予定なのでライセンス認証サーバー立ち上げないといけません。何故なら当然自腹で作るのでタダでCOPYされたらご飯が食べれなくなります。
しかしこの認証サーバーソフトと言うか仕組一式を買うと数百万@@、保守に年間数十万、完全ぼったくり?かどうかは分かりませんが、最初からそんな予算取るほどめでたくないので、自作すべく調査中です。

いつ立ち上がるのかは不明ですが・・・完成したら認証サーバーの仕組みも売らないとです。



ところで、Sqlserver、DBの話です。



Sqlserverは、MSDNのライセンス(サブスクリプション)持っていればSTDでもエンタープライズでもDLすれば良いだけですが、そうでない場合はSQL Server 20xx Express Editionを使うと思いますが(mySQL使う方もいるようですが、それって・・・)
これタダで運用でもリモートでも使えるので重宝しますが、このExpress Edition に LocalDBと言うのが出ているのですね。軽い版。

普通のExpressは上位完全互換なので規模が大きくインストールもSTDなどと同じで時間はかかるしあまりお手軽な気はしません。が、このLocalDBは数十秒でインストールできるかなりのお手軽版です。



実際にどこまで使えるのか良くわかりませんが、面白そうなのでこのページからDLしてインストールしてテーブルまで作成してみました。

細かい話は素晴らしい皆様が記事をUPされているのでお任せして、非常に雑な画像をUPします。

私的備忘録のようなものですが・・・。




※文字が小さいのでデスクトップに張り付けて拡大してみてくださいメ
Microsoft SQL Server 2012 Express LocalDB
Microsoft SQL Server 2012 Express LocalDB




< 試してみたこと (画像赤丸の詳細は下記の丸へ記述) >


0  DLしてインストール

  本体はここに入るようです。 C:\Program Files\Microsoft SQL Server\110\LocalDB\Binn
  インストールは特に問題なく数十秒で終了



① DOS窓からコマンドを打つ

  1.インスタンス作成(インストールされると作られるV11.0とは別のインスタンス作成)
  2.インスタンス情報表示、停止、削除



③ データベースの場所

  master、model、msdb、tempdbなどのシステムDBは、現在のユーザープロファイル下のフォルダに作成される
  C:\Users\ユーザー名\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\インスタンス名
  なんでこんなフォルダに入る?と疑問に思うが、あくまで小さいDBなのでユーザー単位に、と言う発想のよう



④ DBを作ってみる

  普通に作ると、C:\Users\ユーザー名、この中に出来てしまう
  なんでもバグがあるそうで(DB作成エラー)皆さんマイドキュメントなどに作っているようですが、それは嫌なのでCドライブにフォルダ作って入れました(インスタンス毎のサブフォルダ作るのを忘れましたが・・)
  特に問題なく作れます(②のManagement Studioで作成)



② 順番が前後しますが・・ SQL Server Management Studioでインスタンスに接続し、色々試す

  1.インスタンスへの接続は、ローカルと言う事もあり何の問題なく完了
     (localdb)\インスタンス名
  2.DBを作成してみる
    特にいくつでも作れそう
  3.テーブルを作成してデータを入れてみる
    特にいつもと変わらず作れる(STDやEXPRESSと同様)



◎ 最後にやったこと

 上記だけだと何のためにわざわざLocalDBをインストールして使うのか全く意味不明なため?(expressかdeveloperでいいじゃんか?)、画像にはありませんが、もう少し使ってみようとアタッチ・デタッチ試してみました。問題なく普通にできます。

 STDエディションの本番データ →デタッチ →ローカルへCOPY →LocalDBでアタッチ →問題なく開いて加工が可能、テーブル構造変更も普通に可
 逆も行いましたが特に問題なし LocalDBでデタッチ →本番でアタッチ


 いきなり本番DBを持ってくるのはどうかと思いますし、その持ってきたデータを加工し本番へアタッチするなど正気とは思えませんが、しかしどうやらそういうことを手軽に出来ることを売りにしている面もあるようです


< MSの説明 >

・Microsoft SQL Server 2012 Express LocalDB は、プログラムの開発者を対象とした SQL Server Express の実行モードです。
・LocalDB インストールによって、SQL Server データベース エンジンの開始に最低限必要なファイルがコピーされます。
LocalDB のインストール後に、開発者は特殊な接続文字列を使用して接続を開始します。 接続時に、必要な SQL Server インフラストラクチャが自動的に作成および開始されるため、複雑な、または時間のかかる構成タスクを行わなくてもアプリケーションでデータベースを使用できます。
開発者ツールによって、開発者は SQL Server データベース エンジンを使用して Transact-SQL コードを記述してテストすることができ、SQL Server の完全なサーバー インスタンスを管理する必要はありません。
http://msdn.microsoft.com/ja-jp/library/hh510202.aspx




私はコードも設計も要件もDBもマネジメントもコンサルも営業も運用も環境もPCもサーバーもネットワークも時にはケーブル・施工も!全てやるので特にDB周りが問題になったことはありませんが、普通は分業してソフト開発していると思うので、こういう軽いDBツールはありなのかな?と思いました。

ただインストールからしてあまりに手軽すぎるので、気軽にノートに入れてデータ持ち歩いてなくした!!!など心配な面もありますが、とても手軽です。

LocalDBならdeveloperEditionと違いパワーのないノートでも開発できそう♪
が、VSが重いのでやはりパワーのないノートでの開発は辛く嫌ですね。

仮に併用したとしても、接続先名も本番とLocalDBとでいちいち変更しないとならないし、そういう点でくだらないミスが発生する可能性あるので、やはり本番と同じエディションのSqlserver立ち上げ同一マシン名にするか別名を作って接続し開発するのが良さそうな気がします。もしくはdeveloperEditionで。

でもせっかくなので何か面白い使い方を考えてみますが・・・




(後日)

考えてみました。
商用ソフトのDBとしてバンドルし、客が使うDBとして使えたら嬉しい(ライセンス詳細は未調査のため現時点では考えない)
が、システムDB群がユーザプロファイルフォルダの中に出来るので、基本そのユーザーしか使えないかな?だとするとダメですね。逆に簡易セキュリティーにはなるけど。

SQLSERVERのExpress EditionはPCでやばいオペレーションすると結構危険で、やってしまうとほぼ100%PCをリカバリーしないとダメ。するとPCに保管してたエクセルやメールデータは全て飛ぶ!
だから客のPCにあまりインストールする気にならず=Expressは個人的には好きでない。

だからLocalDB使いたいのだけど・・・
※開発者の方が使う分には問題のオペレーションはほぼ100%発生しないと思われるので、心配しなくて大丈夫です(最近試してないので問題なくなってるのかも知れませんが?・・当たり前ですが試せないので・・不明)(詳細については質問しないでね。質問は無視しますので)

んー、、、また考えてみます。







2013年2月23日土曜日

2013年版 DataGridViewヘッダーの拡張に関する問題の解消方法(DataGridViewのヘッダーを使わず、ヘッダーを自作する)


<お題>
WindowsFormでDataGridViewのヘッダー機能を使わずにヘッダーを自作すると幸せになれる?



<答え>
なれる。


<解説>
昨年の9月にDataGridViewについてウダウダ長々くだらん話を沢山盛り込んだ記事を書きましたが(何時もかも?)、お題を実現するサンプルソリューションをUPしましたので改めてご紹介します。


サンプルのDLは昨年の記事へ → こちら


短いサンプルですが、現実世界ではDataGridViewを使った処理画面(~DBi/o含む)を作るとかなりのボリュームになります。当該機能もDataGridViewを使った、とある機能てんこ盛り状態でしたが、コード量は関連するクラスを入れると4kにもなります。

だから・・・
出来ればDataGridViewを使った機能は作りたくないです、これから先もメ




サンプルの本当の姿はこんな感じ、汎用機風画面
可能な範囲でお見せしてますので、
あまりよく分からないと思いますが
対象はOP
プログラマーの10倍ほどの速度でinputします
凄まじいです




2013年2月21日木曜日

DELLのT105でWindowsServer2012にHyper-VでVM3つ


今回DELL T105を使い、WindowsServer2012Datacenter上でHyper-V3.0を有効にし、Active Directoryを仮想化していましたが、やっと安定しました。





しかし今更今どきT105の話をしても仕方ないのですが、、、、

が、デルのタワーサーバーは良いですね。
今回T105(1.5万)を使いましたが、同時期に購入したHPのML110G5(1.5万)とは比べ物にならないほど良いです。

箱から出してすぐわかるのが筐体がかなりしっかりしている点。正直この時点でML115では勝負にならないと感じますし、中を開けても内部シャーシのクリアランスが非常にキチッとしています。
HP・・・これがどうしてMadeInTOKYOなのでしょう?中国製のDELLの方がよっぽどマシ。これは結構残念に感じました。

実際HP ML115G5は使用を開始してから3か月目にVGAが壊れ画面が映らなくなり2台廃棄。ML115は3台も購入してしまいましたが使う気にもなれず処分に困っています。T105を3台購入しておけば良かったと真面目に後悔しています。

T105は音が静かなところも良いです。とろいAMDですが負荷をかけようがいまいがFANはずっと静かで(負荷の掛かりようがない!?)、HDD音だけが異様に煩く感じます。それに比べML115G5はブート時に爆音を出しますし、普通に動いていても煩いです。ファン音がダメ。

DELLはこれ以外に数年前に顧客に安いタワーサーバー(10万~20万)を導入し、1台は10名程のファイルサーバー、もう1台はaccessDBを入れ5台ほどの業務アプリPCから共有DBとして使っていますが、大した負荷をかけていないせいもありますが、4年経った現在も普通に動いています。トラブルは皆無、1度もなし。
Xeonの低クロック物でしたがFAN音はかなり静かで、最近少々煩くなりましたがこれは埃のせい。誇りはオーバーヒートも引き起こす原因になるので埃の場所に置かないことです(もしくは掃除機をかける)。

最近、静かさを売りにしている富士通の安いタワーサーバーの話など聞いてますが、ちょいイマイチな様ですね。
PCは圧倒的にダメなDELLですが(基本、知人にも客にも絶対薦めません)、タワーサーバーはかなり良いと思いますよ。タワーに関しては今後もDELL以外使わないかな?と思ってます。DELLラックは使ったことがないので不明?



と、まるでDELLの回し者のようですが?今更T105ですが、WindowsServer2012Datacenter、ドライバーが心配でしたが普通にインストールできました(DLしたISOはDVDに焼き、ドライブに入れ電源を入れただけでInstall完了)。NICもI-O DATAの安いPC用ですがただ差しただけで付属ドライバー入れずも普通に動作しています。
byAmazon

 「T105 Hyper-V3.0仕様」
・ M/M:8GB
・ HDD:320GB:付属のSATA(シングル)
・ CPU:AMD 1212 Dual-Core
・ NIC2枚(1枚は仮想アダプター用オンボード、1枚はリモートからの接続用io-data)
・ ホストOS(2012Datacenter64bit)ではHyper-Vのみ稼働(ドメイン参加なしのワークグループ)
・Hyper-V仮想スイッチ
 ・仮想スイッチは外部ネットワークでオンボードNICを使用
  「管理オペレーティングシステムにこのネットワークアダプターの共有を許可する」をチェックすると選択したNIC
  (この場合オンボード)が共有されるが、共有したくないのでi-o dataNICを増設
  チェックしてしまうとDHCPなどが稼働している場合はセキュリティー上問題が出るケースあり
 ・仮想ネットワークアダプターのMACアドレスの範囲はHyper-Vインストール時のIPアドレス(私的環境ではルーターDHCPから割り当て)の一部が下位4bitに割り当てられるようだが特に問題ないのでそのままに)
・ VM(ゲスト)
 <常時稼働>
 1.ADDCサーバー(WindowsServer2012Datacenter、仮想メモリ1024~1980MB動的、メモリ重み+1)
   FSMO
 2.ADDCサーバー(WindowsServer2012Datacenter、仮想メモリ1024~1980MB動的、メモリ重み±0)
 3.メンバサーバーDB(WindowsServer2008STD、SQL SERVER 2012 STD、仮想メモリ2980MB固定、メモリ重み+2)

この仮想メモリ量で、8GBのM/M上で3VM動作しておりホストOSの動作を含め現在のところ特に問題なし。試しにADDCは動的メモリにしたが起動メモリ量1024MBから動きません(動きようがない?)。

上記はテスト的に作った環境ですが、ドメインに属するクラサバ業務システムが5つ入ったクライアントPCからDBサーバーへデータI/Oしているだけでストアドも大した量はなく、数名で使っても特に何も起こりません。ただ20秒ほどかかるクエリを同時に実行されるとカナリ厳しいですが、、、が、動作させるのが目的だったので良しです。




恥ずかしながら今回ActiveDirectoryを学習しながら作った環境なので、厳密に言えば解決しなければならないエラーもログに上ったりしますが、一先ず問題な箇所を除いて無視。
ADDCの時計は、FSMOサーバーのハードを見に行っています。よってエラーが定期的に発生しています。しかし業務終了時に毎回サーバー電源を切るので、こうしないと翌日立ち上げたときに時計がえらいことになってしまうので、良しとしてます。我ながら適当な運用です。


参考資料ですが、WindowsServer2012の本はあまり売られていないので、2008r2用で代用しました。
byAmazon
この本、100点本ではなく70点程ですが、そこそこ重宝しています。但し使えるのは前半のAD関連箇所とコラム(補足)のみ、後半は詳細な製品紹介レベル。故に構築作業にはほとんど役にたたず。またコラム等の補足がない個所は何故それを選択するのか理由が書かれていないため無理やり本・的な感じがします。優秀な方が書かれているようですが圧倒的にページ数が足りません(5~6倍は必要)。

こちらは例えばADDC構築ウィザードで何故その選択をするのか理由が書かれているので、NETを使わずに理解を深めたり真似をして小さなシステムを構築するならこちらの方が個人的には好きです。ただそういうものは伝わらないのかあまり売れていないようですが(上の本は増刷増刷ですが・・・netを併用しないと半分は役に立たないのに・・・皆さん雰囲気がわかればそれでOKなのかな?それとも営業が見て勉強する用本?)
byAmazon

ただ最終的にはnetで自力で不明点を潰し学習しながらの作業になるので、やはり本だけで知識を得て構築するのは無理です。
それと当たり前ですが2012svHyper-VのVM上でActiveDirectoryを動作させる方法は解説されていません。この辺はログエラー潰し、障害復旧方法と実テストを含め、これから実際に実験を続けてゆかないと本当に使えるものであるのか検証が終わりません。ネットワーク屋なら、まだこの段階では検証レベル全体の1/3と言ったところでしょうね。





と、なんだか方向性の見えない文章になりましたが、
 ・T105は良い!DELLタワーサーバーは良い!と言う事が言いたかったのと、
 ・ゲストVMに構築した2台のADDC+DBサーバーは今のところは問題なく動いてます(エラー少々無視)
と言ったところです。





そのWindowsServer2012ですが個人的には大変良いです気に入りました。2008SVは細部のツメがイマイチで正直使う気になりませんでしたが2012SVは非常に好印象なサーバーOSで、これならPCのように!とまではいきませんが、今後も使いたいと思った初のサーバーOSです。(サーバーマネージャーが少々重すぎますが・・それ以外は良いです)

しかし仮想化って2012SVが良いこと以上にもっと良いですね。他にもXP、Win7、Win8のVHDも作っていますが、これだけ便利に簡単に使えるようになると物理HDDにOSをインストールするのが大変馬鹿らしく感じます。もうVHD以外扱いたくないです。逆に言うと、これからはこれまでとは違い一派的にも広がってくる可能性があると思えるので、いま覚えておかないと時代において行かれると思います。今回やってみて良かったです、(笑)

もう一つ!VDI、以前から興味があり、2012svになってVDIがどう進化したかかなり期待していたのですが・・・大した進化なく、ただ管理は大幅に良くなったようです。ただこの仕組み自体が複雑すぎる感があるので、次期サーバーOSまで我慢です。
ですが仮想化技術の進化が良くなっているのでVDIも構築しやすくなっているようですけど、現状では複雑な仕組みゆえ・・・中小にはコンサル出来ない代物です。

でもぶっこんじゃうんだろな~その手の営業なら、そして面倒だ、使えないと烙印を押され悪いうわさが広がる・・・のはお前らのせいだったのか!?(笑)






2013年2月11日月曜日

WindowsServer2012に作ったVMからWindowsUpdate出来ない件(インターネット接続できない)

※ソフト屋が乏しいネットワークの知識を駆使し行っているので解決法に誤り等あるかもしれません(私の備忘録)




ADDCサーバーWS2012、メンバサーバーの2008r2sp1がinternet接続できない


Hyper-V3の仮想ネットワークは外部とし作成しているのでこの設定は特に問題はないはず
VM作成当初はwindowsUpdateできていたが、ネットワークの動作が不安定で結局接続不可に(制限付きと表示され外部ネットワークへ接続できない=名前解決できない)
そもそも社内ネットワークにあるADサーバーが直接NETに接続するのか?と言う疑問はあるが、それでも接続させる



外部に接続する=フォワーダーを設定すると暗記していた(以前ネットワーク屋にそう聞いたのを記憶していた)
しかし調べていて疑問に思ったのが、デフォルトゲートウェイが使われるとどうなる?サーバーDNSで設定するフォワーダー、ネットワークアダプタで設定するデフォルトゲートウェイ。(またルートヒントの存在もある)

内部ネットワークにないアドレスへの接続要求は・・・言い換えると名前解決はどう行われる・・・
 いったいどちらを使って行われるのか?
 どういう基準でどちらかが優先されるのか?
 このブラックボックス(MSが作ったDLL)はユーザーからの制御が可能なのか?
疑問が湧く。

しかしいろいろ調べてみると根本的に何も理解していないことが発覚。そもそもフォワーダーはDNSサーバーのIPアドレスを設定しておかないといけないのに、ルーターLAN側アドレスって、それはそもそもDNSサーバーのIPアドレスとは違うでしょ、と。
と、それはあとで解決するとして・・・・




インターネット接続できない件は解決出来たので備忘録 (外部環境はNTTフレッツ)

・フォワーダーの使用をやめる
 フォワーダにはADの昇格させる前に設定してたルーターLAN側アドレスがAD構築で自動設定されていた
 (何故?デフォルトゲートウェイから?それともDNSにルーターLAN側IPアドレスを設定していたから?)
 NTTフレッツ:IPv4、NTTの他サービス(TV?):IPv6、の2行、これをすべて削除
・ネットワークアダプターのデフォルトゲートウェイにルーターLAN側アドレスを設定
 ADDCサーバーWS2012、メンバサーバーの2008r2sp1
・ネットワークアダプターのDNSはADDCサーバーのIPアドレスを設定
 現在ADDCサーバーは1つなので、プライマリーのみ設定



参考)
http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2008r2ja/thread/53ce36a1-7f6c-421d-bed1-32946e299a9b
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46580&forum=6 (リンクしてある@ITのページ)
http://technet.microsoft.com/ja-jp/library/cc726034(v=ws.10).aspx







2013年2月10日日曜日

学習について思うこと


これは私の感想文なのでどうでもいい話です。ご了解を。




ちなみにサーバーに加えネットワークもそうですが、ネットワークが絡むADDCサーバーなどのサーバーに関しても素人です。これを機に学習したいですが・・・(これは俗に言う希望と言うものです)



この学習について考えてみました。

もう10年20年前からDNSやTCPIP、ADなどの話をたまに本を買って読んでましたが、一向に覚えられず。なんでかな?と今回考えましたが、簡単な理由でした。それは・・・

私はソフト屋と名乗るくらいなので、ソフトに関してはそれこそ体力的にも精神的にも地獄の様な時間を経験しています。通常でも一からシステム作る場合は、出てくる問題に変な汗を出しながら必死に解決しています。そのかいあって、windowsOSに関しては普通の業務システムは組めます。

ではネットワークとサーバーは・・・?

本を読み、多少の知識を得ていましたが応用が利きません、トラブルの対処も偶然解決したレベルでしかありません。なぜソフトウェアの様にこなせないかと言うと、要するに必死になってそれこそ地獄の時間を極地の精神状態で抜け出たなど必死体験などなく、楽な環境で本やネットを使い情報を得ても体で覚えられない、このことが原因のようです。

仕組みを理解することが得意な人は本やNetの情報でも問題解決が可能と思います。が、このレベルでは永続的には¥を稼げないことが多く、それは精神的プレッシャーがかかった状態で力を発揮できるかが大きな問題です。
※1参照

やはり人間、追い込まれないと、また必死にやらないと、いろいろな事象になかなか応用が利かないようです。だから今回のネットワーク問題もソフトのように必死にやらないと身につかない、自分でそう思いますよ。

一般的にソフト屋はサーバーとネットワークの分からない人が多いですが(力技で無茶無茶する野郎が多い、SQLも書けない輩もいる)、そんな人は一度必死にやった方がいいですね。するとあとで¥なります。
私はジジイなので引退も近いけど、若い人はこれから長いからそういう体験を過ごせばのちに食べてゆく助けになると思います。いつか、過去の自分が今の自分を助けてくれますよ。

格差社会と言われていますが格差は自分が自分で作り出しているものだと思ってください。
ただ運と言われるものも必ず必要になるので、アンテナは常に伸ばし社会を生きる要領も得てください。何もせず好きにしていても運など訪れませんから。(だって高額宝くじ当ったことないでしょ?笑)



※1 プレッシャーについて
弱度のプレッシャーから、極端に強度のプレッシャー。これにはその人が持つ耐性力と言うか人間力と言うか動物的生命力が必要なため、コンピューターや仕事に限らず通常の生活の中で起こりうる強度のプレッシャーも同様、優秀な人や頭のいい人でもここでダメになる人は多く、これが生き残れるか否か(生命を含め)と言うことになります。
ただこれはその人にとってあまりにオーバースペックでないプレッシャー経験を積むことで耐性力、生命力は向上します。しかしその人のキャパを超えすぎたプレッシャー事象に遭遇すると、たいていの人は生き残れません。肉体的問題か精神的問題が発生することが多いですが、これは仕方のないことです。
私がこれまで見てきた大勢は私生活の問題含め強度のプレッシャー事象に遭遇した人の99%の人はダメになるようで、そのよう極度のプレッシャー事象が発生すると予見できた場合は、予めそれらをかわす準備をし、そのような事態に遭遇しない対処が必要です。
別にこれは逃げることにはあたらないので(自己を守る行為にあたる)回避行為を気にする必要はありません。なぜなら100人中99人の人が人間的にダメになるのですから、回避するのは人として当然です。
が、逃げると感じそれが嫌な人は正面からぶつかり対決するしかありません。しかしこの選択をした場合は全て終わった後では、やったか、やられたか、このどちらかになるので覚悟の上で対決しなければなりません。上に書いたよう、やられてしまえば肉体的か精神的問題が生じ社会復帰できなくなるかも知れませんので覚悟は必要です。メンツだのに拘り強がって身を滅ぼした人は多くいますので、上に書いた回避行為を気にする必要はありませんよ。

と、掲題からだいぶ脱線しましたね・・・笑

少々大げさに書いてあるよう見えると思いますが、現実って結構こんな感じです。用心しながら少し戦う、そしてそのたび少しだけ強くなってゆく。そのくらいが良いと思いますよ。