【PowerShell】 プロンプトの表示を変更する
概要
うわぁぁぁ、ながい!
浅い場所をウロウロしている分にはいいけど、さすがに深い階層になってくると鬱陶しいのでデフォルトのプロンプト表示を変更しよう。
環境
Windows Server 2012 R2 Datacenter(Microsoft Azure)
プロファイルの確認
プロンプト文字列を変更するにはプロファイルにprompt関数を書いておけばいいらしいので、プロファイルの場所を確認してみます。
> $profile C:\Users\{User}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
で、実際にこのファイルがないので混乱します()
ファイルは実際に存在する必要はなく、既定では存在しません。Windows PowerShell を起動したときにプロファイルを実行する必要がある場合は、このファイルを作成する必要があります。
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner06.aspx
プロファイルは存在しなかった!
プロファイルの作成
つーことで、作成しましょう。New-Item コマンドレットで一発作成♪
> New-Item -path $profile -type file -force
promt関数を書いて保存します。
■ Microsoft.PowerShell_profile.ps1
# プロンプトの表示をカレントディレクトリだけにする function prompt () { (Split-Path (Get-Location) -Leaf) + " > " } # ついでに起動時の初期位置も指定する Set-Location C:\Go\Projects\src
Visual Studio for Mac をインストールしてHello World!
概要
だいぶ乗り遅れましたが、Visual Studio for Macをインストールして.NET CoreのコンソールアプリでHello World!までやってみました。
環境
macOS Sierra バージョン 10.12.1
ダウンロードは以下から。
https://www.visualstudio.com/vs/visual-studio-mac/
ダウンロードが完了したら、インストーラーを起動します。
インストール
流れるような動作でインストール(スクリーンショット貼っておきます)。
少し時間がかかりそうだったので放置(開始したのが夜)して寝ましたzzz
で、朝起きたらエラー...
その後、最小構成にして2,3回やり直してみたけど毎回Android SDKのダウンロードの途中で止まっちゃう!
さらにしつこくやり直して(5回目くらいで)やっとインストールできましたhehe
Hello World!
さて、なんとかインストールできたので動かしてみます。
.NET Coreのコンソールアプリケーションプロジェクトを選択。
実行
そのまま実行してみました。
えっ?!まさかのエラー!
コンソールに吐き出されたメッセージは.NET Core Appのバージョン1.0.1が見つからないと。
The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found. - Check application dependencies and target a framework version installed at: /usr/local/share/dotnet/shared/Microsoft.NETCore.App - The following versions are installed: 1.0.0 1.0.0-rc2-3002702 1.1.0 - Alternatively, install the framework version '1.0.1'. Press any key to continue...
デフォルトの.csprojには.NET Core Appのバージョンが1.0.1って書かれてるけどインストールされてなくて怒られたのかな。
現時点(2016/12/15)では1.1.0が最新ですね。
https://www.microsoft.com/net/core
.csprojを書き換えて、[プロジェクト]-[NuGetパッケージの復元]。
ただHello World!表示するのもアレなんでとりあえず流しておきました┗(^0^)┓三3
IE8とIE11で空文字Cookieの戻り値が違う
事象
Internet Exploerer(以下IE) 8用のイントラサイトが規定のブラウザがIE11になったことで表示が乱れたとユーザより連絡を受けたので、さっそく原因を調査してみました。
原因
JavaScriptで値が空文字のcookieを取得したときのブラウザ間の違い | かたつむりくんのWWW
Cookieの空文字の扱いが違うだと?!なにそれハゲる。
IE8では値が空文字のCookieはundefined、IE11では空文字は空文字となる違いがあり、Cookieの値が空文字だった場合以下のようなJavaScriptのコードの動きが違ってしまい大爆死。
if (cookie != null) { //とある処理 }
あ、ちなみにこのコードはわたし^o^が書きました。
つまり、こうなるってわけですね。
undefined != null // => false "" != null // => true
イントラサイトは規定のブラウザで動けばオッケーイで楽なんだけど、ブラウザ間の差異に気付きにくいのは弊害だなぁ。