UWPアプリ開発メモ

社内のTCPサーバーと通信するコードを書いたところ、こんなメッセージが表示された。

StreamSocket socket = new StreamSocket();
HostName serverHost = new HostName("xxx.yy.zz.ppp");
CancellationTokenSource cts = new CancellationTokenSource();

try
{
    cts.CancelAfter(3000);
    await socket.ConnectAsync(serverHost, "1234").AsTask(cts.Token);
}
catch (TaskCanceledException ex)
{
    System.Diagnostics.Debug.WriteLine(ex.Message);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine(ex.Message);
}

// エラー
アクセスが拒否されました。\r\n\r\nA network capability is required to access this network resource

フォームアプリと違ってUWPアプリでは、LAN内のサーバーに接続する際、アプリで使用する機能を許可する必要があるらしい。 下記を参考に「機能-プライベートネットワーク」を有効にすることで、問題が回避できるようになりました。

stackoverflow.com

「ふつうのLinux プログラミング 第2版」のお勉強(1.2)

はじめに

Linux(Unix)について勉強したいと思い、「はじめてのOSコードリーディング」を購入したのですが、内容が理解できず、途中で挫折。そこで、まずプログラムから始めて、なんとなくシステムが理解できるようになってから(気が向けば)、もう一回挑戦しようと思いました。そこで、基本的な事柄を勉強できそうな「ふつうのLinux プログラミング 第2版」を購入しました。
以後、この書籍を使って勉強した内容の備忘録を書いていきます。(途中で挫折する可能性特大です)

Linux環境の作成

Windows 10にVirtualBox + CentOS7.3で環境を構築した。 インターネットにつながらなくて困ったが(例えば、#ping 8.8.8.8 を実行すると Network is unreachableと表示される。) 下記を参考にnmtuiを使って、Automatically connectを[X]にすることで、インターネットにつながるようになった。

CentOS 7 で ネットワーク(IPアドレス、ホスト名、ドメイン名など)の設定を行う | レンタルサーバー・自宅サーバー設定・構築のヒント

gccのインストール

勝手にgccなんかインストールされているものと思って、試しに"$gcc -v"と打ってみるが、"gcc command not found"と出て実行できない。
パスが通っていないのかなあと思って、$which gcc を試してみると、本当にインストールされていないようだった。
下記を参考にインストールした。(バージョンは古いけど、勉強用なのでこれでいいでしょ)

[CentOS] yum を使って gcc をインストールする。 | 僕とガジェット

# yum install gcc
# gcc -v

11:23

Microsoft Speech Platform 11を使った音声合成ファイル作成環境構築メモ。

  • 背景 Microsoft Speech を使ってテキストから音声ファイルを作成するプログラムを作っていたが、OSをWindows 7から10に変えたことで、音声ファイルのイントネーションが変わってしまった。
    そこで、Windows 7音声合成開発環境をVMWare仮想マシンに作成しておき、以前と変わらない音声ファイルを作成できるようにしたかった。

  • 手順

  • VM WareにWindows 7の環境を作成する
  • .Net 4.0をインストールする(SDKが使用するので)
  • Microsoft Speech SDK をインストールする(x86版を使用)
  • Speech Platform Runtimeをインストールする
  • Microsoft Server Speech Text to Speech Voice (ja-JP, Haruka)をインストールする(日本語音声)

  • 参考

Microsoft Speech Platform SDK 11 Requirements and Installation

c# - Error loading Microsoft Speech SDK v11 - Stack Overflow

俺の覚書 VMWareWorkstation(VMWarePlayer)の設定で性能上気をつけるべき所(大幅改定)

16:20

DockerをWindows10にインストールしたのでメモ。

  1. Docker for Windowsをインストール
  2. 再起動後、デスクトップのDockerを実行すると、"docker-user"グループにユーザーの追加が必要と言われる。 そもそも、docker-user グループがないので、管理ツールでグループを追加してユーザーも追加した。 その後、再起動。
  3. 再起動後、Docker サービスが実行してよいか? というダイアログが出る。 「はい」を押す。
  4. Docker for Windowsは起動したがHyper-V feature is not enabledと言うダイアログが表示される。 とりあえず、OKを押す。
  5. タスクトレイのDockerアイコンからSwitch to Windows Containers... をクリック

とまあ、ここまででDockerはインストールできるのだが、やりたかったことはWindows7のコンテナ化で、Docker for WindowsではWindows nano server もしくは Windows Server CoreしかコンテナOSとしては実行できないようなので、結局、無駄だった。まあ、何かで使うかもなので、アンインストールはせずにおいておくかな。

14:06

Jenkins 1.537を2.92にアップデートする手順をメモしておく。 なお、動作OSはWindowsである。

  1. Jenkinsサービスを停止
  2. 既存のJenkinsフォルダの内容をバックアップしておく
  3. Jenkinsサービスの再開
  4. Jenkinsの管理-「自動でアップグレード」を行う
  5. Jenkinsサービスを停止
  6. \JREを最新のJREに更新する(今回はC:\Program Files\Java\jre1.8.0_151を使用した)
    Jenkinsサービスを再開してもJavaのクラスがないというエラーが出て起動できない。
  7. Jenkinsサービスの再開
  8. ログインしてJenkinsの管理ページに行く。
    新しいバージョンで起動するはず。またJenkinsの管理ページに行くと警告が出ているはず。
  9. すべてのプラグインのアップデートを行う
  10. Jenkinsを再起動する(サービスを再起動したほうが早い?)
  11. プラグイン関連の警告が出なくなるまでアップデートを行う(9, 10を繰り返す)
  12. ログインしてJenkinsの管理ページに行き、[Disable CLI over Remoting]をクリック。
    後の警告は動作に影響が出るかもしれないので、とりあえず無視。

10:58

Microsoft Speechを使って文字列から音声ファイルを作成していたが、開発環境をWin7→Win10に変えたことで以前とはアクセントや読みが異なる音声が作られるようになってしまった。
文字列を解析するところが変わったように思うのだが、どのモジュールか分からなかったので、結局、Win7の環境でファイルを作成することで対応した。VMなどで開発環境はきちんと残しておかないといけないなあというのが教訓。

18:43

昨日の神戸マラソンの結果と反省。 当初の目標は6時間だったが、結果は6時間40分。前回、コースの厳しい和倉マラソンで6:30を切ったことと、今回はソロで走るので自分のペースでいけば6時間を切れるかと思ったけど、まったくダメでした。
15kmまでは5:30のペースについていけたけど、そこからはついて行けなかった。レース前は15kmを8分、30kmを8分30秒、30kmからは9分とか計画してたけど、まったく計画通りにできなかった。よく考えれば、その目標を実現するだけの根拠がない(練習をしていなかった)んだよなあ。
ただ、次のページを参考にして、今までより補給は上手くできてたと思う。レース後の疲れも、これまでよりはましだった。 それでも、途中でお腹がすいた感じがあったから、もっと食べてもよかったのか? せやけど、あんまり食べ過ぎるとお腹がタポタポになっちゃうからなあ。

第152回:マラソン大会中の補給食。基本の「き」をマスター!シミュレーションまでしっかりと!|走るなら食べよう!~体は必ず変わります~|JogNote連載・走る人の為の健康食事コラム

今後は地道にトレーニングを積んでいって、何とか6時間を切りたい。そうしないと出られるレースが限られるかならなあ。  

それと、寒い中一所懸命にサポートしていただいた、マラソンのスタッフの方には頭が下がる。ほんとにありがとうございました。