しばたテックブログ

気分で書いている技術ブログです。

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

PowerShell温故知新、Monad Technology Blogについて

PowerShell Advent Calendar 2016 最終日のエントリになります。 qiita.com Monad Technology Blog Monadといっても、 モナドは単なる自己関手の圏におけるモノイド対象だよ。 なヤツではなくて、PowerShell開発時のコードネームのことです。*1*2 blogs.msdn…

メリクリ

メリクリ なにこれ? bannerコマンドのPowerShell版を作ってみました。 以前シェル芸人たちの間でbannerコマンドが流行ったことがありまして、 (下記リンク参照) togetter.com その際に@mattnさんがgobannerというGo言語のbanner実装を作りました。 github.c…

CLR/H #103 ~ クリスマス オブ ザ デッド ~ でPowerShellをふりかえりました

先日、通称カソウ化デイことCLR/H #103 ~ クリスマス オブ ザ デッド ~で「PowerShell 10年間ふりかえり」というタイトルでPowerShellについてお話させていただきました。 clrh.connpass.com 本エントリはPowerShell Advent Calendar 2016 18日目のエント…

PowerShellで入れ子のクラス(内部クラス)を示すには + を使う話

よく忘れるので備忘録としてメモっておきます。 内容に関してはPowerShell Blogの以下の記事のままです。 blogs.msdn.microsoft.com PowerShellで入れ子のクラス(内部クラス)を示すには + を使う PowerShell Blogの例ではNet.WebRequestMethods.Ftpクラスを…

PowerShell上でdockerコマンドの自動補完を行うposh-dockerモジュールについて

PowerShell Advent Calendar 2016 6日目の駆け込みに軽いネタを。 qiita.com はじめに Docker for Windowsのサイトを何か更新がないかと眺めていたら新しいモジュールが紹介されているのを発見しました。 docs.docker.com posh-dockerモジュール github.com …

はじめてのPowerShellモジュール公開

PowerShell Advent Calendar 2016 3日目の記事です。 qiita.com はじめに 先月簡単なPowerShellモジュールを作ってPowerShell Galleryで公開しました。 その際に公式なドキュメントが全然無く苦労したので本エントリで手順をまとめることにしました。 内容に…

Pesterでカスタムアサーションを行う

【2017/11/01追記】 Pester 4.0.5から正式にカスタムアサーションを行うことができる様になりました。 詳細はこちらのエントリをご覧ください。 blog.shibata.tech 【追記ここまで】 前回の続きというわけではないのですが... 元ネタはこちら。 kamranicus.c…

Pesterでパラメタライズドテストを行う

意外とドキュメントが無かったので*1ブログに書いておきます。 github.com テスト例 Gistに簡単な例を上げました。 これを見てもらえば言いたいことは一発でわかっていただけるかと思います。 Pesterでパラメタライズドテストを行うサンプル 実行結果はこん…

PowerShell 10 Year Anniversary Celebration Eventが開催されました

イベントから既に1週間以上経ってしまいましたが、個人的な備忘録も兼ねてブログ書きます。 PowerShell 10 Year Anniversary Celebration Event イベントはPowerShell 1.0がリリースされた日からちょうど10周年となる、2016/11/14の8:00 ~ 16:00(PST)*1にCh…

Windows10 Insider Preview Build 14971でPowerShellが既定のコマンドラインシェルになった話

すでに各所で日本語情報も出てますが、 blogs.windows.com の話です。 本エントリではPowerShellに絞った内容にします。 はじめに PowerShellが既定のコマンドラインシェルになるといってもコマンドプロンプト(cmd.exe)が無くなるとか、OSの挙動が変わるとい…

シェル芸勉強会の問題にPowerShellでチャレンジしてみた

