發表文章

目前顯示的是 7月, 2017的文章

Constructor 和 Static Initializer 的差別

圖片
前言 : 泰勞因為接觸Android才開始學習用Java寫程式,有很多基本觀念並沒有在一開始就建立起來,因此開發過程中總是曲折離奇,時常耗費過多的時間來處理語法或是愚蠢的錯誤。雖然說 「 做中學 」 並沒有不好,而 「 錯中學 」 對工程師而言本來就是該有的態度,但若是能有扎實的基本觀念來支撐,一定能讓專案開發的更順利更完美! 建構子(Constructor) : 在Java裡有個特殊的方法叫做建構子, Construct這個動詞本身就有建造 、建構的意思, 動詞後面加上er或or變成名詞,則有 「 人 」 的意思,例如:teach是 「 教 」 ,teacher是 「 教師 」 ;pitch是 「 投 」 ,pitcher是 「 投手 」 等等,對此有興趣的可以去翻閱 高如峯著作的 「 神奇的字元素 」 。 因此Constructor在這裡可解讀為建構某些東西的方法。 特性 : Constructors are special methods invoked when an object is created and are used to initialize them. A constructor name must be same as its class name. 建構子是當物件被建立(new)時,用於 初始化物件 屬性的方法。建構子的名稱必須和其類別名稱相同。 public class Program {     //建構子     Program(){         System.out.println("Constructor");     }     public static void main(String[] args) {         //建立Program物件,並取名為p1         Program p1 = new Program();     } } ...

紀錄輸出訊息至 Excel

圖片
由於客戶會不定期得要求我們提供資料 (俗稱ChangeNote) 讓他們檢視目前專案進行的情況,其中最重要的一部分就是這段時間修改了哪些程式碼 、修復了哪些Bug。 雖然這些資料只需透過Git相關指令即可取得,但顯示在終端機的樣子實在不是很好看,還是要整理成表格才能交給客戶觀賞,因此泰勞就寫了一個簡單的Python腳本來幫我完成這件事! 參考資料: https://github.com/python-excel/xlwt Get the output of system command as a string in python - StackOverflow 網路上找到了一個很好用的模組- xlwt ,可以用來將資料寫入Excel檔案。在使用它之前必須先透過以下指令來安裝。 $ pip install xlwt 可能有些人安裝時會遇到一些問題,如下圖所示。 通常看到Permission denied都會想到在指令前面加上sudo,確實是可以解決問題,但在我上網搜尋解答時,剛好看到一篇蠻重要的 討論 ,作者建議不要使用sudo,取而代之的是在指令後面加上--user參數,如下所示。 $ pip install xlwt --user 安裝好 xlwt 之後就開始來寫 Python 腳本吧!先來練習將一些簡單的資料寫進一個Excel檔案,如下所示。 #!/usr/bin/env python """ Program: This program will record log into Excel. History: 20170707 Kuanlin Chen """ #匯入模組(Module) import sys import xlwt #建立Workbook物件 book = xlwt.Workbook(encoding="utf-8") #使用Workbook裡的add_sheet函式來建立Worksheet sheet1 = book.add_sheet("Sheet1") def main(orig_args):     filename = "example.xls"     ...