發表文章

目前顯示的是 4月, 2015的文章

[Google部落格]救回誤刪文章(下)-利用postID重新發佈

圖片
在 上一章 ,我利用複製搜尋引擊的快照內容,重新刊登我的文章,但是新文章卻無法使用原本網址,如下圖一所示。然而,搜尋引擊是根據你的網址去統計流量,網址就像在網路上身分證具有唯一性。另一方面,網址更換也會影響到Google+留言,當你決定為你的部落格換網域時,Google會出現以下的警告訊息告知你的留言會消失。換句話說,若要保留你的流量和Google+留言,你必須使用原本的網址。 警告:您已啟用 Google+ 留言功能,變更網誌網址會對現有的留言造成負面影響 圖一. 被救回的文章 以下將教你如何利用postID找回刪除文章後再重新發佈。然而,若你有出現錯誤訊息『bX-cejt47』,你就需要利用其他工具救回原本網址,但也不一定有效。 環境 Google 部落格 (Blogger) 網域:XXXX. blogspot.tw Chrome Blogger管理頁面 教程 首先,請依據 上一章 到你被刪除網頁的快取畫面,按下 滑鼠右鍵 後,選擇『 檢視網頁原始碼 』。 圖一. 檢視快取網頁的原始碼 接下來,在原始碼頁面按下『 Ctrl+F 』呼叫搜尋功能,然後在對話框輸入『 postID 』後,在橘色標註的位置即可找到唯一的ID,這裡為 『 4239077584546560024 』。   圖二. 搜尋被刪除的文章 接著,請編輯任一篇文章的編輯後,在 omnibox 找到postID,請將它 取代為找到的postID , 這裡將把 『 8889869403022029595 』替代為『4239077584546560024』。   圖三.開起快照的頁面 最後,在文章的編輯模式,你可以看到被刪除的文章,然後選擇『 發佈 』救回原本文章。 圖四.救回的文章 Reference: Easy Methods To Recover Deleted Blogger Blog Post  http://www.how-to-comp.com/2014/03/Recover-Deleted-Blog-Post-Page.html

[Google部落格]救回誤刪文章(上)-搜尋引擊

圖片
你曾經不小心刪除你的部落格文章嗎? 如上圖,我曾經整理部落格文章標籤時,不小心刪除剛發表的文章,然而,它沒有提供任何介面讓你簡單救回文章。換句話說,Blogger沒有Gmail的回收桶功能,救回只能依賴外部工具,因此文章救回比起信件來複雜許多。幸運的是,當你發表你的文章時,Google搜尋引擊會定期快照你的頁面,因此當你修正內容時,快照過不久也會更新。換句話說,快照能幫你拿回刪除前的文章,但滿高機率救不回修改前的。 以下將教你如何使用Google搜尋引擊找到文章內容,複製後在重新發佈。然而,若你文章有特殊格式,直接複製內容會造成編輯不容易,在下一章將描述如何保留原本格式。 環境 Google 部落格 (Blogger) 網域:XXXX. blogspot.tw Chrome Google搜尋引擊 教程 首先,請在 Chrome的 Omnibox 或 Google搜尋引擊 輸入 『 Site: 』 再加上你的網域 ,如以下所示,按下 『 搜尋 』。 site:設定的部落格英文名稱.blogspot.tw 圖一. 搜尋你的網誌 接下來,Google會列出網誌所有列表,然而當你網誌文章數過多時,你要花過多時間找此文章,因此若你記得被刪除的文章,請在 『Site:』前面輸入文章名字後,按下『 搜尋鍵 』就可以找到它。   圖二. 搜尋被刪除的文章 接著,如下圖三在被刪除文章下面點擊『 朝下按鈕 』開起選單後,請點選『 頁庫存檔 』開啟快照頁面。   圖三.開起快照的頁面 最後,你能看到被刪除的文章內容,此時你直接複製文章內容再重新發佈文章。 圖四.救回的文章 Reference: Easy Methods To Recover Deleted Blogger Blog Post  http://www.how-to-comp.com/2014/03/Recover-Deleted-Blog-Post-Page.html

UML類別圖:Generalization vs Realization

圖片
某一個 類別去繼承另一個 ,子類別(child class)在擁有父類別的屬性和行為下去擴展功能,在C++很單純定義兩者關係為繼承(inheritance)。如下圖一所示,在UML有以下兩種方式描述繼承,兩者主要差別在父類別。 Generalization 實線 Realization 虛線 父類別必須是界面(interface) 圖一. UML繼承 Realization 請先思考什麼是界面(interface)? 在物件導向的定義,界面是一個抽象類別,設計一個界面類似於設計一個類別,但是它們的思考點有所不同。類別描述物件的屬性和行為,而界面是定義類別們統一行為,並且不會有詳細行為描述。界面是不被允許實例化,但你可以宣告空指標,或是將它綁定其中一個子類別。 例如:當主人叫動物們(雞,豬和狗)走路時, 如何在C++實作界面? 這裡只解釋程式碼的一部分,我已經將完整新增在線上C++編譯器ideone,你無需安裝任何C++IDE,直接線上修改後跑程式,請在 以下 找子標題程式碼。 首先, 找出類別們的共同行為,實作一個界面 。這裡的例子為走路,因此新增界面Animal,然後增加純虛擬函數(pure virtual function)  walking  定義走路的指令。 class Animal { public: virtual ~Animal(){} virtual void walking()=0; }; 接下來, 新增繼承界面的子類別,並且實作界面的子類別 。以下舉雞為例,這裡的 walking 描述雞用兩隻腳走路。 class Chicken:public Animal { public: virtual void walking() { printf("chickens walk on two leg\n"); } }; 最後,擁有 界面指標向量的類別可直接呼叫物件的虛擬方法,不需要是哪一個類別 實作 。由於界面不允許初始化,在程式某處產生向量容器界面指標Animal,然後將物件雞,豬和狗放入容器後,擁有此容器的類別如同下圖46-47行直接呼叫walking,讓容器所有動物開始走路。 圖二. 界