書き散らかしブログ

気になったことを何でも書き散らかしていこうと思います。

30km Run

来月、行きがかり上、京都マラソンに出走することになったので それに向けての練習として、30km RUNの大会に出走してみました。

drerun.jp

自宅から歩いて10分かからないところにあり、準備などを考えると非常に手軽に参加することができました。 運営もシンプルで個人的にはとても気に入った大会でした。

  • 儀礼的なことがない(走る前の行事は10分ほどの注意事項のみ)
  • 給水間隔が短い(1周3kmなので)

結果は3時間44分で、個人史上最速だったのですが、全体では104組中100位とほぼ最下位の成績でした。 年始から30km走るような人には、冷やかしがまったくいなかったみたい。

今回の練習で、分かったことは

  • 20km を超えたあたりから、がっくりとスピードが落ちる
  • しんどくなってからも走り続ける気力が必要(最後は根性)
  • 暖かいほうが体が動くので、京都は防寒対策をきちんとして走ろう

今まで、フルマラソンで6時間を切れたことはないんだけど(前回の京都はタイムオーバー) 今回は完走したいです。

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などで開発環境はきちんと残しておかないといけないなあというのが教訓。