Visual Studio勉強会に参加して来ました

大阪梅田にあるグリー株式会社で開かれた、Visual Studio C#の勉強会に参加して来ました。結構早くついてしまったのですが、遅れるのに比べたら待つ方が気楽で良いですね。グリーのオフィスは綺麗でした。会議室も40名以上収容出来る広さでした。GREEのロゴ入りウォーター(ミニペットボトル)と、Microsoftロゴ入りボールペンをいただきました。

Visual Studio勉強会 : ATND

さて勉強会の方は、初の大阪でのVS勉強会だそうで、どういう話になるのかワクワクモードでしたが、プログラミングビギナーの私には結構難しい内容も多くてついていけない部分もありました。しかし、プログラマーとして働いている人が操作するVisual Studioの画面を見られたことや、注意点を教わったり、調べ方などが全て新鮮で、参加して良かったと思いました。

プログラミングに関してはずっと独学でしたから、本当にコレで合ってるのかな?っていう部分は多少有ったりします。大筋でズレている部分は無かったのですが、こういう風にすればなるほど合理的だなって言う手順を学んだり、自分と同じ手順を見て安心したり出来ました。

続きを読む

少しずつプログラミング学習

20代にMacintoshでプログラミングを学習する為、大枚はたいてC++のコンパイラと書籍も買って毎日わけも分からず勉強したのですが、結局当時は、Macintoshというややこしい環境での学習、そして情報の少なさ、周囲にプログラミングスキルを持った人が居ない等から、どんどん独学の意欲も疲弊していき、トラウマだけが残った苦い記憶があります。

つい最近まで、私はそのトラウマを克服できず、プログラミングと呼べるまでのスキルは身に付けることが出来ず、ちょっと既存のスクリプトを改造してみたり、部分的に取り出して応用してみたりという程度までしか出来ませんでした。

しかし、フリーランスとしてIT系のジャンルで食っていく関係上、プログラミングスキルの重要度は高いと判断し、このトラウマを克服すべく、昨年末から地道に独学に取り組んできました。大きなきっかけは、MIT App Inventorを使ってAndroidアプリを視覚的な開発環境で作ってみた経験です。もしかしたら出来るかも知れないなと感じました。

そしてそれを本当に実感したのは、Visual Studioという、Microsoft社の統合開発環境(IDE)を使ってサンプルを作ってみたら、9割方理解出来た時でした。アプリの見た目、ボタンやテキストボックスの配置は、Windowsアプリならではのマウス操作で行えますので、MS-AccessやFileMakerを使った経験があるなら何の苦労も無く行えるでしょう。レイアウトも自分が思い描く理想通りに配置出来ます。そこにボタンをクリックした時の挙動等を、ソースコードとして記述する訳ですが、意外と少ない記述で情報の取り込み等は行え、肝となる処理部分をじっくり考えれば、当初は無理なレベルのプログラムが作れたのです。

正直言うと、入門書籍を数冊購入したのですが、多くは退屈なサンプルばかりで、最後まで到達出来たチュートリアルは半分位です。私は、どうしても興味を持てないチュートリアルには没頭出来ません。これは社会人経験の長い人がプログラミングを始めた際に壁に突き当たる大きな原因だと思います。社会人経験によって短時間で結果を得られる方法を選択するクセがついてるからです。基礎から学ぶという遠回りは大切だと理解していてもそういう道を通ることが事実上出来ません。学生とは学習の仕方、受け入れ方が大きく違うのです。私は自分が知りたい事をすぐに学びたいのです。(これは性格など個人差が大きいと思います。)

幸い、Visual Studioはいじっている内に、色々なアイディアが湧いてくる刺激をくれます。最初はシンプルなプログラムでも、徐々に機能を追加してみようとか、こうすれば合理的だなとか言う発想がどんどん出てきます。それを実現するのに、じつはそんなに高度なスキルが無くてもなんとか出来上がったりするのが面白いのです。(当然熟練者が作ったアプリに比べると洗練度は話にならないレベルでしょうが)

それでも、回数と学習を重ねていく内に、徐々に合理的なソースコードが書けるようになって来ます。これは良い感じに書けたなぁというのも最近では徐々に増えて来ました。

続きを読む

プログラミング・ビギナーとしてのメモ

昨年末から、Visual Studio .NET 2010や2005等を使ってWindows用のアプリケーションの作り方を学習中です。私はプログラマーでは無いので込み入った仕様になれば、本職のプログラマーに依頼するのが合理的だと考えていますが、ちょっとしたツール的なアプリケーションなら自分で作れる方が便利だし、多少なりともプログラミングスキルがあれば、プログラマーとの話もスムーズに出来るかなと考えてのことです。

さてそんな私が現在気づいた事は、Visual StudioというMicrosoft社の開発環境は非常に使いやすいと言うことです。今まで使ったのはVS .NET(2002)、VS 2005、VS 2010で併用していますが、Core i7でもモッサリ動作のVS 2010は確実に使い勝手がよくなっています。軽快に動作するVS .NET(2002)では実現していない気遣い(お節介)が実現されています。

とは言うものの、Visual Studioは複数のプログラミング言語を選べるので、Visual Basic、C#、C++などからどれを学習するか迷いました。VB(Visual Basic)はビギナー向けという位置づけらしいですが、実際にコードを読んでみると理解し難い部分が結構ありました。私にはC#が一番しっくり来る感じだったのでC#を選びました。

続きを読む

Windows7で休止状態が使用できない件

Windows7はそこそこ良くできたOSだと評価しているつもりなのですが、細部でMSのお節介が鬱陶しいことがあります。

