Visual Studioのビルドが終わったら知らせてほしい!

長いビルドが走ると、他のことをやり始めて、ビルドしてたことを忘れます。もうやばい。

というわけで、終わったら通知できないかと探してみたら、普通にコントロールパネル>サウンドから設定ができるじゃないですか!

2016-04-21_15h03_50

でもビルドするたびに音が鳴るとうるさいよね。
長いときだけ、もしくは、VisualStudioが非表示/バックグラウンドにあるときだけ教えてほしい。

windows でパッケージ管理 scoop

Windowsでのアプリケーションパッケージの管理ツールはchocolateryを使っていたのだけど、
giboをインストールしようとしたらscoopじゃないとできないようだったのでscoopを使ってみた。

Scoop

インストール

とっても簡単。scoopのウェブに書いてあるとおり。powershellを開いて、

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

実行すると次のような出力がでて終了。

initializing...
downloading...
extracting...
creating shim...
adding ~\AppData\Local\scoop\shims to your path
scoop was installed successfully!
type 'scoop help' for instructions

使い方

パッケージリストの更新(たぶん)

scoop update

パッケージのインストール

scoop install gibo

パッケージの更新

scoop update gibo

chocolateryと何が違うんだろう・・・

一体何が違うのか、何が売りなのか・・・。本当にgiboを入れることしかしなかった・・・

giboで.gitignoreを生成したい・・・からのPowerShellのリダイレクト

ちょいと昔ならwindowsだと苦労したかもしれませんが、chocoやscoopによりインストールも楽だし、powershellも操作しやすくなったし、見たことないけどbashも動くらしいし、でだいぶ楽です。

simonwhitaker/gibo: A shell script for easily accessing gitignore boilerplates

インストール

scoop install gibo

対応する言語やエディタの一覧

gibo -l

VisualStudioなら

gibo VisualStudio > .gitignore

ですね

とは、いかなかったんですよ

もじこーどこのやろう。

powershellでリダイレクトすると、Unicodeで文字が書き込まれてしまいます。
すると、gitが.gitignoreを読めないのです・・・。
gitの鍛え方が足りないのですすみません。

というわけで、

> したいときは

gibo visualstudio | set-content .gitignore

>> したいときは

gibo visualstudio | set-content .gitignore

エンコードを変えたいときは

git VisualStudio | Out-File -encoding utf8 -filepath .gitignore

らしいです。

(ちなみにVisualStudioあれば.gitignoreを勝手に用意してくれる気がします)

社内用NugetServerを立てて社内ライブラリを管理する

社内で使うライブラリをもっと整理して使いやすくしようということで、社内にNuGetのサーバーを立ててみました。
そもそもNuGetのパッケージも作ったことなかったのでちょうど良かったですが、まだ全然調べていません。
まずは、NuGetサーバーを立てて、NuGetパッケージを作って、登録するところまでです。

NuGet.Serverの構築

非常に簡単です。

  1. Create New ASP.NET Empty Project
  2. Install-Packatge NuGet.Server
  3. F5

これで問題なければ、社内のIISにホスティングします。
必要であれば設定ファイルのAPIKEYを指定します。

ちなみに、NuGetパッケージには、デバッグシンボルとソースを含んだシンボルパッケージというのもあるようですが、それはこのNuGet.ServerにはPUSHできないようです。
次の記事を参考にすればできるようになりそうです(試してない)

NuGet Packageの作成

ざっくりと。

  • nuget spec でNuGetパッケージのプロジェクトファイルを作成し、
  • nuget pack でパッケージ化して、
  • nuget push {Package file name} -s {url} {API_KEY} でNuGetServerにプッシュする。

urlにはNuGet.Serverをブラウザで開いたときに表示されているURLを入力すればOKです。

あとは使うだけ

あとは、VisualStudioのオプションからNuGetサーバーのソースを追加して使うだけです。
自分たちのライブラリがNuGetの画面に出てくると、なんとなくうれしい感じがします・w・

参考

Windows10(Vaio Z VJZ13B1)で無線LANが途切れる

