2016年6月25日 星期六

[經驗分享]開源密碼管理軟體與多裝置同步方案


現代人各種資訊設備充斥於日常生活,不論是工作上或在私人領域,使用各種系統便有各式各樣的密碼,電子郵件、網路硬碟、線上購物...等等,到處都需要密碼,這怎麼可能全部記住?更何況是有些系統偶爾才用這麼一次,恐怕下次要用時就忘了密碼,甚至連帳號叫什麼也不記得了。



有什麼好方法?


每個人對於密碼記憶都有自己的一套方法,寫在記事本、便條紙...等等。

不過別忘記,既然稱之為密碼,就代表這個鑰匙保護著重要資訊,寫在紙上不就增加外洩的機會了嗎?例如記事本遺忘在咖啡廳、便條紙貼在螢幕旁,呃... 這樣密碼已經不能稱之為密碼了。

因此,開始有「密碼管理軟體」的出現,利用軟體來分門別類保管你的帳號、密碼、網址、備註等資訊,方便查閱,並且把這些資訊再經過加密保存,未來如果忘記了某個網站的密碼,只要記住這套密碼管理軟體的密碼,登入後就可以找回遺忘的資訊。

過往這些軟體都是在電腦上執行,然而現在智慧型手機流行後,對於這類軟體還增加了「跨平台」、「同步」的需求。

因此,目前許多人推薦「1Password」這一套優秀的商業軟體方案。






有開源替代方案嗎?


嚴格來說,沒有。

目前沒有像 1Password 直接提供這麼完整的解決方案,不過開源的好處就是選擇夠多,而且可以靈活搭配、自由運用,採用各種組合來達成需求。

以下提供我個人的使用經驗,與各位分享。



各作業系統對應方案


開源世界中,有一套「KeePass」方案,以 C#/.NET 開發,採用了 AES 進行加密,還可以搭配 KeyFile 的方式來加強安全性。

正因為 KeePass 是開源方案,所以才能在各種平台上開枝散葉。


Windows 使用「KeePass


MacOSX、Linux 使用「KeePassX


Android 使用「KeePassDroid


iOS 使用「MiniKeePass




各裝置資料同步方案


上面提到各種作業系統的對應方案,但卻是各自為政,所有資料只在本機儲存,這樣根本沒有解決問題。


幸好,現在各種網路資料夾同步化方案非常齊全,不論採用雲端方案或者自建 NAS 系統都不是問題,例如我用過的方案如下:
  1. Dropbox (公有雲)
  2. Synology CloudStation (私有雲)

各裝置安裝並設定好相對應方案的同步程式,再將 KeePass 所用的資料庫檔案(.kdb)放到同步資料夾,只要一方有異動就會自動上載到雲端,其它裝置則會觸發同步機制保持最新版本,即可變相達到帳號密碼資料庫跨裝置同步的效果。

示意圖我繪製如下:


要特別注意的是,由於採用檔案等級的同步,因此要儘量避免兩個以上的裝置同時開啟 .kdb 編輯與存檔,以免同步後資料遺失。

當然,除了上述提到的兩個同步方案,還有 ownCloud 或 NextCloud 也是值得一試的開源網路同步解決方案。




2016年6月14日 星期二

Visual Studio Community 與 Express 商業免費使用之謎




Visual Studio 是一款非常好用的開發工具,而 .NET Framework 也是極其成熟好用的開發框架,對於開發者來說可以快速完成所需要的軟體。



版本採用選擇?


.NET Framework 既然是 Microsoft 家的產品,理所當然應該要採用 Visual Studio 進行開發最為理想,對於沒有經費的團隊來說,採用免費版本肯定是優先選擇。

目前 Visual Studio 在「免費」領域有兩個版本:Community 與 Express。







真的免費使用嗎? 


目前有幾種觀點:「Community 是用來取代 Express 做為免費版本」、「Community 在企業也是完全免費使用」。

事實上真的是這樣嗎?我們來看一下微軟網站的說法:

Community 版 (連結)


Express 版 (連結)



並不是 Community 可以任意於組織內免費商業使用,有兩個但書,任一條件達成都算超過範圍:

  1. 電腦數多於 250 台
  2. 年營收高於 100 萬美金


至此,答案明朗。


回到問題,如何選擇?


