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

tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

Remote Desktop Web Service を AWS Elastic Load Balancing で冗長化する

プライベートネットワークにあるリソースへのリモートアクセスするにあたりどんな方法が一般的でしょうか。 10年前はVPN全盛で、社外からのアクセスに IPSec や PPTP などが用いられていたように思います。しかし、現在リモートアクセスを提供するなら、Remo…

Unity Cloud Build を API で操作しよう

Unity のビルドといえば、長らく Mac + Jenkins などのCIツールという印象でした。昨年、Unity Cloud Build の存在を知ってはいたものの、いまいちという印象で回避してきました。 改めて触ってみると git連携、ビルド状況の把握、ユーザーのダウンロードフ…

WMF 5.0 (PowerShell 5.0) の再リリース予定が発表されました

WMF 5.0 (PowerShell 5.0) は、2015/12/16 にリリースされてから、12/23 に PSModulePath 上書きをはじめとするバグがあったことで回収されてました。 長らく再リリース日が未確定でしたが、本日リリース予定日として 2016年2月末日が予告されました。 blogs…

WeatherHacks を触ってみる

Twitter を眺めていると面白そうなのをみつけたので、自分ならどう書くか考えてました。 C#で気象情報REST API(WeatherHacks)を使ってみる1e3)g=1e3;else if(200>~~g)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("…

Event Tracing for Windows (ETW) の トレースプロバイダーリストを取得してみる

ネットワークキャプチャといえば、Wireshark や Microsoft Message Analyzer が定番です。今回、USB や Bluetooth のキャプチャもできることを教わりました。 USBなど の通信ログは ETW (Event Tracing for Windows) に流れてくるのでEtwStreamでログをキャ…

パイプラインの処理を途中で打ち切る方法のPowerShell版

PowerShell の最大の特徴と言われた時に、おそらく掲げるべきはパイプラインだと思います。 それが、cmd や Linux/Unix シェルにおけるパイプラインと異なる挙動だったり、オブジェクトを伝搬するという性質も含めて良くも悪くも PowerShell を PowerShell …

2015年を振り返って

2014年はやりませんでしたが、やはり振り返りって大事だと思います。大晦日につき振り返ってみます。 tech.guitarrapc.com

2015 年の人気記事ランキングを出してみた

今年のアクセスを Google Analytics から出してくれるサービスがアップデートされたとのことだったので、つかってみました。 blog.shibayan.jp

PowerShell Cmdlet を人道的に使いたいから頑張ってみるお話

この記事は、PowerShell Advent Calendar 2015 最終日の記事です。 atnd.org 最近はもっぱら C# を使っており、PowerShell も Cmdlet を書いてたりしてスクリプトあまり書いていません。*1 しかしながら、Cmdlet はただ読み込むならともかく、継続的デプロイ…

Windows Management Framework 5.0 RTM (PowerShell 5.0 RTM) がリリースされました

2015/12/24 追記 WMF 5.0 RTM のインストールによって、環境変数の PSModulePath がデフォルト設定にリセットされるバグが見つかったため、現在ダウンロードセンターから外されています。 修正が確認できしだい再度公開される予定とのことですので、少しお待…

PowerShell v5 の ConvertFrom-Json では改行を含めたJSONが解釈可能に

PowerShell ではCmdletを介して JSON の利用ができます。型に当てずに解釈できるので、さくっと使うには本当に強力です。この点に関しては、jq や Json.Net などより触りやすいと思います。 さて、過去にも PowerShell での JSON の操作について説明してきま…

AWS Directory Service を使った AWS Management Console へのログインと制約

AWS

AWS には Directory Service という、マネージドなディレクトリサービスがあります。 AWS Directory Service(クラウド上の管理型ディレクトリ) | AWS これを使うことで、次の3つの形態をとることができます。 種類 概要 Simple AD Samba 4 Active Director…

Register-ObjectEvent を .Dispose() すると PowerShell.exe が Unhandled Error で終了するのを回避する

PowerShell を使っていると、突然の PowerShell.exe の死にあうことがあります。 今回は、Register-ObjectEvent の Dispose に関してです。

FormatMarkdown に見るPowerShellで避けたほうがいい配列処理

