2012年1月21日 星期六

Freeplane 1.2 特色與中文化搶先報


過年前,奮力完成 freeplane 1.2  版的中文化翻譯,希望以此祝大家新年快樂!

目前 freeplane 最新公布的是 1.2.11 Beta 版,過去因為是 beta 版,所以始終沒有翻譯的想法,不過這個 1.2 版也到第11個修訂版了,所以就好奇地安裝來試用,我的結論是,太棒了,而且也很穩定,大家直接改用 1.2 版吧

因為小弟也要準備過年了,在這裡可能無法詳盡的整理,僅憑記憶很快地跟大家報告 freeplane 1.2 版比 1.1 版新增的功能:

  • 節點除原有的核心內容和註解外,現在又增加節點細節這個項目。在應用上,節點核心可以是最精簡的關鍵字或標題,詳細說明可以放在節點細節。顯示時,可以選擇只顯示節點核心,至於節點細節可設定成手動或自動顯示在節點核心內容下方。過去的註解功能,不管是 freeplane 或其他我看過的心智圖軟體,始終覺得不夠美觀,光是這個功能,就值得給這個版本喝采。
  • 連結線可以控制透明程度。過去連結線是不透明的,它要不就是會覆蓋掉部份文字,要不就被壓在文字下成為斷斷續續的線段,不美觀也不容易閱讀,這個小改善也很令人激賞。改善雖小,但閱讀的流暢度可是要大大的影響實際應用實的效能呢!
  • 新增摘要節點。摘要節點可以對一群節點做歸納說明。其實按照心智圖的理念,一群節點本來就有共通性值,所以來自於一個父節點,所以不用歸納節點也可以很清楚的看出它們的關係。不過,有時使用歸納節點確實也可增加一些做為補充說明的彈性。
  • 新增浮動節點。正規心智圖本來是只有一個位在中心的主節點,增加浮動節點可以提高圖形展示的彈性。
  • 自動排版可進一步自定更多層的樣式 (原來只有4層)。
  • 新增超連結到軟體本身的選單項目,也就是說可以透過點擊連結直接執行某項軟體功能。
  • 包覆節點做為強調用的雲狀包覆,現在增加了幾種不同形狀的選擇
  • 其他操作介面的改善。例如連結線可以用滑鼠直接拉,電腦不幸當機後重心執行時會自動詢問讓你選擇開啟哪個 (自動備份) 檔等等,這種小地方很多無法一一描述。
之前,有其它軟體的愛用者宣稱這軟體不夠好,其實多半是用這軟體的前身 freemind 的狀況來看。Freeplane 1.1 較  freemind 已經改善很多,而這個 1.2 版進步更多,這個免費軟體如此強大好用,個人強力推薦。

軟體下載處:http://sourceforge.net/projects/freeplane/files/freeplane%20beta/ (請下載 Freeplane-Setup-... 那個檔,目前是 1.2.11 beta)
因新版中文翻譯剛提出還未被納入上述的安裝檔中,請參考這篇另外下載更新。

2012年1月18日 星期三

[PHP程式] 要求登入後自動回到原來網頁繼續原先的流程


問題:

諸如購物網站,有時需要使用者登入或註冊才能進行某些作業,這時都會先跳到登入頁面,然後要怎麼回到原來的頁面繼續原本要進行的作業呢?

解答:

// 建立一個 class 記錄原來要進行的作業

class navigationHistory {
    var $path, $snapshot;

    function navigationHistory() {
      $this->reset();
    }

    function reset() {
      $this->path = array();
      $this->snapshot = array();
    }


    function set_snapshot($page = '') {
      global $PHP_SELF;

      if (is_array($page)) { //這裡是記錄原來作業的主要程式段
        $this->snapshot = array('page' => $page['page'],
                                'mode' => $page['mode'],
                                'get' => $page['get'],
                                'post' => $page['post']);
      } else {
        $this->snapshot = array('page' => basename($PHP_SELF),
                                'mode' => (($_SERVER['HTTPS'] == 'on') ? 'SSL' : 'NONSSL'),
                                'get' => $_GET,
                                'post' => $_POST);
      }
    }
}


