2018年11月27日 星期二

VsCode 安裝NSIS 注意事項

VsCode 安裝 NSIS注意事項

  1. 安裝Nsis相關套件後,要記得安裝Nsis主程式
  2. 安裝好主程式後,更改Setting,指定Nsis的主程式位置
  3. 由於我們的程式碼中有中文(注解也算),所以在輸出的地方要加上參數
    enter image description here
2019/8/28更新

當VsCode 更新到 1.37.1後,
原本的陣列型參數使用了新的UI可以填入。
針對參數後面有空白的,要分成兩列填入。
makesis /INPUTCHARTSET UTF8
在VsCode中,要如下輸入才有效

SVN 資料夾改名操作記錄

SVN 資料夾改名操作記錄

背景

已知有一資料夾其SVN版本號為7000,此資料夾名稱定義為Dummy。
現在要將此Dummy改為DummyOne。再從DummyOne中取出版本號6000定義為Dummy

作法

  1. 使用SVN工具,直接Rename Dummy 為 DummyOne。
  2. 在DummyOne上,按下Refresh。
  3. 開啟DummyOne的Log,此時會發現只有最近一筆記錄,之前的記錄都不見了。
  4. 照圖片關閉以下選項就可以看到改名前的記錄
    enter image description here
  5. 點選版本6000後,選擇製作Branch。
  6. 完成

Note

SVN的權限是跟資料夾名稱一起的。所以資料夾一更名,權限就消失。相反的,將資料夾更名成已設好權限的名字,則權限也就直接就套用。

拍宣導影片要注意什麼

拍宣導影片要注意什麼

https://www.thenewslens.com/article/47684

  1. 我們要傳遞的是價值,而不是商品或觀念的細節。當價值認同、起共鳴了,觀眾才會注意到達成價值的 『方法』
  2. 要怎麼表現這個價值,市面的影片滿山滿谷,要怎麼吸引人
  3. 拍影片的目的是什麼,是要沖高點閱率,還是在觀賞之後,留在人的心中。
  4. 影片怎麼被看,是在電腦看還是在手動上看。是用片段的時間看,還是坐在桌子前好好看。是否有辦法10秒鐘就抓住用戶的注意。
  5. 知識不是力量,價值才是。如何透過影音行銷,來傳達價值
2018年11月20日 星期二

主管常犯的八個錯誤

主管常犯的八個錯誤

  1. 自己做事,忘了讓部屬做事
  2. 認為所有人會自動自發
  3. 不知也不會給部屬激勵
  4. 忽視考核,討厭考核
  5. 不會當裁判
  6. 喜歡聰明人,團隊性質高
  7. 愛護部屬,忘了老闆
  8. 不知主管是專業,忘了虛心學習
2018年11月15日 星期四

DataTable 繫結到 DataGrid 取得目前選取的Row

DataTable 繫結到 DataGrid 取得目前選取的Row

問題

當透過MVVM將DataTable繫結到DataGrid上時,要如何取得目前選取的Row?

回答

在ViewModel內設計一個Property,如SelectedRowView,但形別要是DataRowView。
在XAML上再將這個SelectedRowView的屬性繫結到DataGrid的SelectedValue上。

  <DataGrid ItemsSource="{Binding Table}" SelectedValue="{Binding SelectedRowView}" CanUserAddRows="False" CanUserDeleteRows="False" />

DataGrid 動態改變Binding的DataTable

DataGrid 動態改變的Binding的DataTable

問題

在MVVM下,一個DataGrid繫結到ViewModel的Table屬性。此屬性的類別是DataTable。
當有使用自動產生Column時,若在RunTime改換DataTable的話,是否DataGrid的欄位也會改變?

測試結果

會改變,行為符合預期。

2018年11月9日 星期五

SQL Server 建立FileTable流程

SQL Server FileTable 啟用方法

設定方式

  1. 先開啟SQL Server Configuration
  2. 在內容內,選FileStream,啟用FileStream TransactionSQL存取及FileStream的IO存取
  3. 在伺服器執行個體上,修改伺服務屬性,將FileStream的存取層級設為已啟用完整存取
  4. 建立一個新的資料庫,在指定資料庫檔案時,先在FileStream的檔案群組中新增一個,然後再新增檔案的部分,新增一個檔案群組是剛剛建的FileStream的檔案群組。
  5. 再到資料庫的選項上面,設定FileStream 的目錄名稱並將非交易式存取設成Full
  6. 在資料庫中新增一個FileTable,透過SSMS可以產生SQL 語法建立,並且要建立Table的名稱和Table變成資料夾的名稱。

路徑說明

從以上的建立,就可以產生一個虛擬的網路路徑,這個路徑是
\電腦名稱<伺服器名稱><資料庫名稱><資料表名稱>
其中在
步驟2會設定 <伺服器名稱>
步驟5會設定 <資料庫名稱>
步驟6會設定 <資料表名稱>

測試效能

  • 雖然可以透過檔案總管直接開啟資料夾後複制檔案,但是複制的時間比沒有設定還要久。
  • 使用 C# 中 File.Copy 將 500GB的檔案從 (25MB x 20) 從資料夾複制到另一個資料夾,需時 ~ 230 ms
  • 用相同的方法,但是改複制到FileTable提供的資料夾,需時 > 2300 ms (有3xxxx, 5xxxx,7xxx,不穩定)

結論

效能影響很大,若對時間有考量,還是試試別的方法吧。