わんくま同盟 Blog's

わんくま同盟

メニュー

わんくま同盟

  勉強会情報

  メンバリスト

掲示板

ブログ

リンク

統計

わんくま同盟メンバ

わんくま同盟わんくま同盟

わんくま同盟メンバの最新の記事

ブログ移転のお知らせ

ブログを移転しました。 情報アイランド http://info-i.net/ 今後少しづつ記事を移動していきます。

posted @ 2016/07/14 7:10 by Piz&Yumina

片桐さんがUWPアプリを作ろうとしています。その肆

ここまで頑張った。でも、XAMLはやっぱり後にする。<を

データを保持したいので、最初はテキストベースでいいかな。とか思ったけれど、どうせなら知らないことやってみようかな、とか考えた。

なので、SQLiteってのをやってみよう。<まじめに触るのは初めてw ハックはなんどかやったが<を

https://blogs.windows.com/buildingapps/2016/05/03/data-access-in-universal-windows-platform-uwp-apps/

ここを参考に、環境を構築。

キモは、さっきの記事の中にもあったけど、ここ。

image

EntityFramework Core によるORM形式ってとこ。

ORMはとても便利な機能ではあるけれど、データベーステーブルのレイアウトが「確定」できてることが意外と大事だったりする。このあたり、微妙なバランスで、頻繁にテーブル列や型や主キーが変わる状態で開発するときに、なまじORM頼みしてると血の涙になることもあったりなんかしちゃったりしてね。まぁここは経験則なんだけれども。

それが嫌で、今の現場では「スペシャル?」なORMもどきライブラリ&クラス生成ツール作って提供していたりラジバンダリ。

とかいってるうちにインスト終わったんで、テーブル設計するかー。

posted @ 2016/07/09 19:47 by 片桐 継(Tugu Katagiri)

List(of Class)でGroupingしてから、その中の結果でさらに検索したい

いっつも忘れるので、めも。

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000"),
                                .Data1 = rnd.Next(100, 500),
                                .Data2 = Now.AddDays(rnd.Next(-100, 100))
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Dim wlist = (From x In samples
                     Group By x.Key1, x.Key2, x.Key3
                     Into Group
                     Select Group).Select(Function(f) f.OrderBy(Function(r) r.Data2).FirstOrDefault).ToList
 
        Console.WriteLine("グルーピング件数 : {0}", wlist.Count)
        wlist.ForEach(Sub(x)
                          Console.WriteLine("キーごとで最も過去日付のレコード : {0}", x.ToString)
                      End Sub)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Property Data1 As Integer
    Property Data2 As Date
 
    Public Overrides Function ToString() As String
        Return String.Format("{0}.{1}.{2}({3}:{4})", Key1, Key2, Key3, Data1, Data2.ToString)
    End Function
 
End Class

その結果

image

posted @ 2016/07/08 21:51 by 片桐 継(Tugu Katagiri)

VC++ ランタイム(12.0, 14.0)を Desktop App Converter プロジェクトで使う方法

Using Visual C++ Runtime in Centennial project

実際の設定方法とかは、リンク先を見てください。

注意点は、ランタイムを別途DLして来いよ!という点ですかね。デスクトップのランタイムのバージョンとUWPのそれとでは必ずしも同じではありませんので。

posted @ 2016/07/08 12:06 by とっちゃん

[WiX] WiX Toolset v3.10.3 リリース

WiX v3.10.3 released

独立記念日に合わせて、WiX 3.10.3 がStableになりました。

修正したバグの一覧:

このリリースで、3.10 シリーズは終了です。約9か月にわたって続いた各種脆弱性の修正対応と、Burn のレイアウト機能のバグ修正が行われています。

今後の 3.x 系の更新は 3.11 になります。開発の主軸は v4 だと思います。

posted @ 2016/07/06 18:18 by とっちゃん

[Desktop App Converter] コンバートにはOSのビルドと一致した wim が必要です。

8/2 のアニバーサリーアップデートに向けて Bug Bash が続いています。Fastring は、週2ペースでアップデートが続いています。

あまりにも頻繁に更新があるので紹介できていませんが、ダウンロードセンターで”Desktop App Converter” で検索すると公開中のものがずらっと出てきます。

このブログを書いている時点(日本時間の7/1 14:20頃)での最新版は 6/30 公開のものです。

コンバーターのバージョンは、0.1.21。wim(コンバート時のコンテナがみる) は14371,14376,14379 の3つがあります。詳しくは、Details を見てください。

コンバーターを動かす、Windows 10 のビルドと同じ番号の wim をDLして利用します。

最新 Fastringなら、14379 があればOKです。起動するOSの最小ビルドは、AppManifest.xml に書いてあるので、そこを調整します。

で、重要な注意点が一つ。System Requirements は、コンバートする環境のお話です。実行環境ではありません。

UWPアプリとして動く仕組みに手を入れたのではなく、UWPアプリとして見立ててもらうための特殊なコーティング剤を作るのが、Desktop App Converter の仕組みです。

なので、Desktop App Converter でコンバートした結果出来上がるものは、「パッケージ化する直前の状態」のUWPアプリケーションです(-MakeAppxをつけると .appx の作成まで行う)。

 

ちなみ、MakeAppx したり、フォルダの整理をするのは、Desktop App Converter のセットアップを「行っていない」環境でも実行できます。

一応あまり知られていない気もするので。

Desktop App Convereter がセットアップするのは、wimを使ってクリーンルームを作るためのコンテナのセットアップです。そのついでに(今は省略ができなくなっているけど)、wim をキャッシュ配置するということをやっています。

なので、すでにコンテナがセットアップされているので、-Setup してないよ!という人以外は、コンバート時に wim を指定する必要はありません。

コンバート時の基本的な情報や手順等は、

https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter

の日本語情報を見るとよいでしょう。

その上で英語の

https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter

もチェックしておきましょう。最新の変更点などが載っています。

