布団が俺を呼んでいる

丘山大一のぶろぐ

ブログの移行のご案内

長らくご愛顧いただきました当ブログですが、この度移行することにいたしました。

移行先



なぜ移行するのか

このブログ、BlogEngine.NETを使っていたのですが、正直使いにくいところがありました。
ただ個人的な要件があり、それらを満たすものがコレくらいしか見つからなかったということもあり、なんだかんだ だましだまし使ってまいりました。
ですがさすがに限界が来ており、この度Github pagesを利用したブログを開設することにしました。

専用のブログサービスを使わず、Github pagesを使う理由ですが「手元のソースをプッシュして公開する」という形にしたかったからです。
ブログサービスに乗せてしまうと、どうしても記事や構成がサービスに依存してしまい、再度移行したいときに不便そうなのと、サービスの方針に振り回されてしまうのが怖いので、それを避けたいという理由があります。
まあそれはGithub pages を使っても同様なのですが、影響は最小限ですむかなーと考えております。


このブログの今後について

削除する予定は当面ありません。
というより、記事を出力できなかったので移行できない=>削除もできない の流れです。
がっでーむ。
時間が経てば考慮しますが、すくなくとも一年やそこらで削除するつもりはありません。


別ブログで、ということになりますが、今後ともよろしくお願いいたします。

PowerShell ディスクサイズの使用状態をログで吐き出したい

自分メモ。
ディスクサイズの使用状態を日時のログで吐き出す。
実際使う時はタスクスケジューラあたりで呼び出す。

Get-PSDrive -Name C | Select-Object @{Name='datetime'; Expression={Get-Date -Format('yyyy/MM/dd')} } , Used, Free | ConvertTo-Csv -NoTypeInformation |Select-Object -Skip 1 |Out-File -FilePath 'Drive_C.txt' -Append

もっと簡単なやり方があったはずだが、「Windows Server 2008R2で動く」という本来あってはならない要件があり、試行錯誤してた結果こんなんを書いていた。


SSMSで既定の言語を表示した結果とSQLで表示した時に結果が違うことがある

SSMSの表示が正しくないとき(時々あるよね)案件。


問題

SSMSでログインのプロパティを覗いていたら、既定の言語が「Arabic」になっているものがあった。


Arabicかー、珍しいなー、と思ったが引っかかったのでSQLを投げて確認。

select name, default_language_name from sys.server_principals


う~ん、ひとつだけ浮いている方がいますね。
一人だけ素のenglish。ハイ、これがArabicだったログインです。

そしてログインを作っているSQLの中身を見てみたら既定のデータベースを「english」で指定していました。
多分us_englishで指定すべきところをenglishで指定した結果、ログインは作成されたけど言語の一覧にないのでプロパティ画面のコンボボックスがセット処理が正しく走らず、一番上の「Arabic」になったと思われます。
https://docs.microsoft.com/ja-jp/sql/relational-databases/system-compatibility-views/sys-syslanguages-transact-sql?view=sql-server-ver15
※記事投稿時点ではリンク先の表示が崩れてます

ちなみに、他のログインは既定の言語を指定しなかったのでデータベースの規定値を引っ張ってきて正しく設定された模様。


似たようなバグもあったけど

最初、コレかな?と思ったSSMSのバグもあったけどタブン違う。
* https://docs.microsoft.com/ja-jp/sql/ssms/release-notes-ssms?view=sql-server-ver15
* https://feedback.azure.com/forums/908035/suggestions/38236363


教訓

経験上、既定のデータベースの表示がおかしくなることもあるよ!
SSMSは便利だけど、疑問解消・原因調査の際はSQLで!

VBAのプロシージャ呼び出しの括弧のまとめ

VBAでプロシージャ呼び出しの際、引数に括弧をつけるのかつけないのか・つけたらどうなるのかが異様に分かりづらかったので真面目に調べました。
というか自分の整理のためにまとめました。
参考にさせて頂い��のは下記ブログです。
先人の知恵はありがたや~


