2012年6月21日木曜日

デザインパターン

どうにもUbuntuやWindows 8などを見ていて、最近プログラムに全く手を出せていない気がしないでもない。

ってことで久しぶりに頭の体操としてデザインパターンのお話を備忘録に残しておくことにする。

基本的にデザインパターンって何よって事だが、プログラムを実装するうえで起こりうるさまざまな問題点に対しての回答というのが簡単に理解できて短い説明だと思う。

たとえば拡張性がどうたらとかいった問題を解決する為の手法です。

色々本を読むと小難しく説明しているものもありますが、先人達が苦労したけど結果こうしたら上手くいったよってのをパターン化したものですんで、そんなに難しく考える事もないです(´ρ`)

紹介してあるデザインパターンの本についても目を通すとえらく小難しい事を書いてありますが、
意訳すると上のような感じです。

なんで気軽に考えて大丈夫です(´ρ`)

よくあるプログラムを作成するのに初心者の方々が、オブジェクト指向やデザインパターンや、MVVMなどの聞きなれないパターンを聞いて混乱する事がありますが、その辺の解決策になると良いなぁ~っと祈っております。

そもそも、オブジェクト指向などの説明も難しくしようとすれば難しく説明でき、非常にありがたく聞こえるが、内容を理解して意訳するとそんなにありがたいものでもない。

乱暴な言い方をすればオブジェクト指向はデータと関連するロジックをまとめて、蓋をして中身みえないようにして、なんかあったら外から叩いて中の様子が分かるようにしよう。
みたいなものである。

この辺ありがたがって、難しい言葉を並べると、初心者は難しいけど凄い事なんだと勘違いをして、手を出すのをためらってしまう。

なんで今回のデザインパターンについても、超意訳しまくりの、超簡単な説明としてしまおうと思っています。

これを読んで、なぁ~んだ、こんなもんかと思って頂き、楽しいプログラミングが出来る事を祈っております。

んでは次回よりデザインパターンの紹介と、それに伴う実装についてのお話を記載していきます。

そして、オブジェクト指向について、むちゃくちゃ意訳した為、偉い人が見たら発狂するかもしれませんので、多少細かい事だけ書いておきます。

もともと、むかぁ~しむかしは、構造化プログラミングというのが流行っていました。
これは、ロジックを構造化して、抜き出して再利用しやすいものにしましょうよっていう書き方です。

ところがどっこい、ロジックに渡すべきデータの内容が日増しに肥大し、データの管理が出来なくなってきた為、次は処理に使用するデータとロジックをまとめたモジュールというものに目がつけられました。

これで安心かと思いきや、モジュールに格納されるデータについての賞味期限が何時切れるのかがわからないという事態が発生するようになりました。

ってことで仕方がないので、今度はデータとロジックをまとめて賞味期限が何時切れるのかを明確にしたオブジェクト指向というのが出てきました。

これがオブジェクト指向です・・・・駄目だorz
これ偉い人が読んだら絶対発狂する(´ρ`)

私に小難しい説明は無理そうなんで、なんかわかる人がその辺まとめてくれてるから、そういう偉い人向けのはそっちに任せる。

ついでにMVVMはソフトウェアアーキテクチャパターンとなり、デザインパターンとは似て非なるものである。

この辺についても暇を見てつらつら書き綴っていきます。

2012年6月20日水曜日

ちょっと面白いサイト

何やら面白いサービスが開始されたみたいですね。

CodeIQ

興味があったら皆さん登録してみてはいかがでしょうか?

優秀な方の回答も拝見してみたいところではありますが、そういったものが見れるといいなぁ〜

ノートPC用のサブモニター

ちょっとニュースサイトをふらついてたら面白いものを発見。

 ノートPC本体に取り付ける13.3インチの液晶デュアルモニター

これは相当便利そうだ。
なにせノートPC持ち歩いてる自分も、常々出先の環境でデュアルディスプレイが欲しかった。
こういった商品がほしかったんだけど、USB接続の小さい液晶とかはあったんだけど、Windows 7未対応とか色々問題があって先送りにしてた。

今回のこれは本当に便利そうだ。
ぜひ一度使ってみたいものだ。

Visual Studio 2012 RC

Visual Studio 2012 RC版のインストールが終了しました。
(´-`) ンー 見た感じはそんなに変わってないかな?
まだインストール直後でまともに触ってもないですが、とりあえず安心?





新しい2012





古い2010

