2012/09/20

TechDay Taiwan Day 3 Note

Windows Phone 開發及管理概論

WP8 目前還不能說,有幾個重點:

  • App相容WP7
  • 與跟windows8共享核心
  • 三種解析度:WVGA,WXGA,720p
  • NFC及電子錢包
  • In-App-Purchase
  • 公司專屬應用程式
  • 可用Native C++開發
  • 有語音辨識
  • 離線地圖,整合Skype

開發

     安裝SDK 7.1.1

     256MB的記憶體對於APP是很嚴苛的考驗,很容易就跳出直接關閉

規劃工具

  • 手繪
  • 下載範本PDF:Wireframe Paper Sketch Template
  • 便利貼的方式
  • 白板
  • PPT:很容易表現全景式的版面規劃
  • WireFrame Template for VIsio ,OmniGraffle for Mac & iPad
      不要讓User點太深的層次,最多的層級是四層,更嚴格為3層,這不是迷宮,太多結構時會昏頭轉向

封面設計

     以雜誌首頁為例:重點有產品商標,主題,主題相關描述,主題相關視覺元素,次主題,次主題相關描述

     而不是先列出功能Icon,應該是列出有什麼對使用者有幫助的資訊才對

     UI設計重點:排版的整齊,字型大小,配色。

                         請不要Button,漸層,陰影,3D物件

     Panorama全景畫面,適合首頁運用

     Pivot,適合用在同類型的資料分類呈現

     XAML(發音:zammel)

DataBinding

     資料物件ViewModel,要實作INotifyPropertyChanged,跟WinForm新版的資料更新方式相同

     連接資料庫,WP7.1.1內建SQLCE,執行於應用程式的執行緒之中,使用Linq to SQL,存放於Isolated Storage:每個App獨立,移除時就清除

     模擬器可以安裝Isolated Storage Tool取出SQL CE資料庫

行動裝置管理

品質衡量準則

商業智慧的全新視覺體驗--設計Power View 報表

Power View 是什麼?

  • Reporting Service 內的全新產品
  • 未來整合進Excel2013
  • 基於 Silverlight 5<==怎麼不是HTML5? 可能還會有下一個版本出現
  • 並非取代原本的工具,而是資料視覺化的工具
  • 針對平板手勢最佳化???? (這個部份SL5可以在iPad上運用?)
  • 很像PPT

可以整合

  • Power Pivot
  • Tabular 資料模型,SQL2012 SSAS 新功能
  • BISM,Business Intelligence Semantic Model ,商業智慧語意模型
    • DAX 用來取代MDX
    • 可以有Having子句的篩選功能
    • 明細會比OLAP慢一點
    • 例如:原本只能單筆交易超過10萬元,現在可以找最近一年內加總交易金額超過5千萬的客戶

系統需求

  • SQL2012
  • Sharepoint2010
  • 或未來Sharepoint2013
  • 或未來Excel2013 Power View 活頁簿,可以維護多個Table的資料

限制

  • 需要Sharepoint2010,明年可能會整合至SharePoint2013

卡片檢視方式

並列分析:不同年度,水平/臿直圖表及分析

可以直接匯出成PPT

有迷你工具列可以再進行篩選

交叉分析篩選器,同一個投影片中,可以放好多層的篩選器

並排顯示=動態磚,有Tab的方式,也有CoverFlow的方式

圖片的方式有兩種:Binary存放,或者是URL超連結

動態的泡泡圖,依時間播放,泡泡的大小會變化

Excel2013有重大的改版

M$ BigData 解決方案與案例分享

講師認為 BigData 過去的觀念都有用,只是沒有包裝

預測:資料每5年,會成長一倍

各種資料都會出現,例如:XML,JSON,IMAGE....

Hadoop,分散式運算的代表,創辦人兒子的玩具名稱

  • Grid Computing
  • Map & Reduce

Volume,容量

  • TB變PB

Velocity,:每個人有4.3個裝置連接

  • 批次跑,現在變成要串流的方式來進行處理

