創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2016年1月26日 星期二

未來仍會再出現的霸王級寒流

過去工作上的習慣,在天候不佳時會密切觀察連續幾日的天氣圖變化,現在仍有這樣的習慣,只是通常只在颱風季節注意重大颱風。這波的寒流倒是讓我打破了慣例,23日看到中央氣象局網站上的天氣圖,發現這簡直是多年不易見到的奇景,所以保存了後續幾日的天氣圖。從連續幾日的圖,可以看出幾個密集的高氣壓強度的變化過程。

2016年1月25日 星期一

Python資源

Python編程語言易學好用,用途廣泛,不管業餘愛好者或專業人士都適合使用。

初次知道Python大約是在2000年左右聽到別人提到這個優異的腳本語言,那時沒太關注它,因為在工作上我已用了其它幾種「腳本」語言,似乎不缺另一個。後來的新工作也大多偏向開發桌面GUI,極少用到這類腳本語言,不過我發現我接手的前同事私底下也用Python,這再度引起我的注意。

大約在2010年,我忘了在什麼情況下,決定要正式接觸Python語言,起初我先讀一下官方的說明文件,只是這種說明文件通常是給有基礎的人看的,有些東西不會寫的很仔細,而且有些英文專用術語,在沒有搞清楚這類術語的詳細意思時,可能不是很適合初學者。

大約在當時的台灣市面上,介紹Python的中文書也只能找到一本翻譯書,不過因為自己已在網路上找到一些學習資源,所以就沒買了。

由於某些因素,自己學習Python的過程並不是很順利,學習上斷斷續續,且大多由片斷的資料拼拼湊湊而來,尤其那時2.x版與3.x版之間青黃不接,花了些功夫才理清楚。讀者若有心想學,個人建議找個適合的教學書籍或課程,或找有經驗的人來指導,也定個學習計畫,讓學習能更具系統化,也較有效率,可省下不少自行摸索的時間。也建議直接從3.x版入手,故以下所列的資源就以3.x版為主。

由於Python的應用範圍極廣,初學者不可能一下學完所有層面。個人建議先從基礎語法入手,再去了解幾個常用的標準庫,之後再看要應用在哪些方面,如網路、資料庫、數據分析、網頁程式……,去探索一些相關的第三方Packages。逐步學習,不必一開始就學很多,只要先打好堅實基礎,往後學習較進階的東西就會輕鬆。

自己自從使用Python後,就逐漸淡忘以前學過的其它幾種腳本語言,像PHP, Perl, Ruby,不過也要聲明一下,這只是因為自己的偏好所致。Python並非萬能,每種語言都有它的強項與弱項,應該視不同的用途,明智的選擇所用的語言。之前曾看過有位在工作上習慣用C/C++的專業人士,在接觸Python後,發現它的好處多多,就把多數的工作以Python快速達成,而在要求執行效能的工作時才用C/C++。

以下就把一些資源做些分類並列出,多數是英文網站,少數是中文。以前記錄並存到瀏覽器書籤中的相關資源其實不少,但這裡只列出較常更新者,一年以上不更新的就不列入了,除了少數例外,像有些線上圖書並不會常更新。其中連結的頁面通常也會有其它相關資源的連結,彼此之間也許會互相連結。

當然,這並不能完全涵蓋所有層面,只能說其中多數是自己接觸過的,且覺得實用的。有一部分則是並不常去,但覺得它做得不錯才將其列入。

2016年1月22日 星期五

強力純文字編輯器wxMEdit

wxMEdit是MadEdit的後繼者,其最大特色是能開啟超大文字檔的超強能力。

儘管開啟超大文字檔可能不是一般使用者都會用到的功能,它還有其它功能可說是同類文字編輯器軟體中的佼佼者,像對文字編碼的轉換與支援相當全面而且很方便,另一個較特殊的是內建「轉換漢字字元」功能。

2016年1月20日 星期三

pip: Pip Installs Packages

Python安裝Package(軟體包)的方式有數種,對於已列表在PyPI的包,最方便的方式可以說是使用pip這套軟體包管理系統。

Python 2.7.9與3.4及之後的版本,預設已包含了pip。在以前還流行過像easy_install之類的類似工具,但pip已成為後來居上的主流。

如果所用的Python比前述版本還舊,建議可更換新版本就自帶pip。若不想換Python版本,要用pip就要先安裝它。

為方便說明,本文以下的解說假定了幾個前題:
  • 主要以Windows平台為說明例。
  • 電腦中已正確安裝Python 3.x的版本。
  • 下載檔案存放在d:\download。命令列的位置也切換到此資料夾。
  • 讀者具備使用Python 3的簡單基礎知識與技能。

到官方的安裝說明頁,下載get-pip.py後。

python get-pip.py
順利的話,就可在命令列執行pip。

若在Ubuntu Linux,則可用apt-get,不一定要用上述方法:

sudo apt-get install python3-pip
在Linux上往往是Python 2.x與3.x兩種版本並存,所以要執行pip3,而不是pip。這與python3執行3.x版,python執行2.x版的意思一樣。

