tech.guitarrapc.cóm

Technical updates

2015-01-01から1年間の記事一覧

2015年を振り返って

2014年はやりませんでしたが、やはり振り返りって大事だと思います。大晦日につき振り返ってみます。 tech.guitarrapc.com PowerShell PowerShell の依存低下 PowerShell DSC PackageManagement Cmdlet CSharp デプロイ基盤のPULL型化 仕事 記事 来年 PowerS…

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

今年のアクセスを Google Analytics から出してくれるサービスがアップデートされたとのことだったので、つかってみました。 blog.shibayan.jp ランキング まとめ ランキング TOP10 を出してみましたが、PowerShell 記事ばかりですね。今年の記事は一番ブッ…

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

この記事は、PowerShell Advent Calendar 2015 最終日の記事です。 https://atnd.org/events/72226atnd.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(Active Directory のホスティングと管理)| AWS これを使うことで、次の3つの形態をとることができます。 種類 概要 Simple AD Samba 4 Active Di…

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

PowerShell を使っていると、突然の PowerShell.exe の死にあうことがあります。 今回は、Register-ObjectEvent の Dispose に関してです。 PSEventJob のDispose() に失敗する例 PSEventJob の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 が先月でています。 https://blogs.msdn.com/b/dotnet/archive/2015/10/29/announcing-net-framework-4-6-1-rc.aspxblogs.msdn.com それも受けて、.N…

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

今週火曜日に開催された https://aws.amazon.com/jp/about-aws/events/2015/aurora_20151110/ で、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 セッション資料をここで公開します。 セッション資料 補足 VS API Deploy まとめ セッション資料 https://speakerdeck.com/guitarrapc/powershell-in-c-nu…

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

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

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

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

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

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

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 から操作しよう

言いたいことは1つだけです。font はお願いだから Consolas にしてくれ。 ということで簡単なネタを。 すべては $psISE.Option に 変更可能な内容 まとめ すべては $psISE.Option に いいから黙ってこれをどうぞ gist.github.com これが こうなります。 最高…

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

Windows Management Framework 5.0 (WMF5.0) の ロードマップが PowerShell Team から公開されました。 https://blogs.msdn.com/b/powershell/archive/2015/08/06/windows-management-framework-wmf-5-0-roadmap.aspx 一方で Windows 10 にはすでに WMF5.0 …

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

NOTE: 本記事はすでに内容が古く、今読んでも役に立つ度合いはほぼないです。 本記事は、先日社内勉強会のために準備した、Webサービスのリアルタイム通信周りのまとめシリーズ の1つを転載して公開するものです。 まだまだわかっていないことが多いので、ぜ…

なぜ私たちは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サーバーを作ってみよう

C#

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