読者です 読者をやめる 読者になる 読者になる

森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

2015 MVP Community Camp大阪 登壇者紹介 刈歩 菜良 CTPさん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。

見どころとして登壇者をランダムに紹介していこうと思います。一応サーバー系は昨日で終わりました。3日坊主にはならずでホッ。今日は刈歩 菜良 CTPです。
https://pbs.twimg.com/profile_images/2621890346/7jg4osgb56khjb4yl6t6.png


刈歩 菜良 CTPさんはかるぼ塾の主催者でMicrosoft MVP for .NETです。かるぼ塾は
超初心者向けプログラミング勉強会で、以下のような特徴があるコミュニティです。

  • 寺子屋形式(つまり、スピーカーが一人前に立ってしゃべるのではなく、みんなでわいのわいの形式です。)
  • 少人数制(男性5名、女性5名を先着順で。定数を男女別にしたのは、偏ると参加しにくかったり、発言しにくかったりするので。)
  • C#またはVB対象です。一応プログラミング始めたばっかりっていう方がメインの対象者ですが、初心者を教えるにはどうすりゃいいんだってというエキスパートな方や基礎が分からないまま来てしまった中級者の方もうぇるかむ。
  • かるぼ式メモリー図で、プログラミングの初歩の初歩からオブジェクト指向までを理解します。
  • プログラミング勉強会なのにPC使いません。紙とペンのみ!
  • 隔週1回1~2時間平日開催(←※森理注。まだやってない!)


刈歩 菜良 CTPさんは、って読めないですよね。カルボナーラさんですけれど、刈歩さんは非常にスペックの高い人です。プログラムだけでなくライフスタイル全てにおいて。この人は何でも出来るなーと羨ましくなります。あととても明るくて周りの人をハッピーする力を持つ人だと思います!こういう大人になりたい。


というわけで、刈歩 菜良 CTPさんのセッションは「かるぼ式メモリー図のすゝめ -プログラミング基礎基礎からオブジェクト指向の理解まで-」です。内容は「プログラミング未経験の超初心者から色々見えてきた中級者、ひいては初心者の気持ちを忘れてしまったエキスパートまで、一緒にプログラミングの超基礎からオブジェクト指向まで、かるぼ式メモリー図を使っておさらいしましょう。あなたはそのソースコード、メモリー図を使って説明できますか?本人は顔出しNGなので、本人に代わりスピーカーは自称年齢性別国籍不明「ぢゃま いかを」氏が務める予定です。」です。何気に僕自身も興味深いセッションの一つです。


興味を持った方は是非2015 MVP Community Camp~大阪~からお申し込みください!

2015 MVP Community Camp大阪 登壇者紹介 亀渕 景司さん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。

見どころとして登壇者をランダムに紹介していこうと思います。今日は亀渕 景司です。今日もアイコンですね。
https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xpf1/v/t1.0-9/1017535_777316455645844_8411766140301730596_n.jpg?oh=cdff21dcae321166ea7d4c48f6533948&oe=5515AF40&__gda__=1423981953_b621d214c281318e400074dc531c8373


亀渕 景司さんはJapan Azure User Groupの主催者でMicrosoft MVP for Windows Azureです。Japan Azure User Groupは「JAZUG は、Azureを学び、楽しみ、活かす、日本のユーザーグループです。2010/8/26に結成したコミュニティです。ぜひ、一緒に作っていきましょう。ちょっと興味がある=ゆるふわな方 から実ビジネスで使うんだよね な方まで歓迎職種はなんでもござれ、ゆるふわなコミュニティとお考えください。」というコミュニティです。


亀渕 景司さんはAzureに本当に詳しくて、Azureに詳しいってことはもう全般詳しいフルスタックな技術者です。わりとどんな質問でも嫌な顔もせず答えてくれて本当に助けてもらってます!あとイケメンですね。しかも仕事が出来て良い人なイケメンです。は、なんてこった。敵じゃないか。


というわけで、亀渕 景司さんのセッションは「クラウドことはじめ - Microsoft Azure で始めるパワフル・コンピューティング」です。内容は「クラウドって何?Azureって何?どんなことができるの?という疑問にお答えしたいと思います。」です。答えてもらいましょう!


興味を持った方は是非2015 MVP Community Camp~大阪~からお申し込みください!

2015 MVP Community Camp大阪 登壇者紹介 織田 信亮さん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。


見どころとして登壇者をランダムに紹介していこうと思います。今日は織田 信亮です。今日はアイコンですね。
https://dl.dropboxusercontent.com/u/152061/icon/img_normal.jpg


織田 信亮さんはSQLWorldの主催者でMicrosoft MVP for SQL Serverです。SQLWorldは「MicrosoftテクノロジであるSQLServerを中心に他のDBや正規化/モデリングの勉強会を開催している」コミュニティです。