VBAプロシージャの引数の基本

  • 基本は参照渡し
  • 戻り値を使わないプロシージャ呼び出しは括弧不要
  • 戻り値を使うプロシージャ呼び出しは括弧が必要
  • Call を使う時は括弧が必要
  • Call を使った時は参照渡し
  • 個別に括弧をつけると値渡し


実際の呼び出し


下記のhogeとhoge2という二つのFunction プロシージャの呼び出しパターンとその時の引数の渡し方で試します。
実際にコピペして動作させた方が分かりやい(と思います)。

Option Explicit

' 呼び出すFunction

Function hoge(x As Integer) As Integer
  x = x * 2
  hoge = x + 1
End Function

Function hoge2(x As Integer, y As Integer) As Integer
  x = x * 2
  y = y * 2
  hoge2 = x + y
End Function

' 以下、呼び出し側

Sub fuga()
  Dim a As Integer
  Dim b As Integer
    
  ' 戻り値を使用しない・括弧をつけないで呼び出す。引数は参照渡し。
  a = 3
  hoge a
  MsgBox a ' message 6
  
  ' 戻り値を使用しない・括弧をつけて呼び出す。個別に括弧をつけているので引数は値渡し。
  a = 3
  hoge (a)
  MsgBox a ' message 3
   
  ' Callで呼び出す・引数は参照渡し。
  a = 3
  Call hoge(a)
  MsgBox a ' message 6
  
  ' Callで呼び出す・個別に括弧をつけているので引数は渡し。
  a = 3
  Call hoge((a))
  MsgBox a ' message 3
    
  ' 戻り値を使用する。引数は参照渡し。
  a = 3
  b = hoge(a)
  MsgBox a ' message 6
  MsgBox b ' message 7
  
  ' 戻り値を使用する。個別に括弧をつけているので引数は渡し。
  a = 3
  b = hoge((a))
  MsgBox a ' message 3
  MsgBox b ' message 7
        
  ' Callで呼び出す・引数内部で計算してしまっているので……これは値渡し?
  a = 3
  b = 2
  Call hoge(a + b)
  MsgBox a ' message 3
  MsgBox b ' message 2
  
  ' 戻り値を使用しない・括弧をつけないで呼び出す。引数は参照渡し。
  a = 3
  b = 2
  hoge2 a, b
  MsgBox a ' message 6
  MsgBox b ' message 4
  
  
  ' 戻り値を使用しない・第一引数は括弧をつけているので値渡し。・第二引数は括弧をつけていないので参照渡し。
  a = 3
  b = 2
  hoge2 (a), b
  MsgBox a ' message 3
  MsgBox b ' message 4
    
  ' Callで呼び出す・引数は参照渡し。
  a = 3
  b = 2
  Call hoge2(a, b)
  MsgBox a ' message 6
  MsgBox b ' message 4
  
  a = 3
  b = 2
  ' Callで呼び出す・第一引数は括弧をつけているので値渡し。・第二引数は括弧をつけていないので参照渡し。
  MsgBox a ' message 3
  MsgBox b ' message 4
  
  ' hoge2(a, b) ' 戻り値を使わないのに括弧をつけているので構文はエラー
  ' Call hoge2 a, b  ' Callで呼んでいるのに括弧がないので構文エラー
  
End Sub


ハマりそうなところ


個別に括弧をつけた場合、値渡しになるわけですが、これプロシージャの定義がByRef でも上書きされるんですよね。
これは参考元の方に書かれていますが、単に先に評価しているからなのでしょうね。

という理屈は分かった気になりましたが、やっぱり分かりづらいです。


2020/2/19 :間違いがあったので修正

.Net Core で GetObject したいのですが

どうすればいいざんしょ?


経緯

.Net Core がWPF 対応したことだし、手元の古いアプリの移行可能性を検討しようと思い立つ。
で、そのアプリはサードパーティのComライブラリを呼び出している。
で、既存の動きに合わせてMicrosoft.VisualBasic.Interation からGetObjectを呼び出そうとしたら……あれ、無い?
ドキュメントにあたると、たしかに.Net Core の記述がない。