その1つが「ハイブリッドスリープ」で、スリープと休止を合わせたような機能なんですが、要するにスリープ状態なのでPCは省電力で動作している訳ですね。PCにもよると思いますが、私のPCの場合は、ハイブリッドスリープの状態だと頻繁に電源のLEDが点滅する訳ですよ。ブルーのLEDなので夜は眩しくて特にうざい。それとマウスが少し動いただけで復帰してしまうのが非常に煩わしい(こっちの方が問題だ)。

Windows XPの頃に実装されていた「普通の休止状態」にしたいと思って、スタートメニューからシャットダウンやらスリープやらを探してみたのですが、休止状態にする操作が選べない(表示されていない)。ふざけんなよと思った訳ですが、ちょっと調べれば分かることだろうと思って調べてみたところ、MSがわざとそうしていることがわかりました。要するにハイブリッドスリープを使う代わりに休止状態が使えない仕様なんだと。

少し設定を変更して「休止状態」を使えるようにします。ハイブリッドスリープは使わないので要らないです。その手順を記します。

一応、PCが休止状態をサポートしているか調べます。
全てのプログラム-アクセサリ-コマンドプロンプトを管理者として実行します。
コマンド「powercfg /a」を入力

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>powercfg /a
以下のスリープ状態がこのシステムで利用可能です:
スタンバイ ( S1 S3 ) 休止状態 ハイブリッド スリープ
以下のスリープ状態はこのシステムでは利用できません:
スタンバイ (S2)
システム ファームウェアはこのスタンバイ状態をサポートしていません。
C:\Windows\system32>

休止状態をサポートしているのが確認出来たので、この機能を有効にします。

C:\Windows\system32>powercfg /h on

/hの意味は「Hibernate」という意味になります。探究心の有る方はPOWERCFGというコマンドを調べてみましょう。/?でコマンドについてのヘルプが表示されます。

C:\Windows\system32>powercfg /?

さて、次に「ハイブリッドスリープを無効にします」
スタートボタンをクリックして、検索BOXに「電源オプション」と入力して設定画面を表示させます。そこで自分が使っている電源プラン(お気に入りプラン)から、プラン設定の変更-詳細な電源設定の変更をクリックします。

スリープ-ハイブリッドスリープを許可するを見つけ出して、オフにします。ハイブリッドスリープをオフにしないと、休止状態が使えないのが仕様らしいです。MSの考えることはよく理解出来ない事が結構あります。

これで、スタートボタンから、休止状態が選べるようになりました。より高速に復帰出来るハイブリッドスリープらしいですが、中途半端な複合機能よりはシンプルな方が私は良いと思っています。それを簡単に選べない仕様が中途半端だと思います。

MSはそういうところ結構あるんですよね昔から。OSの設定に無駄な知識が必要という。少なくともMacOSの様なユーザーフレンドリーではありませんね。まぁ、その御蔭でMS関係で飯食えるエンジニアも生業として成り立つ訳ですが。

Hibernate

IEだとサイトの更新が反映されない~Internet Explorerのキャッシュ管理はずさん

私はWebブラウザは、もっぱらFirefoxを使っていますが、どうしてもIE(Internet Explorer)でなくてはならない場合もあるので(ネットワーク機器の設定とか)、併用する事にはしていますが、IEにはほとほと困らされている次第です。

昨日も、このブログページ(WordPressで運用)を更新した際、Firefoxで見ると正常に更新されているにもかかわらず、IEでは更新が反映されないという状態に陥りました。しかも私の環境だけでなく、取引先の環境(IEしかブラウザをインストールしてない)でも同じで、このサイトを通じてファイルを渡そうとしていたので困りました。結局、電話でURLを口頭で伝えながら直打ちしてもらったのですが実に不便です。

Firefox、Google chromeでは問題なく更新されているのを確認していますが、記事を記す度にいちいち各ブラウザで確認するのはナンセンスです。それに自分ところでは更新情報が見られても、取引先できちんと表示されているかは私には確認のしようがありません。いい加減にMicrosoft社はIEをまともなものにして頂きたいものです。(取引先はWindows XPなのでIE6~IE8までのどれか、私のPCはWindows 7でIE9を使用。)

この様に、サイトが更新されているのに古い情報が表示されてしまう原因は、ほぼキャッシュが起因していると考えるのが近道です。大抵の場合キャッシュを一度クリアしてしまえば強制的に新しい情報を読み込むので最新のサイトの情報が表示されます。しかし、IEのメニューの配置もバージョン毎に違うので、電話で誘導するのも結構厄介ではあります。ましてやPCの操作に慣れていない人に感覚的に説明しても伝わりません。(それ以前にPCを使い慣れている人ならIEを使わないでしょうから・・)

検索してみたのですが、この症状について記している記事はあんまり有りませんでした。それほど重要視されていないのか?それともIEはしょうもないという事で他のブラウザを使うことが暗黙の了解になっているのか?

IEでWEBサイトが更新されないトラブルの解決法 – こころ世代のテンノーゲーム

ちなみにIE9では、「ツール」-「インターネットオプション」-「全般」-「閲覧の履歴」 にありました。
ie9

IE9で更新が反映されない為、キャッシュをクリアした後で読み込んでも、一部の画像が表示されないなど、未だに不具合は続いています。本当にどうしようもないWebブラウザだなって思います。MicrosoftのInternet Explorer開発チームってやる気が無さすぎだと思います。なのにIEしかサポートしてない場合が結構あるのが厄介な世の中の実情です。