Variety,變異:很多新的型別的資料

  • 非關聯性,非結構化資料

Walmart:「以前我們將尿布和啤酒放在一起而創造新的業績」==>現在我們將比老爸更早一步知道他女兒懷孕

  •      搜尋記錄中就知道你想要做什麼事情,進一步寄一些行銷DM刺激消費

LOG都保留下來進行分析,放在資料庫之外

BigData 不等於 Big Databae

當我們的資料量,已經沒有辦法在指定時間內處理完成時,那這就是BigData了!!!!

  • 設備升級
  • 處理技術升級
  • 在外面處理好資料後再轉進資料庫

OpenSource 在微軟原本是不能談的,現在心胸變寬大了,擁抱Hadoop!!

Streaming的搜尋

  • 找影片裡面有Microsoft Logo
  • 現在有車牌辨識系統eTag

Excel 可以直接拿 Hadoop 資料來進行分析

  • Hive Query

海量資料怎麼來的?

  • 搜尋
  • 裝置
  • 爬蟲程式
  • 記錄檔

需不需要買Appliance?

     見仁見智,講師認為因為海量,所以初期會無法預估,可以先租用雲端。

DEMO

     上傳文字檔,用javascript來分析,回存JSON

     將Join的想法實作在Hadoop上,這是海量資料很難做到的地方,因為要分散式運算,以前的觀念要轉變一下

案例分析

     T-Drive:設計好一點的GPS,有即時的交通資訊加入進行路徑規劃分析

     跟北京市政府合作合作

打造跨Windows8與Windows Phone 應用

Windows Store App vs Windows Phone App

差異

  • 裝置特性差異:平板,桌上型,手機
  • 開發的API範圍不同,支援的namespace範圍大小不同
  • WS App 以FlipView取代Panorama/Pivot
  • WS App 以ListView取代ListBox
  • 動態磚的Logo路徑上有很大的不同
  • 非同步的寫法也不同 await + even

跨裝置的建議:

  • 採用ICommand/MVVM + Portable Class提高可維護性
  • 用XAML寫UI,少寫CODE
  • 能放在雲端就別寫在CLIENT
  • 不要期待write one run everywhere,而是期待新裝置/平台寫得快一點
  • 請多花一點時間在XAML上

展示層開發技術的持續改變是必然的趨勢

愈容易跨平台,也愈容易失去平台特性

推送訊息差異

     Notification extension很好用

     Toast(推送訊息) Enable=Yes

     排程訊息

檔案存取差異

     IsolatedStorage:WP7,Sliverlight,winform,web form

     新增加Application Data:有Local,Roaming ,temp

     windows.storage.applicationdata.current.local/roaming

     Url 很好用:ms-appx=安裝目錄,ms-appdata=appdata目錄

     FileOpenPicker,FileSavePicker

DataBinding

     沒有WebClient,要改為HttpClient

     有SyndicationClient來抓RSS/Atom資料

     非同步的寫法: var result = await hc.GetStringAsync(<uri>);

如何開發PortableClassLibrary

  • 整理前端可重用的邏輯,再用MVVM
  • 不應該Focus在UI處理的部份,而是資料的部份
  • 通訊錄的例子
    • 很棒的範例,手機與平板的UI中都沒有寫程式,均用PortableClassLibrary
    • 定義屬性Item及Collection
    • 維護功能 RelayCommand:ICommand 用XAML Binding技巧
    • 查詢功能
    • XAML Binding=> StaticResource
      • Mode=two way,會寫到記憶體中,就會在查詢中直接出現

ASP.NET MVC4

