希格工作室

2011年12月8日 星期四

HTML5 - (Canvas 小黑人走路)

上一篇的小遊戲裡,我HTML5加上了很蠢的方塊,當作血量表,所以我就在想....一般常見的小黑人(火柴人or Matchstick Men),該怎麼寫在HTML5裡呢...?

於是這次試作了這個-小黑人走路

過程中我發現一件事....

我空間概念有待加強~上次的3D方塊和這次的小黑人,XY都會搞的我暈頭轉向的~

還有一點就是~三角函數要重修了我~!!

我是直接把小黑人作成一個模組,所以接下來不管要他作什麼動作,應該都沒問題才是,差只差在我的空間&動作概念。

2011年11月25日 星期五

令人懷念的MUD -- [AJAX GAME]自製簡易網頁的對戰小遊戲

https://sites.google.com/site/siggblog/sample/ajax-you-xi1

(進入遊戲後請先點素質)

這是我為了瞭解AJAX運作寫的,純網頁無FLASH,應該算即時的猜拳制的對戰,線上隨機找其他活人對戰(不過因為沒人玩,所以我加上電腦)。


會想要寫這個,無非是想用AJAX作什麼,其實網頁遊戲現在多的跟什麼一樣,只是都是用FLASH來做...,目前先試試用AJAX純網頁能做到啥程度,接下來和HTML5結合,看能玩出啥花樣?
但是有很大的問題,就是敝人沒什麼設計天份,也畫不出好看的圖~所以整體介面醜死了...



如果玩過後有什麼意見給我參考或反應(不能玩、沒反應、不平衡、畫面太亂、不會動、網路慢之類的),我會感激不盡的,但是如果要我畫上萌圖當角色之類的,我可能沒辦法~

因為只是一個畫面而已,所以沒有啥故事主題之類的,因此我也沒有替這個小遊戲命名。

在IE、firefox、Chrome測試都沒問題,其它版本未知,但是請勿用IE6...

基本上我想要知道我這種設計是否很吃頻寬,所以如果我網路被撐爆,我可能會關掉這個遊戲...

最後,如果你有意願賞光稍微玩一下的,在這裡說聲謝謝~



以下是說明和注意事項,懶得看的可以跳過

註冊
1.先點擊[註冊]建立帳號,註冊的帳號和暱稱無法與他人重復。
2.帳號最多12位,暱稱最多20個字,Email請盡量輸入能用的。
3.註冊成功後會發送註冊成功的Email(沒收到信也沒關係),密碼無法變更和查詢。

遊戲方式
1.遊戲是以線上找玩家直接對戰的方式
2.進入畫面後,左側可查看資訊,[遊戲資訊]可查看線上人數(約每1分鐘更新一次)。
3.點選[尋找對手]可以開始搜尋並等待其它按下[尋找對手]的玩家(若要停止則再按一次)。
4.當互相找到玩家後,[準備完成]會亮起,決定好你的[對戰指令],及看HP夠不夠後,就可以按下。
5.進攻方式目前分4種:重擊(AK)、刺擊(SK)、防禦(DF)、反擊(BK) (如果你有更好的名詞歡迎告知...)
在戰鬥進行中可以任意變更,來改變戰術,
基本上攻防互剋情況為:
     1.AK>SK>BK>AK
     2.AK和SK打DF時,SK較有利
     3.DF狀態下受到攻擊後,會進行蓄力狀態,當改進行攻擊時傷害會些許提高,最多可蓄10回合(會逐漸消退)。
     4.雙方都DF或BK時,無傷害,DF也不會蓄積。

6.戰鬥大約每兩秒為一回合,進行到一方或雙方HP歸零為止,就算中途關閉瀏覽器也是會打到底。
7.每次參加戰鬥,最少都會有1的EXP,EXP計算以對手等級計算,當比對手等級高時,每多1級少一些的EXP,勝方可獲得全部EXP,敗方則只有1/3,但無論如何,一定有1EXP
8.戰鬥結束後,或未開打前,都可以恢復你的HP值,恢復HP需已EXP作為代價,每100HP要1EXP,但10級以內不用,11~30需求減半,若EXP為0則都不用,不會掉級請放心。