posted @ 2016/07/01 15:18 by とっちゃん

2016年4月~6月までのまとめ

他サイトで書いた4月~6月のブログ記事です。わんくまブログはもはや書きにくいし、一向に修正されそうもないですからね。

■Hatenaブログ

順列と組合せを理解してみる-重複順列

TensorFlowコトハジメ Fizz-Buzz問題

人工知能ハンズオンの資料公開

TensorFlowコトハジメ Automatic Colorization(白黒画像の自動彩色)

TensorFlowコトハジメ 手書き文字認識(MNIST)による多クラス識別問題

TensorFlowコトハジメ 八百屋で識別問題

TensorFlowコトハジメ 八百屋で勾配降下法

TensorFlowコトハジメ フィボナッチ数列

TensorFlowコトハジメ 概要

WindowsユーザーがTensorFlowをインストールしてみた(AWS EC2 Docker版)

WindowsユーザーがTensorFlowをインストールしてみた(Docker版)

■Qiitaブログ

データベース不要のWikiクローン「DokuWiki」の導入

カンマ区切り出力時の末尾カンマ削除

ClickOnceの必須コンポーネントの警告マーク解消方法

ベルマーク運動のIT化問題

空のプロジェクトからASP.NET MVC5 EntityFramework6 for Oracleを試す(登録・更新・削除)

「ファイル ‘~’ が見つかりませんでした。」「 ディレクトリが空ではありません。」エラー原因

AlphaGoを作った天才デミス・ハサビスの経歴

簡易グループウェア スケジュールWeb「LiteScl.oda」の導入

Dockerを理解するまでの備忘録

AWS EC2の登録からDockerをインストールしTensorFlowを実行するまで

Docker Quickstart Terminalのエラー発生(Looks like something went wrong)について

posted @ 2016/07/01 0:58 by やじゅ

こんなもの作ってみました。さてなんでしょう?

正体はiPad3の液晶を利用した液晶モニタでした。

1年以上前から話題だったみたいですね。 win10を入れたマシンにつないで見ましたが、最初はバックライトのLEDがちかちかしてましたが、 調べたらUSBの給電能力が足りないとだめみたいです。 USBのさし元を変えたらあっさりうまくいきました。 (マシン自体は、昨年発売されたnucをなぜかつい最近組み立ててOSまで入れて放置してますた。。。)

フレームはジグソーパズルの木枠を利用してipadの修理用液晶パネルと制御基盤、miniディスプレイポートのケーブル、USBケーブルであわせて1万円くらい。 いい時代になりましたなぁ・・・

posted @ 2016/07/01 0:22 by まーる

[VisualStudio]Visual Studio 2015 Update 3がリリースされました。

MSNDサブスクリプションダウンロードから

Visual Studio Enterprise 2015 with Update 3

Visual Studio Professional 2015 with Update 3

などがダウンロードできるようになりました。

Update 3の内容は(いまはまだRCと表示されますが)リリースノートに詳細があります。

https://www.visualstudio.com/news/releasenotes/vs2015-update3-vs

 

でも、Update 3の目玉はリリースノートには記載がないようです。

Update 3と同時に、.NET Core 1.0 SDKもリリースされていて、これを使うにはVisual Studio 2015 Update 3が必要になります。

 

.NET Coreって何?

という人もいるかもしれません。

.NET Coreは、.NET Frameworkを軽量化したサブセットでオープンソースとして公開されています。Windowsだけではなく、Mac OSやLinuxでも動作します。

fig

posted @ 2016/06/28 7:03 by 初音 玲

List(of Class)でDistinctしたい。

セミコロンとったらVB.NETとかとかとか、世迷言だよ、ぐるるる。

