tech.guitarrapc.cóm

Technical updates

PowerShell勉強会(仮) の結果を受けての勉強会仮予告

先日は、PowerShell勉強会(仮)*1 のアンケートにご協力いただきありがとうございました。

ざっくりと結果と、今後どうするかについてお知らせです。

参加希望者数

98人でした!

また、コメントの方も合わせると + 5名で103名となります。

正直20名行かないと思っていたので、想像を超えた反応があって驚きつつうれしいです!

以下、直接コメントに書かれた方を除く参加者の声です。

希望セッション

参加者の声からザクッと数字だけで洗いました。 おひとりで1,2両方なども重複カウントしています。

1希望 2希望 1,2希望 該当なし
32 24 12 39

声の内容を文章から独断と偏見で加味すると以下です。(1.5は1と2両方に加算)

1希望 2希望 1,2希望
62 38 19

参加者の声

ざっくり抜き出してみました。

参加者 声
G.O.R.N まあ、こなれているで2ですかね。 少し考えているのはデータ分析のデータ加工って方向で何かできないかです。
tanaka733 PowerShell をC#から呼び出したい
SnowCait(雪猫) 興味はありつつも使ったことはほとんどないので初心者向けだとありがたいです。
どんどん 文法と代表的なコマンドレットだけ把握して結局一度も使ってないのでどのような場面で活用できるのか知りたいです
oota_ken TDD & BDDのが地の開発で使いたいです
あさい 文法と基本的なコマンドレットは覚えたのですがなかなか使う機会もないので、初心者向けと応用編を程よく織り交ぜて、なのがいいな、と。
bb3540usagi
りくちゃ 初心者向け行きたいです。cmdとの違いがよくわからないので、そこを理解した上で使ってみたいですヾ(*‘ω‘ )ノ
c-yan PowerShell は落とし穴多すぎます
megascus おっさんですが、しょしんしゃです!
yfakariya 2に興味があります。
Pyromaniaxxx 2の内容に興味あります(・ω・)
遥佐保 PowerShellでWindowRuntimeを呼び出したい
OTA Hirofumi PowerShell から逃れられなくなっているので…。初心者レベルです。
waritohutsu PowerShell で Office 365とオンプレADのSSOをさっくり構築したいです
kanedaq 初心者デス
Danna PowerShellもだけど、マウスを使わない・使っちゃいけないWindows勉強会って需要ありますかね? …初心者です、よろしくお願いします
kogesaka 2に興味があります。
mutaguchi 自分が聴きたいのは2ですが、1大事だなと思ってます。1と2がバランスよく開催されるとハッピーになれる人が多いかも。1の日でも2の要素をちょっとだけ含める、あるいは逆、というのも。
Toshihiro_Skk 初心者向けでって所ですが、都内だと確実に無理だったりしますw
木沢朋和 OSの色々な設定を一括で設定するようなノウハウが欲しいです。というところを勉強したいなと思っています。
matarillo 1と2が半々ぐらいがいいです。
norimaki2000 1に興味あります。サーバー管理者として構築や日常の保守業務などでPowerShellを利用する事を想定しているのが希望です。設定や、ログ抽出や、ユーザー登録や変更などなど。
Akira Sugiura
Ahf PowerShell イン アクション(http://amzn.to/1gbUgOa)の 8 章にあるような話題をもっと掘り下げられると個人的にはうれしいかも。 初心者向けとこなれた人向けは半々だと嬉しいところです。PS Workflow あたりしか見ていないので初心者向けセッションでちゃんと勉強したいところで。
genkiw 独学でやってるので、体系的に1とかも知ってみたい気もします。
threecourse 初心者向けとこなれた人向けの中間くらいな感じで。。落とし穴多すぎ&.Netっぽい書き方とPowershellっぽい書き方のどっちで書くか結構迷います。
tajiriy 初心者なので1でお願いしたいです。 Windows管理系をやってみたい。
sunnyone 2に興味がありますが、基本的なところが学びきれていない部分があるので1も興味あります。
mayuki ちょっと触った人がステップアップできる1.5ぐらいがいいとおもいます!
hanakara_milk ゆるふわな感じで、文字数の少ないコマンド、その実行の組み合わせや、パイプ等が可能なUNIX/Linuxコマンドに比べて、まだまだPSの長いコマンドや記述のお作法に馴染めず、悪戦苦闘しています。可能であれば、UNIX/Linuxコマンドとの対比なんかを交えて勉強したいです。
TearTheSky 2の内容を「それってなんだっけ?」って言うところからお話してもらえると最高です。
fjtter 1を希望します!
true_clear411 1の初心者向けに興味があります
kkamegawa アンケートに答える人的には2なんだろうけど、PowerShell何それおいしいの? という人的には1なんだろうなぁ…問題はそういう人がこういう勉強会に来ないことなんだけど。
kaidnu よろしく
lovemeg 1と2の半々ぐらいだとうれしいです。2だけだとほかの友人を誘いにくいので…。
imksoo 2に興味ありますー♪ただ盛りだくさん過ぎる気配もw
ちゅき 1になるのかな? 最近、非同期系のコマンドも増えてきてエラーハンドリングが結構面倒だったりします。モデルパターンなどを教えていただけるとすごくうれしい
konkon1234 出てる本が大体古いので取っ付く為の切欠にしたいです。だから1かなぁ。でも実際に業務で使えるレベルの話だと嬉しいので1をサラッとやった後に2とか
ぐらばく 1 からじっくりタイプ
目代昌幸 cmdの延長線上で何とかなるんじゃないかと思うと、そうはいかないPSを勉強したいです
jt_noSke はい
kukita 「PowerShellをこなれて使っている人向け」の方に参加希望です。"PowerShell Community Extensions"を使ってる人とか、BDDフレームワーク"Pester"を使ってる人とかの話聞けると嬉しいんですけどね。。。
wasai ほとんどはログとかのバッチ処理用です。 平日開催だと参加が難しいかも。
JHashimoto 1.2でお願いします。
moririring 1からじっくり。ついでに言うとサーバー構築入門もからめてやって欲しいとか思っています。Azure入門とかでも。出来れば関西でもやって欲しいです。
domiodomi 初心者ですが、興味があります。
kanoka 1からジックリ勉強したいです。
tetsunari_jp 1.PowerShellでしかできない設定があるのはわかりますが、なぜPowershellなのかというところから
foggge 1で興味アリです。
gandalf_maki 興味が在るので是非参加したいです ただ都内は難しい(^^;)
NagiCats 完全初心者向けを希望します。 初心者向けから少しずつすすんでいただけるとありがたいです。
saka_pon どのくらいまで複雑なロジックが書けるか。あとはリファクタリングとか、ISEなどの開発環境で便利な機能とかあれば。1.5ですかね。
omanuke やらなければと思いつつ手を出せてないので機会があればぜひ
たいちょん 1に興味があります。
wataruf01
おぎわら PowerShellもっと普及してほしいので自分もいろいろ勉強したいと思います。
KTZ 一応普段づかいなので、2希望かな
hanata 1から勉強したいです。
だるやなぎ はみでた
ponta25
ksasaki@microsoft.com 初めにおぼえた基本的なコマンドだけで何年もお茶を濁してきたので、ちょっと難しいことできるようになりたいです。
tebora 1を希望します。cmdしか使ったことない初心者向けのセッションがあるとうれしいです。
hikoma2 2 の方が興味あります
Masawa Morishita 1.であれば参加したいです。
hyosioka
ds_optim サーバー管理とかやらない人がどのような風に便利に使えるのかを知りたいです.どちらかというと2ですね.
junichia いいですね! 独自の非公式MCP試験とかつくっちゃいますか!
sakiaruto
Toshinari Sone
sleepy_taka
wind06106 少し触った程度の初心者です。基礎から知る「1」に参加したいです。 2でお願いします
kashew_nuts 初心者向けでお願いします。
kunyami 1を希望します。
manamana_tw 2に興味あります。 PowerShellはもっと評価されるべき!
kumake 素人なので1が多め、くらいがいいです。特にエディタやツール、ライブラリなど、文法や出来ることよりは周辺環境について興味があります。
alimta 基礎 : 応用 を4:6くらいの割合だとうれしいですね。
fukuda.tomonari 1と2を希望します。
jhotta
原 俊太郎 初心者向けだとありがたいです。。。
takekazu omi
nik 1と2の真ん中ぐらいなので、半々やってほしいです。
sappy 初心者です。batやPerlとかだと面倒な部分だけ少しだけPowerShellも使わせてもらってます。ただ職場で導入しようとしても、まわりも素性の分からないものは抵抗が大きいので、セキュリティとかアップデートやパッチの対応等、入れて苦労しなきゃならいことは何なのか知りたいです。
atsaki 1、2半々くらい希望です。
ダメ猿
NAL-6295 1かなぁ 1希望のしょしんしゃです。
enrike3 基本はある程度わかるので個人的に2を希望です。
ほそみち 初心者向けでお願いします!
neuecc ど・しろうとなので1よりで
SIGE 2が希望です。 最近使う機会が多くなったので
hayashi h 2から
N.S. 業務で使用されている方レクチャが聞けると嬉しいですね
rbtnn PowerShell力高めるために参加したい。
八木 悠 両方共非常に興味が有ります。
finalfusion_h 1、2どちらでも。たまに思い出したように使ってみようとするも細かいところを覚えていないのでぐぐりまくりだったり。
hidezzz 1希望です。素のWindowsでシェルスクリプト相当のバッチ処理をするために、PowerShellの書き方を覚えておきたいなと思っているので…。
Altrive 2. PowerShell DeepDiveを希望

以下、コメントの方です。

コメントの方 声
norie 2でお願いします。…まあ、ガリガリ書いているわけではないので、結構基本的なところで見落としがあるかもですが…。mac bookだらけでは無い勉強会に期待!
くげもん 1を希望します。
Masawa Morishita 私も1を希望いたします。
Danna 会場:MSの品川オフィスが借りらせそうですhttp://www.doorkeeper.jp/%E4%BC%9A%E5%A0%B4/microsoft-shinagawaあとはフューチャーアーキテクトとかhttp://www.doorkeeper.jp/%E4%BC%9A%E5%A0%B4/future-architect
junichia 20 名限定でよろしければ、MS 品川 トレーニングルームでハンズオンも可能ですよ~ 部屋取りはお任せください。

「今後の方向性」と「予定」

方向性

思いの他「初心者向け希望」が多い! 、と思いきや「2の中でもマニアなコメント」がありました。

何より、「1,2を織り交ぜて」という声の多さに驚いています。

選択肢として以下がありますが、まずは「1,2を合わせた勉強会」でいきます。

  • 1,2を合わせた勉強会
  • 2のみの勉強会
  • 1のみの勉強会

また、私の活動拠点が都内なため、しばらくは都内を予定していますが、機会があれば他でも行いたいです。

開催予定

まずはやらないとなのです。が、現在身動きが取れず、講師の方にも声をかけていないので少し待ってください。

まず予告とします。*2

内容も基本は、PowerShell勉強会での記載内容や講師の方へのお願いで決めます。

  • 日付 : まだ未定ですが、 12月頭~20日までの土日どちらか
  • 時間13:00~18;00程度 (まだ未定です)
  • 会場 : 都内 (参加人数次第です)
  • 内容1 : 前半PowerShellの基本的なお話 *3
  • 内容2 : 後半PowerShellの高度な関数やリモーティング、他モジュール、他言語との連携など発展的な利用方法 *4
  • 講師・ LT枠 : やりたい人を募集中。誰か声をかけてくだされば! *5

定期開催

定期的に行う予定です。

日本において、 PowerShellがより普及してもっと楽に自動化できることを目指して。

蛇足

今回の集計やmarkdown貼り付けはべたにHTMLからとりました。

コードをさらしておきます。*6

Invoke-RestMethod -Uri http://atnd.org/events/44585 -Method Get -OutFile d:\hoge.html
$read = Select-String -Path D:\hoge.html -Pattern ".*"

# get number join
$read | where line -match '<h4><span class="symbol red">▼</span>(?<join>.*)</h4>' > $null
$joinNumber = $Matches.join

# get comments
$start = ($read | where line -like "*<!-- #members-join -->*").LineNumber
$end = ($read | where line -Like "*<!-- //#members-join -->*").LineNumber
$comments = $read.Where({$_.linenumber -ge $start -and $_.linenumber -le $end}).line

cls
$joinNumber

"# コメント一覧"
"|参加者|コメント|"
"|----|----|"
$comments |
    % {
        # get name
        $_ -match '<li><span><img alt="(?<name>.+)" class="icon"' > $null
        $name = $matches.name

        # get index of comment
        $startIdx = "$_".IndexOf("<em>") + 4
        $endIdx = "$_".IndexOf("</em>") - 1

        # filter not comment line
        if ($startIdx -lt 4)
        {
            $startIdx = 0
        }

        # output
        if ($_[-1] -ne ">")
        {
            # コメントが次の行に続くためここでは出力しない
            $endIdx = $_.length
            $next = ("$_"[$startIdx..$endIdx]) -join ""
        }
        else
        {
            $now = ("$_"[$startIdx..$endIdx]) -join ""
            if ($now.StartsWith(" "))
            {
                # タグのみのため出力しない
            }
            elseif ($now -eq "<>")
            {
                # コメント空白
                "|$name||"
            }
            elseif ($next)
            {
                # 前の行の内容と結合して表示
                "|$name | $next $now|"
                $next = $null
            }
            else
            {
                # そのままコメント表示
                "|$name | $now|"
            }
        }
    }


# 希望セッション
$session = $comments |
    % {
        # get name
        $_ -match '<li><span><img alt="(?<name>.+)" class="icon"' > $null
        $name = $matches.name

        # get index of comment
        $startIdx = "$_".IndexOf("<em>") + 4
        $endIdx = "$_".IndexOf("</em>") - 1

        # filter not comment line
        if ($startIdx -lt 4)
        {
            $startIdx = 0
        }

        # output
        if ($_[-1] -ne ">")
        {
            # コメントが次の行に続くためここでは出力しない
            $endIdx = $_.length
            $next = ("$_"[$startIdx..$endIdx]) -join ""
        }
        else
        {
            $now = ("$_"[$startIdx..$endIdx]) -join ""
            if ($now.StartsWith(" "))
            {
                # タグのみのため出力しない
            }
            elseif ($now -eq "<>")
            {
                # コメント空白
            }
            elseif ($next)
            {
                # 前の行の内容と結合して表示
                "$next $now"
                $next = $null
            }
            else
            {
                # そのままコメント表示
                "$now"
            }
        }
    }


@{
希望1 = ($session | where {$_ -like "*1*"} | measure).Count
希望2 = ($session | where {$_ -like "*2*"} | measure).Count
希望12 = ($session | where {$_ -like "*1*" -and $_ -like "*2*"} | measure).Count
該当なし = ($session | where {$_ -notlike "*2*" -and $_ -notlike "*1*"} | measure).Count
}

*1:サブタイトル : PowerShell勉強会って需要あるの?

*2:ATNDは日付が決まったら作成します。

*3:PowerShell勉強会の1をメインにコメントのコマンドレットなど

*4:PowerShell勉強会の2をメインにサーバー管理なども

*5:ここのコメントやTwitter

*6:これはひどい