人物狀態
1.人物狀態在畫面左方[人物資訊]裡可查看,當升級時HP,STR,DEF,AGI,DEX會亮起讓玩家提升素質,若點下去就不可返回,請注意。
2.人物狀態分為:
     LV:人物等級,最高99
     HP:血量,每次升級+10滴HP,升級也可用點數提升,每1點+10HP
     STR:力量,直接影響傷害,另外每1點+5HP
     DEF:防禦,降低對手的傷害
     AGI:迴避率(最多80%),及有機率產生額外傷害(最多33%,若在SK時發生,則會再稍微高一些)
     DEX:命中率,提高命中能力,以及些微提升最小/最大傷害值,
     EXP:經驗值
     升級點數:1級時有20點供選擇,每次升級有5點

其它事項
1.發呆大約5分鐘沒作任何動作的話,會被強制登出,此時做任何動作會回到登入畫面。
2.承上,由於沒有寫登出~若已登入卻把整個瀏覽器關掉再開的話,可能要等5分鐘才能再登入
3."理論上"一種瀏覽器只能登入一個帳號,而且已登入的角色不能重復在其它地方再登入
4.升級時HP會補滿,但增加HP時不會恢復HP
5.現階段理論上24HR都能進入遊戲,如果無法登入...大概是被操爆了。
6.增加線上聊天,不過仍有點問題


我自己的暱稱: 希格

2011年9月19日 星期一

SQL SERVER手記 --- SPARSE



USE [tempdb] 
create table tst1 (ss varchar(20) SPARSE,ss1 varchar(20) SPARSE)
CREATE TABLE tst2 (ss varchar(20)       ,ss1 varchar(20) )
go

--select * from tst1 SPARSE 
--go

declare @idx int = 0
while @idx < 100000
begin
insert tst1 values('',null) 
insert tst2 values('',null)
set @idx +=1
end
go

sp_spaceused tst1
go

sp_spaceused tst2
go

drop table tst1,tst2
go



測試輸入10萬筆資料,每筆資料有兩個欄位,長度都為20

有/無(SPARSE)保留區資料區索引區未使用
CHAR都有值6408640080
51285096824
VARCHAR都有值23122288816
1160114488
CHAR都NULL1160114488
51285096824
VARCHAR都NULL1160114488
1160114488
CHAR一邊NULL39763944824
一邊有值51285096824
VARCHAR一邊1928187288
NULL一邊有值1160114488

*有值的部份是填入空白值,而非填滿,故在CHAR時是補滿,而VARCHAR時理應空白。
*欄位裡上面為有使用SPARSE的TABLE,下面為沒使用的TABLE。

在這裡看到,當都是使用CHAR時,若資料欄位都有儲存資料且非有NULL時,所使用的空間會變多,在VARCHAR時亦同,而當CHAR都是NULL時,可以發現佔用的空間明顯變少了,但在VARCHAR時則相等,所以可以發現在VARCHAR為NULL時,有無使用SPARSE似乎都沒有意義,在一邊有值一邊為NULL的情況下,可以發現CHAR的確有省到空間,但是VARCHAR依舊是佔用較多空間。

故使用SPARSE時,由於SPARSE的特性是,若欄位為NULL時將不佔任何空間(不替它保留),但在有資料時則額外佔用空間(聽說是4byte),所以在使用變動欄位(如VARCHAR),除了不會省到任何空間以外,反而可能會膨賬,但在固定欄位時則相反。

2011年9月14日 星期三

Tech Days 2011 手記(第二日-- SQL 第二屆SQL Hero選拔大賽)

這場次是今日最後一個場次
這個場次玩到晚上九點,真晚...

一開始的演講,我完全沒記錄,說真的壓根忘了講過什麼,因為我相信...有些人要的是獎品吧?

重頭戲是參加四選一的選擇題大賽,題目內容當然都是跟SQL有關的,而且非常細節。

第一關是21題,但第一題不計分,20題我答對15題。

這類遊戲有一個重點,就是要相信你自己...不然就是完全不要相信你自己

