希格工作室

2012年9月21日 星期五

Tech Days 2012 手記(第三日)

DBI308 SQL Power Tools 擴充事件使用與效益提升實戰
DBI309 SQL Server 2012 on windows Core  新架構探討並與AlwaysOn完美整合
DBI311 Microsoft SQL Server2012稽核管理面面觀
DBI313 建置 升級與轉換您的資料庫-Data Tier Applications

  因為是一系列的,所以一起講
  重點在
1.透過擴充事件,可以針對單一事情進行監測,且可使用非同步方式回報,故理論上較不耗用SQL資源,而它有點類似物件的概念,故可進行組合、封裝等,未來Profiler trace...etc可能將被遺棄。(這裡有個疑問點是,如果未來Profiler真被遺棄,我沒有看到類似錄製並轉給Database Engine Tuning Advisor的demo,那 DETA要怎麼做? )
2.windows Core(Server Core)上裝SQL,但只支援2012版本
3.使用Server Core一場說可減少50%的SP,另一場說60%,誰對?
4.如果用GUI的Windows裝SQL,請把IE移掉,只裝SQL Engine,其它全部不裝,不關SQL的東西也都不要裝,當然最好呢,使用Server Core(意思是叫你換2012)
5.若是安裝必要條件需要FW3.5.1時,不要連WCF都選到,因為那等於裝了IIS
6.Audit log可設最大換用檔案與最大檔案數,避免過去一些問題。
7.Server Audit 全版本支援,Database則仍為Enterprise
8.請不要把SQL Server當PC使用,否則改用Server Core吧。

DEV308 精通JavaScript作Windows Store App 開發
  這堂課主要是在講MS可以讓你用JS寫WSApp,但是最好使用它所提供的腳本(WinJs MSApp.等),而由於它允許JS部份可進行較底層的操作,透過它提供的API,故有許多原生的指令在這還境下是不被允許使用,或是必須進行轉換才能使用的。
  如.open() .moveTo()...等 是被移除的
  close()變更行為
  .innerHTML禁止填入事件,非標準的標籤可能不被允許。
  這之中最令人意想不到的是...不能使用alert();,要改用Windows.UI.Popups.MessageDialog()
  禁止載入外部腳本,請先自行下載到專案內
  可Cross-Domain
  VS專案強制預設其為Strice Mode
  可使用iframe但其為web context 無法使用原App的功能,但其等級與Web相同,只是與App間的溝通將會有點困難,要用postMessage()
 以及眾多的地雷

2012年9月19日 星期三

Tech Days 2012 手記(第二日)

DBI304 新世代資料倉儲平行處理技術Microsoft SQL Server PDW
 資料倉儲功能比較
擴充性
  Fast Track 3.0PDW 1.0 AU3(Parallel Data warehousing)
資料量1~80T20~500TB
架構SMP 1SQL NodeMPP 8~10 SQL Node
高可用性可建置內建
擴充性Scale-UPScale-UP & Scale Out

AU3 Shell DB 自動Cost Based 最佳化



EXL202 Lync Server 2013
  可整合AD、sharepoint、其它通訊軟體
  支援voip
  可撥打一般電話
  主打多人視訊最高有HD畫質
(長的跟MSN非常像)



AAP301 研發主管的管理實踐 - 建立敏捷開發的團隊
  這大概是最認真的一堂吧,李老師是我去Techday最想聽的一位,主題是以SCRUM建立敏捷開發的團隊。
  在剛開始時,李老師問了一句:沒聽過SCRUM的舉手!
  我二話不說就舉了,實際上我也沒聽過,然後受贈了一本書[硝煙中的Scrum和XP],沒想到會拿到書,心中當然很高興,不過之後很可惜,到最後都沒拿到光碟。
  依解說、Scrum是一個流程的框架,不只用在程式專案,也能應用在各種方面,Scrum定義下有主要的三個組成Product Owner、Scrum Master、Team,一個或多個Team及其成員,最好需要自主性的自組織的完成專案開發,並能夠使用一切手段來保證進度和品質的能力,而Team本身最好能夠不被打擾,因此需要Scrum Master,Scrum Master必須保證團隊能高效而不受打擾的工作,並優化工作條件、過程,Scrum Master需要是一個肯負責的人,因此Product Owner的角色很重要,要找出適合做的人,李老師說:PO在選Scrum Master時,不要小看平常木訥的人,也許他就是你要的人,木訥的人並不會不適合做,說不定正好相反。
   其它的因為我是第一次知道這個,故只是把開頭的內容照唸而已,我也還不懂,故不多述,以下是一些課程上的一言(希望沒記錯):
  •   一個人需不需要使用Scrum ?不需要
  •   VS2012已套用Scrum 框架。
  •  Scrum Master要主持並清楚知道每日專案執行時遇到的任何困難,並盡快排除障礙。
  •  不要讓開發團隊受到非開發以外的任何干擾
  •  加強使用者回饋的機制,最好是能夠在Scrum Master要主持的週期性會議或討論當時之前,能夠得到回饋,Scrum Master能在當下進行主持排解,使User能在最短時間得到哪些項目能夠被完成。
  • 不要讓團隊加班,而是讓團隊能夠在必要時才自主的加班,更重要的是,常態加班絕對是錯誤的, Scrum Master 必須要帶頭不加班,並且趕人下班。


