160503 build2016 리뷰 4편

Edit

Introduction to Azure Table Storage

모니터링

  • storage 서비스의 건강상태 정보
  • 40개의 정보가 저장됨
  • 최대 5분 정도 지연됨.
  • $MetricsMinuteTransactionsBlob 테이블에 저장됨

진단

  • stoage 서비스의 모든 trace log
  • IIS log와 같음
  • 모든 REST API 가 로깅됨
  • $logs blob에 저장됨

Azure Data Service 비교

Tables

  • "Key Value, high scale, auto-scaling NoSQL store"
  • Scenarios: User, device and service metadata, structured data
  • No limits on number of table rows or table size
  • Dynamic load balancing of hot tables and table regions
  • NoSQL - Schema-less entities with strong consistency
  • Best for Key/value lookups on partition key and row key
  • Entity group transactions for atomic batching

DocumentDB

  • "NoSQL document database service"
  • Scenarios: Modern applications that use JSON data stores (like MongoDB)
  • Flexible schema for iterative application development
  • Automatic indexing with SQL query interface
  • Transactional support for multi-document operations
  • Scalable database storage with predictable low latency performance

Azure SQL DB

  • "Fully managed database-as-a-service built on SQL"
  • Scenarios: Relational DBs without infrastructure/management hassle
  • Fully compatible with SQL Server 2014 databases
  • Built for both SaaS and Enterprise applications
  • Elastic database pool for unpredictable SaaS workloads
  • 99.99% availability built-in
  • Geo-replication and restore services for data protection
  • Secure and compliant for your sensitive data




Universal App Model Overview: What's New in the UWP App Model

modern desktop app installer

  • 스토어 외부에서 설치할 수 있는 인스톨러 개발중
  • .appx 를 루트인증서로 코드사인하기만 하면 됨.

Project Centennial

  • 데스크톱앱을 UWP앱으로 컨버팅하는 프로젝트
  • No DLL Hell, no registry bloat
  • Clean uninstall
  • Automatic/silent updates
  • Code runs as user
  • No driver code
  • No NT services

Project Rome

  • App Services & LaunchURIForResults
  • App Extensibility Framework
  • App publishes contract
  • Extensions build to that contract
  • Extensions can be from the store or sideloaded
  • App provides add/remove UX




What's New in Windows UI/UX for Universal Windows Platform (UWP) Apps

Animated GIF in XAML

<짧은코드>
<Image Source="rain.gif""/>
<긴코드>
<Image>
 <Image.Source>
  <BitmapImage x:Name="rain" UriSource="rain.gif"
               AutoPlay="False"/>
  </Image.Source>
</Image>
// Start manually
rain.Play();

CommandBar Dynamic Overflow

<!-- Disable with IsDynamicOverflowEnabled -->
<CommandBar IsDynamicOverflowEnabled="True" DynamicOverflowItemsChanging="…">

  <!-- Set overflow order -->
  <AppBarButton x:Name="Open" Label="Open" DynamicOverflowOrder="1"/>
  <AppBarButton Label="Edit…" DynamicOverflowOrder="2"/>

  <AppBarSeparator/>
  <AppBarButton Label="Add…"/>
  </>
</CommandBar>

ContextFlyout

<Image>
  <Image.ContextFlyout>
    <MenuFlyout>
      <MenuFlyoutItem Text="Edit" …/>
      <MenuFlyoutItem Text="Clear" …/>
    </MenuFlyout>
  <Image.ContextFlyout>
</Image>

Keyboard Mnemonics

<!– ALT + O will invoke the Button -->
<Button 
    Content="Open" 
    Click="OpenCmd" 
    AccessKey="O"   
    AccessKeyDisplayDismissed="OnDismissed"     
    AccessKeyDisplayRequested="OnDisplayed"/>
// Display UX Affordance (not required)
private void OnDisplay(){
  // If desired: show all commands and UX affordance
  // Example: show tooltip and hide in "OnDismissed" handler
  var tooltip = ToolTipService.GetToolTip(sender) as ToolTip;
  …
}

Compiled Bindings

Text="{x:Bind GetTags(VM.Item.Title, VM.Item.Tags)}"
Text="{x:Bind File.Properties['Artist'].Name}"
Text="{x:Bind ((Movie)VM.Item.Director)}"

ComboBox type ahead