一開始明明認為是對的,結果一群往別處走,自己定力不夠跟著走,所以錯了(大概兩題吧)

不過還是幸運進到第二關

第二關開始真的變很難,一堆都是我這資淺的沒啥看過的東西,結果就被刷下來了,好像是15題只對5題

到後面看戲,一整串語法要在短時間回答,真的佩服那幾位能夠答對。

幸運的是,我還抽到個8GB隨身碟當安慰獎

























WITH n(c) AS (SELECT c FROM
(VALUES('0:1:0'),('0:2:0'),('0:3:0')) t(c))
select COUNT(*) FROM n
GROUP BY
DATEADD(MINUTE,DATEDIFF(MINUTE,0,c)/5*5,0)
執行結果為?

你能在不到10~20秒內回答嗎?

Tech Days 2011 手記(第二日-- VIR305建置私有雲的第一步)

私有雲
 可以動態無限擴展
  自動化資源管理
  加速上線時間
  確保商轉
  災復

企業的私有雲
 跨平台
 智能配置
 自動化監控
 環保

必要架構:AD,部屬方案(快速),實體機器與虛擬機器、共用儲存裝置
 部屬方案要,重復安裝、災復
Use
 DVD
 Microsoft Deployment Toolkit
 System Center Configuration Manger

 利用共用儲存裝置達到VM機器轉移而不打斷使用者 live

Cluster Shared Volumes 叢集共用磁碟區
移轉:先建立節點、CONFIG設定、再將記憶體內容複制、Memory Sync、最後進行USER對像轉移

Better of Hyper-V Manager : System Center VM Manager  2008 R2
可管理其它平台VM
快速移轉


如果要用到Operations Manager當時在裝SCVMM R2時就不要選到SQL Express,要用正式版的SQL,否則要改regedit
//VVMMService/DependOnService : ChangeIt sqlName
//Microsoft System Center Virual Machine Manger Service /Setting/Sql/ConntentString : ChangeIt & sqlName
And ReStart Service
Then reattach to new instant

利用範本新增VM

星級評分技術
 協助最佳硬體分配

移轉時也要注意CPU相容性選項

透過PowerShell Management Library for Hyper-V
做大量或其它重復活動的管理

自助入口網站,可以FOR使用者自行建置,讓管理者專注管理層面,進行委派。

監控

System Center Essentials 2010
System Center Operations Manager 2007 R2 跨平台集中管理




Tech Days 2011 手記(第二日-- dev306 Silverlight 5.0 商業應用程式進化開發實作)

一開始花很多時間在講Silverlight 5 樞紐檢視

樞紐檢視
處理大量檢示資料
PivotViewer控制項
 至少設定三個屬性 ItemsSiuce or DataContext
                  PivotProperties
                  ItemTemplates
  可以有多個ItemTemplates

你只需要加入一個控制項就能做到多種表列和統計等互動式的功能

例如放大縮小時可以直接切換成不同的範本
PivotViewItemTemplatesCollection 要由小而大加入

Silverlight 4.0PView能轉到5?
 CXML:Collection XML

模型演進
  Kinda:only use user Temp dirory
Silverlight  5.04要多許多存取能力 但是可能僅限windows OS

支援多重視窗
 可以當成一般windows from開發,但不代表他能直接用windows from controls
(呼叫子視窗要注意是否被放至底層)


P/Invoke

SL應用程式在瀏覽器裡也可以是高信任的,在開發時只要開啟選項就好,但是上線時要做憑證。

文字呈現強化

隱含資料樣板
ListBox


這其實有很多可以講的,依講師所說的,它能夠做到以往不能做到的很多部份
不過我相信很多人還是不知道銀光能幹嘛,對於銀光大概還是知道這個比較多

Tech Days 2011 手記(第二日-- Cos305 移植ASP.NET網站到Windows Azure雲端環境)

沒上雲端會遇到的問題 : 解決機房建置環境,Software Buy/UpdateSystem Admin
當你上了雲端會有統一整合的環境支援你 : Cloud HostÇloud softwareCloud Admin
讓你[Cost Down]