//從原先的活動離開前,利用上述 class,將原有活動狀況記錄到 SESSION 中

session_register('navigation');
$_SESSION['navigation'] = new navigationHistory;
$_SESSION['navigation']->set_snapshot();
redirect(FILENAME_LOGIN); //然後才轉往登入或註冊程式
[redirect()的核心為header('Location: ' . $url); 細節略]

//在登入或註冊完成時,根據剛才的記錄,繼續原來的作業

if (sizeof($_SESSION['navigation']->snapshot) > 0)
{
   $origin_href = href_link($_SESSION['navigation']->snapshot['page'], $_SESSION['navigation']
                         ->snapshot['get'], $_SESSION['navigation']->snapshot['mode']); //這個涵式 (未詳述)          把剛剛記錄的網頁、模式和GET參數寫成網址字串

    redirect($origin_href); //重心導向回原作業,其中POST參數在$_SESSION['navigation']                      ->snapshot['post'] 中
 }

2012年1月17日 星期二

[PHP程式] 常見的 ADOdb 涵式



這是從 ADOdb Lite 摘錄下來的,最精簡的部分,方便參考!

  Database Functions
$db->debug = false - Disable Debug Feature
$db->debug = true - Enable Debug Feature
If the debug flag is set to true then every query with corresponding error result will be echoed. The debug feature does not support echoing of resultset functions.
$db->Affected_Rows()
$db->Close()
$db->Concat($string, $string)
$db->ErrorMsg()
$db->ErrorNo()
$db->Execute($sql, [$inputarray])
$db->GetAll($sql)
$db->GetArray($sql)
$db->IfNull($field, $ifNull)$db->Insert_ID()
$db->Insert_ID()
$db->IsConnected()
$db->qstr($string, [$magic_quotes])
$db->Qmagic($string)
$db->SelectDB($dbname)
$db->SelectLimit( $sql, [nrows], [offset], [$inputarray] ) - Currently MySql/MySqli/MySqlt/SqLite/PostGres7/MsSql/MsSqlpo/Sybase supported
$db->Version()

  Result Set Functions 
$ADODB_FETCH_MODE = 'ADODB_FETCH_DEFAULT' | 'ADODB_FETCH_NUM' | 'ADODB_FETCH_ASSOC' | 'ADODB_FETCH_BOTH'
$result->Close()
$result->EOF()
$result->EOF
$result->FetchField($fieldOffset)
$result->FieldCount()
$result->Fields([column])
$result->Fields
$result->GetAll([nRows])
$result->GetArray([nRows])
$result->GetRows([nRows])
$result->Move([row])
$result->MoveFirst()
$result->MoveLast()
$result->MoveNext()
$result->RecordCount()

[資料庫] 利用旗標減少資料庫的重覆運算


案例:

統計資料庫中過去12個月客戶購買金額,並以此為依據調整客戶分級。

問題:

在搜尋統計的過程中,有一些客戶沒被關注到,就是那些過去12個月都沒有消費記錄的。
如果要重新搜尋資料庫找出那些人,似乎很麻煩也很耗時。

解決辦法:

在第一次統計過去12個月的消費記錄時,把有消費的客戶做記號,也就是客戶資料表中設一個旗標對有消費的客戶標示為1 (初始值為0)。那麼之後要挑出那些最近一年沒有消費的客戶就很容易了,只要找出旗標值為0者即可。

正常的工作信件被打成垃圾信?


垃圾信是惱人的,然而有些時候重要的工作信件也被打成垃圾信就很討厭了,今天就發現一個情況~

寄公司內部的信件被當成垃圾信

原因:我現在幾個不同的信箱通通用 gmail  收發信 (更精確的說是 google apps,收發信件仍是 gmail 核心),發信時實際上是 gmail 發出,只是掛上我公司的電郵地址,結果就被認為是一種常見的垃圾郵件--- 外部信件偽裝你公司的內部信件

呵呵,多個電郵信箱是現代人的常態,統一到一個信箱收發是個減少混亂的好辦法,結果因為垃圾信猖狂,好辦法就沒那麼好了...