とあるクラス、リストしてから、重複除いた要素でごにょりたい、で作ったのでメモ。

 

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000")
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Console.WriteLine("重複なし件数 : {0}", samples.Distinct.Count)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
    Implements IEquatable(Of KeyData)
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Public Function Equals1(other As KeyDataAs Boolean Implements IEquatable(Of KeyData).Equals
        Return Key1 = other.Key1 _
            AndAlso Key2 = other.Key2 _
            AndAlso Key3 = other.Key3
    End Function
 
    Public Overrides Function GetHashCode() As Integer
        Return Key1.GetHashCode Xor Key2.GetHashCode Xor Key3.GetHashCode
    End Function
End Class

 

image

結果、こうなったんで、OK。

posted @ 2016/06/22 20:17 by 片桐 継(Tugu Katagiri)

Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26 - エラー 0x800f0219

マシンはASUSのU24E。

Windows10 にしてからUSBが不安定で、デバイスがこのエラーで動作してなかったんよねー。

んでもって、がんばって、対処してみた。

原因は、Intelさんとこから出てるドライバファイルがWindows10 さん的に「あやしくね?」「バージョンちがくね?」なものらしく、それで動かないんですわー、的簡単なものなので、対処としてはこのファイルをWindows10さんが「正しい」「動かしてええよん」と思うドライバファイルにすればよいだけ。

このサイトの

https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-

 

image

 

青色ボタンの「infinst_autol.exe」を実行して、ファイル書き換えればOK。

このページのこのボタンを押す、という行為に気付くのに時間がかかった<を

実行後は再起動しておけば尚OK。

ドライバファイルはインテルさん証明書付なんで、Windows10さんはご機嫌に動かしてくれまする。

posted @ 2016/06/19 14:10 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。その燦

UI、燦々とぉ~♪

やりたいこと、は明白なんだけれど、それをUWPアプリに落とし込むとき、どういうUIにすればよいんだろう。

XAMLに手を付けていて、なにかが違うような気がしてきたので、再勉強。

ちょっとこのページを読んでみた。

設計および UI

https://developer.microsoft.com/ja-jp/windows/design

なんか、WindowsFormのようでいて、そうでもない。

ページの移り方、操作の仕方、部品の配置、ってのはこうなんだよ、こう考えるんだよ、が書いてあった。

で、これと照らし合わせてみて、自分の中で、こういう風に遷移して、こういう操作ができればいい、が整理できてくれば後は大丈夫、だと思う、思いたい、思うことにする。

つまりは、だ、

脳内を形に現すってのは、簡単じゃないってこと。

posted @ 2016/06/19 13:29 by 片桐 継(Tugu Katagiri)

[Hardware]Xbox One Sがきた!

E3で発表ありましたね。

現行に比べて本体サイズ40%小型化。

最大2TB HDD搭載。

4KテレビとHDRに対応。

299ドル(500GBモデル)~

posted @ 2016/06/14 3:12 by 初音 玲

片桐さんがUWPアプリを作ろうとしています。その煮。

筑前煮と鯖味噌煮が得意だし、好き(謎)

どうも、XAMLのめんどくささが耐えられない。

ListView作りたいな→ListView.ItemTemplate作ってね→DataTemplate作ってね→中の部品を定義してね→ListView.ItemContainerStyleも作ってね→中の定義も書いてね

これのXML形式の入れ子の繰り返し。

ここまで理解。

<Page
    x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
     <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
          RenderTransformOrigin="0.498,0.111" Margin="0,5,0,0">
         <Grid.RowDefinitions>
             <RowDefinition Height="60"/>
             <RowDefinition Height="*"/>
         </Grid.RowDefinitions>

         <Button x:Name="button" Content="Button" Grid.Row="0"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,12,0,0"/>
         <ListView x:Name="ItemsView"  Grid.Row="1" 
                  Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
             <ListView.ItemTemplate>
                 <DataTemplate>
                     <Border Background="{ThemeResource AppBarBackgroundThemeBrush}">
                         <Grid HorizontalAlignment="Stretch" Margin="0">
                             <TextBlock Text="{Binding}" Name="Title" />
                             <TextBlock Text="{Binding}" Name="Artist" />
                         </Grid>
                     </Border>
                 </DataTemplate>
             </ListView.ItemTemplate>
             <ListView.ItemContainerStyle>
                 <Style TargetType="ListViewItem">
                     <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                 </Style>
             </ListView.ItemContainerStyle>
         </ListView>

     </Grid>

</Page>

むぅ、メンドクサイ(大事なことらしい)

細かいデザインまで美しく配置でき、かつ、好きにできる、それは素敵、でも、メンドクサイ(大事なこ(ry))

まだ、XAMLコーディングだけで相当かかりそうな気配orz

posted @ 2016/06/13 20:54 by 片桐 継(Tugu Katagiri)

Productivity Power Tools 2015 をいれてみた

どうも、ソースのコピペ量が増えると色々と面倒で、綺麗なHTMLにしたいし、いれてみた。

Productivity Power Tools 2015
https://visualstudiogallery.msdn.microsoft.com/34ebc6a2-2777-421d-8914-e29c1dfa7f5d

Visual Studio 2015 で使えまする。

これで、

image_thumb[1]

こういうメニューがでてくるので、あとは、説明なくても大丈夫だよねw

サンプルソースは一つ前の記事の、完全動作コード。

Module Module1

     Sub Main()

         Dim samples As New List(Of SampleRecord)
         Dim rnd As New Random

         Dim KeysCount = rnd.Next(1, 23)

         Console.WriteLine("{0} 件キー", KeysCount)

         For x As Integer = 1 To KeysCount
             For f As Integer = 1 To rnd.Next(1, 55)
                 samples.Add(New SampleRecord With {
                                     .Key1 = x.ToString("KeyA-000"),
                                     .Key2 = x.ToString("KeyB-000"),
                                     .Key3 = x.ToString("KeyC-000"),
                                     .Data1 = f.ToString("DataA-00"),
                                     .Data2 = f.ToString("DataB-00"),
                                     .Data3 = f.ToString("DataC-00")
                                     })
             Next
         Next

         Dim c = From x As SampleRecord In samples
                 Group x By x.Key1, x.Key2, x.Key3
                 Into Datas = Group
                 Select New Hoge With {
                     .Key1 = Key1,
                     .Key2 = Key2,
                     .Key3 = Key3,
                     .Datas = Datas.Select(Function(f)
                                               Return New DetailData With {
                                                                 .Data1 = f.Data1,
                                                                 .Data2 = f.Data2,
                                                                 .Data3 = f.Data3
                                                                }
                                           End Function).ToList
                     }

         c.ToList.ForEach(Function(x)
                              Console.WriteLine("{0}-{1}-{2}-{3}", x.Key1, x.Key2, x.Key3, x.Datas.Count)
                          End Function)

         Console.ReadKey()
     End Sub

End Module

Public Class SampleRecord
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class DetailData
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class Hoge
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String

     Property Datas As List(Of DetailData)
End Class

 

ふむ、やれそうだ(謎)

posted @ 2016/06/12 9:34 by 片桐 継(Tugu Katagiri)

VB.NETのLINQでGROUP BY を頑張ってみた

意外とはまったのでメモ。

やりたいこと。

とあるクラスのリスト、クラスには集約キーのプロパティが複数あって、データ部のレコードが存在してる。

これをキーでまとめて、データ部をリスト化したクラスのリストにまとめたい。

で、書いてみたサンプルがこれ。

Dim c = From x As SampleRecord In samples
                Group x By x.Key1, x.Key2, x.Key3
                Into Datas = Group
                Select New Hoge With {
                    .Key1 = Key1,
                    .Key2 = Key2,
                    .Key3 = Key3,
                    .Datas = Datas.Select(Function(f)
                                              Return New DetailData With {
                                                                .Data1 = f.Data1,
                                                                .Data2 = f.Data2,
                                                                .Data3 = f.Data3
                                                               }
                                          End Function).ToList
                    }

hogeクラスにはキーで集約されて、データ部にリスト化されたDetail情報が集まる

posted @ 2016/06/11 22:05 by 片桐 継(Tugu Katagiri)

[HoloLens]HoloLens Wave 3

image

HoloLensのDeveloper EditionはWave 1~Wave 4、そしてその後に追加でWave 5という形でいくつかの発送ブロックに分かれて順次発送されています。

残念ながらWave 5時点ではまだ米国+カナダ限定ですが。

 

1つのwaveが2、3カ月かかるのかと思っていたら、3/30からWave 1が始まって、5月中くらいにWave 2。

「あれ?1.5カ月とかはやい」と思っていたら、wave 3がもうはじまりました。

もしかして、当初の予想だとwave 5は来年かと思っていたんだけれど、wave 4やwave 5の割り当てでも比較的早くきそう?

posted @ 2016/06/09 6:23 by 初音 玲

[Windows10]マイクロソフトのモバイル戦略

弊社アプリをスマホで使いたいとWindows 10 Mobile機をご購入していただけたり、短期間であれば弊社からお貸出ししてトライアルしてもらう場合が最近増えております。

自社保有機器といっても開発用なので手持ち機器だけではどうしても対応しきれず(予想外の引き合いの多さで緊急で予算確保のための折衝中→なんとかある程度の台数を購入できそう)端末メーカーさんにご協力いただきトライアル用端末を貸していただいていたりもします。

 

そんなお客様の中でも特にWindows 10 Mobileを気に入っていただき、UWPアプリの作り方などもご質問頂いたお客様からこんなことを言われました。

 

「Windows 10 Mobileはすごくよいし、自分たちもアプリを作っていくけれど、あとは心配なのはマイクロソフトの方針だね。」

 

最初、何をおっしゃっているのかと聞き返そうと思いましたが、思い当たる節があったので次のように回答しました。

 

「マイクロソフトがスマホ事業を縮小したのは、自社でつくらなくても様々なメーカーがWindows 10 Mobile機を作り出荷し始めたので、Lumiaから移籍した技術者を元の鞘に戻しただけですよ。Mobile First, Cloud Firstって方針は変わっていません。Windows 10とWindows 10 MobileはOSコアは同じですし、そのうえで動作するFrameworkも同じ.NET Coreだし、UWPアプリもどちらでも動くし、あえてデスクトップとモバイルと分けて情報発信しないでいいのでモバイルって言葉が話されなくなっているだけですよ。」

 

この説明には、すごくご納得頂けたようで、Windows 10 MobileがなくならないこととUWPやっていって無駄にならないことがわかってすごく満足な笑顔を頂いた。

posted @ 2016/06/08 23:23 by 初音 玲

片桐さんがUWPアプリを作ろうとしています。たぶん、壱

なにしろずっと、WindowsFormばかりだったから、ひさしぶりのXAMLでパニクる

image

部品配置がWindows.Formに比べて恐ろしく、めんどくさいんな。

XAMLはやっぱり慣れないなー。HTML書くのは楽しいのになぁ。

<Page x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button x:Name="button" Content="Button"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,30,0,0"/>
        <GridView x:Name="listView"
                  HorizontalAlignment="Left"
                  Height="100" Margin="10,135,0,0"
                  VerticalAlignment="Top" Width="390"
                  BorderBrush="{ThemeResource AppBarBorderThemeBrush}"
                  Background="{ThemeResource ListBoxBackgroundThemeBrush}"
                  Header="リスト"
                  IsSynchronizedWithCurrentItem="False">
            <TextBlock>テスト2</TextBlock>
            <TextBlock>テスト3</TextBlock>
        </GridView>
    </Grid>
</Page>

これが綺麗なXAMLかってーと、怪しいかと思う。

やりたいことはボタン2つおいて、その下にWindowsFormでいうDataGridViewを貼りたいだけなんだけどね。
Form屋さんとしては、どうもこの画面制作にかかる手間と考え方というか構成が気に入らないんだよなぁ。

でも、頑張って慣れないとなので頑張ろう<を

posted @ 2016/06/08 22:24 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。序

とりあえず、VisualStudio 2015 Update2 入れました。

VB.NETで「ユニバーサルアプリケーション」を新規作成して、出来立てほやほやプロジェクトをビルド。

そのまま素でエミュレートデバッグ実行してみた。

ぼーっと待つことしばらく(数分)、OSが上がってきて

image

もうちょっと待ってたら

image

真っ白画面キター!!

エミューレータデバッグ終わったら

image

こんな感じ。ふむ。うちのPCだとデバッグだけで使用メモリ1.2G増しってとこなのね。

スペックそんなに高くないからなぁ。

メモリが多いに越したことはないっぽい感じ。

posted @ 2016/06/06 20:29 by 片桐 継(Tugu Katagiri)

片桐さんがUWPアプリを作ろうとしています。/Zero

とりあえず、ここを読む

Windows 10 アプリに関するハウツー ガイド:
https://msdn.microsoft.com/ja-jp/library/windows/apps/mt244352.aspx

 

とにかく、色々が変わりすぎ。ここまでクラス化、ライブラリ化が進んでるのかと。

ゆとりっていいなぁ<何

posted @ 2016/05/29 10:14 by 片桐 継(Tugu Katagiri)

[Windows10]de:code 2016で感じた違和感と期待感

2016/05/24~25にザ・プリンス パークタワー東京で開催されたde:code 2016に参加してきました。

サンフランシスコで開催されたbuild 2016参加直後から「de:codeはbuildの雰囲気をよく出している」という話をしてきました。

de:code 2016もその期待を裏切らないすばらしいものでした。

 

そして、同時に「違和感と期待感」という感想を私に抱かせました。

 

違和感の発端は初日キーノートです。

すでにキーノートはネットにも公開されているので、まだ視聴してない方はぜひ視聴してみてください。

channel9.msdn.com

参加された方や視聴された方は、もうなぜ私が違和感を感じたのか共感していただけるのではないでしょうか。

 

今までの日本マイクロソフトの技術系年次イベント(TechEd、Windows Developer Day、過去のde:code)でこれほどまでに開発者に対して

自分たちの技術を楽しみ、そして開発者に対して『一緒に楽しみましょう』どうですか?

と語りかけてくれたことはあったでしょうか。

 

マイクロソフトだけではなく多くのベンダーのイベントでは、最新の技術をわかりやすく、かっこよく、それこそ驚かせるように示してくれます。

しかし、今回のキーノートでは、まず自分たちが楽しみ本当に価値観を理解し、だから、みんなもよかったらどうぞとお裾分けしてくれるようなすがすがしいくらいに押しつけがましさがない内容だったのです。

 

他にも違和感はありました。

buildにはなくde:codeにだけあるぎゅうぎゅうづめの通路(通路の幅は4倍くらい違う)ですれ違う中に、マイクロソフトのイベントで見かけたことがない知り合いの顔ぶれが多く見られたことです。

そして、その表情は「きてやったけど、まあ、マイクロソフトだよなぁ」のような敵対する勢力の変わらぬ姿勢をみてやれやれというった表情ではなく、同じ開発者という枠組みの中で同じ価値観を見出して、同じテンションでワクワクしているそういった表情をしているのです。

OSの違いやオープンソースかどうかなんて小さいこと。

キーノートでも日本マイクロソフトCTOの榊原さんがおっしゃってました「良いものかそうじゃないか。世の中の役に立つのか立たないのか。」まさに言葉通りに、まるで我々にお手本をしますようにマイクロソフトは

「開発者にとって良いもの、世の中の役に立つもの」

を選択する会社に変わったということなのでしょう。

そこには、そういった判断以前にオープンソースかどうかで判断していたころのマイクロソフトの姿は微塵も感じられなかったのではないでしょうか。

 

Microsoft MVPとして、マイクロソフトの技術に注目してきたので「マイクロソフトノギジュツ チョットワカル」はずですし、buildも参加して米国本社の変わりようは知ってはいました。

そんな予備知識があったのに「日本マイクロソフトすげー!」と驚きの違和感、そして、ともすればマイクロソフトの技術に注目していなかった層をぐっと引き寄せた「そうだよ!わかっているね!」感はキーノート後のセッションでも様々なところで感じられました。

だって、スピーカーの人ってマイクロソフトの技術だからスゲーって感じじゃなくて

「この技術すごいでしょ?いや、これで開発したら楽しいでしょ?あ、これマイクロソフトの技術だけどね」

のような感じで、会社すげーというより、自分の推しメンのことを話すように技術のことを話しているのですもの。

 

一応、私が受講できた(満員ではいれなかったり展示会場サポートやコミュニティブースでみれなかったものを除く)セッションは

Day1

Day2

でした。

これ以外にも見たいセッションはたくさんあって、早く資料と録画公開が開始されないかと待っている状態です。

UWP、Cortana、Congnitive、Xamarinと好きな技術、注目してきた技術の最新情報に触れられて、本当に楽しくすごした2日間でした。

 

人は誰でもが、きっと誰かの役に立ちたいと思っていると思います。

組織や会社も同じではないでしょうか。しかし、組織や会社はともすれば成長という中で市場のオンリーワンになるがために競争相手を敵とみなして必要以上に恐れ憎み「役に立つ」というところの出発点からはずれて行ってしまう場合があります。

サーバーOSがUNIXだった時代、サーバーOS市場に食い込み拡大しようとしていたときに挑戦者としてのマイクロソフトがとった戦略がまさにそうでした。クライアントOSの覇者が闘志をむき出しにしてUNIXやそしてオープンソースを否定していく様は、まさに「悪の帝国」のように映ったのでしょう。

マスターヨーダの言葉を借りれば「Anger... fear... aggression. The dark side of the Force are they.」です。

時代は変わり、ポストPCと呼ばれる時代。マイクロソフトは再び挑戦者としての立場に立ちましたが、その戦略は前回と異なります。

「開発者にとって良いもの、世の中の役に立つもの」

それを提供することで共に歩んでいける信頼を得て進んでいく。そういったビジョンは、マイクロソフトの従業員にも、マイクロソフト製品を使って開発する開発者にも、そして世の中のすべての人にとってもより良き方向に進むための灯になるのではないかと考えます。

 

最後に、de:code 2016の最終セッションの最後の実例紹介で感じた自分のツイートを引用して終わりたいと思います。ここに期待感のすべてが詰まっています。

posted @ 2016/05/28 21:47 by 初音 玲

[Desktop App Converter]14352版のwimが公開されています。

Insider Preview Fast Ring が 14352 に更新されたのに合わせて、Desktop App Converter の BaseImage も 14352 版が公開されています。

そして、残念なことに 14342 版は公開が取り消しされました。サイクルの短いInsider Previewなので仕方ないですが、Slow ring な人でまだDLしてなかった―。。。という人は残念ですがあきらめて Fast Ring に行くか、持ってる人に譲ってもらいましょうw

14352版は https://www.microsoft.com/en-us/download/details.aspx?id=51691 からDLできます(Detailのファイル情報以外のテキスト部分は14342のままなのは、リリースを急いだから?)。

wim の構造上ビルド依存になるので、次のビルドが出たらまた新しく変わると思いますので、拾える時に随時拾っていくことをお勧めします。

気になるところがあったら、User Voice を上げていきましょう。

posted @ 2016/05/28 16:58 by とっちゃん

予告:片桐さんがUWPアプリを作ろうとしています

今、修羅場です。

現在、このハムスターは某業界でお仕事していますが、大人の事情で大変なことになっています。

やることやらお仕事やら納期やらがたくさんです。休日は休養です。

なので、一段落しないと、DECODEのおさらいもできません。

作りたいUWPアプリあるのにorz

ということで、6月あたりには、タイトルっぽいことをはじめてみようと思います。

決意表明、それだけですw

posted @ 2016/05/28 12:36 by 片桐 継(Tugu Katagiri)

[Desktop App Converter] Bundle でラップしてても使えました!

msi オンリーな簡素なインストーラだったから気づかなかっただけで、ちゃんとプライマリアプリ(-AppExecutable)を設定してやれば、Bundle でラップしても動作しました。

これで、無事 Bundle &ランタイムのインストーラつきなんかもデモ可能なところまでは到達。オチも用意できたし、いい感じでわんくまならではのゆるゆる感で終われそうw

de:code 2016 では、コミュニティ枠が用意されます(規模とかよくわからないですが)。エキスポ会場の壁際(文字通りの意味w)の小さなブースで各コミュニティ(コミュニティごとにある程度時間がもらえているらしい)が何かやってます。わんくま同盟では、初日のキーノート終了後の休み時間(5/24 12:00-12:45)に時間をもらったので、おいらとεπιστημηさんでそれぞれショートセッションします。ネタが大事な二人だからこその旬なネタをお届けします。

それ以外の時間も会場のどこかにはいますので気軽にお声がけください。今年は怪しい?バッチもつけてるらしいですw

posted @ 2016/05/23 17:41 by とっちゃん

Desktop App Converter を使ってみた。

お仕事的にも、避けては通れないので、サクッとやってみました。

まずは、お手軽なので、現行バージョンで実行。。。撃沈。。。

仕方がないので、MFC アプリで、独自フォーマット?のエディタを作成して、そいつをインストールするmsiをつくって実行。。。成功!おー。いくじゃないか!というのはとりまおいておくとして。。。

最終的にはCRTも必要なので、CRTいれて、Bundleでラップ。。。撃沈。

CRT外して、実行。。。撃沈。 x86/x64 で試すも撃沈。

どうやら、Bundle(Burn)でいろいろやってくれることが気に入らないようです。動きを改めて考えればわかることなんですけどね。Appx の作成までを一気にやらずに、一度整理(いらないものが山ほどある)して、そこから Appx 作ればうまくいくと思います。試してないけどw

 

ということで、実際にコンバートして動かすデモを de:code 2016 で辻セッションしますよ。初日のお昼休みの時間帯。キーノートが直後になるので移動が大変ですけど、エキスポ会場にてお待ちしております~。

posted @ 2016/05/21 13:15 by とっちゃん

Desktop App Converter が、Proでも動くようになってました!

全然ヲチってなかったので気が付いてなかったんですが、

というのを見つけて、おや?と思ったら、Desktop App Converter の新ビルドが出ていました。

14342 以上で、Pro or Ent. になって、ようやく使えるレベルまで落ちてきた。。。というところ。

ということで、さっそくセットアップ。。。したけど、コンバートできる手ごろなプロダクトがないことに気づいたw

 

ということで、ごくごく簡単ではあるけど、使い方も出てるのでとりあえずはリンク。

Desktop App Converter Preview (Project Centennial)

例をみると、インストーラは exe を指定してるので、msi or exe でなおかつサイレントインストールができれば何でもいい模様(聞いたところ、ExitCode==0になるものならOKらしい)。

たぶん、msiも問題ないはず。こういう時に、PSが読めるとかなりアドバンテージ高いんだろうけど、全く読めない人なので、中身はとりあえずさぱーりw

ま、ps1だけで38キロなので、読めるとしてもちょっと遠慮したくなるボリュームなんだけどねw

 

と、書いておけば、人柱―も出てくるでしょう!ってことでw

posted @ 2016/05/17 21:34 by とっちゃん

人工知能ハンズオンの資料公開

静岡Developers勉強会では、今年の勉強会のテーマとして「人工知能ハンズオン」を2016/4/23に開催しました。
勉強会が行われた静岡市産学交流センター 小会議室2には、10人+2人(私と友人)=12人名が集まりました。
あと、懇親会は5人で行きましたことをご報告しておきます。
参照:人工知能ハンズオンの資料公開 - はてなブログ

人工知能ハンズオン from yaju88

posted @ 2016/05/16 4:02 by やじゅ

[Xamarin]Xamarinで始めるAndroidアプリ作成(その3)

Xamarin.FormsがサポートしているAndroidのバージョンをおさらいしてみましょう。

https://developer.xamarin.com/guides/xamarin-forms/getting-started/installation/#android

 

公式ドキュメントによれば

  • Android 4.0.3 (API 15) or higher
  • iOS 6.1 or higher
  • Windows Phone 8.1 (WinRT, using Visual Studio)
  • Windows 8.1 Tablet/Desktop Apps (WinRT, using Visual Studio)
  • Windows 10 Universal Apps (Phone/Tablet/Desktop, using Visual Studio)
  • Windows Phone 8 Silverlight (using Visual Studio) DEPRECATED

Android 4.0.3、つまり、「Ice Creame Sandwitch」以降をサポートしています。4.0.3は2011年12月16日に提供開始されています。

4.0.3以降ということであれば、世の中にあるAndroidデバイスのほぼ100%(残念ながらそれ以前のバージョンも多少は存在する)をカバーできます。

日本でいえば、ドコモのGalaxy SII SC-02Cなどが4.0.3ですが、2016年時点でキャリア2年縛りはすでに超えていますから、ほぼカバーしていると言っていいでしょう。

 

ただし、素直に4.0.3かといえば、若干違和感があります。

その違和感はXamarin.FormsとXamarin.Android.SupportとAndroid SDKの関係を表にしてみるとはっきりしています。

  Xamarin.Forms Xamarin.Android.Support Android SDK
プロジェクト作成時 v1.3.3.6323 v4.21.0.3 4.0.3 (API1 5)
nuget最新 v2.2.0.31 v4.23.3.0 5.0 (API 21)

このように最新のXamarin.Forms v2.2が要求するXamarin.Android.Supportはv4.23.3.0であり、v4.23.3.0が要求するAndroid SDKは5.0になるのです。

 

それではなぜ、公式ドキュメントには「4.0.3」以上となっているのでしょうか。

答えは同様に公式ドキュメントにあります。

Target

Mini

つまり、ターゲットは最新(または少なくともXamarin.Android.Support.v4.23.3.0が要求する5.0以上)として、Minimum Android versionとして「4.0.3」を指定できることが、Xamarin.Formsの要求仕様がAndroid v4.0.3以上という意味だということです。

 

※Visual Studioならプロジェクトのプロパティの[Application]-[Application properties]

 

違和感の原因は、4.0.3以上ということで、では自分たちの作ったアプリも4.0.3以上としようとしたときにターゲットフレームワークを「4.0.3」ではなく「5.0」としてMinimum Android versionで「4.0.3」としていいのかという点にあります。Visual StudioならTarget frameworkが「Complie using Android version」となっているのでさらに不安を感じます。

 

これらのバージョンはどのような意味があるのでしょうか。

注意しないといけないのは、これは、Xamarin固有の話ではなく、Android開発の基本的な話となります。Android StudioでJavaで作成したときもbuild.grableに同じように描くことになります。

結論を先に書けばWindowsアプリに比べたらかなりおおざっぱというか、これでいいの?という感じがAndroidアプリ開発なんだなぁと。

Target framework
(targetSdkVersion)
 
Minimum Android version
(minSdkVersion)
指定したバージョン以上にインストールできる宣言

 

これ、トラディショナルジャパニーズカンパニーで開発やっていると、Target framework = Minimum Android versionとして、アプリの動作要件の○○以上とする一番古いバージョンに合わせてコンパイルして、それより上位のOSでも下位互換性確認の意味で動作チェックしてって感覚だと思うのです。

Target frameworkは最新にして、Minimum Android versionにアプリ動作要件の○○以上とするというのがAndroidスタイルだって納得して、きちんとシステムテストで4.0.3 (Ice Cream Sandwich)/4.3 (Jelly bean)/4.4 (KitKat)/5.1 (Lollipop)/6.0 (Marshmallow)とテストするしかないのでしょう。このあたり、Androidで業務アプリを作っていたり、それよりもGoogle Playで人気アプリ配信している個人開発者さんあたりにお話をお聞きしたいですね。ほんと、どうしていらっしゃるのだろうか。

 

まあ、そんなときに心強い味方と言ったら、Xamarin Test Cloudですよね。

例えば、月額249$のBUILDなら、こんな感じにテストができます。

  1. 同時に2つまでデバイスを選んでテスト可能 (2 concurrent devices)
  2. トータル10分かかるテストならば、2多重x10分で合計3時間(3 device hours/day)=毎日90分のテスト時間で18デバイスのテストが可能

 

4.0.3 (Ice Cream Sandwich)/4.3 (Jelly bean)/4.4 (KitKat)/5.1 (Lollipop)/6.0 (Marshmallow)の5バージョンでそれぞれ代表的なデバイスを1つづつテストするのであれば、もう一つ安いSTARTプラン=月額$99でもテストできそうですね。

  1. 同時に1つまでデバイスを選んでテスト可能 (1 concurrent devices)
  2. トータル10分かかるテストならば、1多重x10分で合計1時間(1 device hours/day)=毎日60分のテスト時間で6デバイスまでテスト可能

1日1回しかテストできないの?と思うかもしれませんが、手元の実機やエミュレータでテストしたあとの仕上げテストですから、毎日1回とかで十分と言えるでしょう。

 

そうそう、Visual Studio Enterpirse使っているなら上記の金額から25%引きで利用できますので、さらにお得ですね。

posted @ 2016/05/11 1:29 by 初音 玲

[HoloLens]UWPカメラアプリをHoloLensで動作させる

HoloLensにはセンサー以外にカメラもついています。

HoloLens標準アプリで写真撮影やビデオ撮影もできますが、UWPアプリとしてカメラを使うアプリを作れば、そのアプリでもカメラ映像を扱えます。

image

Device Portalでその時の様子をCaptureすると視野の中のHolographic領域がそのままカメラアプリにプレビュー表示されているのがわかると思います。

HoloLensを使ったカメラアプリで注意しないといけないのは、上のスナップショットにあるように撮影ボタンや録画ボタンを画面端に配置しちゃうことです。

こうしちゃうとボタンにフォーカスを合わせるために顔の向きをボタン側によせるため、被写体から中心がずれてしまうからです。

要は画面中央、もしくは、画面全体に対するタップ(操作ミスを考えるとホールドがよいかも)で撮影ができるようにUIを工夫する点でしょう。

そこだけが一般のカメラ機能を使用するUWPアプリよりも注意しないといけない点でしょう。

なお、HoloLensで動作しているかどうかを判定する方法はいろいろあると思いますが、例えば

Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily == “Windows.Holographic”

で判定するのも判定方法の1つでしょう。

 

なお、カメラ機能を使ったアプリとDevice Portalの組み合わせで注意しないといけないのは、DevicePortalでLive映像やビデオ録画はできますが撮影には失敗するという点です。

posted @ 2016/05/09 5:55 by 初音 玲

[HoloLens]HoloLens空間に置いたHolographicオブジェクトがその場に居続けてくれるという意味

HoloLensはウィンドについては壁に貼り付けた感じに配置してくれますが、もちろん何もない空間に配置することもできます。

ただ、ウィンドウは板状なので何もない空間においてもあまりおもしろくありません。

そこで、3Dオブジェクトを空間において、そのあとで装着者が移動したり頭の向きを変えた時にどのようにみえるかを確認した動画を撮影しました。


HoloLensで見る方向を変えたり体の位置を変えた時の表示

天井ちかく近くにオブジェクトを張り付けておいて、立ち上がるとちゃんと見え方が替りのがわかると思います。

posted @ 2016/05/06 2:44 by 初音 玲

[HoloLens]HoloLensはじめました

HoloLensが連休中日に届いたんで早速起動しました。

コルタナちゃんに教わりながらキャリブレーションしたら、さっそくDevice PortalでつないでHoloLensの世界を手元のPCで表示してみましょう。

 

イベント会場やおしゃれ空間での動作画面は多いですが、日本の普通のマンションで外光が入っているところでもこんな感じに表示できます。

image

 

HoloLensでみるともうちょっと鮮明で見た目大きくなるので文字を読むこともできます。

これ、壁の角度をセンシングしてペタって張り付いているので、壁の真正面から見れば、張り付いているウィンドウもちゃんと真正面から見ることができます。

 

Device Portalどっかでみたなーって思ったら、Windwos 10 IoTのDevice Portalと同じコンセプトのデザインなんですね。

posted @ 2016/05/05 12:43 by 初音 玲

WiX toolset joins the .NET Foundation

WiX toolset joins the .NET Foundation

一瞬解散?と思ったけど、そうじゃなくて単に WiX toolset を移管するってことでした。

彼らのお仕事的には、特に大きな変更があるわけじゃないみたいで、今までとの違いは、ライセンス表記が ”.NET Foundation” 変わる程度。

MS から Outercurve に変更されたときも、使う側的には変わらなかったし、今回も同様。

使ってる側からすれば、MS-RL は明示なライセンス表示も求められないし、そもそも使ってることすら謳う必要がないので(ツールの性格的にもだけどねw)何がどう変わるというところはないと思います。

 

発表のタイミングを計っていたらしいけど、5/4 って向こうでは、star wars の日らしいですね。

でも ms-translater は、”May the Force be with you!” を、”あなたとあらんことを!” と訳してた。

仕方ないので、Google にも訳してもらった。。。“フォースがあなたと一緒かもしれません!”

こっちは、もっと直訳だったw

このあたりが機械翻訳の限界なんですかねぇ。。。ま、これ会社で書いてるんですが、日本では今日はこどもの日。

 

“フォースとともにあらんことを!”

posted @ 2016/05/05 11:03 by とっちゃん

[MSI]ORCAを手に入れよう!

Visual Studio 2015 をインストールすると、いろいろとSDKやら各種ツールキットやらも一緒にインストールしてくれます。もう何がどれだかサッパリわからないレベルで。。。w

でも、なぜかわかりませんが、一部のMSIツール(具体的には、Orca)が、含まれていません。まぁ VSセットアッププロジェクトもなくなっちゃたし(※機能拡張にあります)、WiX は結局バンドル(※今はスピンアウトして別会社)されてないし、IS あれば Orca いらないよね!ってことなんですかね?でも、IS-LE って直接テーブル編集できるんだっけ?

そもそも、ORCAは素人が使っていいソフトじゃないし、なくても当たり前な気もしますがw

さて。。。まぁそんなこんなで、ORCA はいなくなっちゃったのですが(検索してもPCないにはありません><)、なくなっちゃったわけではなく、単にインストールされていないだけです。

ということで、インストールしますが、最初に躓くのはどうやって?です。Windows デベロッパーセンターに行くと、SDK のダウンロードがあるんですが、そこには、

Visual Studio 2015 以外の開発環境を使っている場合は、Windows Standalone SDK for Windows 10 インストーラーをダウンロードできます。Visual Studio 2015 Update 2 を使っている場合は、この SDK はインストールする必要はありません (既に含まれています)。

と、書かれています。

確かに、VS2015 のインストーラはチェックがいっぱいあって見落としがちです。全部チェック入れたぞ!という人もいるでしょう。もちろん、SDKは入っています。が、ORCAはSDKツールの一種で、なぜかデフォルトのインストール項目から外れています。

まぁ、あれは素人が触っていい代物じゃないので、なくても当然という考えなのかもしれませんw

ということで、ARP(Add / Remove Programsの略(Setup Authoring用語)で、Windows 10の日本語版では、コントロールパネルにある「プログラムのアンインストール」のこと)を探すと、ありました。

  • Windows Software Development Kit ? Windows 10.0.10586.15
  • Windows Software Development Kit ? Windows 10.0.10586.212
  • Windows Software Development Kit ? Windows 10.0.26624

え?3つ?焦りますよね。というかちょっと唖然としたというほうが正しいですね。いずれも変更ボタンがあるので、チェックしてみます(Changeのラジオを選んで次へ移動)。

すると、10586.15のほうは、Windows App Certification Kit だけチェックがついています。のこる2つは、Windows App Certification Kit と Windows Software Development Kit にチェックがついています。

とりあえず、一番新しいバージョンなので、10.0.26624 からインストールしましょう。チェックを付けて実行。一瞬で終わります。

え?と思うくらい早い。これでOrcaがインストールされ。。。ませんw

これで、インストールされるのは、Orca の「インストーラ」です。C:\Program Files (x86)\Windows Kits\10\bin\x86 に Orca-x86_en-us.msi がインストールされているので、これを使ってインストールします。

今の Orca のインストーラは、UIなしなので、いきなり昇格画面が出てサクッとインストールされます。

これで今日から Orca 使いを名乗れます。

posted @ 2016/05/04 13:36 by とっちゃん

[Windows10Mobile]オープンセミナー岡山2016に登壇します

oso-web.doorkeeper.jp

2016/05/14 (土)に開催されるオープンセミナー2016@岡山に登壇します。

今回お話しするのは
UWPアプリによるマルチデバイス開発最新事情

というタイトルで

UWPアプリって実際はどうなのかbuild 2016やde:code 2016で発表された最新情報も交えて、実際のところを包み隠さずお伝えする予定です。

まだまだ、iOSやAndroidに比べて情報の少ないUWPアプリですが、デバイスの価格という表面上のスペックだけではなく、サクサクと動く動作環境、作りやすい開発環境などは知らずにいたら損をすると思います。

ぜひ、この機会に理解を深めに来ていませんか?

posted @ 2016/05/04 9:10 by 初音 玲