tech.guitarrapc.cóm

Technical updates

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

2015年を振り返って

2014年はやりませんでしたが、やはり振り返りって大事だと思います。大晦日につき振り返ってみます。 https://tech.guitarrapc.com/entry/2013/12/31/154218 PowerShell PowerShell の依存低下 PowerShell DSC PackageManagement Cmdlet CSharp デプロイ基盤…

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

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

PowerShellコマンドレットを人道的に使いたいから頑張ってみるお話

この記事は、PowerShell Advent Calendar 2015最終日の記事です。 https://atnd.org/events/72226 最近はもっぱら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やjqなどより触りやすいと思います。 さて、過去にもPowerShellでのJSONの操作について説明してきました。今回、Powe…

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

AWS

AWSにはDirectory Serviceという、マネージドなディレクトリサービスがあります。 https://aws.amazon.com/jp/directoryservice/ これを使うことで、次の3つの形態をとることができます。 種類 概要 Simple AD Samba 4 Active Directory Compatible Server …

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

PowerShellを使っていると、突然のPowerShell.exeの死にあうことがあります。 今回は、Register-ObjectEventのDisposeに関してです。 PSEventJob のDispose() に失敗する例 PSEventJob のDispose() に成功する例 どのような状況で発生しえるのか まとめ PSEv…

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

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

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

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

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

Twitterを眺めていると、SQLとAzureのこわい人が気になることをおっしゃっていました。 Masayuki Ozawa (@Masayuki_Ozawa) November 19, 2015 Masayuki Ozawa (@Masayuki_Ozawa) November 20, 2015 前々から読もうと思ってたので、いい機会なので読んでみま…

.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.aspx それも受けて、.NET Frameworkのイン…

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

Microsoft Connect (); // 2015 Developer Event Set for November 18-19が現在開催されています。 https://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 (WMF4.0) にス…

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

@ufcppさんにお話しをいただいてComm Tech Festivalに参加してきました。 https://comuplus.doorkeeper.jp/events/30403 セッション資料をここで公開します。 セッション資料 補足 VS API Deploy まとめ セッション資料 https://speakerdeck.com/guitarrapc/…

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

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

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

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

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

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

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

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

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

Windows 10に入っているWindows PowerShell 5.1からは、PackageManagement(以降OneGetと称しておきます) が利用できるようになっています。*1 OneGetはもどかしい気分になることが多いので少し情報を整理しましょう。 なお、ここではFind-Packageとか使い方…

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

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

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

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

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がここで停止するので、一切Install-Pack…

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

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

Nancy からLightNode へ移行のススメ

C#

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

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

C#

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