新功能

  • 可建立空白範本
  • 靜態檔案CSS/Javascript的最佳化(壓縮)
    • debug=false 就會啟動壓縮
    • 支援CDN,若CDN失效的話,就會採用本機的
    • 自定忽略檔案清單
      • min.js
      • -vsdoc.js
      • debug.js
  • 網際網路應用程式範本(初學者必看)
    • 驗證採用oAUTH
    • ActionFilter範例
    • ErrorMessage傳至前端的方式
  • 響應式設計:不同的視窗大小都支援
  • Web API範本
    • Restful
    • 習慣取代配置
    • oData目前獨立一個專案:原因為不太完整,先使用Nuget下載「發行前版本」
  • 行動開發,Display Mode來區分桌上版及行動版
    • 在原本的VIEW Name加上mobile即可,若有支援wp7的話,就將檔名改wp7
    • jqMobile有Cookie的話就可以切至桌上版
  • windows Azure SDK 支援
  • 非同步簡化支援,此部份使用.net4.5新功能
    • public async Task<string> GetWebDataSync
    • 程式內部寫 await
  • Controller 可以不用放在Controller目錄中
    • 命名的習慣,去搜尋Class
  • AllowAnonymous
    • 可以在Class層級中定義了ActionFilter後,在Method層級中有[AllowAnonymous]時,也可以跳過
  • javascript intellisense 可以設定在_reference.js 即可,粉貼心吶
  • PageInspector,可以快速的找到UI上的程式碼,及CSS,還有Partial View
    • 因為低耦合性,所以常常會找不到…XD

2012/09/19

TechDay Taiwan Day 2 Note

 

*新世代資料倉儲平台,PDW
	未來三年趨勢
		*資料量超過10TB比例增高
		*Appliance(有硬體有軟體)/RA-reference architecture 主要成長的方向
			有問題第一線找微軟
		*微軟實習一年,剛退伍就有6x16
		*單機部份,停止成長,緩慢下降
	微軟資料平台產品
		SSIS:台積電選擇,跟Informatica相比,功能有差,企業一般足夠
		靈活度: user table用replicated / hash distributed 的方式同步出去,這是微軟的優點,JOIN 速度快
	DQS-data quality service & MDS 解決方案
		資料倉儲(DW),EIM(企業資訊管理) Enterprise Information Management
	Reference Architectures
		參考性的硬體架構及軟體調校的白皮書
		目前有HP & Dell & EMC,聽說還有另外一家有 Data WareHouse
	FastTrack VS. PDW(Parallel Data Warehousing)
		對稱多處理SMP VS 大規模並行處理MPP
	 PDW
		Control Rack:Control Nodes:Load Data,Management Node:SSIS/ETL
		Data Rack:Compute Node,Storage Node(可以持續擴充)
		Control Node 有一個DMS data move service,就是讓速度更快的主要技術
	Hub & Spoke 架構
		Centralize 的方式,同樣是SQL來看,可用remote table copy,不用ETL,一小時搬500GB沒問題的。
	SSIS CDC
		及時整合多種異質資料庫,採用Attunity技術,SQL2012內建Oracle Adapter
		從Oracle LOG 取得異動資料,並同步至SQL
		Replication 速度不會快,因為是Table Access,而不是LOG Access
	Big Data
		HadoopConnector:SQOOP Adapter
		非結構式的資料:Web,Blog,社群資料…
		Hodoop,要用HBase才能增加同時上線人數,關連式資料庫比較強
		工具:Nexus Query Chameleon,power Pivot
	參考:
		農林航空所260TB,空照圖
		