織田さんはめちゃ物腰低くてニコニコしていますが、めちゃめちゃプログラム出来ます。SQL詳しい人はレアなんでとても勉強になります!きっと恐ろしい化け物をその中に棲ませていると思います(昨日修羅の門を読んだ影響が。。)織田 信長とは関係ないですが、最初子孫かと思いました。はい。字面だけです。

というわけで、織田 信亮さんのセッションは「これから SQL Server をはじめるには」です。内容は「SQL Server をこれから使ってみようという方に向けて、SQL Server/SQL Server on Azure/Azure SQL Database と色んな選択肢があるなかで、どのような特徴があるのか/何が違うのかかを簡単にご紹介します。」

聞きたいなーと思ったら是非是非2015 MVP Community Camp~大阪~からお申し込みください!

2015 MVP Community Camp大阪 登壇者紹介 山﨑 淳朗さん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。

見どころとして登壇者をランダムに紹介していこうと思います。さて何時まで続くか。今日は山﨑 淳朗さんです。
https://lh5.googleusercontent.com/-hw-_6Y5iRpk/VKm2IxfRRgI/AAAAAAAADRo/wY_ly0Iapl4/w506-h472/72835_460134524064734_1508428849_n.jpg


山﨑 淳朗さんはJapan SharePoint Groupの主催者でMicrosoft MVP forSharePoint Serverです。Japan SharePoint Groupは「Microsoftテクノロジである、SharePoint についての勉強会を開催していて、ShrePointとは、企業内で情報共有などを行う事が出来るWebアプリケーション」というコミュニティです。


僕が産まれて初めてわんくま同盟でセッションした時に山﨑 淳朗さんとお会いして、何か気にいってもらえたみたいで、それ以降色々お世話になっています。僕のやったハッカソンの第1回にも遊びに来てくれてました。が、僕はJapan SharePoint Groupには一度も行ってないというね。ハイ。ごめんなさい。


というわけで、山﨑 淳朗さんのセッションの内容は「SharePoint Serverを紹介します」です。基本的なアーキテクチャの説明を説明し、インストール方法も説明します。!興味を持った方は2015 MVP Community Camp~大阪~からお申し込みください!

2015 MVP Community Camp大阪 登壇者紹介 waka さん牟田口 大介さん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。

見どころとして登壇者をランダムに紹介していこうと思います。さて何時まで続くか。今日はwaka さん、牟田口 大介さんのPowerShellコンビです!
https://connpass-tokyo.s3.amazonaws.com/thumbs/c2/59/c259646e53c4c8883f5a026feb6685e7.png https://scontent-b.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/15468_10204836666777850_1887423448626173516_n.jpg?oh=e758fe7364a3a55d95a42f04f6f11cc4&oe=54D81353

wakaさんはJapan PowerShell User Groupの大阪の主催者。牟田口 大介さんはわんくま同盟大阪のコーディネータでMicrosoft MVP for PowerShellです。お二方ともPowerShellに関してのスペシャリストで、今回はサーバー系のセッションが2連続でPowerShellとなりました。


まだPowerShellを使ってない人は今回を機に是非始めて欲しいなと思います。実は僕も最近PowerShellはじめましたPowerShellの最大の問題点は認知度がまだcmdに負けていることだと思います。cmdはCoreMouDame(コレモウダメ!)ですよ。是非PowerShell使いましょう!


というわけで、セッションの内容としてはwakaさんが「PowerShellで変わるサーバ構築と管理」、牟田口 大介さんが「PowerShellスクリプトを書いてラクしよう」です。つまりPowerShellを書いたらサーバー管理が楽に変わるということですね!興味を持った方は2015 MVP Community Camp~大阪~から是非申し込んでください!

2015 MVP Community Camp大阪 登壇者紹介 ジニアス平井さん

2015年01月31日(土)に「2015 MVP Community Camp~大阪~」が開催されます。


今日から見どころとして登壇者をランダムに紹介していこうと思います。最初は日本マイクロソフトジニアス平井さんです。https://pbs.twimg.com/profile_images/464494847/masath_400x400.JPG

今回このイベントの開催が決まって、講師を探している時にジニアスさんのセッションを見る機会があって、まさに今回の内容にふさわしい内容と思ったので、オープニングセッションをお願いしました。ジニアスさんのセッションは特にデモが素晴らしく、そのデモのために専用のツールまで作られおり、気合いと愛のこもった内容でした。


今回の2015 MVP Community Campは最新の技術を分かりやすくをテーマにしています。ジニアスさんのセッションは、まさに最新の技術を分かりやすく、遊び心に飛んだ内容で見せてくれると思います。僕は最新技術は遊びに使うのがもっとも贅沢だと思うんです。ジニアスさんのは最上級に贅沢なセッションだと思います。