當你遇到要進行的效能解決方案,過去的作法 : 善用CacheScale-up(提升硬體效能)Scale Out CDN

現在你只需要 : 雲端主機(Web Farm) +SDN


 SQL Azure 支援容錯,資料同步,延展能力高

申請體驗Azure可有30天使用,但不可超量。

託管和Account是一起算錢,Database是另算,你也可以一起買,但是不要忘記自己帳單的狀況。

建立Azure要注意本地與Cloud的差別,適當做改變。

當你在本地做開發測試要記得用Administrator身份Start

如果你要客制化的VM並上傳到Azure要先參加試用計劃。

VM大小建置要注意,不然錢就飛了。

盡量利用本地雲端模擬測試的方式來做雲端程式,如此你可以減少付給Micro$oft的$

VS開發時,會啟用Azure模擬器進行測試
建立或搬移你的App project步驟
1.      建立託管服務
2.      建立伺服器及資料庫
3.      輸入FireWall規則資訊
4.      看帳戶的Money
5.      透過SSIS匯入匯出 將本地資料庫搬至SQL Azure
6.      修改AppConnectionString
7.      Try Test Your App
8.      App發佈到Windows Azure
9.      發佈時要建立應用程式憑證(不可以選App Project發行,要選Azure Project)
10.  憑證要先上傳到Windows Azure
11.  Windows Azure憑證上傳完畢後的訂閱IDCOPY到發佈畫面。
12.  ----------
13.  APP上傳也可透過封裝(Package)去產生檔案直接上傳

*Azure Key Copy to V.S key
.....其它

老實說,要作完一個完整的Azure,動作也太繁瑣了吧? 


支援自訂Log