PowerShell をやってて、だれもが一度は作る Format-MarkDown。 自分で作ったのはもってたのですが、人の作ったのを見る機会があったのでソースをみていました。 www.powershellgallery.com このソース、配列を扱うにあたって PowerShell でやらないほうがい…

はてなブログのアクセスを Ptengine でみてみた

はてなブログで記事を書いていると、記事のどのあたりに注目されているのか、どんなことを気にしているのかを考えることがあります。 この辺りは、検索キーワードや流入元だけではなく、記事内部のクリックやスクロールを見ないとわかりにくいところです。 …

はじめようWindows PowerShell [Kindle版] を読んでみた

Twitter を眺めていると、SQL と Azure のこわい人が気になることをおっしゃっていました。 電子書籍読んでたら、突然のぎたぱそせんせーのブログ— Masayuki Ozawa (@Masayuki_Ozawa) November 19, 2015 @guitarrapc_tech https://t.co/nug0ZMudw5 を読んで…

.NET Framework を PowerShell DSC でインストール自動化

Connect での .NET Framework Core の RC に感化されたわけではないのです。が、.NET Framework 4.6.1 RC1 が先月でています。 blogs.msdn.com それも受けて、.NET Framework のインストールを自動化しようと思ったのですが、公式、コミュニティともに既存の…

VS Code での PowerShell サポートが強化されました

Microsoft Connect (); // 2015 Developer Event Set for November 18-19 が現在開催されています。 channel9.msdn.com この中で Visual Studio Code (VS Code) の機能強化が発表され、PowerShell のデバッグ、インテリセンスサポートが追加されました。 今…

Amazon x Aurora

今週火曜日に開催された Amazon RDS for Aurora 東京ローンチ記念セミナー (2015 年 11 月 10 日開催) | アマゾン ウェブ サービス(AWS 日本語) で、RDS for MySQL から Amazon Aurora への移行に関するセッションを行ってきました。 本記事は資料の公開…

PackageMangement (a.k.a OneGet) の PowerShell 3.0 - 4.0 スタンドアローンインストール版について