即然是軟體包管理系統,那麼它當然有一些像安裝、移除、列示、搜尋……軟體包的諸多功能。這與Linux系統上的套件管理工具APT或RPM有點類似,只是APT/RPM管理的是作業系統所用的套件;pip則是管理Python用的軟體包。

以下就一些常用的功能做簡單介紹,操作對象主要以requests軟體包為例。requests是很好用的HTTP網路函式庫。另一個例子則是lxml,是個XML/HTML的處理函式庫。以後有機會另行撰文介紹這兩者。

2016年1月18日 星期一

簡單易用的密碼管理員KeePass

以前因工作上的關係,要記憶多達二、三十部伺服器的帳號/密碼,因此自己想了幾套編密碼的規則來應付這類狀況,在只把密碼記在腦中,不寫在任何紙本或電子記錄的前提,大致上沒什麼困難,尤其在這種自己熟悉的計算機環境。

但在這資訊量爆炸的時代,各式電子或傳統的帳號存取多不勝舉,除了電腦帳號以外,還有各式網路服務、金融機構卡提款密碼,這些服務對於密碼使用的字元數量與可用字元的規定有時千奇百怪,像以前碰過類似密碼字元數限於4-6,要內含大小寫英文字母、數、特殊符號,甚至還有限制最後字元不得為數字的怪招。

若以前述自己設計的密碼規則,碰到這種無厘頭的密碼規定就真沒轍了,像前面提的例子字元數4-6,這根本不是很安全的密碼,也沒必要做這類密碼規則。這種的只好記錄下來了,但最好是保存在某種加密的文件中,免得文件外流,全世界的人都可看到裡面的東西。

這時KeePass就可派上用場了,它可把儲存密碼的檔案加密,要開啟此檔案時要有密碼,但務必要記住自己設定開啟檔案的密碼,不然就什麼就看不到了。它也可並用密碼與鑰匙檔案,不過建議初使用時,先用密碼就好,等搞清楚鑰匙檔案是什麼之後再來用這功能。

2016年1月15日 星期五

PortableApps

PortableApps是一套在Windows環境上執行的可攜式軟體平台。

本文所稱的可攜式軟體(Portable software),也有人稱為綠色軟體,意思是不需在系統上寫入登錄值,不需做複雜的安裝動作即可馬上使用的軟體。當你把這類軟體放在隨身碟時,就可以很方便帶著四處使用。

而本文要介紹的PortableApps這個軟體平台,它結合了許多這類免費軟體,並提供了執行選單,以及線上下載安裝、更新軟體的功能,讓使用者可以很方便使用許多可攜式軟體。

2016年1月13日 星期三

Two error messages about Django migrate

  • django.db.Migrations.state.InvalidBaseError
  • psycopg2.programingerror "foo" relation dose not exit

One of these error messages might happen while I migrating a Django project with many Apps.

The second error happened if I used PostgreSQL.

A work around for this annoyance is to employ a two-phase migration.

First, comment out Apps in settings.py, but leave Django's Apps alone. Run './manage.py migrate'

Then, uncomment Apps, migrate again.

2016年1月11日 星期一

Firefox附加元件ScrapBook

ScrapBook是Firefox的附加元件,可用來擷取網頁,保存在本機。如同英文名稱般的意思,它的作用如同剪貼簿,在閱讀到某些想保存的網頁時,可用它把資料儲存下來。

※本篇假定讀者使用Firefox瀏覽器,知道如何在Firefox中取得附加元件並安裝,以及開啟附加元件的設置。

你可以想像它就像電子式的剪貼簿或筆記,可用來收集網頁資料,並在上面做註記。有點類似Evernote的作用,不過Evernote可把資料存到雲端,且有較多的功能,可加入影音記錄;ScrapBook則存在本機,只能在保存的網頁上加入註記文字與顏色。

2016年1月8日 星期五

Whoscall來電辨識

這套軟體大大有名,且在Google Play上已經有介紹了,所以這裡不用講太多。

裝好Whoscall時,它會在手機上安裝一份離線資料庫,當你接到來自陌生號碼的電話或簡訊時,它會先到這份資料庫查詢是否有符合的,若不在這資料庫的號碼,可連線再查一次,真沒有符合的,當然就無法辨識。

2016年1月6日 星期三

查詢船舶動態

之前看到的一篇新聞:《開啟AIS系統 海軍磐石艦行蹤全都露

裡面提到的AIS(Automatic Identification System,船舶自動辨識系統),有興趣的請見Wiki上的介紹,這裡不多做介紹。

如果你有親友在船上服務,而你想關注該船舶的近期動態,以下提供一個簡單的方式:

2016年1月4日 星期一

網路流量監看軟體NetMeter Evo

NetMeter是用在Windows平台的網路流量監看軟體。

這套Freeware不常更新,自己從Windows 2000時代用到現在,也只更新過幾次,用起來沒啥大問題,過去也曾安裝在服務器上,佔用的記憶體不多,屬迷你小巧,只有一個執行檔。如果你想把它當綠色軟體用也可以,找到主程式,複製到隨身碟就可四處帶著走。