Sharepoint 2013
	目前仍在預覽版本
	從協同作業 collbration,變更為一起工作 work together
	四種角色。組織者,建立者,發現者,管理者
	仍是採用WebSite模式,還沒採用MVC
	增加App,市集功能
	網站動作變成「齒輪」圖示
	Metro Style
	*小組網站
		邀請共用使用者
		沒有權限也可以提出Request
		跟Facebook的邀請方式很類似,互動,權限也變得比較簡單
		建立小組專案計畫
			有時間軸,工作項目清單,並且支援子項目
			還可以用顏色分類
		所有的網站內容,都改名字叫做…App
		佈景主題比較舒服了,不會像是工程師做的版本
	*文件共用工作環境
		Office Web App Collaboration Service:可以分享給其他如 Lync Server
		2010版本不能新增Office文件(驚),現在可以了(昏)
		支援HTML5,支援行動裝置編輯
		快速預覽某一個頁面,轉成PDF,分享給某個人,內嵌在某個頁面之中
		更友善的授權共享方式:單一檔案有共同使用者角色,直接分享給某個人或者是某些人,不會影響繼承權
		離線/同步模式不需要安裝Office Client Tool,只要安裝SkyDrive For Sharepoint 2013即可
	*企業社群網站
		社群網站對於企業的意義為何??
			拉近員工與員工的距離
			Teambuilding的一種方式
			適合中國人,寧可用寫的,也不願面對面
			建立一種大家一起打拼,一起工作的環境,知道誰是誰什麼的專家
		MySite,改成像 Facebook,也可以按「讚」
			有追蹤人,文件,標籤
		討論區
			原本的舉條列目的方式,目前也像Facebook囉~
	*搜尋
		依時間、依地點、依小組、依文件類型,依標籤
		預覽可以直接看PPT大綱,有權限的話就直接開啟編輯
	*新的工作流程架構
		Windows Azure Workflow4.0
			GoTo & Loop
		工作流程觸動另一個工作流程
		也可以呼叫 HTTP WebService
	*公有雲中的Sharepoint,就是Office365
	*應用程式模組(App)
		Office365 & Sharepoint
		
	
        ??訊息通知的方式?

建立 Scrum 團隊
	心得:
		人一定會被中斷,一天有四個小時開發已經很厲害,其他時間最常在溝通
		72天內要趕快增加SCRUM 的IQ,之後遇到許多問題時,要培養SCRUM EQ
              人生的交接一定要讓人捨不得離開…因為新工作不一定適合你呀 		
	是專案管理的一種流程框架。
	敏捷開發法:如果沒有回饋的話,就不是了敏捷開發了。
	回饋=>循環=>小增量變動
	??如果遇到大變動的話:
	海賊王的團隊:你最喜歡那一位?
		Product Owner
		Scrum Master,納美
		Team Member
		魯夫是Rudy老師最喜歡的PO,讓團隊開心自動加班去做專案
	黑暗騎士演到2/3時,就是專案管理成功下一個定義:團隊成員感受到專案可能失敗,心生恐懼。
	一定要自己練習畫SCRUM的流程圖
		以Microsoft Scrum Diag
		中後期才讓UI Designer 介入,才不會有限制
		一個Sprint 如果成功的話,那就會繼續成功後續的小循環
		第一個Sprint的天數,通常是4個禮拜,或者是兩個禮拜,10個工作天
		Scrum Master 要激勵 Team Member
			重點三件事:昨天做什麼,今天要做什麼,遇到什麼困難?
	Scrum Under a Waterfall (MVP:Benjamin Day)
		一件事要規劃的很完整,才開始開發,這也是媽媽常常跟我們說的。
	加班:前兩個禮拜有衝刺作用,持續超過三個禮拜產能就會下滑
	如何保障品質?
		Extreme Programing
		TDD & Unit Testing
	培養短時間內有高效能的方法,推薦使用番茄工作法
	敏捷開發法最好的文件就是UnitTest,而且是AutoTesting,如果不能自動測試,方向就不對了
	估算時間三種方式
		依經驗值
		讓沒經驗的團隊試跑一、兩次Scrum就知道了
		最後就是找一種自己相信的方法
	需求是用 User Story 來提出,需求本來就是會變,我們不要做一個錯的東西,我們要做一個80%的可以執行的產物
	1986年創始,用於製造業
	1995年敏捷開發法,正式加入Scrum
	討論區Yammer,被微軟買了,很不錯!!
	Standup Metting,不是做政令宣達,而是討論遇到什麼困難
	Scrum Master,需要高度的EQ,沒有Process權限,互信於 Team Member
		很負責的人很適合做
		保證團隊高效率而不受打擾地工作
	參考文件:
		老師推薦Mike Cohn
		Visual Studio ALM for Scrum
	Scrum 很適合用長跑來比喻
		很無敵的高手,不應該由他打理所有工作,而是Parrel Programing,帶領新手,拉高的效能,遠比自己做
	不要害怕失敗!!
		團隊成員都去渡蜜月了
	要讓團隊成員自動加班,不要強迫加班
	User Story 的造句法:As a …… I want …… so that …...
		AS a =>身為
		I Want==>我希望
		so that==>從此以後
	交接對敏捷開發而言,就是交接Test Case