Tech Days 2011 手記(第二日--(Cos302 SQL Azure 概觀-架構 工具 安全與開發方法)

SQL Azure 在你上傳你的Database時會自動被切成三份副本存放DataCenter上,而你不會知道他存在的實體地方,而是以閘道來管理。

Architecture
共享式資料庫
以閘道導向實際位置

一個Azure帳號能夠有零個或多個SERVER


SQL與SQL AZURE不同點
Table design
Some t-sql
Some feature

每張表格一定要有一個clu-index(叢集索引)
使用者不需做實體或SERVER的組態設定

有些功能不能在Azure上用,如AGENT跟全文檢索

Azure上會自己自動做負載平衡


一個帳戶可以多重SERVER

管理元件SSMS WAMP
你可以隨意建立SERVER 但建資料庫則要錢,依default大小計價
大概1gb=9.99(US?TWD?)
建立DB bussiness最高到50GB
移轉資料1 指令碼移轉
1.Link Azure from SSMS: [servername].database.windows.net
2.加入本地IP FIREWALL RULES
3.從本地SQL DATA匯出指令碼資料到AZURE,記得改執行個體為AZURE
4.注意SSMS Azure DB切換只能一次


SQL Azure Server APIs
 Rest-style APIs
  需求 :管理憑證,每次呼叫都要附加憑證,

Lazybones Windows Azure Management Console 管理工具

SQL Azure 可相容現有存取介面
 Native Client OLE DB ODBC
 正常只要改連線字串就能轉移,部份非正規TSQL可能不能運行。
 Encrypt一定要TRUE


Application Topologies

用原來的程式寫法就可以存取SQL Azure,但要隨時注意SQL連線狀態,因為Azure有可能會把它kick

Security
  服務層次安全,強制SSLDenial Of ServiceInspection
  SERVER安全,FW
  不允許SA,Admin,root…..,不允WINDOWS認證

 帳戶存於master DB、名稱受Azure管制
 授權和原先的命令類似 create usersp_addrolemember…..

(目前是以指令碼介面為主,無UI)


效能及金錢:如果APPDB放在不同的資料中心,除了會有DELAY外,可能還會被收網路費用。

回應時間=2x(latency1+atency2)+query time
效能除了一般執行時間,更要注意資料和程式存放位置產生的網路延遲


未來
Data Sync Service
Reporting Service V1 :SQL Auth only
Federation Service: under program preview
Time restore: two week
Import/export
Denali Core
Sparse Column

Tech Days 2011 手記(第二日--(Cos301 Windows Azure 儲存體的深入及運用)

講師是李智樺老師

講解Windows Azure Storage(雲端資料儲存體)
Storage分為四個大類 Table, Blob,Queue,Drive,這堂課以Table部份來說明Demo

未來是屬於混合雲的時代、個人的雲端,我們該如何設計雲端以及如何將傳統應用轉至雲端

Coding Windows Azure Storage
雲端上即使是自行設計的程式,你又是怎麼知道整個程式是怎麼進行的?
所以我們只能進行探索式的測試,但 Log是可以還原真相(你不知道雲端發生什麼事)

 Demo部份只記到用blobClient就能對四大類作處理,其它的要查看光碟了(我是最後一個拿到的,還要我負責發,李老師說沒拿到的有事找我,結果還有人沒拿到真的喊了聲"靠~",哈哈....)
 //Create the blob Client
 blobClient = cloudStorageAccount.CreateCloudBlobClient();

在寫Azure Storage之前一定要用到幾個using
參考: progam file\Windows Azrue SDK\ (要加入跟Azrue有關的dll)
Using System.Data.Service.Client<--
using Microsoft.WindowsAzure、Microsoft.WindowsAzure.Diagnostics、Microsoft.WindowsAzure.ServiceRuntime、Microsoft.WindowsAzure.StorageClient

如果Debug遇到問題,先注意WindowsAzure的.NET FW不能在.NET FW 4 Client,只在.NET FW 4

安裝Azure Storage Explore and Windows Azure Manager

有提到一句很重要的話:The TABLE is not DB Table
與資料庫雲端不一樣的地方,可快速儲存,你可以用來存取簡單快速的資料部份



Azure Queues
方法:AddMessage() DeleteMessage()
Message limited to 8KB in size
FIFO
500 operations per second
Pop receipt
Max to 100TB



Azure Storage Emulator
可以TRACE
注意:可能會漏掉DLL、無法直接RUN結果、權限可能與本地不同、Load balancer




為什麼雲端不用成檔案總管的結構?
要用Table Blob Queue Drive
因為不可能透過金字塔型的檔案結構在隨時可能改變型態的環境
雲端的FileSystemBlob


先這樣,過兩天再整理

2011年9月13日 星期二

Tech Days 2011 手記(第一日--(DEV303 WPF4.0企業應用開發與實戰)

利用非同步處理大量資料,可以不會HOLD住你的WINDOWS FORM,作到背景處理能力


Ribbon式使用者介面開發,Ribbon工具得自行去下載!



支援win7相關功能,支援工作列



這堂課有兩位講師,一男一女,但是男的講師好像都沒戲份

Tech Days 2011 手記(第一日--BoF02 BoF來開講....)

這堂課主要是在互動大家對於Windows Hyper-V的問題,以及相關虛擬化後的授權問題。


這堂課簡單講就兩個重點


1.上堂課你沒上,你就不知道這堂在幹啥<--我


2.微軟授權很複雜,讓你根本殺巄無.




對我來說,我選錯了,他之前通知改課時我應該去重選的。




Windows Server虛擬化授權
WS2008 & R2
標準版 一個實體和一個虛擬
   虛擬版本只能在標準版WIN OS
企業版 一個實體和四個虛擬
   虛擬版本只能在企業版WIN OS以下()
DataCenter 不限制


SQL Server授權
Datasenter 不限制
企業板每一個license最多裝四個insten
標準版每一個vm要分別依公式決定(記得住有鬼)
分為CPU授權及Server/CAL連線授權


這堂有個好玩的小插曲
就是他的問卷和一般的不一樣
裡頭問著 你心目中的xxx是哪一家


最好玩的一題是
請用一句話形容微軟:
我覺得微軟是一間_________的公司

Tech Days 2011 手記(第一日--Sim201 System Center 2012的第一堂課)

System Center 2012 整合WINDOWS
支援異質環境 改進前版
程序自動化
自助式基礎架構

完整的應用程式管理能力
以服務為中心的方法
深入的應用程式監控和診斷
[例任何程式及服務出問題時,監控程式可以輕易告知並顯示到程式碼的部份]

委派與控制的彈性
跨雲端的通用主控台
實體 虛擬和雲端管理
[提供雲端管裡公私混合的綜合管理,使用者不需要瞭解何為公私雲]

System Center Operations Manager SCOM
減少管理架構的TCO
全方位的應用程式監控
[跨平台監控支援]
簡單和強力的視覺化管理儀表板
[可透過精靈產生,不需寫程式]

網路監控
多廠牌支援
多協定支援

System Center Configuration Mannager SCCM 2012
支援行動裝置
最佳化 個人化應用程式使用經驗
自助化應用程式管理

行動裝製 實體及虛擬管理
安全性 管理
服務管理整合

完整的客端管理能力
提升管理者效率
可以知道客端派送出的安裝軟體,現在是已裝或已移或其它。
客端設定 可以一鍵多控,生命週期存活
管理所有客端電腦



System Center Virtual Machine Managet SCVMM 2012
管理虛擬機器
[服務管理]
同時管理任何平台的虛擬機器


System Center App Controller
管理公私雲

Data Protection Manager
集中管理角色為基楚

System Center Service Manager
及中整合管理,可以互相通知相關人員做立即性處理

System Center Orchestrator
自動化管理


Micresoft Connects 提供測試情境


*


這堂課是快速帶過Center的產品和用途,以及它所期待的願景
最主要是可以跨平台同時管理所有的系統、應用程式及使用者堅控及權限管理等


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

大會主題演講


照慣例在大會堂展開(廢話)
第一個上台的是微軟台灣區總經理,講了很多東西,但一句話來帶出今年大會最主要的重點:微軟致力於在不改變使用習慣下來改變使用者的習慣

接著續提到在虛擬環境下,執行中的VM若需要進行任何動作來轉換到另一台VM,可以在Online的情況下處理,無縫轉換,不需要中斷使用者的行為,所以使用者並不會知道你正在轉系統,過程中展示一影片串流。


再來是關於公私雲的部份,微軟推出Cloud Power,來整合管理,終端使用者不需要特別瞭解他當下是處於哪朵雲,管理者也能同時快速的部置各種雲端配置。



虛擬化應用程式,讓應用程式也能在任何主機上,透過雲端程式直接執行,不需要安裝程式,3D運算也可以使用。
(Like Google App & Google NoteBook)



再來講到Office 365透過它可以針對任何的裝置(PC、手機、平板......),都可以簡單完整良好的使用整合到公司AD Exchange等等,資料、人員通訊錄等都可以直接整合,當你在操作時,無論是Exchange或365上的通訊錄都能即時所得等等

提到一個名詞:消費化執行
是說當IT的都會因為使用者習慣而被要求新的操作體驗及環境,而身為一個決策者,你是否選擇消費化執行,開放或同意一個新的操作環境等,所帶來的生產力是否提升?亦或滯留於舊貌,這是身為IT決策者要考慮的事。

結合Visual Studio的本地及雲端開發,讓兩種環境都能進行不同結構平台的功能開發與測試,不需要事先上到實際平台來做開發和測試,並且能夠直接部屬到windows azure

HTML 5 windows手機應用的設計套件 windows phone 7 dev Tools
這段DEMO中發生小插曲,DEMO的老師D不出來,旁邊的立即補上一句"通常這時後我們都會說:這是網路有問題"




推廣windows行動開發能力,手機開發模擬vs2010,可以直接把手機虛擬在開發平台,TEST移動、翻滾等。

講到 Unified Experiences 不知道有沒有記錯


還有個Kinect + Windows整合開發
講簡單點,有玩過MikuMikuDance的就知道了
動態捕捉囉
-------------------------------------------------------------------------------------

一言以概微軟這部曲的重點就是:

我要把我名下的所有產品,甚至其它家的產品,通通組合在我家一起作,全部Link起來囉,所以我超強。




大會背包送的筆,還附發光功能(其實重點在後面吧)