<!-- Set IsTextSearchEnabled to False to disable -->
<!-- Works if when ComboBox has focus (either spung or collapsed -->
<ComboBox IsTextSearchEnabled="True" x:Name="StatesComboBox">
  <!-- ComboBox items (or data bound) -->
  </>
</CommandBar>

Ink Toolbar and Ruler

MediaPlayerElement

  • Windows.Media.Playback.MediaPlayer
  • new features
    • 백그라운드 재생
    • 시스템 미디어 컨트롤과 자동 연결
    • MediaPlayer 객체와 직접 연결

Bottoms-Up Lists ListView

<!– New items fill from bottom-up -->
<ListView.ItemsPanel>
  <ItemsPanelTemplate>
    <ItemsStackPanel
      ItemsUpdatingScrollMode="KeepLastItemInView"
      VerticalAlignment="Bottom"/>
  </ItemsPanelTemplate>
</ListView.ItemsPanel>




Pen and Ink: Inking at the Speed of Thought

InkCanvas & InkToolbar

<InkCanvas x:Name="m_inkCanvas"/>
<InkToolbar TargetInkCanvas="{x:Bind m_inkCanvas}"/>

Win2D NuGet Package

How?
Download Win2D NuGet Package (use Win2D.uwp)
CanvasDrawingSession.DrawInk
What is Win2D?
Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration
Win2D is available to C# and C++ developers




Cross-Platform Mobile with Xamarin

Xamarin Inspector

https://developer.xamarin.com/guides/cross-platform/inspector/
xamarin 으로 만든 라이브 어플리케이션을 실시간으로 디버깅, 조사, 진단 할수 있는 파워툴
  1. Install the Xamarin Inspector.
  2. Open any supported app project in Xamarin Studio or Visual Studio.
  3. Run your app in debug mode.
  4. Click the "Inspect" button in the IDE toolbar (in Visual Studio, the "Inspect current app…" menu item is also available from the "Tools" menu).

Xamarin Workbooks

xamarin c#으로 라이브코딩을 하는 파워툴
markdown 문서형식으로 andorid, ios, mac, wpf에 대한 라이브 코딩, 출력을 지원함.




todo doc

Native iOS, Android, & Windows Apps from C# and XAML with Xamarin.Forms
https://channel9.msdn.com/Events/Build/2016/T667-R1
Become a Visual Studio 2015 Power User
https://channel9.msdn.com/Events/Build/2016/B819
Developer's Guide to Connecting Devices to Azure IoT
https://channel9.msdn.com/Events/Build/2016/B844
Windows 10 IoT Core: From Maker to Market
https://channel9.msdn.com/Events/Build/2016/B860
ASP.NET Core Deep Dive into MVC
https://channel9.msdn.com/Events/Build/2016/B812
Building Network-Aware Applications
https://channel9.msdn.com/Events/Build/2016/B828
Deploying ASP.NET Core Applications
https://channel9.msdn.com/Events/Build/2016/B811

todo video

Runtime Editing Tools for XAML
https://channel9.msdn.com/Events/Build/2016/P465
HockeyApp for UWP Apps: Beta Distribution, Crash Reporting and User Metrics
https://channel9.msdn.com/Events/Build/2016/P463
Modeling Data for NoSQL Document Databases
https://channel9.msdn.com/Events/Build/2016/P468
%23%20160503%20build2016%20%uB9AC%uBDF0%204%uD3B8%0A%0A@%28%uD669%uD604%uB3D9%20%uB178%uD2B8%uBD81%29%5B.net%2C%20build%2C%20uwp%2C%20iotcore%5D%0A%0A%5Btoc%5D%0A%0A%0A%23%23%20Introduction%20to%20Azure%20Table%20Storage%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P582%0A%23%23%23%20%uBAA8%uB2C8%uD130%uB9C1%0A-%20storage%20%uC11C%uBE44%uC2A4%uC758%20%uAC74%uAC15%uC0C1%uD0DC%20%uC815%uBCF4%0A-%2040%uAC1C%uC758%20%uC815%uBCF4%uAC00%20%uC800%uC7A5%uB428%0A-%20%uCD5C%uB300%205%uBD84%20%uC815%uB3C4%20%uC9C0%uC5F0%uB428.%0A-%20%24MetricsMinuteTransactionsBlob%20%uD14C%uC774%uBE14%uC5D0%20%uC800%uC7A5%uB428%0A-%20%0A%23%23%23%20%uC9C4%uB2E8%0A-%20stoage%20%uC11C%uBE44%uC2A4%uC758%20%uBAA8%uB4E0%20trace%20log%0A-%20IIS%20log%uC640%20%uAC19%uC74C%0A-%20%uBAA8%uB4E0%20REST%20API%20%uAC00%20%uB85C%uAE45%uB428%0A-%20%24logs%20blob%uC5D0%20%uC800%uC7A5%uB428%0A%0A%23%23%23%20Azure%20Data%20Service%20%uBE44%uAD50%0A%23%23%23%23%20Tables%0A-%20%u201CKey%20Value%2C%20high%20scale%2C%20auto-scaling%20NoSQL%20store%u201D%0A-%20Scenarios%3A%20User%2C%20device%20and%20service%20metadata%2C%20structured%20data%0A-%20No%20limits%20on%20number%20of%20table%20rows%20or%20table%20size%0A-%20Dynamic%20load%20balancing%20of%20hot%20tables%20and%20table%20regions%0A-%20NoSQL%20-%20Schema-less%20entities%20with%20strong%20consistency%0A-%20Best%20for%20Key/value%20lookups%20on%20partition%20key%20and%20row%20key%0A-%20Entity%20group%20transactions%20for%20atomic%20batching%0A%0A%23%23%23%23%20DocumentDB%0A-%20%u201CNoSQL%20document%20database%20service%u201D%0A-%20Scenarios%3A%20Modern%20applications%20that%20use%20JSON%20data%20stores%20%28like%20MongoDB%29%0A-%20Flexible%20schema%20for%20iterative%20application%20development%0A-%20Automatic%20indexing%20with%20SQL%20query%20interface%0A-%20Transactional%20support%20for%20multi-document%20operations%0A-%20Scalable%20database%20storage%20with%20predictable%20low%20latency%20performance%0A%0A%23%23%23%23%20Azure%20SQL%20DB%0A-%20%u201CFully%20managed%20database-as-a-service%20built%20on%20SQL%u201D%0A-%20Scenarios%3A%20Relational%20DBs%20without%20infrastructure/management%20hassle%0A-%20Fully%20compatible%20with%20SQL%20Server%202014%20databases%0A-%20Built%20for%20both%20SaaS%20and%20Enterprise%20applications%0A-%20Elastic%20database%20pool%20for%20unpredictable%20SaaS%20workloads%0A-%2099.99%25%20availability%20built-in%0A-%20Geo-replication%20and%20restore%20services%20for%20data%20protection%0A-%20Secure%20and%20compliant%20for%20your%20sensitive%20data%0A%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%0A%23%23%20Universal%20App%20Model%20Overview%3A%20What%u2019s%20New%20in%20the%20UWP%20App%20Model%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B809%0A%0A%23%23%23%20modern%20desktop%20app%20installer%0A-%20%uC2A4%uD1A0%uC5B4%20%uC678%uBD80%uC5D0%uC11C%20%uC124%uCE58%uD560%20%uC218%20%uC788%uB294%20%uC778%uC2A4%uD1A8%uB7EC%20%uAC1C%uBC1C%uC911%0A-%20.appx%20%uB97C%20%uB8E8%uD2B8%uC778%uC99D%uC11C%uB85C%20%uCF54%uB4DC%uC0AC%uC778%uD558%uAE30%uB9CC%20%uD558%uBA74%20%uB428.%0A%0A%23%23%23%20Project%20Centennial%0A-%20%uB370%uC2A4%uD06C%uD1B1%uC571%uC744%20UWP%uC571%uC73C%uB85C%20%uCEE8%uBC84%uD305%uD558%uB294%20%uD504%uB85C%uC81D%uD2B8%0A-%20No%20DLL%20Hell%2C%20no%20registry%20bloat%0A-%20Clean%20uninstall%0A-%20Automatic/silent%20updates%0A-%20Code%20runs%20as%20user%0A-%20No%20driver%20code%0A-%20No%20NT%20services%0A%0A%23%23%23%20Project%20Rome%0A-%20App%20Services%20%26%20LaunchURIForResults%0A-%20App%20Extensibility%20Framework%0A-%20App%20publishes%20contract%0A-%20Extensions%20build%20to%20that%20contract%0A-%20Extensions%20can%20be%20from%20the%20store%20or%20sideloaded%0A-%20App%20provides%20add/remove%20UX%20%0A%21%5BAlt%20text%5D%28./1462287370467.png%29%0A%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%0A%23%23%20What%27s%20New%20in%20Windows%20UI/UX%20for%20Universal%20Windows%20Platform%20%28UWP%29%20Apps%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B853%0A%0A%23%23%23%20Animated%20GIF%20in%20XAML%0A%0A%3C%uC9E7%uC740%uCF54%uB4DC%3E%0A%60%60%60xml%0A%3CImage%20Source%3D%22rain.gif%22%22/%3E%0A%60%60%60%0A%0A%3C%uAE34%uCF54%uB4DC%3E%0A%60%60%60xml%0A%3CImage%3E%0A%20%3CImage.Source%3E%0A%20%20%3CBitmapImage%20x%3AName%3D%22rain%22%20UriSource%3D%22rain.gif%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AutoPlay%3D%22False%22/%3E%0A%20%20%3C/Image.Source%3E%0A%3C/Image%3E%0A%60%60%60%0A%60%60%60csharp%0A//%20Start%20manually%0Arain.Play%28%29%3B%0A%60%60%60%0A%0A%23%23%23%20CommandBar%20Dynamic%20Overflow%0A%21%5BAlt%20text%5D%28./1462288591209.png%29%0A%60%60%60xml%0A%3C%21--%20Disable%20with%20IsDynamicOverflowEnabled%20--%3E%0A%3CCommandBar%20IsDynamicOverflowEnabled%3D%22True%22%20DynamicOverflowItemsChanging%3D%22%u2026%22%3E%0A%20%20%0A%20%20%3C%21--%20Set%20overflow%20order%20--%3E%0A%20%20%3CAppBarButton%20x%3AName%3D%22Open%22%20Label%3D%22Open%22%20DynamicOverflowOrder%3D%221%22/%3E%0A%20%20%3CAppBarButton%20Label%3D%22Edit%u2026%22%20DynamicOverflowOrder%3D%222%22/%3E%0A%20%20%0A%20%20%3CAppBarSeparator/%3E%0A%20%20%3CAppBarButton%20Label%3D%22Add%u2026%22/%3E%0A%20%20%3C%u2026/%3E%0A%3C/CommandBar%3E%0A%60%60%60%0A%0A%23%23%23%20ContextFlyout%0A%21%5BAlt%20text%5D%28./1462288674493.png%29%0A%60%60%60xml%0A%3CImage%3E%0A%20%20%3CImage.ContextFlyout%3E%0A%20%20%20%20%3CMenuFlyout%3E%0A%20%20%20%20%20%20%3CMenuFlyoutItem%20Text%3D%22Edit%22%20%u2026/%3E%0A%20%20%20%20%20%20%3CMenuFlyoutItem%20Text%3D%22Clear%22%20%u2026/%3E%0A%20%20%20%20%3C/MenuFlyout%3E%0A%20%20%3CImage.ContextFlyout%3E%0A%3C/Image%3E%0A%60%60%60%0A%0A%23%23%23%20Keyboard%20Mnemonics%0A%21%5BAlt%20text%5D%28./1462288748132.png%29%0A%60%60%60xml%0A%3C%21%u2013%20ALT%20+%20O%20will%20invoke%20the%20Button%20--%3E%0A%3CButton%20%0A%20%20%20%20Content%3D%22Open%22%20%0A%20%20%20%20Click%3D%22OpenCmd%22%20%0A%20%20%20%20AccessKey%3D%22O%22%20%09%0A%20%20%20%20AccessKeyDisplayDismissed%3D%22OnDismissed%22%20%09%0A%20%20%20%20AccessKeyDisplayRequested%3D%22OnDisplayed%22/%3E%0A%60%60%60%0A%0A%60%60%60csharp%0A//%20Display%20UX%20Affordance%20%28not%20required%29%0Aprivate%20void%20OnDisplay%28%u2026%29%0A%7B%0A%20%20//%20If%20desired%3A%20show%20all%20commands%20and%20UX%20affordance%0A%20%20//%20Example%3A%20show%20tooltip%20and%20hide%20in%20%u201COnDismissed%u201D%20handler%0A%20%20var%20tooltip%20%3D%20ToolTipService.GetToolTip%28sender%29%20as%20ToolTip%3B%0A%20%20%u2026%0A%7D%0A%60%60%60%0A%0A%23%23%23%20Compiled%20Bindings%0A%60%60%60csharp%0AText%3D%22%7Bx%3ABind%20GetTags%28VM.Item.Title%2C%20VM.Item.Tags%29%7D%22%0AText%3D%22%7Bx%3ABind%20File.Properties%5B%27Artist%27%5D.Name%7D%22%0AText%3D%22%7Bx%3ABind%20%28%28Movie%29VM.Item.Director%29%7D%22%0A%60%60%60%0A%0A%23%23%23%20ComboBox%20type%20ahead%0A%21%5BAlt%20text%5D%28./1462288938050.png%29%0A%60%60%60xml%0A%3C%21--%20Set%20IsTextSearchEnabled%20to%20False%20to%20disable%20--%3E%0A%3C%21--%20Works%20if%20when%20ComboBox%20has%20focus%20%28either%20spung%20or%20collapsed%20--%3E%0A%3CComboBox%20IsTextSearchEnabled%3D%22True%22%20x%3AName%3D%22StatesComboBox%22%3E%0A%20%20%3C%21--%20ComboBox%20items%20%28or%20data%20bound%29%20--%3E%0A%20%20%3C%u2026/%3E%0A%3C/CommandBar%3E%0A%60%60%60%0A%0A%23%23%23%20Ink%20Toolbar%20and%20Ruler%0A%21%5BAlt%20text%5D%28./1462288981823.png%29%0A%0A%23%23%23%20MediaPlayerElement%0A%21%5BAlt%20text%5D%28./1462289030101.png%29%0A-%20Windows.Media.Playback.MediaPlayer%0A-%20new%20features%0A%20%20%20%20-%20%uBC31%uADF8%uB77C%uC6B4%uB4DC%20%uC7AC%uC0DD%0A%20%20%20%20-%20%uC2DC%uC2A4%uD15C%20%uBBF8%uB514%uC5B4%20%uCEE8%uD2B8%uB864%uACFC%20%uC790%uB3D9%20%uC5F0%uACB0%0A%20%20%20%20-%20MediaPlayer%20%uAC1D%uCCB4%uC640%20%uC9C1%uC811%20%uC5F0%uACB0%0A%0A%23%23%23%20Bottoms-Up%20Lists%20ListView%0A%21%5BAlt%20text%5D%28./1462289111216.png%29%0A%60%60%60xml%0A%3C%21%u2013%20New%20items%20fill%20from%20bottom-up%20--%3E%0A%3CListView.ItemsPanel%3E%0A%20%20%3CItemsPanelTemplate%3E%0A%20%20%20%20%3CItemsStackPanel%0A%20%20%20%20%20%20ItemsUpdatingScrollMode%3D%22KeepLastItemInView%22%0A%20%20%20%20%20%20VerticalAlignment%3D%22Bottom%22/%3E%0A%20%20%3C/ItemsPanelTemplate%3E%0A%3C/ListView.ItemsPanel%3E%0A%60%60%60%0A%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%0A%23%23%20Pen%20and%20Ink%3A%20Inking%20at%20the%20Speed%20of%20Thought%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B865%0A%21%5BAlt%20text%5D%28./1462355338296.png%29%0A%21%5BAlt%20text%5D%28./1462355423042.png%29%0A%0A%23%23%23%20InkCanvas%20%26%20InkToolbar%0A%60%60%60xml%0A%3CInkCanvas%20x%3AName%3D%u201Cm_inkCanvas%u201D/%3E%0A%3CInkToolbar%20TargetInkCanvas%3D%u201C%7Bx%3ABind%20m_inkCanvas%7D%u201D/%3E%0A%60%60%60%0A%0A%23%23%23%20Win2D%20NuGet%20Package%0AHow%3F%0ADownload%20Win2D%20NuGet%20Package%20%28use%20Win2D.uwp%29%0ACanvasDrawingSession.DrawInk%0AWhat%20is%20Win2D%3F%0AWin2D%20is%20an%20easy-to-use%20Windows%20Runtime%20API%20for%20immediate%20mode%202D%20graphics%20rendering%20with%20GPU%20acceleration%0AWin2D%20is%20available%20to%20C%23%20and%20C++%20developers%20%0A%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%0A%23%23%20Cross-Platform%20Mobile%20with%20Xamarin%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B836%0A%0A%23%23%23%20UrhoSharp%20%uC18C%uAC1C%0Ahttps%3A//developer.xamarin.com/guides/cross-platform/urho/introduction/%0A%0A%23%23%23%20Xamarin%20Inspector%0Ahttps%3A//developer.xamarin.com/guides/cross-platform/inspector/%0Axamarin%20%uC73C%uB85C%20%uB9CC%uB4E0%20%uB77C%uC774%uBE0C%20%uC5B4%uD50C%uB9AC%uCF00%uC774%uC158%uC744%20%uC2E4%uC2DC%uAC04%uC73C%uB85C%20%uB514%uBC84%uAE45%2C%20%uC870%uC0AC%2C%20%uC9C4%uB2E8%20%uD560%uC218%20%uC788%uB294%20%uD30C%uC6CC%uD234%0A%21%5BAlt%20text%5D%28./1462758917481.png%29%0A%0A1.%20Install%20the%20Xamarin%20Inspector.%0A2.%20Open%20any%20supported%20app%20project%20in%20Xamarin%20Studio%20or%20Visual%20Studio.%0A3.%20Run%20your%20app%20in%20debug%20mode.%0A4.%20Click%20the%20%22Inspect%22%20button%20in%20the%20IDE%20toolbar%20%28in%20Visual%20Studio%2C%20the%20%22Inspect%20current%20app...%22%20menu%20item%20is%20also%20available%20from%20the%20%22Tools%22%20menu%29.%0A%0A%23%23%23%20Xamarin%20Workbooks%0Ahttps%3A//developer.xamarin.com/guides/cross-platform/workbooks/%0A%0Axamarin%20c%23%uC73C%uB85C%20%uB77C%uC774%uBE0C%uCF54%uB529%uC744%20%uD558%uB294%20%uD30C%uC6CC%uD234%20%0Amarkdown%20%uBB38%uC11C%uD615%uC2DD%uC73C%uB85C%20andorid%2C%20ios%2C%20mac%2C%20wpf%uC5D0%20%uB300%uD55C%20%uB77C%uC774%uBE0C%20%uCF54%uB529%2C%20%uCD9C%uB825%uC744%20%uC9C0%uC6D0%uD568.%0A%21%5BAlt%20text%5D%28./1462759162893.png%29%0A%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%3Cbr/%3E%0A%0A%23%23%20todo%20doc%0A%0ANative%20iOS%2C%20Android%2C%20%26%20Windows%20Apps%20from%20C%23%20and%20XAML%20with%20Xamarin.Forms%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/T667-R1%0A%0A.NET%20Overview%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B891%0A%0AThe%20Future%20of%20C%23%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B889%0A%0ABecome%20a%20Visual%20Studio%202015%20Power%20User%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B819%0A%0ADeveloper%27s%20Guide%20to%20Connecting%20Devices%20to%20Azure%20IoT%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B844%0A%0AEntity%20Framework%20Core%201.0%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B852%0A%0AWindows%2010%20IoT%20Core%3A%20From%20Maker%20to%20Market%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B860%0A%0AASP.NET%20Core%20Deep%20Dive%20into%20MVC%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B812%0A%0ABuilding%20Network-Aware%20Applications%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B828%0A%0ADeploying%20ASP.NET%20Core%20Applications%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/B811%0A%0A%23%23%20todo%20video%0A%0ARuntime%20Editing%20Tools%20for%20XAML%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P465%0A%0AAzure%20Data%20Lake%20Deep%20Dive%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P413%0A%0AHockeyApp%20for%20UWP%20Apps%3A%20Beta%20Distribution%2C%20Crash%20Reporting%20and%20User%20Metrics%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P463%0A%0AModeling%20Data%20for%20NoSQL%20Document%20Databases%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P468%0A%0ASelecting%20the%20Right%20VM%20Size%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/P523%0A%0ALinux%20Command%20Line%20on%20Windows%0Ahttps%3A//channel9.msdn.com/Events/Build/2016/C906%0A

이 글은 Evernote에서 작성되었습니다. Evernote는 하나의 업무 공간입니다. Evernote를 다운로드하세요.

댓글