Posts

Showing posts from 2012

[SQL Server] 2005 中 Maintenance Tasks的各種功能

Image
不知道從那天開始小弟在公司要兼顧 SQL Server 系統管理員的工作。

在Database管理這個領域只有lv1的我,最近發覺公司的SQL Server沒有任何的Maintenance Plans。所以小弟打算加一些進去以保持良好的效能。不過打開Maintenance Plans Wizard就頭大了,下面這些Tasks究竟是啥咪啊.....


不過不用擔心,拜股溝就是有保佑啊....後來我找到一篇好的文章,詳細描述每個Tasks的功能,並且有怎樣使用Wizard的介紹。看完大致搞弄每個功能的用途了...(握拳)

[AD] Network Service帳號可以存取遠端共享資料夾嗎?

昨天朋友在開發的Winform系統要存取伺服器端的資料夾,他問我除了自己開一個帳號以外,有沒有一個預設的AD帳號可以有這個功能。

我想了一下應該是.....沒有。因為我記得Network Service的帳號是Local user,照道理不太可能可以給其他Client端的系統使用它。為了確認我的假設,我還是拜了一下股尻(Goole)神。

根據MSDN的官方說明:
"The NetworkService account is a predefined local accountused by the service control manager." 
( http://msdn.microsoft.com/zh-tw/library/windows/desktop/ms684272(v=vs.85).aspx )
Network Service的帳只是Local的帳戶,應該真的不能遠端存取。

為了再三確認,所以在IT邦又問了同樣一個問題:
http://ithelp.ithome.com.tw/question/10112493

其本上已經確認Network Service不能存取遠端了。/__\

Team foundation server 2012 express 的兩三事

Image
今天幫公司把Visual Studio 2012 跟Visual Studio 2010做個比較決定要不要買,無意中發現Team Foundation Server居然推出免費版本了~!!! 二話不說就利用公司資源公器私用把它抓了回來。

Team Foundation Server Express是什麼?
我們看一下微軟官方的解釋:

"With Team Foundation Server Express, even the little guys can go big. Up to five developers can access powerful application lifecycle management tools, collaborating and controlling the rise of your application, just like any large organization."

簡單來說這就是Team Foundation Server的簡單版本。用來控制開發進度以及讓開發者之間能夠更好的進行整合。功能類似免費的TortoiseSVN,不過它跟Visual Studio的整合度更高 廢話大家也是微軟的產品嘛 ,而且還支援開發流程控制,是一件不錯的工具。

安裝
老話一句,很多大大發過專業文章我也不用再寫了,請參考拉圾場大的文章
安裝完成後會看到這個畫面,就搞定囉:

20140509更新:

TF400416錯誤
如果今天你安裝繁體中文版的TFS express到一台不是繁中的Windows上的時候, 可能會出現TF400416的錯誤.

這時候可以打開"開啟記錄檔" -> 尋找關鍵字"TFS product", 會找到下面這樣的一句:

你應該會發現 Product Language 跟 Windows Language不一樣, 因此會出現TF400416這個錯誤, 修正方法可以把OS改為跟TFS一致的Language, 或者選一個對的Language重新下載 TFS. 


怎樣使用
Team Foundation Server的概念跟IIS有點類似. 都是以AppPool集合的形式把類似的專案集中起來.

另外集合不能在Web介面建立,必須利用伺服器端的 "Team Foundation S…

[Windows Server 2008] 如何設定IIS的自我簽署憑證? (2015/12/30更新)

Image
序:
最近用Microsoft的WebAPI寫了一支程式,因為連結中包含敏感資訊,所以要確保連線要被加密。但是由於程式只供內部系統使用,所以又未至於誇張到使用外部授權單位所發的憑證。看了一堆文章以後,發現IIS中 "自我簽署憑證" 跟OpenSSL兩種方法應該乎合我的需求,所以就開始設定囉。

什麼是 自我簽署憑證?
根據Microsoft的說法:"自我簽署憑證不是由憑證授權單位所發行。這些憑證可確保網站連線會被加密;但是,它們無法確保產生憑證之組織的身分識別。如果加密資料的能力比識別發行組織的能力還重要,則自我簽署憑證非常有用。"加密資料正正是我想要的東西 XD

怎樣做?

IIS中自我簽署憑證:很多大大也發過相同的文章,我也不再次發明輪胎了;91大有很詳細的說明可以參考。2015/12/30補充:

如果要自我簽署一張超過一年期限的憑證,例如10年的要怎麼辦?

1. 首先從微軟網站下載SelfSSL套件
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

2. 檢查IIS中是否已安裝以下元件,沒有的話要先裝回,不然會出現「Error opening metabase: 0x80040154」的錯誤

3. 用Administrator的權限打開cmd,輸入 selfssl /n:cn=www.mydomain.com /v:3650 /s:8 /k:2048

/n:cn=www.mydomain.com - 此SSL是給www.mydomain.com.  cn= (common name) 最好不要不填,不然將來要找這張憑證會很麻煩/v:3650 - 憑證有效日,單位為天數,例如憑證有效期為十年的話值為3650。/s:8 - IIS中安裝此憑證的Site編號。要查出Site的ID在cmd中可輸入%systemroot%\system32\inetsrv\APPCMD list site <site名稱>/k:2048 - 金匙長度,單位為bits. 4. 完成後可以打開IIS,在左邊樹狀目錄下點root,也就是伺服器圖示,然後按Server Certificates,應該可以看到剛新增的憑證,接下來Site就可以使用用這張自我簽署的憑證了。

Ope…

[鐵人賽] [IT的奧義]專業型象

Image
轉自自己發的文章 http://ithelp.ithome.com.tw/question/10099146
在資訊業呆久了,發現很多人有意無意的把資訊業人員跟"宅男"劃上等號。

他們覺得資訊工程師就是整天窩在電腦前面,穿上一件舊舊的T-shirt,短褲拖鞋不刮鬍子的從早到晚宅在電腦前面看著一堆有的沒的看不懂的符號。有時候更會聽到長輩說:"你穿那麼正式不像修電腦的耶"。雖然我極力嘗試用心的解釋系統工程師跟重灌電腦有什麼不一樣,不過看來成功光復的機率比中樂透還要少。

我們自信的認為自己是資訊工程師(事實上也是),跟建築工程師,律師,醫師,藥師,老師,斯斯(離題了)理論上應該同樣的是專業人仕,為什麼卻給很多人誤會成我們跟修理汽車的,修理冰箱的,修理電吹風的是同一類?(晚輩絕對沒有看不起這些職業,只是職能不同啦)

還有更傻眼的事,我們知道資訊業的工種很多,未必所有的人也會修或重灌電腦。可是當您跟其他人說你是系統分析師所以不會灌電腦(而實際上是會灌也不會刻意的講出來,除非是流鼻血的正妹)的時候,他們會用懷疑的眼神看你,臉容就好像暗示說自己跑去買賓士卻不會開車一樣的不可思議。

為什麼?為什麼?為什麼?為什麼我們就不當專業人仕???

其實理由非常複雜,不過我覺得可能是因為以下幾點:

1. 我們設計的是無型的東西:
建築師可以建出一座很大很高的摩天大樓,大家會覺得很棒;醫師醫治了無數的病人,大家會覺得好棒;老師教了無數成績很好的學生,大家會覺得很棒;那我們呢?我們把非常龐大的系統寫成手機的一個icon,我們自己覺得很棒。 !!!等一下,是我們覺得自己很棒,其他人呢?老實說你拿一個apps去跟人家說很棒,其實未必會很懂....無型的東西很難很容易的令人家信服。

2. 我們賣的是服務:
我們幫我們的顧客寫系統,建網路,安裝軟體,目的就是提供服務支援他們的實際業務。而服務本身就是一種無型的東西,也沒有絕對簡單易懂的標準去測量,當老百姓無法簡單的了解我們做些什麼的時候,當然也不會覺得我們專業了。

3. 還有很多很多的理由....

最後,我不會提供解決方法,因為以上只是晚輩的一些看法。如果硬要有解決方法(IT人的老毛病),以我的方法就是開會見客戶的時候盡量穿整齊一點,還要多跟其他人互動,不要老是只聽不說讓人覺得你很不會跟人互動,還有大膽說出你看出的問題,因為我們唸工科的天…

我參加了IT鐵人賽(啥?)

最近不知道幹嘛參加了IT邦幫忙的鐵人賽, 比賽內容是30天po30篇文章(嚇)

接下來的三十天我會把在那邊發的灌水文章順便貼在這裡,希望大家指教。^_^

[ASP.NET] 淺談SqlDataSource及Data access Layer

Image
在ASP.NET的世界, 如果介面上的物件要連結到資料庫,大部分的參考書會教你使用SqlDataSource物件進行連結。看起來這個方法非常的不錯,既快速方便又簡單,是實上也是如此。不過......(雷聲) 當你開發的系統越變越複雜的時候,問題就出現了。一個畫面可能會出現幾個到十幾個SqlDataSource物件,而且使用者版面與版面之間由於無法共用SqlDataSource;然後你慢慢會發現越來越多重覆又重覆又重覆的SqlDataSource出現在不同的版面上,使得系統越來越笨重你也越來越笨;而且自己辛辛苦苦寫好的Sql statement團隊中的其他懶人卻不能享用你的成果,也沒有一個集中的圖形化介面控制所有存取資料庫的Sql statement. 到最後你更會發現程式碼根本無法維護然後也開始發求職信。

由於以上的缺點,因此就出現了Data Access Layer(DAL)這樣東西。嚴格來說它是一種概念,並不是ASP.NET提供的新功能。根據Microsoft的說法:"DAL for short, and is typically implemented as a separate Class Library project."。就是要解決上面SqlDataSource帶來的各種問題。當你使用Data Access Layer這個概念來存取資料庫的時候,系統不是像Sqldatasource一樣直接存取資料庫,而是使用其中的DataSet,再由DataSet對資料庫進行存取。

老實說這不是有點多餘?那就要看你系統的複雜性。畢竟在資訊產業,系統維護佔了一筆非常大的開支,而且大家心知肚明,對於實在爛透的程式碼,錢有些時候的確未必能夠解決所有問題。所以我是建議如果知道未來系統會變很大,最初的時候多花那一點點時間用DataSet建立Business Layer吧......XD

下篇文章會談一下如何實作。

參考資料
[1] Tutorial 1: Creating a Data Access Layer http://msdn.microsoft.com/en-us/library/aa581778.aspx
----



[Winform] 兩個ComboBox怎樣連動?

Image
今天同事問了小弟一個很基本又很常用的Winform問題:

如果表單中有兩個ComboBox,第一個ComboBox顯示帳號,第二個ComboBox顯示屬於這個帳號的子帳號,當使用者選擇帳號時子帳號的ComboBox要動態顯示選項,最簡單最不用寫Code的方法是怎樣???

我自己試了一下幾個方法,感覺下面這個方法應該是最簡單方法中的其中一個:

首先設好DataSet中的DataTale並進行關連, ACCAO為帳號, SUBACCAO為子帳號.


接下來拉下畫面,上面的ComboBox是帳號,下面的ComboBox是子帳號。


把ComboBox對應在DataSet中ACCAO跟SUBACCAO兩個DataTable, 它們分別的設定如下:



最後在帳號的ComboBox中的SelectedIndexChanged事件加入下面一句程式碼:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { sUBACCAOBindingSource.Filter = "ACCAO_NO = '" + comboBox1.SelectedValue.ToString() + "'" ; } 意思就是說在子帳號ComboBox所對應的BindingSource中加入篩選條件,條件就是依據上面帳號ComboBox中使用者所選擇的帳號號碼。

就那麼一句就搞定了!



我想應該找不到給一句程式碼更簡單的做法吧XD,不過有的話記得跟我說一下,天外有天人外有人,給小弟機會好好學習啊!!!



[Redmine] 在Windows7 及 Ubuntu 安裝配置使用一次搞定筆記

Image
最近在網路上看到T客邦技術部門法寶、工作流程大公開這篇文章,裡面介紹了T客邦團隊工作上用到的一些小工具,其中有介紹到叫Redmine的專案管理工具軟體,根據T客邦的解釋:

"有不少程式開發團隊在指派任務的時候,都會用口頭指示。這樣有個很大的缺點,可能前後說法不一,聽到的指示不一定是正確的,容易產生出不少責任、時程控管的問題。T客邦技術部採用的是Redmine專案管理系統,每項工作都會利用開票的方式來說明工作內容,同時會記錄時間、討論內容、進度,而且還可以直接把工作指派給相關的人。這樣在後續執行出問題的時候,可以很容易就知道責任是在誰身上,主管也可以很明確的知道目前的工作進度。
這套系統我們編輯也會用到,像是遇到T客邦有什麼Bugs,或是需要開發新功能的時候。就可以開一張票(有點像開一個討論串),再把票指給XDite,之後身為主管的XDite就會把工作分派給部門的同仁來處理。而開發成員收到票之後,如果有問題就可以利用Skype,或是直接走到同事身邊來討論。"還有Bio大的解釋

這正是我的部門熱切渴求的第二神器啊(Orz 第一渴求的不就是這個)!!! 安裝給大家玩看看(又是我 T^T)遇到了不少問題,希望可以解決你的問題吧。

在Windows 7中安裝
首先Redmine是Ruby framework下的產物, 當然安裝Ruby跟Rails是跑不掉的,另外PHP跟Apache也要裝一下,再來資料庫就比較隨便,我用的是MySQL.

在Rails中無法安裝 RMagick 插件:
RMagick是Redmine跟圖象處理插件ImageMagick之間的連接器. 在安裝的時候經常說找不到 ImageMagick, 但是明明ImageMagick卻安裝得好好的. 要指出ImageMagick的安裝路徑可以加上with-opt-lib 跟with-opt-include兩個參數, 如下
$ gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/6.6.4-Q16/lib --with-opt-include=c:/ImageMagick/6.6.4-Q16/include Rails找不到MySQL的位置:
如果Rails出現像找不到libmysql.dll這個檔案. 可以在MySQL\bin找到. 然後…

[PHP]在Windows7中安裝PHP伺服器的問題

Image
某天要在公司架一台Windows Server的PHP伺服器 (不要問我為什麼不在Linux架 T^T)

原本以為應該很簡單, 找個Apache的安裝檔, 找個PHP的安裝檔, 半個小時應該全搞定了吧.

最後弄了老半天(怒). 跟大家分享一下我的經驗, 希望不要再浪費青春了....


第一個問題是安裝完Apache跟PHP, 在修改完設定以後打算重開Apache, 卻出現"the request operation has failed."無法Restart的情況. 要知道那裡出錯可以打開cmd, 進入Apache\bin目錄,輸入
httpd.exe -w -n "<目錄名稱>" -k start, 如httpd.exe -w -n "Apache2.2" -k start
就可以顯示出錯誤像下面的提示了.
像我這次出現的錯誤是沒有找到"php5apache2_2.dll"這個擋案. 補回去再試一下Restart...

還是不行!!!!! 再用上面方法試一下, 出現"PHPINIDir takes one argument, Directory containing the php.ini file" 意思就是說還沒指示PHP伺服器中php.ini的路徑(真的很煩~"~). 在Apache\conf中打開httpd.conf檔案, 找到PHPIniDir這一段, 把php.ini的目錄補回去(如"C:\Webserver\PHP"), 再重啟Apache看看, 果然就可以了囧. 要測試PHP伺服器是否OK, 可以在Apache目錄下的htdocs資料夾用文字文件新增一個php檔案, 例如test.php, 打開它並輸入 <? phpinfo(); ?> 然後儲存. 意思就是說把php伺服器的資料印出來. 打開browser, 輸入http://localhost/test.php 如果成功應該可以看到很多伺服器的資訊了.

如果還是看不到, 卻又不是404error, 可以看看以下方法:打開php.ini檔案, 找到short_open_tag這一段, 如果是Off的話把它改為On. 重新啟動Apache, 沒意外的話應該可…

[IBM iSeries Client Access] 在Windows 7能跑AS400的用戶端嗎?

Image
AS/400在資訊業中感覺就像不死鳥一樣,經歷30年還有很多公司機關在使用它。畢竟它的可靠性在業界是無人不知的 (至少連我這種菜鳥都知道=皿=)。

最近公司正在測試把AS/400的用戶端轉移到Windows7去。原因不外乎Windows XP已經被巨硬電腦判了死刑。(請參考這篇: http://windows.microsoft.com/zh-TW/windows/help/end-support)

我們公司用的是V5R4M0這個版本,經過小弟一天的測試,發現用戶端 iSeries Client Access 轉移到Windows 7沒什麼大問題,很快可以看到那個像BBS一樣的綠黑畫面。不過周邊設定就火大了,光鍵盤設個老半天還是不能在AS/400中輸入任何字,爬文後更發覺就算鍵盤用得到,當您開多於一個Session的時候會有用戶端當掉的問題。
再加上看過以下兩篇文章,

IBM I Access to Support Windows 7 on Dec 1iSeries Access and Win7 及IBM官方的支援 http://www-03.ibm.com/systems/power/software/i/access/windows/os.html
在Windows 7上跑的Client Access版本最好要V6R1M0以上,不然會有很多問題。
所以...........
明天我就再浪費青春乖乖的重新灌一下V6R1M0的用戶端吧....
20120822更新: 小弟發現直接用iSeries Navigator不要經捷徑就不會發生鍵盤用不到的情況, 至於為什麼我也搞不太懂...

[分享] 系統改善方案企劃書例子

如果今天老闆要你對某系統提出改善方案, 很多工程師包括我也不知道從那裡著手開始寫. 剛好遇到這次機會花掉了我畢生腦 精 力寫好一份SQL Server改善方案, 把小弟的文章部分內容分享一下希望對各位同業有幫助. 部分內容因為公司機密有所刪減, 請見諒 (公司要用英文寫, 抱歉沒中文版本= =")


------
Introduction:
This study will focus on how can we improve existing SQL Server to provide more reliable, more secure and improve capacity in order to fulfill future usage.

Current Status overview:
Operation System: windows Server 2003 SP2 32bits with 3.75 GB ram.
SQL Server version: SQL Server 2005 standard edition.
numbers of databases: 18.


Performance evaluation:
We capture the sample data from 23/07/2012 to 27/07/2012. evaluating 8 indicators[1] covering memery, CPU, and harddisk performance. here is the result:

Existing issues:
Security: 
Accounts level:XX% databases using administrator as its login account. That's mean using one account can access several databases.All developers known SQL Server admin username and password.
Operating system level:
According to Microsoft security guideline, the highest risk of infec…

[Web API] ASP.NET Web API簡單範例

Image
在這篇文章中, 以下的小範例說明怎樣利用Web API回傳資料庫中的資料並以XML格式傳送。

事前準備: Visual Studio 2010或以下的請先安裝ASP.NET MVC 4 (可到這裡下載)
實作: 建立WEB API專案:在選單中選取"檔案"->新增專案, 選擇framework 為".NET Framework4", 然後選擇 "ASP.NET MVC 4 Web Application", 填寫名稱及選擇位置後按確定.

接下來會轉到New ASP.NET MVC 4 Project, 選擇Web API, View engine為Razor, 按"OK"

沒意外的話系統進入到開發畫面.建立Model
接下來建立一個Account Model物件, 用來表示Account資料如何組成.在"方案總管"(Solution Explorer)中找到"Model"資料夾, 然後按右鍵->加入->類別


選擇 "類別", 輸入名稱"Accaoinfo.cs"後按確定.



在Model中輸入模型, 代碼如下

1 2 3 4 5 6 publicint accaono { get; set; } publicstring eco { get; set; } public DateTime active_dt { get; set; } public DateTime inactive_dt { get; set; } public DateTime create_dt { get; set; } publicstring description { get; set; }
建立Controller
在"方案總管"中打開Controllers資料夾, 把ValuesController.cs更名變成AccaoController.cs


打開AccaoController.cs, 會發現已經幫你實作了幾種方法, 分別為Get, Post, Put, Delete. 其中Get可傳…

[Web API] ASP.NET Web API概覽

Image
什麼是ASP.NET Web API [1]
ASP.NET Web API是一個可以簡化建立HTTP服務的框架.前身為WCF WebAPI, 協助WCF服務支援RESTful介面.RESTful: 簡單來說就是以 URL 定位資源,根據 HTTP 內容指示操作動作與回應訊息。一個符合上述實作方式的網路服務,就稱之為 RESTful web service 。 [2]支援利用HTTP協定. HTTP服務類似Web Service, 可以提供應用程式執行時需要的功能取回XML格式或JSON格式的結果.JSONJavascript Object Notation)是一種輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。[3]輕巧的資料交換結構, 佔頻寬比較少.許多知名的大網站皆支援Web API Model, 如Facebook, Twitter, LinkedIn, Google, etc.


優點:
使同一系統元件能被不同形式的用戶端重覆使用, 如瀏覽器, Windows form, 手機程式/平板(android, IOS, windows phone), 減少重覆開發所浪費的時間.元件在不同系統之間可共同使用(ex:讀取人事資料)利用HTTP協定, 使得簡單靈活且無處不在. 基本上現在所有設備已經支援HTTP, 不需要另外安裝套件.

缺點:
資料結構較不嚴謹, 不適合用來實作系統與系統之間的資料交換.
名詞解釋:
Model: 

官方解釋: A model is an object that represents the data in your application. ASP.NET Web API can automatically serialize your model to JSON, XML, or some other format, and then write the serialized data into the body of the HTTP response message. As long as a client can read the serialization format, it can deserialize the object. Most clients can parse either XML or JSON. M…

[MVC] 為什麼開發系統需要MVC Model?

Image
看到這篇關於MVC的文章有感。
MVC設計模式的發展及變遷: http://www.ithome.com.tw/itadm/article.php?c=74317

MVC的優點除了按功能分工,還直接把系統開發變成是組裝模組的形式。
怎麼說呢,模組之間只要預先談好接口的規則就可以各自獨立開發,開發完之後大家把自己完成的部件拿出來組合起來變成系統,我經常會跟人家說情況就像現在的汽車工業一樣。

這樣的好處有太多,最大的好處是

萬一發現bug,波及到整個系統發生的機率會比較少。分工容易,可同時開發。開發期間使用者不斷要求更改介面,這樣的話邏輯部分可以完全獨立出來不被波及。部件重用些很強,不用又再一次再一次發明輪子。What Next? 遇到像我這種老鳥多開發技術又比較低的公司,可以將MVC再升華一點點,就是把一些很常用的元件變成公司內部的Web-API(什麼是Web-API可以點這裡),系統開發人員只要用到達HTTP的連結,傳入適當的參數就可以收到想要的結果,而不需要理解中間運算的過程,這可以令技術不高的開發人員很快很安全的拿到想要的東西。
How? 小弟還在測試當中,希望很快可以寫篇新手架Web API實務......XD

參考資料:
MVC設計模式的發展及變遷: http://www.ithome.com.tw/itadm/article.php?c=74317
web api wiki: http://www.youtube.com/watch?v=GfQrAQp5RW8

每天會遇到的事...

.net教學筆記整理[如何傳入外來參數(parameters)到執行檔exe中]

Image
前言:
我想很多大大也試過於Windows跑執行檔的時候可以傳參數, 例如 example.exe resolution=1280*1024,今天有同事問我順便跟各位大大分享一下小弟的寫法:
先開一個專案(exeparameters),類型為Winform,建立後直接在設計畫面點兩下,進到Coding畫面。

打開後打概會看到以下的Code
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace exeparameters { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } } }
在public Form1()這一句我們可以看到這個執行檔並不能接受任何參數。先把Form1改裝變成可接受string[]陣列:
public Form1(string[] args) { InitializeComponent(); }
接下來把外面傳來的變數轉成內部使用變數 string[] myParameters; public Form1(string[] args) { InitializeComponent(); myParameters = args; }
最後打開Program.cs檔案, 把 static void Main() { Application…

[Youtube] 在網頁中嵌入重覆播放的youtube影片

Image
我知道很多人發過這篇文章,不過自己整理的心得自己才最看得懂吧 囧rz

如何嵌入?
要把youtube內嵌到你的blog,直到2012年5月份為止( 我這樣說是因為Youtube經常改變內嵌的方式,不過不得不讚的是一次比一次簡單 )的方法如下:
首先進入到你想嵌入的Youtube頁面,往下拉一下影片的下方會有一顆叫分享(Share)的按鈕,按一下。


然後按一下內嵌(Embed)


然後把下圖這段html複製起來(滑鼠右鍵->複製 或 Ctrl+c)


轉回你正在寫blog的頁面(以下以blogger為例),跳到HTML模式(其他種類的blog的 HTML模式在那裡 小弟 就不知道了 ˊ_>ˋ ) 把剛才複製的那段HTML貼在你的CODE的最底下。


你可能會好奇說,這段HTML究竟是啥咪啊?這段Code的意思就是說:

"建立一框架(iframe),沒有規定是不是一定要全螢幕(allowfullscreen=""),框架沒有厚度(framework="0"),高315單位(height="315"),寬420單位(width="420"),來自以下這個地方(src="brabrabra") "

所以結果如下,內嵌就完成了。
如何加入其他功能?如果有另外的需求,例如不停重播或者在那裡開始之類的,就要使用Youtube提供給我們的參數設定了。這個網站有列出所有Youtube提供給我們用的參數。以下用autoplay這個參數來當例子。跟據上面這個官方網站的說明,autoplay的描述如下:

autoplay(supported players: AS3, AS2, HTML5)Values: 0 or 1. Default is 0. Sets whether or not the initial video will autoplay when the player loads. 意思就是說1的話影片在網頁載入以後就會自動播放,0的話就不會,就這麼簡單!

那我們要怎麼加呢這個參數進去呢? 先回到HTML模式,然後找回剛貼到網頁上的HTML碼, 先找到 src="http://www.youtube.com/embed/mAfr1KC50KU" 這段,這段表示的是影片的位…

.net教學筆記整理 [組態檔案驅動設計架構例子]

Image
前言:
公司經常會遇到一些不是給使用者用的程式,例如一些格式轉換程式,一些上傳到某些地方的程式,或者背景服務等等。這些服務具有一共通點:

參數設定很多,如SMTP Server, 資料庫IP。要經常改變參數設定。 參數寫死在軟體程式裡面,第一個缺點當然是不好修改,而且不斷修改程式碼會引發不必要的錯誤。所以現在很多伺服器都是採用了以XML組態檔案驅動驅動的設計架構。意思就是說利用XML定義很多軟體參數,當系統運行的時候才去讀取相關設定,這樣軟體不需要經常重新修改,比較能確保穩定度。這種概念也就是所謂的執行引擎了(Execute Engine)

以下是小弟最近利上執行引擎的概念幫公司寫的小軟體,希望可以給各位大大分享一下,有錯誤的話請賜教。

目的:
把資料庫的某一資料表(table)轉成XML, 並自動上傳到指定FTP位置。這個小軟體要具有:
1. email功能: 上傳成功或失敗需要發email通知資訊部門某位同事。
2. 紀錄檔(log)功能: 運行時產生相關程序的記錄,包括exception。
3. 上傳到FTP伺服器前要先備份。
4. 產生的XML檔案名稱將來可能會有修改。

設計:
要表達一個系統的設計,至少要表明兩種關係
Class 之間的關係觸發事件的先後次序Class 之間的關係
由以上需求可知,如果我們在物件導向分析的類別圖(Class diagram)中開始設計類別,可以以功能區分最初版本的5個類別,分別是:
Program.cs: 提供軟體核心作業流程。
xmlManager.cs: 提供轉換成XML的相關功能。
emailManager.cs: 提供傳送電子郵件的功能。
ftpManager.cs: 提供ftp上載的功能。
logManager.cs: 提供記錄檔相關功能。

它們這些物件與物件之間的關係,可以用UML中的Class diagram表達:
虛線指的是這一個class可以存取的檔案。實心菱型在UML中解釋是Composition(組合), 意思相當於has a, 就是說被指向的Class(xmlManager跟logManager)是菱型端的Class(Program.cs)不可缺少的一部分, 當Program.cs被消滅的時候xmlManager跟logManager就一齊消失了,同理當Program.cs出現的時候一定要有xmlManag…