發表文章

解決phpMyAdmin登入後導向不正確網址的問題

安裝完 LEMP Stack 和 phpMyAdmin 後,每次由 https://example.com/phpmyadmin 登入 phpMyAdmin 之後都會被導向 https://example.com/ ,需要人手在瀏覽器再打多次 /phpmyadmin,感覺好麻煩,在網上找到一個簡單的解決方法,特此記錄下來:

政府T-Contract vs Vendor vs In-house

又到畢業的季節,當一個 IT 畢業生投身社會成為一個程序員時,很多時都要考慮應該往哪個範疇發展,還有就是公司的類型,現時 IT 主要分為 Vendor, in-house 和 t-con,這裡簡單說明這三種類型的分別。 Vendor就好比少林寺,若果你有心學習,就一定有很多機會。基本上是做軟件開發的主要功夫,除了business process re-engineering,一般做兩三年ap就什麼都接觸到。當然,你吸收了多少,掌握有多深入,就看你的本事。Vendor收入一定不高,如果不是等錢用,做兩三年Vendor再轉工,你會發現你的市價高了很多。 比較大型 vendor: PCCW Solutions , ICO , GreenTomato 至於一般 in-house,最大問題是流水作業、分工仔細,你很少機會接觸不同的工種,不知道整個流程的運作,除非你有機會嘗試不同的職位。不過,在in-house做了一段長時間後,你會了解公司的文化和運作,會比較容易明白IT與User之間觀點的差異,懂得與user溝通,即是一大堆所謂的"軟性技巧",這些東西對於SA或Manager很有用,但前題是你有這個升職的機會。 至於t-con ap是否真的容易做?與做development的t-con ap相比又是怎樣?.... 的確做development同唔做development的分別是很大. 前者我覺得同一般in-house的分別不大, 都係一邊寫code一面按照你上面個SA有乜要幫就分一部份俾你囉. (你係講ap, 唔係jp或者p嘛) 但如果唔做development的話, 我反而覺得t-ap幾吃力不討好, 因為如果你熟晒成個流程點玩, 你基本上已經夠料做t-sa, 但明明你未夠料, 但你又要同o的contractor交手, 而通常你對手都唔係ap而係sa or above, 咁你空肚去同人傾, 當然除了用政府個名去大人之外都無其他方法啦.

[網頁基礎爬蟲] 用 Python 來做 Web Scraping,擷取 LocateFamily 內的資料

圖片
我們在學習或工作的時候,少不免要在網上收集資料。若果牽涉一些數據或統計相關的工作,通常需要收集大量資料,例如分析股票走勢時便要收集大量股價,把網上的數據輸入 Excel 或其他工具以作處理及分析。但很多時候,網上的數據為了較好的排版及視覺效果,呈現的格式對我們把數據輸入 Excel 的工作變得不方便,例如把大量數據分成數千頁顯示,若果要人手逐頁複製到 Excel,恐怕要花上一天時間。這些無聊重覆的工作大家都不想做,所以今天想分享如何用程式收集數據、自動生成一份 csv 檔。 數據收集的途徑 現時網絡上最好的方法大概是用 API,一般大型網站(例如 Twitter、Facebook、Google)都會提供 API 給公眾使用,提取結構化的資料。但並不是所有網站都有提供 API,目的可能是不希望公眾提取到公司大量資料、或者沒有相關技術人員負責。讀者可能還想到 RSS 或其他途徑,但這些方法都有一些限制,在此不以討論。如果這些途徑都不可行的時候,還有其他方法嗎?答案當然是有。接下來會示範如何提取 LocateFamily 的數據並自動生成一份 csv 檔。 Web Scraping Web Scraping,意思就是用程式技巧來抽取網站上的內容。它有很多的別名,Web Havesting、Web Data Extraction、Web Screen Scraping、Web Data Mining 等等,但就是好像沒有一個中文名字。基本上,任何程式語言都可以做 Web Scraping,由於 Python 是比較容易的程式語言,而且在 Web Scraping 及大數據方面有較齊全的開發工貝,所以今次會用 Python 做示範。(請自行搜尋 Python 安裝教學) Web Scraping 其實分開兩個工序。第一個工序就是把你需要的網頁下載,第二個工序就是在下載了的網頁中找出有用的資料。正常的網頁內容,其實都是根據 html 標準的,下載之後就是一串很長的 string,就跟你在瀏覽器裡面 view source 看到的一樣。把這一串很長的 string 變成能夠容易解讀、存取特定資料的過程,就叫做 html parsing。 Web Scraping 工序 工序一:下載網頁 我們首先看看第一個工序。要下載一個網頁,其實有很多工具,在 Pyt...

網絡應用程式開發人員必備 Cheat Sheet!

圖片
IT 有太多東西要學,所以會很容易忘記一些指令,在網上找到一些網絡應用程式開發的 Cheat Sheet,在此紀錄下來作參考

用 10 分鐘在 Cloud9 開發一個 Laravel 5 的 Blog

圖片
Cloud9 是一個雲端Web開發平台,它提供了一些開發環境給我們(例如安裝了PHP、Ruby、Python等),讓我們省卻配置伺服器及開發環境的時間,可以立即開發Web App。Cloud9 是免費的,每個開發環境有1個CPU、512MB RAM 及 2GB HDD,對小型 project 是夠用的,很適合用來學習各種 Web App 的開發。 Cloud9 IDE是一個免費的在線集成開發環境,支持四十多種程式語言,例如 PHP、Ruby、Python、Go、JavaScript(包括Node.js)等。它可以使開發者在一個事先安裝好的環境中快速進入開發、與其他人協作並且在Web開發中做到實時預覽和瀏覽器兼容性測試等。 - Wiki 我們會用一個熱門的 PHP 框架 - Laravel(版本:5.2),在 Cloud9 建立一個簡單的 Blog 網站應用程式,所以請先到 Cloud9 註冊戶口。 開完戶口就可以立即建立開發環境 選擇開發環境 等待 Cloud9 建立開發環境 建立完畢便進入了我們的開發環境 安裝 Laravel 5 接下來會安裝最熱門的 PHP Framework - Laravel 5 在 Terminal 輸入以下指令(可以一次過複製以下指令並在 Terminal 貼上) rm README.md php.ini hello-world.php sudo composer self-update composer create-project laravel/laravel ./laravel --prefer-dist shopt -s dotglob mv laravel/* ./ rm -rf laravel 因為 Laravel 會提供 public 資料夾 的檔案給 Client,所以我們要(透過一個文字編緝器nano)修改 Apache Config sudo nano /etc/apache2/sites-enabled/001-cloud9.conf 把 DocumentRoot /home/ubuntu/workspace 改為 DocumentRoot /home/ubuntu/workspace/public 改完請按 F2 儲存,然後 ...