調査する

でがらし会で情報を持っている人募集。で、この人https://twitter.com/kowillmから情報がくる。

実装自体は進んでいるような感じ。
ただ、Not Tested ともある通り、完成していない感じはある。

実装もある程度進んでいる雰囲気はある。

しかし手元の.Net Framework の dllの中身と比較すると実装が異なる、というか足りない感じ。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.VisualBasic.dll


さてどうしよう

VisualBasic.dll の実装自体は(こう言ってはなんですが)意外と活発に見えます。
しかし最新のパッケージが2018/12/3と一年以上前であり、リリースできる状態までこぎつけていないのか、あるいはリリースを一時中断する理由があるのか判別がつかない。
というのも、ない理由が「仕掛りなだけ」ならいいのですが、「他のdllにメソッドを移植した」「.Net Core では別実装を検討中」「問題が見つかった」「.Net Coreで実装すべき機能ではない」などの理由だと(検証的に)困っちゃうんですよね。
.Net Core へのVB関連の取り組みがあまりされていない感じもあり、またWinFormに依存する部分は含めない的な方針もあるようで……Windowsのための実装のcom系に使われる機能はどういう取り扱いになるのか不透明&不透明。
Marshal.GetActiveObject がないから、というのも理由の一つな気もしますが。

無ければ作ればいいじゃないの精神で、必要な部分だけ引っこ抜いて個別実装してもいいのですが、「まだ無い」理由が分からないと徒労に終わる可能性も高いので、なかなか踏ん切りがつきません。
該当部分は.Net Frameworkで作れ! が正しいとも考えられますし。

どういう状況なんでしょ。

コミックマーケット C97 参加はしないけど書いたよ

宣伝宣伝。

今回は行きませんが、原稿は書きました。
サークル代表が頒布しているはず。

火曜日 南地区”リ” ブロック 26a
だそうです。

よろしくお願いします。

Oracle DBリンク関連の情報を取得

自分メモ。
DBリンクを呼び出す処理を見ることになったのですが、機能が独特でよく分からん。
基本的にデータベース同士を密結合する機能なのであまり使うべきではないかな、という感じもしている。

色々取得


1.DBリンクの取得

SELECT * FROM ALL_DB_LINKS

2.DBリンクのパッケージ確認

SELECT * FROM ALL_OBJECTS@DBリンク名 WHERE OBJECT_TYPE = 'PACKAGE'


3.パッケージの中身を確認

SELECT TEXT FROM all_source@DBリンク名 WHERE NAME = 'パッケージ名' ORDER BY LINE

PowerShell 二行を一行にまとめる

自分メモ。
うまく言えないんですが、
aaa
bbb
ccc
ddd
というテキストを
aaa bbb
ccc ddd
に変換してファイル出力する感じ。


こんなん

$originalFilePath="hogehoge.txt"
$filePath = "fugafuga.txt"
[int]$count=0
Get-Content $originalFilePath | ForEach-Object {
  $count+=1
  If($count % 2 -eq 0){
    Write-Output($_) | Out-File -FilePath $filePath -Append -Encoding utf8
  }else{
    Write-Output($_ + "`t") | Out-File -FilePath $filePath -Append -NoNewline -Encoding utf8
  }
}

管理者ユーザなのにexeファイルのファイル操作できなくなる現象

exeファイルのプロパティのセキュリティにアクセスできなくなる現象とも。
実害が出るレベルではまりました。


現象

ファイルを削除しようとすると、
「このファイルを削除するには管理者の権限が必要です」→「続行」→
「この操作を実行するアクセス許可が必要です」→「再試行」→
以降ループするので「キャンセル」せざるをえなくなる

