2015年11月20日 星期五

尋找天賦與熱情課程心得

一直都有在follow的專案管理blogger Bryan今天到高雄開課

前陣子還在思考下一步時,看到這個消息立馬訂票

今天聽完心得: 這課程真的太棒太划算了

首先,每個人送三本好書 (光這樣已經把報名費賺回一半)

再來,3個小時的課程絕無冷場. Bryan講話的聲音和節奏掌握的非常好  對聽眾的問題總能舉例回答

課程分為二段: 
  • 前半段講述現今的教育和職業分工對個人追求天賦和熱情有怎樣的影響
  • 後半段提出如何找尋自己的天賦和熱情 

其中穿插發人省思的影片和名言, 透過Bryan的介紹,會讓人醒覺並且開始思考

會後的Q&A Bryan也一直強調不要立刻辭工作找自己,應該一步一步踩穩確認方向

聽完這場演講,讓我對目前的想法有些改變. 透過自由書寫讓自己冷靜並且找到有熱情的方向
                         


2015年10月18日 星期日

Sublime Text2 在Ubuntu下輸入中文

環境: Ubuntu 15.04使用gcin為中文輸入系統

在sublime text2下要輸入中文可藉由InputHelper

  1. 安裝package control: View -> Console下輸入
    import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

  2. 完成安裝後重開sublime text2, 使用ctrl + shift + p叫出package control並輸入install

  3. 輸入InputHelper, 安裝後需要再手動將它的權限設為可以執行,如下指令:

    chmod a+x ~/.config/sublime-text-2/Packages/InputHelper/lib/linux_text_input_gui.py

  4. 重新啟動sublime text, 按下 Ctrl + Shift + Z 會跳出輸入小視窗供你切換中文輸入法使用

Written with StackEdit.

2015年10月3日 星期六

Linux Bash prompt設定

編輯home 底下的.bashrc PS1變數可改變prompt

目前使用
PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$(git_branch)\$ "

Example

在開頭加了目前時間和顯示git branch 另外用顏色區分資料夾和目前位置

其它參考設定

線上預覽網站

Written with StackEdit.

2015年9月13日 星期日

[Rails 101] 建立notice_message中,close button無法關閉問題


今天練習rails 101 chapter 3建立notice_message中, 遇到close button無法關閉訊息問題

查了半天,原來是helper中notice_message設定close button屬性的 "data-dismiss" => "alert" 打成 "data_dismiss" => "alert"

僅僅是下底線和連接號的差別就能讓行為有很大的不同

從習慣的靜態語言C/C++學習動態語言最大的不適應該就是這個

程式要到執行時期才能看出語法上的問題

如果是稍具規模的專案,在上線前一定要做好單元測試,否則突然來個bug會是很大的困擾




2015年9月7日 星期一

挑戰百岳 雪山主東峰

和同學本來報名野訊的玉山團,沒想到抽了三個月還是沒中

於是改報名雪山主東峰,就這樣開始人生第一次百岳行

由於不確定之後會不會再登山,有些裝備跟朋友及好心人借來

感謝"一直背下去"這個活動讓我用到非常棒的Gregory Z55 (Gregory Z55介紹)


2015年8月30日 星期日

在Ubuntu 15.04下安裝Ruby時遇到的問題

記錄在Ubuntu 15.04下安裝rvm及Ruby遇到的問題

參考http://www.benkirane.ch/installing-ruby-on-rails-ubuntu/ 這篇教學

其中,在安裝rvm前得先輸入 curl -sSL https://rvm.io/mpapis.asc | gpg --import -

否則rvm會安裝失敗

再來透過rvm安裝Ruby時總會出現 Requirements installation failed with status: 100. 訊息

表示有些套件未安裝
  

輸入 rvm autolibs read-fail
         rvm install 2.2.2  (Ruby的版本)

接著會顯示缺少的套件,將其補齊後再安裝Ruby就可以了






未來的方向

到這間公司已經2年了,看著以前的日記拼湊出每個情況下的心境