しかし、毎回思うのが3年単位でのリリースってちょっと更新が早い気もしないでもないですよね(´ρ`)

とくにOSはXPみたいに5年くらい使えるものを用意してほしいものです。

そういった意味ではWindows 7はようやくこなれてきたのに・・・Windows 8で(ノ_・、)シクシク

まっそれはさておき、パッと見あまり変わってないようで、開発ツール側はある程度一安心ですね(´ρ`)

こっから先は.NET Framework 4.5がどれだけの物になるかにかかってるような気もしないでもないです。

ざっくり.NET Framework 4.5の新機能がMSDN側で公開されてますからまずはそれを読んでから、実際のリリース時にどうなるかですよね(´ρ`)

http://msdn.microsoft.com/ja-jp/library/ms171868%28v=vs.110%29.aspx

この辺の新機能も順次紹介できれば紹介していこうとは考えています・・・考えてるだけで終わるかもしれませんがorz

ちなみに話は変わりますが、Windows 8のスタートメニューは透過メニューとしてデスクトップ上にいつでも呼び出せるみたいな形だったらもちっと受け入れやすかった・・・
あんな感じにするくらいなら、仮想デスクトップ周りをいい加減追加して固めてほしい標準機能として。



Windows 8 RC版 (´-`) ンー これ使いやすいか?

そろそろWindows 8の足音が本格的に聞こえてきましたが、実際に使用してみると、きわめて使いにくいですね。

スタートメニューが無いのがどれだけ辛いかがよくわかりました。

Windows 3.1頃からWindows 7になるまで基本的な事は、全てWindowsのスタートメニューとして処理してきた事を考えると、大きな変化で受け入れられる人と受け入れられない人の二極化がすごそうです。

実際にさっくりと画面を取ってみましたが・・・(´-`) ンー って感じです個人的には。

 

 とりあえずデスクトップはこんな感じ・・・ここからコントロールパネルやネットワークの設定などは
全てスタートボタンから遷移する画面のさらに奥深くで設定する事になるので・・・
使いにくいorz

ファイル名を指定して実行などの既存のショートカットキーはいくつか試してみたけど使えるようなのでそこは何とか安心。

 ただし、一部ショートカットは(´-`) ンーって動作ですね。

たとえばWindowsキー+Fでの検索など

あとVisual Studio 2012 RCのインストールはとりあえず使っておかねばと思いインストールしているだけです。



次はスタートですが、これも結構曲者です。
設定系が奥に入り組んでて、うわべだけの操作しかできないです。

ここからさらに入り組んだ先に移動するんですが、いまだに捜査に慣れないorz

 

 そして次は全てのアプリ画面です。
これまた微妙です。この画面出す為だけの操作がえらいめんどいです。

開発中にパッと使おうと思っても使えないってのが泣ける。

何より、キャンセルしてデスクトップに戻るのもだるい。



そしてさらにアプリの画面ですが、まぁ~よくぞこれだけやってくれるわって感じですね。
ここまで来ると(´ρ`)

 

 そしてPC設定の変更。
右のランチャーから移動が出来ますが、そもそもこんな奥まったところにWindows Updateおくなと・・・

(´-`) ンー 色々不満だらけです正直。

タッチパネルとPCとWindows Phoneのデザイン、操作性を統一化しようとしているのでしょうが、
正直言ってPC使ってる時にタッチパネルなんざそもそも利用対象外ってのが個人的意見なんですが、皆さんその辺どう思われます?

Windowsが広く使われているのは、Officeなどの仕事で使われているソフトウェアが一番広がっていて、且つ、便利だからだと思っているのですが。

あくまで個人的な利用にとどまり、遊ぶためのツールとして見た場合、今回の操作性の統一などはある程度理解できますが、仕事で使うツールとしては不適切になったなぁ~ってのが個人的な意見です。

あっちこっちにいろんなものが散らばっていて、しかしながらタッチパッドで操作するのであれば、仕方がない事で、ただし仕事でマウスとキーボード使って使用するのであれば、非常に手間がかかってめんどくさい。

企業向けというよりも一般向けなんでしょうかね・・・

企業としては、マウスとキーボードをI/Oとして使う前提で、考えると全く魅力を感じないOSに生まれ変わったなぁ~って感じですね。

(´-`) ンー このOSを企業が買うかといわれると、難しいですよね。
何せ、ネットワークの管理、セキュリティー管理、さらにはソフトウェア管理・保守の手間まで含めても、ただ書類作ったりするのに使いにくくなってるんですから。