リネームしようとすると、
「このファイルの名前を変更するには管理者の権限が必要です」→「続行」→
「この操作を実行するアクセス許可が必要です」→「再試行」→
以降ループするので「キャンセル」せざるをえなくなる

実行しようとすると、
「指定されたデバイス、パス、またはファイルにアクセスできません。これらの項目にアクセスするための適切なアクセス許可がない可能性があります」
で、メッセージ内容から「セキュリティが変なのか……」と考えファイルのプロパティからセキュリティを
開くと、たしかに権限がふられていない。ファイルの所有者の所有者も見えない。
しかし、権限をふろうとしても権限をふれない。

どういうこっちゃねん。


原因

他のユーザがexeファイルをロードしている状態で、さらに別ユーザがexeファイルを削除していたため。


原因詳細

エクセルファイルなんかで「別のプログラムがファイルを開いているので操作を完了できません」を見ることがあった人も
多いと思いますが、その複雑版です。共有フォルダに配置した、複数のユーザがたたくexeファイルで起きました。
登場人物は下記。

  • Aユーザ:exeファイルを実行していた人
  • Bユーザ:exeファイルを先に削除した人
  • Cユーザ:管理者であり、exeファイルを削除したい人

Aユーザは、Cユーザのマシン内の共有フォルダに入ったexeファイルを実行しています。起動後なので、exeはロードが終わった状態です。
続いて Bユーザは、そのexeファイルを削除します。Aがexe実行中でもファイル削除できます(Bのエクスプローラからは消える)
最後にCユーザが共有フォルダに入ったexeファイルを削除を実施しますが上記「現象」にはまり何もできなくなります。
Cマシン内の共有フォルダにあるexeは、Bによって削除された亡霊みたいな状態。


対応

exeにアクセスしている人を強制的に全部切断すれば解消されます。
というか先に切断しておきましょう。


泣き言

これWindowsのバグでは、という気がしなくもない。けど何かしら事情があってこうなっている気もする。

WSL でGitbucket環境構築

ちょっとした個人用リモートリポジトリが欲しい時は、Gitbucketを構築しています。
Gitbucketは動かすだけならjavaさえあればよいので、Windowsでもお手軽です。
が、逆にいえばjavaを入れなければなりません。
これが嫌だなー、という人は仮想環境を作るなりDockerで構築するのがよいと思うのですが、今回はWSLでやっていきます。

理由:現在使用中の環境のうち一つで、Dockerサービスが動かなくなったので(泣)

手順

使用環境はストアから入手したUbuntu。

まずはJavaをインストール。
sudo apt install default-jdk

インストール完了後、バージョン表示してインストール確認。
java -version

Gitbucketを入れるためのディレクトリを作成。
sudo mkdir /opt/gitbucket

Gitbucketをダウンロード。
sudo wget https://github.com/gitbucket/gitbucket/releases/download/4.32.0/gitbucket.war -P /opt/gitbucket

さて、後はgitbucketを動かせば完了なのですが、このままではWSL内にファイルを保持してしまいます。
そしてWSLの環境はリセットをすることがありますので、油断するとファイルが失われてしまいます。
これを防ぐため、Windows側でファイルの保存フォルダをあらかじめ作成しておきます。
今回は
D:\WSL\Ubuntu\GitBucket
というフォルダを作成しておきました。

さて、再びWSLに戻り、起動用ファイルを作成します。
叩きやすい場所に作るのがよいと思いますが、今回は/opt/gitbucket 内に作成しました。
sudo vi startgitbucket.sh

startgitbucket.shに、下記の内容を記述します。
java -jar /opt/gitbucket/gitbucket.war --port=8600 --gitbucket.home=/mnt/d/WSL/Ubuntu/GitBucket
ポートも指定していますが、ポートは空いている番号なら何番でもOKです。
今回はなんとなく8600番を指定しました。

最後に、実際に起動して完了。
sh startgitbucket.sh

http://localhost:8600/ にブラウザでアクセスすれば、動いているのが確認できます。



よりよい方法