當初選擇它的理由: 1. 可以回南部  2. CP值高 3. 產品週期長

現在發現
  1. 回南部後並沒有比較快樂,反而和熟悉的朋友疏遠
  2. CP值高的確是優點,但待久了覺得工作內容,公司文化和同事才是快樂的來源
  3. 如果公司在該產業沒有話語權(或競爭力)其實不是優點

現在問題來了,我想去的公司要符合: 1. 開放,鼓勵創新的文化  2. 能接觸多個領域 3. 小團隊

理由是:
  1. 在變動快速的時代,保守不願變動的公司會造成效率的低落和官僚氣氛
  2. 能接觸多個領域才能讓自己廣度增加
  3. 個人比較喜歡小團隊勝於在大團隊中當小螺絲釘

眼前我想到的選擇: 1.用目前的條件去找更好的工作  2. 砍掉重練去學新技能

1是比較穩定的選擇,但前提是找到的工作有前景而且沒有現在的缺點

2要忍受短期沒有收入或是找不到相關工作的風險

現在偏好選2,但我該如何確認它是我喜歡的呢?

透過每天的練習去了解自己,在決定前先觀察

這個人生的十字路口需要深思熟慮後再下決定!

2015年7月7日 星期二

Python 字串處理

這篇文章記錄Python字串處理的範例

  • 字串連接,可為一字串清單或字串元組的資料項連接成字串
  >>> country = ["China", "Taiwan", "Japan"]
  >>> " ".join(country)
  'China Taiwan Japan'
  •  尋找字串,這裡用index()此函數說明:  
   def is_image_extension(file_name):
    image_extension = [".jpg", ".bmp", ".ico", ".png"]
    try:
        i = file_name.index(".")       
        for extension in image_extension:           
            if file_name[i::] == extension:
                return True
            
        return False     
    except ValueError:
        return None
  • 將字串前後無用的前導和尾隨空白字符去掉 
    >>> s = "\t test code "
    >>> s.lstrip(), s.rstrip(), s.strip()
    ('test code ', '\t test code', 'test code')
    
  • 分割字串 
>>> person = "Tom Lin*1985-7-15*2036-6-3"
>>> fields = person.split("*")
>>> fields
['Tom Lin', '1985-7-15', '2036-6-3']
  • 字串格式化
>>> "The election of '{0}' will be held in '{1}'".format("Taiwan", "2016")
"The election of 'Taiwan' will be held in '2016'"

>>> "{0:20}".format(s)  # 最小寬度為25
'This is a sentence  '

>>> "{0:>20}".format(s)  # 靠右對齊,最小寬度為25
'  This is a sentence'

>>> "{0:*>20}".format(s)  # 以*填充,靠右對齊,最小寬度為25
'**This is a sentence'

  • 整數及浮點數格式化, 使用locale.setlocale()做設定. Note: 在Windows可先用locale.locale_alias查循支援的語系
>>> x, y = (1234567890, 1234.56)
>>> locale.setlocale(locale.LC_ALL, "english_united-states.437")
'English_United States.437'
>>> en = "{0:n} {1:n}".format(x,y)
>>> print(en)
1,234,567,890 1,234.56

>>> data = (10 ** 4) * math.e
>>> "[{0:12.2e}] [{0:12.2f}]".format(data)
'[    2.72e+04] [    27182.82]'
>>> "[{0:*>12.2e}] [{0:*>12.2f}]".format(data)
'[****2.72e+04] [****27182.82]'

  • decimal.Decimal格式化,使用逗號做為千位分隔
>>> "{:,.4f}".format(decimal.Decimal("123456.1234"))
'123,456.1234'

2015年3月15日 星期日

Raspberry Pi "Network is unreachable" 解決說明

前陣子拿到Raspberry Pi 2,開始拿它來學linux

安裝完raspbian,也設定好Putty的遠端連線,卻發現它無法clone我在github的code

Raspberry Pi 遠端連線設定

查了google,發現問題出在我default gateway IP沒設定好

只要輸入sudo route add default gw 192.168.1.1即可解決此問題.