PackageManagemtn(以下 OneGet) は、PowerShell 5.0 が含まれる WMF 5.0 (現在は ProductionPreview) で利用できました。つまり、Windows 10 以前の 7 SP1 / 8.1 では、WMF 5.0 を入れないとだめでした。 が、ようやく PowerShell 3.0 (WMF 3.0) と 4.0 (WMF…

#ComuPlus Comm Tech Festival 2015 のセッション資料公開

@ufcpp さんにお話しをいただいて Comm Tech Festival に参加してきました。 comuplus.doorkeeper.jp セッション資料をここで公開します。

VisualStudio の .csproj でビルド構成に依存せずApp.config のConfiguration Transformを行おう

Visual Studio で C#など を書いていると、データベースの接続設定などアプリケーションで利用する値を外部ファイルに外出ししたくなることが多々あります。この時利用するのが アプリケーション構成ファイル App.config です。 方法: C# プロジェクトにアプ…

Azure Web App のカスタムデプロイを使って特定のディレクトリをGithubと同期する

Azure で一番好きなサービスはダントツで Web App です。以前は Azure WebSite と呼ばれていました。やりすぎず、でも必要なことはできる。このバランス感が今でも崩れていないのはすごいです。 さて、Azure は各種SCM からのデプロイをサポートしており、そ…

そろそろ PowerShell の一次配列の罠と回避について一言いっておくか

タイトルは一度行ってみたかっただけです、生意気言ってごめんなさい。 他の言語同様、PowerShell にも一次配列があります。こんなやつ。 gist.github.com PowerShell は、型を持っているので Object[] 以外にも 型[] などなどあるのですが、他言語から見る…

PackageManagement (aka. OneGet) の プライベートパッケージソースを NuGet Server で立ててみよう

OneGet では、パッケージの取得先のことを パッケージソース (PackageSource)と呼びます。OneGetにはデフォルトで2つのパッケージソース(PackageSource) が入っています。*1 Get-PackageSource Name ProviderName IsTrusted IsRegistered IsValidated Locati…

PackageManagement (aka. OneGet) の利用時の簡単な注意

Windows 10 でデフォルトで入っている PowerShell v5 からは、PackageManagement(以降 OneGet と称しておきます) が利用できるようになっています。*1 OneGetですが、知らないともどかしい気分になることが多いので少し情報を整理しましょう。 なお、ここで…

PowerShell 5.0 で搭載された using namespace シンタックスの概要

PowerShell から .NET クラスを呼び出して操作するときの最大の苦行。それが、クラスの名前空間を毎回毎回書かないといけないことです。 たとえば、List(T) を扱うとこうなります。無駄に使ってみましょう。 gist.github.com ジェネリクスの扱いつらぽよ。 I…

PowerShell ISE のオプションをPowerShell から操作しよう

言いたいことは一つだけです。font はお願いだから Consolas にしてくれ。 ということで簡単なネタを。

PowerShell 5.0 と Windows10 と RTM のリリースについて

Windows Management Framework 5.0 (WMF5.0) の ロードマップが PowerShell Team から公開されました。 Windows Management Framework (WMF) 5.0 Roadmap - Windows PowerShell Blog - Site Home - MSDN Blogs 一方で Windows 10 にはすでに WMF5.0 が載って…

リアルタイム通信で利用されるプロトコルと手法

本記事は、先日社内勉強会のために準備した、Webサービスのリアルタイム通信周りのまとめシリーズ の一つを転載して公開するものです。 まだまだわかっていないことが多いので、ぜひぜひ間違っている点などにご指摘いただければと思い公開します。 ぜひぜひ…

なぜ私たちはSumo Logicを捨ててBigQueryを選んだのか

ログ分析サービスはアプリケーションのインフラであり、サービス開発/運用の中で重要な位置を占めます。グラニでは、今年に入って利用しているログ分析サービスを、 Sumo Logic から Google BigQuery に完全移行しました、 本記事は、グラニで議論された「ロ…

NTFS の ACL (アクセス許可) をPowerShell DSC で制御しよう

Windows において、特定のフォルダのアクセス制御をするのはいくつか手段があります。 原則としては *nux 系と同様、ファイルシステム(NTFS) のアクセス許可 (ACL) を制御するのが楽でしょう。 今回は、NFTS のアクセス許可という刺身タンポポを卒業しようと…

Active Directory の GPO で ExecutionPolicy が設定されているとVS2015 RTM と VS2013 Update 5 において Package Manager Consoleでエラーが出る場合の対処

VS2015 RTM と VS2013 Update 5 がリリースされました。 さて、これらをActiveDirectoryに参加したWindowsで起動すると PackageManagerConsole の起動に失敗する場合があります。今回はこの対処。 Package Manager Console がここで停止するので、一切 Insta…

PowerShell v5 におけるPowerShellGet による Powershell Module の導入はどう変わるのか

久々に書きます。 「PowerShell に新しく関数やCmdletを入れたい。」 こうなった時、基本は Module を導入することになります。しかし v4までは、モジュールパスにファイルを配置する操作が手間で、開発者が WebClientでのダウンロードを提供したり、手動コ…

Nancy からLightNode へ移行のススメ

C#

前回はNancyFx と TopShelf を使った SelfHost な APIサーバーについて紹介しました。 tech.guitarrapc.com しかしプロダクション環境に投入する前に Nancy を辞めて、LightNode に完全移行しました。 そこで今回は、なぜLightNode にしたのかについて書きた…

NancyFx/Nancy と TopShelf でIISに依存しないAPIサーバーを作ってみよう

前回は、TopShelf アプリケーションのデプロイをDSCで自動化する例を紹介しました。 tech.guitarrapc.com 今回は、LightNode + TopShelf を使うことでIISに依存しないAPIサーバーを作ってみましょう。と、書いていたのですが、その前にNancy だとどうなるの…

TopShelf によるWindowsサービスの配置をDSCで自動化してみよう

しばらく C# のみ触っており その中で LightNode + TopShelf を使ったセルフホストな Windows サービスを構築していました。 運用を自動化するために、CIでビルドした生成物を、どうやって本番にデプロイするのかが懸念となります。これを行うために 久々にD…

お名前.com から Route53 へのドメイン移管を行ってみよう(Azure DNS はどうなの)

2014年に、Route53 でドメインの取得ができるようになりました。 ということで、お名前.com など他で取得していたドメインも Route53 に移管することができるようになっています。 以前からやろうやろう詐欺をしていたので、やってみましょう。

Windows Management Framework 5.0 Preview April 2015 がリリースされました

Windows Management Framework 5.0 は、PowerShell を コアとした機能です。ようは、PowerShell v5 と思ってもらえれば簡単ぽん? 今回のリリースは、これまでよりも確定した機能が多くいよいよ先がみえてきたのでさくっと見ておきましょう。

OneGet が PackageManagement に名称変更となります

ふと PR の通知を見ていると、OneGet が PackageManagement になるとのこと。 Merge WIP to Master by fearthecowboy · Pull Request #123 · OneGet/onegetgithub.com 作者の @fearthecowboy は 2015/3/24 時点でこれに触れています。 Nearly done my great …

PowerShell へのフィードバックは Microsoft Connect へ

Microsoft製品に関するフィードバックは、User Voice だったり Connect だったりいろいろありますね。 今回、PowerShell チームから公式にフィードバック先に関して記事があがったので確認しておきましょう。 Community Feedback and Microsoft Connect - Wi…

PowerShell Team の GitHub リポジトリへの開発移行 と DSC Res Kit の公開

久々に記事を書きます。 Microsoft は GitHub にて多くの製品を公開しています。中には CodePlex などから移行した Roslyn から、公開されてなかった MSBuild、そして DNX や ASP.NET まで。すごくうれしいですよね。そしてとても助かります。 github.com gi…

NewRelicで特定のアプリケーションプールをプロファイルしないようにする

NewRelic は、PHP や Ruby、Javaだけでなく .NET のプロファイリングも優れています。 今回は、ASP.NET のアプリケーションの前段に ARR を使ったリバースプロキシを置いた時に、アプリケーション本体のみをプロファイルさせるための方法について説明します。

PowerShell も Windows Store Apps 同様に Windows.Security.Credentials namespace を使って認証情報を管理できるようにしてみる

以前、P/Invoke して Windows Credential Manager で PowerShell の認証情報を格納したり取得する簡単なモジュールを紹介しました。 実際これは、valentia を初めとして、認証を必要とするモジュールで使っています。 もっといい方法ないかなぁと、Windows S…

PowerShell で 関数実行結果の型をパイプラインの先に伝搬する

PowerShell といえば、型です。 文字列じゃなくて型。ということは、インテリセンスが何を使えるか教えてくれるわけです。インテリセンス使えないと辛いですよね。 自作の関数を作ったことがある人は多いと思います。でも、作った関数の出力結果がパイプライ…

PowerShell のString評価の方法と罠

以前 Gist にまとめていたんですが、記事にするのを忘れていたのです。 PowerShell は、文字列の中に変数を埋め込む時にいくつかの手法があります。でもその評価の違いって以外と知られてないようなので、まとめておきましょう。

PowerShell で オブジェクトの数を計測するんです?

オブジェクトの数を数える時によく使われるものといえば? Measure-Object でしょうか? System.Linq.Enumerable でしょうか? 今回はさらっとちょっとだけ見てみましょう。

PowerShell でTCP遅延Ack 設定を操作する

ネットワークチューニングの 1ついえば、TCP遅延ACK や Nagle ですね。 TCP遅延ACK - Wikipedia Windows ではどちらの設定も「レジストリを操作して再起動する」ことで調整可能です。 じゃぁ実際どうやって操作するか?TCP遅延Ackを操作するサンプルを紹介し…

Html Agility Pack と SgmlReader を使って PowerShell でスクレイピングしてみる

WebページのスクレイピングをPowerShell 単独でやるのはあまり楽しくありません。 が、C# で用いるように Html Agility Pack や SGMLReader を使えば楽に触れます。 今回は、 某ブログをこれらを使って少し見てみましょう。

PowerShell で System.Diagnostic.Process にて BeginOutputReadLine() を使う

PowerShell の罠Cmdlet といえば Start-Process ですね。 ほんとアレ罠。きらい。大っ嫌いです。 で、代わりに何を使うかっていうと、System.Diagnostic.Process クラスです。ふつーに C# で書くのと同じように挙動が想定通りなので安心です。 Process クラ…