TFS2012新功能與Scrum
	台灣比較偏向一人專案,然後背很多專案(XD)
	一條龍專案:談需求,PM/SA,開發,測試,上線,都是…一個人
	waterfall
		plan->analyze->design->code->test->release
	Scrum(Agile)
		Plan->2~4week(一個waterfall循環)->2~4week(一個waterfall循環)
	新功能:
		Team Project Portal
		Scrum Task Board
		Reporting
	開發一定要寫Test Case
	有DeadLine可以讓我們保持速度,無論是大專案或者是維護的專案,都要壓
	時程預估,要讓開發人員自己預估才會準,有工具記錄下來後,會越來越準
	Area,區域:例如,前台,後台,中台
	應該是階段>區域,而不是用區域>階段
	
	User Story 要讓使用者或者是Product Owner自己填,不要變更為技術的專有名詞,要有商業價值才行
		在階段內的時候再加上細部工作項目,這時加上技術項目
	流程沒有一次到位,都是慢慢加上去的。
	可不可以填寫之前的工單?
		那跟造假有什麼差別?只是沒有定時回報,這個是PM的職責
	問題案例:插單狀況原本規劃的多
		保留buffer
		保護團隊
		向上管理及溝通

	問題案例:階段工作做不完怎麼辦?
		不管Dead Line,直到做完為止
		做多少算多少!剩下的下一個階段繼續
		Dead Line之前全部都要生出來
		心得:品質最不好的是第三個,最好是第二個。

	Scrum Master的責任
		避免同仁開發不必要的程式,重要!!
	
	TFS填的都要填真的,內部管理用的,對外的話 可以匯出至Excel來進行
	
	CodeReview 很重要:房子是自己要住的,總是要親自驗證
		可以不用Check-in就丟給PM/SA看
	
	問題案例:壓測是最低的品質門檻,VS2012 有 WEB TEST,可以模擬內部及外部,還有3G頻寬的狀況

	Feedback:可以貼圖!!!!!!!!


SQL2012 跨國企業資料庫管理

	十大挑戰
		活的嗎?
			Central Management Server,將SQL Server加入後,執行JOB即可輪詢
			select @@servername,getdate(),connection….. 
			OPENROWSET
			DB MAIL,可用MailEnable工具,目前支援SMTP
		重開機?
			人為重開可以了解,但是自動重開機就有問題!!
				CASE是因為NetApp與BIOS衝突
			要擣
		連線太久?
			sqlcmd,getdate(),connect A,connect B,中間的時間差就知道連線時間
			可以放在Centeral Management Server 來管理
		CPU/HDD使用率,連線數
			OLE Automation enabled,Scription.FilesystemObject
			20%發Mail,10%打電話,LOG一直快速成長,怎麼辦?
			預藏一個10G的檔案(用Create Database 的方式迅速建立)
			等快爆炸的時候,再移除這個檔案-_-
			連線數:sys.dm_os_performance_counters
		有沒有Block數,三分鐘內
			sys.dm_os_waiting_task
			sys..dm_os_execute
			Custom Report裡面有一個 Performance Dashboard,在SQL Server的目錄之中
		變更系統變數,或多一個欄位
			建一個 Trigger,掛EVENT,重點是在 execute as 'sa',然後再降權限。

	工具
		急診室用的,
		事後分析的,Data Collection Service

		Performance DashBoard 2012 免費下載的


	劃時代 Demo:Virtualization Operators 讓你的資料庫自己呼叫DBA
		透由VoIP,結合Skype
		文字轉語音 TTS
		SQL JOB Connection Phobe
		蔡孟翰實作