2015年5月8日 星期五

新成員!Visual Studio Code --跨平台的開發工具(支援OSX, Linux 和 Windows)

新成員!Visual Studio Code --跨平台的開發工具(支援OSX, Linux 和 Windows)

http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/30/visual_studio_code_preview.aspx


2015年微軟於舊金山「正在」舉辦的 Build大會,正在展示微軟力推的技術

我們熟悉的開發工具 -- Visual Studio也有了新成員

請看 Visual Stduio Code 原廠說明:https://code.visualstudio.com/
看看他的標題怎麼說:
 
Code focused development. Redefined.
 
Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.
 

Visual Studio Code (有人暱稱他是 VSCode)
是一個免費的、最適合用來編寫程式碼的工具,
高亮度提示、關鍵字、智能輸入(自動提供屬性與方法)、程式碼範例(snippet)、支援多種程式語法.....他都具備了。

不過他目前仍是輕量化的版本,還沒有像前輩 Visula Studio那麼無所不能


目前支援的語法如下(資料來源 https://code.visualstudio.com/docs/languages
FeaturesLanguages
Syntax coloring, bracket matchingC++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java, HandleBars, R, Objective-C, PowerShell, Luna, Visual Basic, Markdown
+ IntelliSense, linting, outlineJavaScriptJSONHTMLCSSLESSSASS
+ Refactoring, find all referencesC#TypeScript

如果您要下載這套軟體,仍分成三種不同的下載版本:
  • for Windows
  • for OSX
  • for Linux

如果你喜歡一個 "程式碼編輯器"為核心的開發工具,或正在建設的跨平台的Web和Cloud應用,
可以下載 Visual Studio Code 嘗試一下
 
點選圖片可以連結到 Visual Studio Code 原廠的文件說明
Visual Studio Code run's on Max OSX, Linux and Windows
 
 
 
 
          微軟兌現承諾,.Net核心Runtime正式登上Linux與OS X
 
          百萬Android和iOS App的程式碼不用改,能快速變成Windows 10的App

         呂高旭老師的說明:Visual Studio Code - 檔案基礎。跨平台。輕量級 Visual Studio 程式編輯器


以前,我也很喜歡 Mac的筆記型電腦
雖然知道他可以安裝 Windows OS(雙重作業系統),也知道 Office有 Mac版.....

但,因為 Visula Studio這套開發工具只有 Windows作業系統才有
所以我只是觀望著

隨著 Visual Studio Code (for OSx)推出
或許.....或許哪一天也能在 Linux 或 Mac OS上使用 Visula Studio了



新成員!Visual Studio Code --跨平台的開發工具(支援OSX, Linux 和 Windows)

http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/30/visual_studio_code_preview.aspx

會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers

會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers

http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/17/aspnet_apache_cordova.aspx 


微軟提供的PDF文章與範例是2015 四月初發表的
很特別的是:
    我並 "不是"在MSDN上找到
    而是在網頁廣告中發覺這個東西

微軟為了推廣,花錢 "買廣告"來Promote。可見微軟對這件事的重視!



請您直接下載範例與PDF文章(介紹)
Hybrid Mobile Apps for ASP.NET Developers

網站上的說法是:
Do you know that as an ASP.NET developer you already have the skills to create mobile apps for Android, iOS and Windows?
( 您知道嗎?只要是一位ASP.NET開發者,您就已經具備足夠的技能,得以開發行動應用程式(mobile app),並在Android、iOS與 Windows上運作。)
See how you can quickly get up and running with our whitepaper covering Hybrid Mobile Apps for ASP.NET Developers.

多重裝置混合應用程式

建議您使用 VS 2015(2015年二月 已經有CTP 6版推出了,我使用的是2015/4月底的 VS 2015 RC版。)
===============================================================================
FAQ -- Apache Cordova 與 PhoneGap 有什麼不同?

Apache Cordova 希望作到以HTML、CSS、JavaScript就能做出原生的(Native)Mobile APP
文章裡面有提到:有家公司名為 Nitobi,他們做了一個開放原始碼(Open Source)的
「多平台 行動研發架構(multiplatform mobile development framework)」,也就是  PhoneGap。

後來這家公司被 Adobe購併
Apache基金會就把專案改了名字,變成 Apache Cordova
(玩 Linux / PHP的朋友,應該對於 Apache很熟悉吧?)

點選圖片 可連到官網 https://cordova.apache.org/

===============================================================================


微軟的Visual Studio也提供相關的工具 -- Visual Studio Tools for Apache Cordova
微軟翻譯為: (多重裝置混合式應用程式) 

下面的文章是搭配 VS 2013版的,跟上述搭配VS 2015的文章略有不同
尤其是工具的安裝、安裝順序......,甚至連程式碼範例也有一些差異。請留意~
 
  • 建立您的第一個 Hello World 應用程式
  • https://msdn.microsoft.com/zh-tw/library/dn832631.aspx
  • 建立 ToDoList 範例應用程式
  • https://msdn.microsoft.com/zh-tw/library/dn832630.aspx

支援的 Mobile OS列表:
  • Android 2.3.3 and later (4.4 provides the best developer experience)
  • iOS 6, 7, and 8
  • Windows 8 and 8.1
  • Windows Phone 8 and 8.1

您安裝VS 2015應該也會裝進這工具    容量不小,滿佔硬碟空間的    (點選下面圖片,可連結原廠網站)
上述的工具,請搭配這些作業系統:Windows 7、Windows 8、Windows 8.1 或 Windows Server 2012 R2。
 
注意!!如果您使用 Windows 7,可以開發 Android 和 iOS 的應用程式,
             但無法開發 Windows 或 Windows Phone 的應用程式。

(圖片來源,下面的影片 -- Channel 9)
===============================================================================
當您開啟一個「新專案」,
    VS 2013版,請到 (左側)JavaScript 分類底下,找到「Apache Cordova Project」專案
    VS 2015 RC版,(左側)請選 TypeScript分類
建立新的多裝置混合應用程式專案

原始的檔案(.html)如下,您可以看見有幾個 .js的檔案在內,特別是 Cordova.js

雖然還沒寫程式,但 建議您先「建置專案」,跑一下,看看環境是否OK?
測試一下,手機模擬器與相關的套件,是否都安裝妥當?
(圖片來源,下面的影片 -- Channel 9)

微軟在 Channel 9有教學影片,請看:

 
請您直接下載範例與PDF文章(介紹)
    Hybrid Mobile Apps for ASP.NET Developers
      這篇PDF文檔,很淺顯易懂,只有20幾頁
      您就算不看文字,看圖片、程式碼也知道大致的流程。


===============================================================================
我使用VS 2015 RC版,搭配微軟文件的範例,放置在此
    (微軟提供的範例 並 "沒有" AngularJS在內。您必須透過NuGet補上才能運作,否則只有畫面,功能不會動。)
    (檔名 [Apache_Cordova]MobileApp_BlankCordovaApp1.rar 。約8 MB)
===============================================================================


後續的新文章:
 
微軟提供的範例下載(in GitHub) https://github.com/Microsoft/cordova-samples

相關文章:
         百萬Android和iOS App的程式碼不用改,能快速變成Windows 10的App




會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers

http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/17/aspnet_apache_cordova.aspx 

2015年4月17日 星期五

[讀書心得]資料分頁的最佳化,以SQL 2012的 OFFSET-FETCH為例

MIS2000 Lab.文章備份(原文出自)

[讀書心得]資料分頁的最佳化,以SQL 2012的 OFFSET-FETCH為例

http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/10/sql_querying_paging_offset-fetch.aspx


這篇文章源自微軟出版社(Microsoft Press)
2015年的新書 -- T-SQL Querying

T-SQL Querying
  • Published 3/6/2015
  • 1st Edition
  • 864 pages
  • Book 978-0-7356-8504-8
  • eBook 978-0-13-398664-8



微軟網站已經公開了 這一章 的全文,請看


第二頁裡面 介紹資料庫分頁的SQL指令,
包含 TOP、ROW_NUMBER(SQL 2005 起可用)、OFFSET-FETCH(SQL 2012 起可用)

因為我們公司都改成SQL 2012版了,所以我只摘錄 OFFSET-FETCH的部分

====================================================================
SQL 2012起 多了OFFSET-FETCH的作法,
比起上述的TOP、ROW_NUMBER更簡單而且更強。
底下是一般的作法(尚未最佳化),跟前面章節的範例雷同:
-- 註解:改良後的預存程序(尚未最佳化)。
CREATE PROC dbo.GetPage5
  @pagenum  AS BIGINT = 1,
  @pagesize  AS BIGINT = 25
AS
SELECT orderid, orderdate, custid, empid
FROM dbo.Orders
ORDER BY orderid
OFFSET (@pagenum - 1) * @pagesize ROWS FETCH NEXT @pagesize ROWS ONLY;
GO
-- 註解:執行這一段預存程序。
EXEC dbo.GetPage5 @pagenum = 1, @pagesize = 25;
EXEC dbo.GetPage5 @pagenum = 2, @pagesize = 25;
EXEC dbo.GetPage5 @pagenum = 3, @pagesize = 25;
下圖是簡單的解說,讓您瞭解 OFFSET-FECTCH的用法
我們可以進一步修正如下,讓搜尋的效能更好。
根據微軟出版書籍所做的測試,在您閱覽第一千頁的資料時,下面的寫法只需邏輯讀取241次,
而上述的寫法卻要76,644次,效能大幅提昇了。
-- 註解:改良後的預存程序(最佳化)。
CREATE PROC dbo.GetPage6
  @pagenum  AS BIGINT = 1,
  @pagesize  AS BIGINT = 25
AS
WITH K AS   -- Define a table expression based on this query (call it K, for keys).
(
  SELECT orderid
  FROM dbo.Orders
  ORDER BY orderid
  OFFSET (@pagenum - 1) * @pagesize ROWS FETCH NEXT @pagesize ROWS ONLY
)
SELECT O.orderid, O.orderdate, O.custid, O.empid
FROM dbo.Orders AS O
  INNER JOIN K
    ON O.orderid = K.orderid
ORDER BY O.orderid;
GO
-- 註解:執行這一段預存程序。
EXEC dbo.GetPage6 @pagenum = 3, @pagesize = 25;

====================================================================
如果您想進一步瞭解裡面的原理
就直接看微軟公開的這一章吧,
共有六頁,寫得很詳盡!
本站已發表的相關文章 -- 

Model Binding入門、簡介、初試身手 #2 -- Web Form分頁與 IQueryable (不使用EF)



ASP.NET課程 / ASP.NET教學,請看
    http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

    [台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr


ASP.NET影片、遠距教學,請看:
    http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx

    [遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!


會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers

這是文章備份,原文出自我的網站  http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/17/aspnet_apache_cordova.aspx

會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers



微軟提供的PDF文章與範例是2015 四月初發表的
很特別的是:
    我並 "不是"在MSDN上找到
    而是在網頁廣告中發覺這個東西

微軟為了推廣,花錢 "買廣告"來Promote。可見微軟對這件事的重視!

請您直接下載範例與PDF文章(介紹)
Hybrid Mobile Apps for ASP.NET Developers
微軟的中文翻譯成: (多重裝置混合式應用程式) 

建議您使用 VS 2015(2015年二月 已經有CTP 6版推出了)
===============================================================================
FAQ -- Apache Cordova 與 PhoneGap 有什麼不同?

Apache Cordova 希望作到以HTML、CSS、JavaScript就能做出原生的(Native)Mobile APP
文章裡面有提到:有家公司名為 Nitobi,他們做了一個開放原始碼(Open Source)的
「多平台 行動研發架構(multiplatform mobile development framework)」,也就是  PhoneGap。

後來這家公司被 Adobe購併
Apache基金會就把專案改了名字,變成 Apache Cordova
(玩 Linux / PHP的朋友,應該對於 Apache很熟悉吧?)

===============================================================================
微軟的Visual Studio也提供相關的工具 -- Visual Studio Tools for Apache Cordova

下面的文章是搭配 VS 2013版的,跟上述搭配VS 2015的文章略有不同。
尤其是工具的安裝、安裝順序......請留意~

支援的 Mobile OS列表:
  • Android 2.3.3 and later (4.4 provides the best developer experience)
  • iOS 6, 7, and 8
  • Windows 8 and 8.1
  • Windows Phone 8 and 8.1

您安裝VS 2015應該也會裝進這工具    (點選下面圖片,可連結原廠網站)
上述的工具,請搭配這些作業系統:Windows 7、Windows 8、Windows 8.1 或 Windows Server 2012 R2。
注意!!如果您使用 Windows 7,可以開發 Android 和 iOS 的應用程式,
             但無法開發 Windows 或 Windows Phone 的應用程式。

(圖片來源,下面的影片 -- Channel 9)
===============================================================================
當您開啟一個「新專案」,
    請到 (左側)JavaScript 分類底下,找到「Apache Cordova Project」專案
建立新的多裝置混合應用程式專案

原始的檔案(.html)如下,您可以看見有幾個 .js的檔案在內,特別是 Cordova.js
(圖片來源,下面的影片 -- Channel 9)

微軟在 Channel 9有教學影片,請看:


請您直接下載範例與PDF文章(介紹)
Hybrid Mobile Apps for ASP.NET Developers
這篇PDF文檔,很淺顯易懂,只有20幾頁
您就算不看文字,看圖片、程式碼也知道大致的流程
有空的話.....我不敢保證。有空的話,我也來翻譯成中文)


這是文章備份,原文出自我的網站  http://www.dotblogs.com.tw/mis2000lab/archive/2015/04/17/aspnet_apache_cordova.aspx

會寫網頁 就會寫手機APP -- Hybrid Mobile Apps for ASP.NET Developers



ASP.NET課程 / ASP.NET教學,請看
    http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

    [台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr


ASP.NET影片、遠距教學,請看:
    http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx

    [遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!