The Will Will Web | All posts by will

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹好用工具:BFG Repo-Cleaner (刪除 Git 儲存庫大型歷史檔案)

由於早期的 Subversion (SVN) 專案都擺在公司內部,儲存庫的大小不太會去管控,以致於有些專案含有非常大量的文件,我們就有個專案的 Docs 目錄下擁有超過 1GB 的資料,想當然爾在移轉到 Git 之後,所有的檔案都將被留下,可想而知這種儲存庫要搬上雲端有多麼困難,本文將介紹一套以 Java 寫成的好用工具 BFG Repo-Cleaner 可以幫助我快速刪除版本歷史紀錄中不需要出現的檔案或目錄,以大幅減少 Git 儲存庫的大小。

... 繼續閱讀 ...

Git 儲存庫太大導致無法上傳 Visual Studio Online 如何處理

照理來說,版本控管通常用來控管程式原始碼,不過第一次使用版控的人總是抓不準尺度,硬是把動輒數百 MB 的影片放進版本庫,不然就是設計師把數十到數百 MB 的 ai 檔簽入到版本庫中。你知道的,Git 版控會把所有東西放進版本庫,刪掉的檔案也一樣,但 Git 優異的檔案系統設計,這點小檔案不成問題。不過,當你要 push 到遠端儲存庫時,像是 GitHubBitbucketVisual Studio Online 這類遠端服務,通常都會有些 push 的限制,這篇文章主講 Visual Studio Online 的解決方法。

... 繼續閱讀 ...

介紹好用工具:SubGit ( 輕鬆將 SVN 專案移轉到 Git 的工具 )

前陣子大量將公司現有放在 Subversion (SVN) 的專案移轉到 Git 進行版控,有些搬到 GitHub,有些則搬到 Visual Studio Online,過程中我研究、測試了很多套移轉工具,大部分工具都需要做很多前置作業才能執行 Svn to Git 移轉專案,不過我最終選擇了 SubGit 這套工具,他是讓你花最少時間 (幾乎不用準備使用者對應檔) 就可以移轉成功的一套了,我們來看看這套工具如何使用吧!

... 繼續閱讀 ...

Microsoft Azure Web Sites 如何設定自動復原機制

我的部落格已經移往 Microsoft Azure Web Sites (MAWS) 代管數月,剛搬上去的時候確實不太穩定,畢竟我原本的伺服器有 8GB 記憶體,搬上 MAWS 之後只剩下 1.7GB 可用 (為了省錢),可使用的資源差很多,也因此發現自己的部落格在資源不足的情況下,穩定度極差。為了讓我的網站能夠穩定運作,我研究了一下,發現今年年初 MAWS 有個 ALWAYS ON 更新,可以讓網站在出問題時「自動復原」,這功能拯救了我,網站也從此穩定許多,來看看這要怎麼用吧!

... 繼續閱讀 ...

如何利用 AzCopy 同步本機磁碟與 Azure Blob Storage 檔案

最近在協助客戶將 Amazon S3 上面的檔案遷移到 Windows Azure Storage (Blob),在我的前一篇文章已經提到如何便利的從 Amazon S3 同步到本機磁碟,今天我將分享如何透過微軟提供的免費工具 AzCopy 幫我們快速達成上傳、下載、同步等工作,也是一套兼具方便性與效能的檔案同步工具,同步檔案時,他一樣不會傳輸那些已經同步過且無異動的檔案,讓我們一起來看看如何使用吧!

... 繼續閱讀 ...

如何利用 Powershell 同步本機磁碟與 Amazon S3 的檔案

最近在協助客戶將 Amazon S3 上面的檔案遷移到 Windows Azure Storage,若要遷移這些存在 S3 上面的檔案,勢必要先把檔案下載回來,所以我今天打算分享一個不用錢的解決方案,讓你可以快速的同步本機與雲端上的檔案,你可以把本機磁碟中的檔案同步到 Amazon S3,也可以從 Amazon S3 同步檔案到本機磁碟中,已經同步過的檔案還會自動跳過,所以除了第一次同步外,日後每次同步檔案的速度都將非常快。

... 繼續閱讀 ...

Google 表單如何設定欄位預設值(可從網址列變更預設值)

最近很常用 Google 表單設計各式問卷、面試考題或一些需要收集多人回報資訊的表單,真的非常好用、實用且穩定,不過前陣子卻有個困擾是不知道如何替表單預先輸入一些預設值,好讓大部分填寫問卷的人不用輸入一些欄位的內容,或讓我將一些單選或複選的選項事先勾選起來。最近終於找到解決方法,在此分享這個實用技巧。

... 繼續閱讀 ...

如何替 ELMAH 錯誤紀錄頁面加上 IP 來源限制存取設定 (IIS)

ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。

... 繼續閱讀 ...

強迫網站轉向到 HTTPS 加密安全連線 ( IIS URL Rewrite )

我們由於越來越多網站系統都開始搬上 Microsoft Azure 雲端平台,由於走的是網際網路,數據傳輸的安全性格外重要,還好 Microsoft Azure 網站免費提供一個萬用的 SSL 憑證 ( *.azurewebsites.net ) ,所以我們可以不費吹灰之力的提供一個擁有 HTTPS 的網站。較為早期的時候,我們大多會在程式裡判斷使用者打開網頁的要求是否是 HTTP,如果是 HTTP 要求就自動轉向到 HTTPS 安全網頁。現在,只要調整 web.config 就可以輕易完成需求,非常簡單。

... 繼續閱讀 ...

透過 HTTP 與 HTTPS 連接 Git 儲存庫時如何記憶常用密碼

不知道各位在 Windows 平台使用 Git 的時候有沒有這種困擾,每次要 git push 的時候都要不斷的輸入帳號密碼,我覺得經年累月之下對工作生產力的損失其實還蠻大的。我用 SSH 協定連接 Git 儲存庫時,都會先設定好 SSH Key 並上傳 Github 或 Bitbucket 免除不斷輸入帳密的問題,但用了 https 為主的連接方式時 ( Visual Studio Online ),預設就不支援了,今天這篇文章就來告訴大家如何設定 http / https 也能記憶密碼的方法。

... 繼續閱讀 ...

解決IIS在「啟用 32 位元應用程式」之後網站無法執行的問題

雖然在 2014 年的今天,依然還是有許多第三方元件無法正確執行在 64 位元的 CPU 架構下。當我們想要將 ASP.NET 網站跑在 32 位元的應用程式集區上時,IIS 的應用程式集區勢必做出設定,雖然這是個非常容易的設定,但有時候網站卻會在應用程式集區設定完「啟用 32 位元應用程式」之後立刻陣亡,搭配著的晦澀不明的錯誤訊息,真的會有點吐血。接下來,就讓我們一起探究問題的根源吧!

... 繼續閱讀 ...

如何解決 LinqToExcel 發生「無法載入檔案或組件」問題

前陣子有個同事的案子發生一件詭異的問題,在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助。我發現錯誤訊息確實很「一般」,訊息是:「無法載入檔案或組件 'LinqToExcel' 或其相依性的其中之一。 試圖載入格式錯誤的程式。」或是英文版的「Could not load file or assembly 'LinqToExcel' or one of its dependencies. An attempt was made to load a program with an incorrect format.」。如果你也遇到類似的問題(很有機會遇到),那麼你應該繼續看下去。

... 繼續閱讀 ...