というわけで、今回のオープニングセッションはジニアス平井さんによる「マイクロソフト最新技術動向 2015 ジニアス・スペシャル」です!会場はなんと200人入れるシアター形式の会場のため迫力満点の内容になると思います。申し込みは2015 MVP Community Camp~大阪~からです。
http://prtimes.jp/i/1003/16/resize/532f7d138d9bc13b8ac21755653689aa.jpg

自動化の話をしようじゃないか

http://image.slidesharecdn.com/aaaallforautomation-140627213852-phpapp02/95/asianaa-1-638.jpg

と言うわけでこの内容はみうみう自動化Friendly Advent Calendar2014、24日目の記事です。

自動化出来ない!

僕は自動化が好きで色んなアプリを自動化しています。特に複数のアプリを組み合わせて、人間がやるべき操作をワンクリックで全て出来るようにすることが大好きです。しかし、ワンクリック自動化には限界があります。当たり前な話ですが、アプリ側が外からの操作に対応していない場合自動化出来ません。


ワンクリックオートメーションにおいて重要なのはアプリの操作だけでなく、起動と終了もです。この3つが確実に出来ないと折角の自動化が途中で止まってしまい、手動の操作を余儀なくされます。実は操作用にスクリプトが用意しているアプリですらも、スクリプトで終了出来ないものもあります。例えばphotoshopとか。

それでも自動化 。でも、

回避方法はいくつかありますが、最も手軽な方法がキーボードエミュレーションです。つまり手動では出来るけれど、プログラムでは書けない処理は、手動の動作をプログラムでトレースしてやれば良いという発想です。これで操作出来ます。しかし、キーボードエミュレーションは最終手段で、出来る限りやらない方が良いです。


なぜなら、操作をするのに、キーボードエミュレーションではどうやっても成功する確率を100%に出来ないからです。単純な所では操作中に人間がさわって他のアプリを起動してしまうと失敗します。それ以外でもタイミングや時間、ポップアップなどさまざまな要素で失敗します。

電卓とメモ帳操作VBS

では実際に電卓とメモ帳を操作してみましょう。電卓で11111111 / 9を計算してその結果をメモ帳に貼って保存する自動化を作ろうと思います。しかしメモ帳も電卓もスクリプトなどは用意されていません。そこでVBSでキーボードエミュレーションで対応してみます。

さて、このVBSは、WScript.Sleep 1000を短くすると失敗します。1000でもマシンスペックによっては失敗するかもしれません。では十分に長い時間を設定すれば良いかといえば、今度は別の危険が増えます。誰かが操作したり、IMがポップアップしたりするかもしれません。つまり適切な時間を決めるのがとても難しいのです。

あれ?この話

さて、ここまでの内容はFriendlyの作者本人がアドベントカレンダーで散々書いていた内容と類似しています。これは意図していたわけではないですが、一方はテスト自動化の話、もう一方はアプリ自動化の話です。内容的には違うのですが、やっていることはとても似ています。


失敗するテストは必ず失敗してほしい、成功するテストは必ず成功してほしい。そう考えて作られたライブラリ。この知見をアプリの操作に使ってみましょう。で、大きな注意点があります。これはFrindlyとしてもあくまで公式な使い方ではありません。用法容量を正しく守り、作者に感謝の意を表し、足を向けて寝ないように気をつけましょう。

電卓とメモ帳操作Friendly

ではFriendlyを使って同様に操作してみましょう。

ポイントは2つあって、時間による待機がないこと、そしてクリップボードを使わなくても値を取得設定していることです。クリップボードだとコピーしてペーストするまでの間に書き変わってしまう可能性もあります。そして時間で待たないことで失敗がない上に最速で動かすことが出来ます。

自動化はなるべく正当な方法で

このような感じでFriendlyを使えば、本来操作出来ない、出来たとしても成功確率が100%にならないアプリでもかなり確実性が高く操作出来るようになります。でも、Friendlyは最終兵器です。最終兵器は最後にそびえているからこそ意味があるのであって、通常は使わないにこしたことはないのです。


当たり前ですが、アプリの操作はアプリが用意している方法でやるのが正確で確実です。そのアプリで操作出来ないかをキチンと調べてください。まずは何よりそのアプリのマニュアルを読んでください。コマンドラインで叩いてみると分かることもあります。ネットも活用しましょう。

電卓とメモ帳を使わない操作C#

アプリが対応していないなら仕様やアプリを変更して自動化出来ないか考えましょう。計算してその結果をメモ帳に貼る操作であれば、電卓でなくてもExcelを使えばキーボードエミュレーションなしに操作できます。というか今回のケースであればC#で1行で書けます。

最後に

自動化はほとんどの場合結果さえ出せれば途中の工程がどうやっていても問題になりません。仕様を考えて、アプリを正しく把握して、それでもダメな時にはFriendlyを使いましょう。これで素晴らしい自動化ライフが待っていると思います。目指せノークリックオペレーション!明日はいよいよFriendly Advent Calendar2014ラストデーです!