DBI306 SQL Server Always On: 高可用性、備援與應用實例
  Windows Server容錯轉移叢集 WSFC(Windows Server Failover Clustering)
  AlwaysOn
     SQL Server Failover Cluster Instances(SQLFCI)
  可用性群組
    Availablity Group(AG)
建議在Windows Server Core上運行,可以不用擔心並減少50%以上的修補程式的必要,降低重新啟動的次數。
  支援多重子網路移轉 Multi-Subnet Clustering
  SMB檔案共用可能
  搭配可用性群組
預存:sp_server_diagnostics

建置沒有[見證磁碟]的WSFC叢集


DBI307 SQL Server 2012 跨國企業資料庫管理與效能調教
  老闆常問你的十大問題
  10.你的SQL還活著?
      A:使用msdb.dbo.sysmanagement_shared registered_servers_internal
  9.SQL剛被重開,你知道嗎?
      A:(待補)
  8.SQL硬碟空間還夠嗎?
      A:啟動Ole Automation Procedures,預存sp_OAMethod,搭配SQL Agent
  7.一整天的狀況還好嗎?
      A:(待補)
  6.剛USER說連線太久
      A:使用connect server切換AB資料庫 來try time
  5.系統參數有沒有被動過?
      A:DDL Trigger + DB Mail
  4.你知道Table被動過嗎?
      A:DDL Trigger + Database Level (DDL_TABLE_EVENTS)
  3.你知道已經CPU HIGH嗎
      A:Performance Dashboard 2012
  2.連線數已經超過危險指標了?
      A:Dynamic Performanceview (sys.dm_os_performance_counters)
  1.網頁已經block3分鐘了!
      A:DP View
           sys.dm_os_waitng_tasks
           sys.dm_exec_sessions
           sys.dm_os_wait_stats

2012年9月18日 星期二

Tech Days 2012 手記(第一日--DBI301 SQL Server 2012新語法應用實務)

SQL Server 2012新語法應用實務
講師:胡百敬

        在提這場次之前,不得不先說,在當初報名時,因為上班太認真(?)結果忘了選課時間,等到同事問我時才想起來,結果已經沒課可選了(才隔一天!),結果只好亂選。

       然後是今天這第一場課,報應就來了,沒想到的事情是,這場是在一樓,但來排隊的人非常的多,多到連裡面都快塞不下,連講師都調侃的說:不只是資料會爆滿,看樣子這場也是爆滿。

    SQL2012增加 SEQUENCE的命令,以往會用identity、GUID、Table seed建立唯一或獨立序列,現在亦可透過此方式建立類似功能,它是透過在SysDB裡建立一dbo.Obect去暫存,而亦可以透過一般Select去使用,預設是使用bigint記錄,可設立範圍區間,若取值時超過範圍時會error,但可使用新語令CYCLE使其循環,但不可以放在Where子句裡(至於比較差別,得等講師資料)。

   新增一例外處理方式THROW,應該類似.NET上的THROW方式,使用在CATCH裡,特性是在執行階段下發生例外,一律放棄批次,以及可使前端不會取得到不對的ERROR NUMBER

  新增很多的window(),例如可做上下筆Rows的比較運算和彙總等函數,特別提到的是Last_Val()這個函數在partition order和order by使用不同column時,結果會不一樣。

  新的分頁取值的指令方式(Offset Fetch),不同於Row_Number(),用較直覺的方式去呈現,但並沒有比較快(講師說的)

 Select語句後可接with xxx set進行自訂結果檢示


==============================================
其它兩堂只記關鍵字

AZR301 利用雲端建置高效率 高延展性大型應用程式
Azure功能:
讓雲端去幫忙負擔DB(大資料NoSql應用)
VIP交換
專用快取
CDN快取節點
Traffic Manger

DEV303 NodeJS的開發及應用
透過NPM使用
EJS
STYLUS
mongoDB(特色是DB用類JS語法去操作Select等)
SOKET IO
 

Tech Days 2012 手記(第一日--大會主題演講)

大會主題演講

照慣例一樣是微軟台灣區總經理,一樣是在推雲端。

其它主要是在推Windows 8即將正式上市,及新功能的推銷,如可透過觸控方式在特定圖片上選取你定義的位置,作為登入密碼,而不是用一般的文字帳密。

各種搭配雲端儲存所呈現的個人化介面和體驗

win8以動態磚為桌面主題,並在以不進入App時即時顯示重要資訊(如果你不知道是啥, 打開 Window Media Center 長的很像那樣 ),然後也可以切換舊介面。

能夠更快速的開機

之後有一些Demo重點
-------------------
VS2012上,提出開發市集的環境

------------------
Windows Azure上能自由的轉移VM
------------------
SQL 2012能夠線上將正在運作的DB進行切換、轉移、備援來換到另一個DB,而不影響線上任何USER進行的行為和資料。


有些忘了


另外可以發現,去年還在活躍的小光,今年連個影都沒有,可憐的小光,就這樣被遺棄了。

2012年9月10日 星期一

多型不易必自斃

詞意:因為多型覺得不好理解而避而遠之,遲早會自爆。

善用多型真的可以改善很多東西
否則當整體需求一變,程式就有得改了
以上為自我督促