きっかけはコレ。 togetter.com 最初はスルーしていたのですが、ふと良さげな実装を思いついたのでTwitterでこんなつぶやきをしてみました。 意外と愚直な手順でいけたのでやっぱり参戦w "響け!ユーフォニアム" | % {$c,$l=[Char[]]$_,$_.Length;for($i=0;$…

PowerShellでDockerを操作する方法についてあれやこれや

うまくまとめることが出来ず雑多な話になっています。 基本的にはWindows Server 2016およびWindows 10を対象としていますが、その他のOSも対象になる場合があります。 1. 変更されたDockerのインストール手順について 基本的にWindows Server 2016を対象と…

Docker for Windowsにdockerd.exeが同梱された話

Docker for Windows 1.12.2 Beta26以降の話です。 Stable Channelにはまだ入っていないと思われます。(未確認) 本エントリでは1.12.2 Beta28で動作確認をしています。 Docker for Windowsとdockerd.exeについて stknohg.hatenablog.jp でも触れた様にこれま…

PowerShellのホストとプロファイルについてまとめ

PowerShellがオープンソース、マルチプラットフォーム化したのを踏まえ、改めてPowerShellのホストとプロファイルについてまとめてみました。 ホスト PowerShellにおけるホストとは簡単に言ってしまうとPowerShellの実行環境のことです。 基本的なホスト 従…

PowerShellでBOM無しUTF8を簡単に扱う、デフォルト設定を簡単に変える方法

【2017/11/06追記】 現在開発中のPowerShell 6.0からファイル出力に関わるエンコーディングの扱いが変わり、BOM無しUTF-8をより簡単に扱える様になっています。 詳細は以下のエントリを見てください。 blog.shibata.tech 【追記ここまで】 なんとなく思いつ…

符号化処理芸人たちのシェル芸をPowerShellで再現する

元ネタはこちら。 papiro.hatenablog.jp はじめに 私はシェル芸人ではないので大したことも面白いこともできませんのでご了承ください。 本エントリはシェル芸人たちの匠の技をPowerShellで再現するにはどうするかという点だけに注力しています。 PowerShell…

PowerShell on Linuxに普通にPSRemotingしてみる - その2

以前のエントリ、 stknohg.hatenablog.jp でソースからのビルドは面倒だからやらないと言ったのですが、気が変わりました。 というのも、 github.com のIssueがCloseされmasterブランチに取り込まれたとのことで、次のバージョンのリリース前にその結果を確…

PowerShell DSC for Linuxを試す

そろそろ試しておかないといけないかなと思ったので。 正直PowerShell DSCはまだまだ勉強不足なのでおかしなところがあるかもしれませんがそこはご容赦ください。 PowerShell DSC for Linuxとは github.com 名前の通りLinuxでPowerShell Desired State Confi…

PowerShellコンソールの表示色についてのちょっとした話

ちょっと面白いIssueを見つけたので。 github.com このIssue自体は以下の様に前景色にDarkYellowを指定した場合に表示される色がおかしいというものです。 Write-Host '████████' -ForegroundColor DarkYellow 確かにWindowsで試すと下図の様に黄色ではなく…

PowerShell on Linuxに普通にPSRemotingしてみる

ある意味前回の続き的な。 注意事項 一応PSRemotingできるのは確認しましたが、まだアルファ版なので動作が超不安定です。 実際に使える様になるのはまだまだ先になりそうな感じです。 OMI ServerとPowerShell on Linux OMI Provider WindowsのPSRemotingで…

PowerShell Remoting over SSHを試す

PowerShell Core 6.0の正式リリースに伴い、本エントリの内容を新しいバージョンでやり直しました。 こちらのエントリを参照してください。 blog.shibata.tech PowerShell on Linux(Mac)が公開された際の新機能の一つにSSHによるPSRemoting(PowerShell Remot…

PowerShell on LinuxをDocker上で試す

試した系の記事は既に多くの方がやっていますが、自分も一つくらいは書いとかないといけないかなと思ったので。 インストール手順 ぶっちゃけインストール手順はGitHubに載ってるのでそれを見れば十分です。 実のところ、わざわざこんなエントリ書く必要も無…

Windows 10のコンテナーとDocker for Windowsを共存させる

いろいろあってちょっと遅くなりましたが stknohg.hatenablog.jp の続きです。 2016/10/18 追記 バージョン 1.12.2 Bata26よりDocker for Windowsにdockerd.exeが同梱される様になりGUIでDocker Engineの切り替えができる様になりました。 stknohg.hatenablo…

PowerShell on Linux(Mac)でShift-JISを扱う

【2018/04/04追記】 当初このエントリで紹介したおまじないですが、PowerShell Core 6.0 beta.1の時点でPowerShellの起動時に内部的に呼び出される様になったため(#3467)、以降のバージョンでは何もせずともShift-JISを普通に扱うことができます。 【追記こ…

急にAptPackageIndexUpdateが来たので

タイトル通りです。 ちょっとびっくりしたのでメモっておきます。 起きたこと 本日メインの開発機を使っていたところ、突然AptPackageIndexUpdateというタイトルのコンソールウィンドウが立ち上がり何かをダウンロードし始めました。 実際の画面はこんな感じ…

Windows 10のコンテナーとDockerを試す

Anniversary Update(1607)が来てWindows 10でもHyper-Vコンテナーの機能が使える様になったので早速試してみました。 注意事項 本エントリは2016/08/05に公開後、2016/09/28に最新の情報に基づいて全面的に書き直しています。 2016/10/18 追記 Docker for Wi…

PowerShellの起動時に読まれるps1xmlファイルについて

最高に誰得なエントリです。 PowerShellの起動時に読まれるps1xmlファイル stknohg.hatenablog.jp で触れましたが、PowerShell 1.0~5.0ではpowershell.exeの起動時に$PSHOMEにある*.format.ps1xmlと*.types.ps1xmlを読み込み、オブジェクトの書式設定やオブ…

WMF 5.1の新機能をざっくり説明する - 4. PowerShell エンジンの機能強化 編

今回は、 新シナリオと機能 編 バグ修正 編 コンソール機能強化 編 の続きです。 今回の対象範囲 WMF 5.1 の PowerShell エンジン機能強化 | Microsoft Docs についてわかる範囲で補足を入れていく感じにします。 パフォーマンス パフォーマンスの改善につい…

WMF 5.1の新機能をざっくり説明する - 3. コンソール機能強化 編

今回は 新シナリオと機能 編 バグ修正 編 の続きです。 今回の対象範囲 WMF 5.1 のコンソール機能強化 | Microsoft Docs についてわかる範囲で補足を入れていく感じにします。 VT100 のサポート Windows 10 では、VT100 エスケープ シーケンスのサポートが追…

WMF 5.1の新機能をざっくり説明する - 2. バグ修正 編

前回の続きです。 今回の対象範囲 今回は、 WMF 5.1 のバグ修正 についてわかる範囲で補足を入れていく感じにします。 モジュールの自動検出の完全な受け入れ TODO : もう少し調べる MSDNを読んでもいまいちなんのためのバグ修正なのかわかりませんでした...…