この方法だと、いちいちファイルをたたいて起動しなくてはならないため、サービスとして登録した方がよいと思います。
が、そのあたりよく分からないしよけいに面倒くさいは今回触れません。あくまで「簡易のちょっとした」環境整備です。


さらによりより方法

素直にgithubなりなんなりでリモートリポジトリを用意した方が楽だよ!


独習Git

新品価格
¥3,542から
(2019/8/25 14:47時点)

布団が俺を呼んでいる | 丘山大一のぶろぐ

布団が俺を呼んでいる

丘山大一のぶろぐ

PowerShell 特定の処理を、実行者の任意のタイミングで繰り返す。(キー入力したら再度実行する)

アプリでDBを更新したら、その結果を確認、というのが面倒だったので簡易スクリプトを組む。
初めはSSMSで確認していたが、面倒になってきたので。

とりあえずやってみる。

リトライの「r」が入力されたら再実行。
do{
    $Sql =  ("select * from TABLE_A;
              select * from TABLE_B;")
    $DBLst = Invoke-Sqlcmd -Query $Sql -ServerInstance "localhost\名前付きインスタンス" –Username "sa" –Password "パスワード"
    $DBLst[0] | Format-Table 
    $DBLst[1] | Format-Table 
    $in = Read-Host "再度SQLを投げる場合はrを押下してください。"
} while ($in -eq "r")  

結論

本当は関数化するべきですね(ダメじゃん)。


【改訂新版】 Windows PowerShell ポケットリファレンス

新品価格
¥3,002から
(2015/12/3 23:18時点)

UWPアプリ Windows Phone(Windows Mobile)で実機デバッグ

No調査で挑む実機デバッグ。

とりあえず接続

USBで接続。ロック解除。
Visual Studio のデバッグをCPU「ARM」 配置先を「Device」に。
F5実行!

エラーw

これくらいは想定内です。

あらためて設定を見直し。
端末側の「設定」-「更新とセキュリティ」-「開発者向け」から「開発者モード」を選択。
F5実行!

……できちゃった……。

こんなあっさりなのかしらん??
嬉しいのですが、ちょっと拍子抜け。

補足

端末を開発用に登録~のツールも確認。
でもこちらは、すでに登録済みの状態になっていたので、何も変更をしなかった。

VRは読書の在り様を変えるのではないかと期待している

VRの話題を見ていて思うんですが、やたらゲームの話題が多くないですか?

VRでこそ電子書籍を

電子書籍が、一定以上流行らないのは、やはり閲覧端末のサイズに制限があったからだと思うのです。
極端な話、絵本と文庫本では読むのに適切な大きさが違いすぎる。
その結果、「何でも読めるけど、何にを読むにも適さない」ため「本の方が読みやすい」で終わってしまう。
※電子書籍の中で漫画が比較的好調なのは、いわゆるコミックサイズが片手用タブレットに近いサイズであったことも大きいと思う。
でも、VRならサイズ制限が撤廃できる。
小さくても大きくても自在。しかも重くない。好みのサイズに変えることだってできるはず。
メモアプリでも同時に開発すれば、書くことだってできるはず。
学校に通うのに筆箱も教科書もいらない、なんてことにもつながるはずです。

本屋だって
本屋だってVRで店舗展開すべきだと思う。
現実の本屋が通販に比べて勝る数少ない長所、「新しい本との出会い」を演出できるのだから。
(膨大な量のデータ化が必要そうだけど)

でも結局

国内勢は目先のゲームや建築ばかり追いかけて、そのうちAmazonあたりがKindleのVR版とかで統一規格を作ってしまって、国内本屋産業は本当につぶれてしまう、そんな未来が見える。


GP 3DVR ゴーグル 3Dメガネ スマホゴーグル素晴らしい3D体験・お手軽な3Dゴーグルで遊べ!3DVR 超3D映像効果 現実虚構 3D動画VR体験メガネ調節可能な焦点/瞳孔距離4- 6インチのスマートフォンiPhone 6Plus 6 Samsung なとに適用 GoogleDIY ビデオ 映画ゲーム ヘッドマウント用 ヘッドバンド付き ホワイト

新品価格
¥3,060から
(2016/3/7 23:15時点)

Windows 開発者アカウント登録してみた

意外と資料が無いんですねえ。
というより、ネットで検索すると出てくるのが、Windows 8.1のころのものばかりで、最近のものが見つからなかった。
(結果としては全然やり方変わってないみたいですけど)

開発者アカウント登録手順

何はともあれWindows デベロッパーセンターにいきます。
「開発者アカウントの登録」を選択、サインアップ。
この時、MSアカウントが必須みたいですね。もう持っているのでよく分かりませんでしたが。

必要事項をポチポチと入力。
「発行者表示名」は入力中はOKだったのに、「次へ」を選択すると
「ダメー。企業アカウントにする?」と言われました。何故だ。
よく分からなかったので末尾に「.Dev」とつけたら通った。いかにも開発者アカウントw

その次は入金……なのですが、MSサブスクリプションを持っているので、そちらからプロモーションコードを入手。
「サブスクリプションの特典」の中にしれっと存在していました。

んで「次へ」。何故か一回拒否されたのでもう一回「次へ」。

これで完了のようです。思ったより簡単だったなー。

完了後はダッシュボードへ行けます

なんかそれっぽいダッシュボードが出てきました。
こちらもちょっとずつ慣れていこう。


ソフトウェア開発者採用ガイド

新品価格
¥2,160から
(2016/3/13 09:51時点)

Windows Mobile の画面出力アプリ (ProjectMyScreen)

ProjectMyScreen という名前です。
PC と Windows Mobile をUSBでつなぐと、PC上にデバイスイメージをそのまま表示させられます。
(正確にはWindows Phone or Windows Mobile みたいですが)
使用イメージはVisual Studioのエミュレータみたいな感じ、といえば伝わるのかな?

ダウンロード先

こちらから。

使い方

インストールしたアプリを起動。
Windows Mobile をUSBで接続。
Windows Mobile にログイン。ちょろっと動かすと「接続してOK?」みたいに聞かれるので「OK」。
いきなり全画面で表示されてしまうので、ウィンドウ表示にしたい場合は「Alt + Enter」で対応しましょう。
他の使い方はヘルプを見てね(投げやり)

使い道

画像を大きな画面で見たいー。
でも接続できるモニタが無いー。
そんな時に便利そう。
他にも色々使えそうな気がするけど、思いついていない。


cheero TypeC USB 3.1 ケーブル 100cm (TypeC - TypeA) 超高速データ転送 高速充電 新型Macbook対応 (100cm, ブラック)

新品価格
¥1,280から
(2016/3/9 22:32時点)

Continuum を試してみた

ただし変則的な構成で。

構成っ!!

・Nuans neo
・Actiontec ScreenBeam Mini2 Continuum
・サンワサプライ モバイルプロジェクター PRJ-3
・cheero Power Plus 10400mAh DANBOARD Version 大容量 モバイルバッテリー
 (通称ダンボーバッテリー)

なぜにそんな変な構成に?

プロジェクタに関しては、単純にHDMI接続できる手頃なモニタが無かったからです。
HDMI接続可能なものはPCに接続してあって外しづらいし、部屋にテレビは無いし。
モバイルバッテリーを使っているのは、モバイルプロジェクターを使うならモバイルバッテリーで動くかどうか確かめたいなーと思ったからです。

接続の仕方

簡単です。
まずプロジェクタとScreenBeam Mini2 を接続。
ScreenBeam Mini2 はダンボーの1Aの方に接続。
フツーに電源を入れます。
しばらくすると接続待ち受け状態になります。
今度は、Nuans neo を操作し、プリインストールアプリの中の「CONTINUUM」を起動。
あとは流れにそっていけば起動できます。
1Aで足りるかな?と思いましたが杞憂でした。
「もっさりしている」という記事をよく見ましたが、思いのほかサクサク。
ちょっとビックリしました。

あれ、フツーのMiracastでの投影は?

さて、ここまで書いておいてなんですが、個人的には Continuum は正直使う気がありませんw
なぜなら、なんぼPCのように使える、といっても、シングルモニタ環境で何かを生産する作業をしたくないからです。
普段使っているメインPCがマルチモニタの4枚環境。
会社でも3枚。
シングルモニタでは表示領域が狭くて、何か作る気にはなれません。(閲覧・表示だけならいいんですけどね)
今回はスクリーン投影しているので、まあ表示領域に関しては広いのですが、結局スクリーン投影しながら作業ってしにくいです。
と、いうわけで、色々アプリが制限されてしまうContinuum より、単純に Miracast による投影をしたかったわけです。
というわけで、さっそく……アレ?

やり方が分からない……

「デバイス」には画面出力に関する設定が無いし、
「接続」を選んじゃうとContinuum で繋がっちゃう……

ど、どうやればいいんだ……

というわけで、タイトルの「Continuum を試してみた」はできたのですが、フツーのMiracast 接続のやり方が分かりませんw
個人的にはコッチの方が問題。

モニタへの接続方法は他にもあった

正確にはPCへの接続、ですけど。
これは後日また書きます。

【正規代理店品】Actiontec ScreenBeam Mini2 Continuum(スクリーンビームミニ2 コンティニュアム) SBWD60MS01JP

新品価格
¥10,581から
(2016/3/9 22:24時点)

サンワサプライ モバイルプロジェクター PRJ-3

新品価格
¥42,800から
(2016/3/9 22:25時点)

Windows Phone(Windows Mobile)を使い始めて一月が経った

「OSがどうこう~」という論争はここではしない。
何故なら、単純な完成度ではAndroid、iOSには及ばないと感じているからw
比較しても仕方ないのです。

ここが良かった

スタート画面。

Windows8.1を使っていた時は、あのタイルというかモダンというかのスタート画面は殆ど使わず(Surfaceでは使っていたけど)、MSの戦略はどうかと思っていたが、Mobileを使ってよくわかった、これは便利です。
インターフェースがデスクトップ版と同じなので使い方に迷わない。OSの統合とはこういうことか、と納得。
また、タイルの大きさを変えられるのも便利です。


感じている問題点

よく落ちるw

これは致命的なんですが、私の場合はMobileを使っている時間が短いため、それほど大きな問題にはなっていません。
が、これがある程度改善されないと、他の人には薦められないw
あと、アプリが落ちると、再起動するまで起動できなくなってしまうケースが多々あった。
プロセスが半端に残っているような感じなのだが、調べられていない。

Outlookメールが使いにくい

これはどうにかしてほしい。
本当に使いづらい。まずメールアドレスの検索機能が弱すぎる。名前ではなくアドレスでないと探せない。
英語版だと探せる気もするが、これは痛い。
「今時メールなんて使ってんじゃねえよゴラァ( ・`д・´)」というスタンスなのかもしれないが、私は友人と連絡をとるときはメールが多いのです。

ペン文字入力への対応

Surfaceでペン入力の便利さを知ってしまったので、欲しくてたまらない。
フリック入力はどうしても遅いうえに、打ち間違いが多い。日本語英数字記号をまぜた入力をしようと思うと、結局キーボードには敵わない。が、ペン入力はキーボードが無いタッチ型端末に、フリックとキーボード文字入力の間の入力機能を提供してくれる。
もしかしたらできるのかもしれない。Lumiaシリーズでは、Surfaceペンに対応、なんて噂もあるので期待はできる。
でも現時点ではない。
Lumia以外でも頑張ってくれないだろうか。


まだまだ粗削りだけど、Windows Mobile、私はわりと気に入っています。
まあ日本で普及するころには、すでに主流はVR搭載型のメガネ端末とかになっていて、スマホという物自体無くなっている気がしますが……。


NuAns NEO TWOTONE CORE(ネオ ツートーン コア)本体セット スムースブラック(Windows 10 Mobile/Continuum for Phone)

新品価格
¥45,900から
(2016/3/7 23:12時点)

Windows 10の「モバイルコンパニオン」 使ってみた

試しにググってみたら「いらない子」扱いされているアプリ(笑)
そりゃAndroidは単独で十分使えるし、
iPhoneはITunesがあるからね、
いらんわな。

だがWindows Phone ならどうか。


というわけでつないでみた。
どうやら画像、音楽、動画ファイル等をPCと連携させる機能みたいですね。
iPhone にとってのItunes を目指そうとしているのかしらん?
とか一瞬思いましたが、それにしては機能が少ない
ぶっちゃけエクスプローラで開いてコピーしても手間が変わらないような??
うーん、どういうふうに使うのが正解なのだろう??


Dell 外付けバッテリーパック 電源コンパニオン 12,000mAh USB対応 PW7015M

新品価格
¥12,980から
(2016/2/25 23:38時点)

UWPアプリ いきなりビルドできず

以前は問題なかったんですが……いきなりビルドすらできなくなりました。

まずちょっとProjectを作成してみる。

フツーです。
新規作成からProject、C# の Windows の ユニバーサル。
一切設定をいじらず、x86ビルド。

失敗。
なぜかデバッカーを起動しようとし、最終的に下記のエラーが出ます。




解決方法

アカウントを削除したり、binフォルダを削除したりする対応もあるようですが、私の場合ソースをCドライブに配置することで成功しました。
ちょっと気になるのは、マインクラフトをインストールした後、「設定」-「システム」-「アプリと機能」からインストール先をEドライブに変更したことです。
最後にEに変更した情報が変に残っていて失敗した……?
ムリがある仮説ですねえ。

20160318追記:

どうやらソースがどこにあるかは問題ではないらしく、出力先のみをCドライブに変更したところ実行可能になりました。
色々見ていて気になったのは、Eドライブの「WindowsApps」フォルダ(Cドライブ既定ではC:\Program Files\WindowsApps)のアクセス権限のうち、Cドライブには英数字のGUIDぽいプリンシパルがいるのですが、Eドライブにはいないことです。
ビルドした後に、エラーで落ちる……という挙動ぽい、ということを考えると、
ビルド成果物が同ドライブのWindowsAppsに配置される → GUIDプリンシパルがいなくてアクセスできない → 落ちる
とかだったりするんだろうか……。
当面、出力先をCに変更することで乗り切っていきたいと思います。

(無料電話サポート付)できるVisual Studio 2015 Windows /Android/iOS アプリ対応

新品価格
¥1,944から
(2016/2/27 00:41時点)

Amazon で翔泳社の本が50%OFF だったので3冊買ってきた

友人からセールやってるぜ、と教えてもらったので、覗いてきました。
Amazon つーか Kindle といった方が正しい気もしますが、それはともかく以下の3冊を購入。

システムテスト自動化ガイド
最近業務でテストを書き始めた(ようやく)。
ここらで、体系としてのテストを知りたくなったので購入。
特定のツールに依存した内容ではないらしい、というのもこの場合はありがたく。

システムテスト自動化 標準ガイド CodeZine BOOKS



プログラマのためのDocker教科書

Dockerはふわっと内容は知っていますが、それだけで自分の中で完全にバズワード化(笑)
使う使わないは別にして、知識を得ておこうと思った。


レガシーコード改善ガイド

こちらは上の友人とは別の友人から以前紹介があった本。
借りようかなと思っていましたが、セール中なので買うことにしました。
こちらもテストの重要性が説かれている本と聞いております。

レガシーコード改善ガイド


なお、年間で読んだ主要な本はブログ右上に掲載中。

あ、広告はKindleではなくて書籍版(のはず)です(セールが2/25で終了なので)。
安くないじゃん、と怒らないでくださいね。