若您的組織未來擴充可期,可先採用 Community 版本,待成長後進而採購 Professional 或更高級的版本;若成長也不考慮轉用更高級版本,那麼一開始就採用 Express 版可以降低未來轉換之困擾。


可是 Express 版少了許多功能怎麼辦呢?例如 Code Coverage、Profiling ...


開源的另一種選擇。


幸好,這世界永遠不缺熱血,有團隊開發了一款「SharpDevelop」。



SharpDevelop 已經是開發多年的專案,知名的跨平台 .NET 開發工具「MonoDevelop」就是從 SharpDevelop 分支出來(有趣的是,MonoDevelop 現在變成 Xamarin Studio,而且經過併購又重回微軟懷抱了)。

SharpDevelop 是完全開源 Open Source 的專案,對於 .NET 的支援性相當良好,我甚至可以同一個專案檔在 Visual Studio Express 與 SharpDevelop 之間互相開啟與存檔完全正常,同時也增加了許多功能與外掛套件支援,可用以補足 Visual Studio Express 缺少的功能,例如 Code Coverage、Profiling ... 等。

如果對採用 SharpDevelop 完全取代 Visual Studio 做開發有疑慮,在此我提供另一種參考作法:大部份開發等情況採用 Visual Studio Express 進行,需要其它進階的功能時,使用 SharpDevelop 做為輔助。


結論。


有些朋友提出,既然公司已經發展到一定程度,購買高階如 Professional 版本是應該的吧?

估且不論對錯,「軟體自由」是一種選擇,選擇所用的軟體,是一種自由,所以上述觀點正確,想繼續採用 Express 的想法也沒錯,想改用 SharpDevelop 的念頭更不是壞事。

最後,選擇適合自己的版本才是最重要的,若購買商業版本可以發揮具體效益,創造價值,肯定值得投資;但是,若採用了 Professional 甚至 Ultimate 版本卻沒發揮到應有的效益,甚至都是冗餘功能,實為可惜,則可選用 Express,或者選擇另一種思維使用開源軟體,不但節省,也不會讓自己因此而被綁住。

以上個人淺見提供。


2016年6月11日 星期六

Pencil Project 睽違四年後推出全新 3.0 beta 版!



2016/06/11 更新:版號推進到 3.0 beta2,趕快更新!


「Pencil Project」這套 Open Source 跨平台的原型設計工具,就在我以為停止開發、準備放棄的時候,忽然在本月初推出全新的 3.0 beta1!


 「Pencil Project」提供簡單易用卻不失強大的功能,對於 PM、UI 人員快速製作原型時非常好用,新版直接提供外掛包(如 bootstrap、dojo、android、ios)管理介面,點選後即可快速下載與自動安裝。


陰影設定工具,透過 Shadow Style 的三個數值,可以輕易的對物件設定陰影上下、左右、長度,這是我非常喜歡的功能之一。

  1. 改用 node.js + Chromium/V8 重寫,效能提升非常明顯。 
  2. 全新使用者介面,更簡單好用。 
  3. 提供線上外掛包安裝與管理介面。 
  4. 新的分頁管理頁籤,方便同時編輯多個檔案,可以決定顯示檔名或縮圖。 
  5. 支援 zip 存檔模式,直接把相關檔案封存在一起,管理方便也減少儲存容量。 
  6. 大幅改善的 PDF 匯出功能。

※提醒您:3.0 仍在測試,請勿使用於正式的工作檔案資料。

資料來源:官網下載頁




2016年6月8日 星期三

律師函是自由軟體使用者成長的重大推手?




每年至少一次的商業軟體大拜拜,總聽聞業界許多人又開始收到某某大廠的律師發函警告信。

其實我倒覺得,這些每一次狂灑出去的律師函,都是又一次自由/開源/免費軟體使用者或有興趣跨入者的催票者。

為什麼這麼說?


  • 盜版使用者

    如果沒錢或想省錢者,就可能在網路搜尋「替代方案」、「alternative」時找到自由/開源/免費軟體。
註:不管是否支持自由軟體,都不應該使用盜版軟體。

  • 正版使用者

    理所當然的火冒三丈,花大把的錢買你家軟體使用,憑什麼懷疑我使用非法使用,還直接寄律師函過來?

    所以很多人從此改走他路,例如收到警告後,3dsmax 更換為 Blender、MSOffice 更換為 LibreOffice ...  等等,已經聽過很多的案例啦!


所以標題的故事,即源於此。