解決辦法:

  1. 設白名單
  2. 發信地址和郵件伺服器一致 (如果用我統一的收信系統發信,可能有些人不認識我;如果回到各自系統發信,又失去級中管理的好處)
  3. 諸如 Outlook 或我喜愛的免費軟體 DreamMail 這類的非線上郵件管理系統是可以分別用不同的郵件伺服器發信的,缺點是,不像 gmail 我可以隨時隨地用不同的裝置上線處理信件,也不會有信件收到不同裝置不同步的問題。
後記:想到很多人如果防衛心太重或見識不夠,常常也會魯莽的把好人認定為壞人。或者很自我中心的認為你必須照我的規則做 (才能避免這些麻煩)。環境是這樣,有時很難有很好的解答,我個人的看法是,凡事留點彈性

2012年1月8日 星期日

讓人敢於老去的制度 (1)


CC :還是有點感傷,盡可能讓長輩開心舒適些吧,有一天我們也會老去~

長日將盡 在瑞典勇敢老去  
2011/07/18

【聯合報╱記者梁玉芳/瑞典報導】前言
聯合報慶祝創刊六十周年,為讀者規畫「借鏡國外,提升台灣」國外採訪系列專題,並以影音、幻燈片、廣播等多媒體形式呈現報導,邀讀者一起走向數位匯流的新媒體時代。
邁入高齡化社會的台灣,長期照護的需求迫在眉睫,但目前台灣長照是靠十八萬名外籍看護工及無數家庭照顧者支撐。反觀瑞典,百分之九十三的老人能在家中老去,因為有高密度的居家照顧讓家屬安心。瑞典如何辦得到?
感謝中國信託贊助此次國際採訪計畫,長榮航空提供交通協助,與國人一起放眼世界,關懷台灣。



讓人敢於老去的制度 (2)


CC :福利制度外,可別拋棄我們關於親情的可貴傳統!


瑞典高福利制度難移植? 觀念可啟發!
2011/07/18
【聯合報╱記者梁玉芳/瑞典報導】

騎向單車大城 (5)

Bixi: 從加拿大蒙特婁學來的


CC:有些思維很有意思!任何一項活動的推行,都必須順應當地的民情



「波利斯單車」 低碳夢上路
  2011/07/11

想你要的,說你要的


你要得到你要的,就得先想你要什麼,心裡或腦子裡如果不想,那件事就不重要,顯然你也就不會為它多做努力,很自然的結果就是你得不到它(那個所謂你想要卻又都不想的)。

說你要的,不是去對別人說,去跟別人要,而是對自己說。這道裡跟上面想你要的道理一樣。有一點要注意的是,有些人提醒自己的方式是「不要什麼」。一直說著不要什麼,第一個問題就是心裡一直浮現出不要的那個影像。很多人都有經驗,說以後不要像父母怎樣怎樣,結果最終遇事的反應還是跟父母一樣。為什麼?因為只有那套行為模式根深蒂固的刻劃在腦海裡。(我不是批評父母不好,所有人都有優缺點。我是說,我們最熟悉而不想要的,為什麼總還是跟著我們?)總是說不要什麼的第二個問題是,說不要什麼就會產生要的嗎?說不要懶惰,但是怎樣才是不懶惰?是不是應該說,什麼時間該做些什麼來得有效果些?因為可操作!

不管你要得到什麼,請經常給自己耳提面命,提點自己「要做的事」。

2012年1月1日 星期日

用寫文章筆記來釐清思緒


今天是 101 年的1月1日,昨天和今天都有好幾個想寫的題目,只因為真要寫下來恐怕要花不少時間,所以就先壓了下來,先放鬆心情過個年。

寫不是為了秀給別人看,分享該算是順便吧,寫真正的用意是要釐清自己的思緒,很多事情自己好像早已清楚,但真正要寫下來時才會發現有些邏輯或關於事情的本質其實都有在琢磨的必要,只有歷經這些自我檢驗完成一篇文章或筆記後,一個觀念才算是達到一定的清楚並且接近真理。

寫文章是為了釐清思緒,這是必須養成的習慣,而不是過年或哪天興起才做的事,希望今年寫的比去年更頻繁更穩定。