Windws10(Vaio Z VJZ13B1)にして最初に困ったことは、無線LANがすぐ切れてしまうことです。数分で切れてしまいます。もういらいら。
はっきりと再現するわけではないですが、スリープの後が割とだめです。

解決策を探す

検索すると色々でてきます。

  1. 電源オプションのプランを、高パフォーマンスに設定する。
    =>バランスしかありません!

  2. プランの右側に▽みたいのがあるから押すとでてくるからそこから選ぶ
    =>▽ありません!

  3. 電源プランの詳細設定からwifiの省電力設定で省電力モードにならないように設定する。
    =>wifiの設定がありません!

  4. ネットワークアダプターのドライバ設定から省電力設定とWWM?の設定をする。
    =>Intel(R) Dual Band Wireless-AC 8260 が載ってるようですが、その設定はありません!

というわけで全く解決しません。

待望のドライバがリリースされてた。

やっぱりドライバで対応してもらうのが普通ですよね。

VJZ13B、VJZ131「Intel(R) Wireless LAN Driver Ver.18.40.2.3(Windows 10用)」アップデートプログラム

説明にも書いてありますが、プログラムと機能から「インテル(R) PROSet/Wireless ソフトウェア」をアンインストールしてからインストールしないとダメです。
私は適当にそのままやってみたら、全然新しいドライバを使ってくれませんでした。ちゃんとアンインストールしてからインストールしましょう。

これを入れてからは今のところは調子が良いです。

久しぶりにWindows端末を購入した

とっても久しぶりにWindows端末を購入しました。
仕事ではWindowsをずっと使っていますが、プライベートのPCとしては10年ぶりくらいです。

しばらく離れていたWindowsになぜ戻ってきたかと言えば、
最近のMicrosoftが面白いからということなわけですが、ただの浮気のような気もします。
しかし、今のMSは数年前では考えられないくらい感じで、眺めているだけでも楽しいものがあります。
(ついて行くのは大変ですが)

というわけで、しばらくはMicrosoft技術、Windows10に浸かって色々体験してみたいと思います。

ちなみに、Vaio Zのフリップモデル(Vaio Z VJZ13B1)を購入しました。
良い端末なのだと思いますが、Macが長かったためか、Windows10のせいなのか、微妙って思うことも。
そしてわかってはいたけど、字が小さいw

値段と体験を考えるとMacってとってもお得な気がします。

Microsoft Azure Web App で Perl の CGI を動かす

(ずううううううっと前に下書きにしたまま放置していたので、「先日」がいつのことやら・・・)

先日旭川で開催されたAzureの勉強会で、WebAppsでperlが動くことを知ったのですが、@ag0u3さん( https://twitter.com/ag0u3)が実際に動かしてブログを書いてくれました。

Microsoft Azure Web App で Perl の CGI を動かす | メモログ

見ながらやってみるとあっさりと成功です。

WS000967

PATHを設定すればちゃんとcpanmも動いてくれました。


D:\home>set PATH=%PATH%;d:\home\site\wwwroot\bin\perl\bin;d:\home\site\wwwroot\bin\c\bin
D:\home>cpanm CGI::Session
--> Working on CGI::Session
Fetching http://www.cpan.org/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz ... OK
Configuring CGI-Session-4.48 ... OK
Building and testing CGI-Session-4.48 ...
OK
Successfully installed CGI-Session-4.48
1 distribution installed

「エントリ ‘(データベース接続文字列)’ は既に追加されています。」と表示されデータベースに接続できませんでした。

ASP.NETのプロジェクトをデバッグするとき、IIS Expressを使って動作を確認していたのですが、「エントリ ‘(データベース接続文字列)’ は既に追加されています。」というメッセージが出てデータベースに接続できなくなりました。

原因は、実行時のURLとして、 http://localhost:64509/app/ としていたところ、親ディレクトリ側(http://localhost:64509)にあるweb.configとappにあるweb.configに記述した、connectionStringと競合していたようです。

対応としては、プロジェクトごとにURLを変えればよさそうだったのですが、変えてビルドしただけだとうまくいかなかったので、IIS Expressの構成ファイルを修正したところなおりました。