最近讀了這一本書,雖然沒有讀得很仔細,有很多地方我有點取巧跳過,讀得很快。不過有些東西還是進到了我腦子裡,沒有寫下來一直記著,會讓腦容量短路,趁現在思路還算清楚,我要把這個寫下來。自以為自己曾經排列在”優秀的綿羊”隊伍裡頭,可惜很早就掉隊了。

這書分成三個部份,一是個人、一是大學、一是這個社會。不過有些章節宏願過大,個人之力微小,也無法改變,要去撼動這個社會也有點難。所以關於後面的章節,我都用很快的速度略過。

我是看英文版本的,中文有譯本就叫優秀的綿羊。書中有許多老掉牙的議題,不過對於還沒上大學/正在讀大學的學子們,或許還可以一讀,但像我們這種大學已經讀完好多年,而且還從隊伍中掉隊的體弱綿羊們,可以當做悠閒的閱讀書目。

作者在書中一直強調大學的重要,還有人文科目的重要。大學是一個人培養獨立思考能力的地方。

You develop “a” philosophy, and then you carry it around in a box for the rest of your life, removing and applying it as needed.

作者也把美國的名校由來說了一下,但近代的名校變成有錢人子女們交流的地方。(沒錢就是沒好的學位、沒有好的將來,這是社會的問題)。不過如果你有幸讀大學,作者提出的觀點是,大家都是要去華爾街賺錢、大家都要來當醫生、當律師、搞金融業。錢沒什麼都不好,但讀大學=>賺大錢,那其實好像有點浪費。

E. M. Forster has a character remark, are incapable of saying ‘I’. They cannot even say ‘I’ want, because ‘I’ want must lead to the question “Who am I?” So they only say want, without the I: “want money,” “want mansion,” “want Harvard.”

Becoming a lawyer isn’t a purpose. Becoming a lawyer to defend the rights of workers, or to prosecute criminals, is. Purpose means doing something, not “being” something.

作者也提到,大家都迷失自己了,都在追求卓越的這一場遊戲之中,連”自己”這兩個字也不敢說了。只要別人有的,我也一定要有。

所以,個人層面上,可以怎麼做?作者說要”發明自己的人生”,不要人家說什麼就做什麼。也不要天真的相信那麼在畢業典禮季一直會有說告訴你,要追求你的夢想,這是害人的話啊。追求夢想要吃多少苦頭,這些人都沒有告訴你。

I cannot emphasize enough that inventing your life does not come without potential costs. People say “find your passion,” but they don’t say “be prepared to suffer” (if only by surrendering the status that you might have had). They say “follow your dreams,” but they don’t say “the hell with credentials.”

Putting a sticker on your MacBook that says “I’m an individual” (in whatever paraphrase) does not make you an individual.

好吧,那不知道做什麼,先買台macbook,再貼幾張貼紙,跟著大家學程式的熱潮一起學code,這樣不的讓你變成有特色的你,也不是真的你。別傻了,孩子。

Stumbles, sacrifices, inner struggle, false starts and wrong turns, conflict with parents and peers—these are some of the signs of the genuine article. The way you know it’s real is if it hurts.

這也不算是什麼讀書心得。但作者這樣當頭棒喝的話,個人覺得值得一看。看完會比較清醒一點。對於掉隊之後的綿羊,也算是某種程度的激勵,有幸可以加入脫隊一族,要感到開心才是。

阿德勒小故事

  • 1902年,在報紙上看到佛洛伊德«夢的解析»的批判文,幫佛洛伊德辯護
  • 早期佛洛伊德的四個小伙伴之一
  • 1911成立個體心理學

    貢獻

    1. 社會與醫學
  • 裁縫業健康報告書
  • 醫師之為教育家
    1. 劣勢體質理論
    2. 神經症理論
    3. 個體心理學
  • 社群意識
    1. 心理治療與教育
  • 沒有仔細描述自己的心理治療技巧

核心思想

在«what life could mean to you»裡頭,阿德勒就提到了人生三大任務,也可以視為他的核心想法。

  1. 我們都活在地球上
  2. 沒有誰是人類中唯一的存在
  3. 人類是兩性構成

他也提到三大約束:職業、社會、兩性

兒童心理

在阿德勒比較後期的作品裡,大量地會加入他對於兒童教育的想法,他後期的人生,也積極走入學校,來提倡學童教育的重要,在他的想法裡,兒童的經驗,當時所經歷過的事情,我們會給予解讀,而我們會帶著這樣的見解(或對或錯),所以要解決問題,要不就是從兒童期就建立正確的意義,或是長大後,透過重新省視,我們可以重新賦予意義。

所以提到阿德勒,除了時下很流行的勇氣之外,更重要的是會放在幼兒時期的經驗。但阿德勒比較不同的是,沒有特別強調父母的重要,(父母還是很重要),手足,學校的老師對於成長都很重要。

在學阿德勒之前,我一直覺得家庭遠遠大於學校,家庭如果有問題,學校可以給予的幫助也不大對吧? 我們都有這樣的錯覺。但阿德勒說出了學校另外一個功能,我們教育的重點是勇氣, 學校的老師也可以有機會, 給予小孩正確面對社會的態度。

生理缺陷、溺愛和忽視 決定人生的不是經驗,而是我們自身賦予經驗的意義。如果我們把某些特定的經歷當作未來人生的基礎,那麼或多或少就已經開始誤入歧途

這三個在阿德勒看來,在成長的過程之中,會容易讓小孩對於環境會有錯誤的解讀。但只要透過幫助,是可以改善的。我們的怎麼看生命、怎麼和社會互動的,還有在職業、在追求愛情的過程等等,都是從我們的早期生命經驗,慢慢地來形成我們如何看待世界。

早期記憶

早期記憶更有其特殊的意義。首先,它們以最本源的狀態和最簡單的表達展現了一個人的生活方式。 一是兒童展開他們故事的方式,二是他們能夠想起的最早的事件。

孩子的世界 現實世界
全好全壞 有好有壞
拯救世界的英雄 平凡人生
全有全無 並非二分法

我們可以透過人對於童年時的英雄,可以一窺每個人對於世界的看法還有對自己的期許。另外一個是,透過回 憶著早期的生命經驗,可以看到一個人的生活方式。 並不是他覺得人不會長大,也不是小時候發生的事情就最重要,長大的經驗都不會改變人的性格。但阿德勒認為,基本行為模式、基本性格都是兒童期所延續下來的。

從阿德勒的童年,他自身有許多手足。手足對於個體的影響,阿德勒也花很多篇章在陳述。家中排行的順位、手足是否平等,之間的互動。都會影響著每個人。舉例來說,如果不平等,那個體就無法發展出好的社會情感。如果小孩們在新的弟妹出生之前,可以相信自己的地位不會因此而動搖、那麼他就可以渡過危機,不會有負面影響。

自卑

在阿德勒的想法裡,人一出生都是自卑的,他是這樣定義的,無論是健康還是不健康的小孩,在大人之前,他們自己知道自己是脆弱的,也意識到自己的渺小。阿德勒的論點是,我們就是帶著這樣的自卑情緒開始長大的。在他的想法裡,自卑不是不好,自卑是每一個人的起點。他的論述裡,所有的兒童都有天生的自卑感,而他的所做所為,就是要去抵消自己內心世界的自卑感。

自卑不是不好的東西,因為我們天生都帶著這樣的情緒。我們一直想要做的就是要超越它。 自卑情結才是不好的,阿德勒是這樣說的:

當有問題出現時,如果個體無法恰當地適應或應對,並且堅信他們一定沒有辦法解決,這就是自卑情結的表現。

只有在一個人陷入了他覺得自己什麼都做不到了,才會有這樣的情結,因此大人可以做的,就是教導小孩們,如何擺脫自卑,追求卓越。

依阿德勒的看法,小孩在成長的過程中,如果出現行為偏差(也是因為他想要擺脫自卑),因為他在課業/交友或是其他地方無法得到卓越,才從其他的地方開始發展自己的卓越。他認為無論是誰,從小的時候,都是渴望卓越的。

而卓越不是掌聲,也不是因為外在的環境所給予的稱讚。在這裡,阿德勒稱之為勇氣。我們要給孩子的,不是無止盡的掌聲和稱讚,因為外面的世界,不會對小孩如此和善;因此,能給予的是勇氣,給他勇氣去對抗,給他勇氣,讓他自己去追尋卓越。

訓練孩子野心沒有什麼幫助。而培養孩子勇敢、堅忍和充滿自信才是最重要的。

如何預防自卑情節

自卑是每個人天生下來的情緒所在,但自卑情節不是。有這樣的情節在,我們就無法去追求卓越,就會讓自己陷落在某種困頓裡。我們都不想要失敗、不想要被嘲笑;如果有自卑的情節在, 我們就會放棄去嘗試、放棄去和他人產生聯結的能力。

阿德勒認為人是社會性的動物。我們都會想要和其他人有聯結、但如果我們失去了勇氣怎麼辦?聯結怎麼而來?失去勇氣的人、有自卑情節的人,就不想和社會有聯結。這不是我們想要的。在阿德勒的觀點裡是這樣的:我們不要用嚴厲、不要用嘲笑,這樣的情緒會讓孩子失去勇氣;相反地,我們要用鼓勵,讓他們相信自己有足夠的力量可以自立。如果孩子偏差了,又打又罵又責備,孩子只會加重”自卑情節”。

如此一來,就會失去信心、開始在現實退縮。一個地方沒有得到優越,就會想要從別得地方得到;於是就是有偏差的行為產生。因為在他們的想法裡,這是他們超越自卑的唯一解。

所以,要怎麼做?

阿德勒在書中是這樣寫的:

不主張用過份嚴厲或是過份溫和的方式來教育孩子。我們需要做的是,盡可能去理解孩子,讓他們能避免犯錯誤,不斷地激勵他們能勇敢面對問題,並將問題解決,這也有助於孩子發展自己的社會情感。懲罰會讓他們覺得反抗有理,是抵抗的好籍口。

如果用罵的,會讓孩子有所傷害,因而沒有勇氣。 如果太溺愛,或是和父母某一方太好,則會讓孩子太過依賴,因而失去獨自面對的勇氣。

追求卓越

阿德勒認為,追求卓越感是每個小孩都會的本能,而父母和老師要做的就是讓這樣的追求是在對的方向就可以了。不是打罵,而是讓他們有勇氣去面對外在社會的挑戰,而在這樣的過程裡頭,不要因而放棄,或是追求錯誤的”卓越感”。

阿德勒的認為,人的所做所為都和過去有關係。生命中發生的事情都和整個生命背景有所聯繫。但阿德勒不認為,小時候做得不好,長大就無法調整;但這本關於孩子教育的書,著墨較少。

社會情感

前頭有提到,人是社會的動物;而超越自卑,追求卓越的主因,也是要回應人是社會的動物。回到頭來,好像問題都是來自於和他人互動上;所謂的卓越,不是要讓孩子高高在上;而是要讓孩子可以在脫離嬰幼孩、脫離成人的保護後,可以自己成功地和他人相處、交流。

  • 新環境,我們要訓練孩子可以適應新環境。
  • 大人的不重視,會讓孩子失去信心
  • 是一種測試

阿德勒在書中也提到他對於犯罪者的一些想法。他個人認為,是因為兒童期學到錯誤和他人合作的方式,才會讓他們誤入歧途。他們和一般人一樣,也想要追求卓越,但他們對於卓越的見解是私人/個體感受,而非合作/對他人貢獻。在他的看法裡,生命中所有的問題,都是社會問題。而社會的問題來自於合作,只有成功的合作才可以在社會上活得更好。

他說和母親是第一個合作的嘗試,而第二次的挑戰是有其他小孩的出生,個體會覺得地位不保,所以拒絕合作。 我們要做的就是引導他們走向合作。如果工作上遇到了挫折,在阿德勒的想法裡,也是因為社會情感/合作,出了問題,所以解決了社會情感/合作,也就解決了社會問題。

因為孩童想要超越他的父母/手足,他們這樣想超越的想去(無論成功或失敗)都會影響到他們選擇職業。

每個人都是不同的

因個性不同而用不同的方式給予指導。對優越感的渴望,會隨外在環境而有所改變,要適時給予調整。 孩子會有很多不切實際的想法。把自己當成是英雄、雖然是幻想,要正確引導孩子,讓想像可以和現實世界接合

阿德勒說夢

在二十世紀初的三大巨頭裡頭,都對夢有解釋,也非常看重夢。但不同於佛洛伊德的潛意識或是榮格的原型,對阿德勒來說都太高深莫測。他覺得夢僅僅就是反映了一個人的性格。從夢中就可以看出一個人對於生活的態度。

如果僅僅將夢看作是瞭解、分析心理活動的手段,那麼我們將和那些認為夢反映了未知的神秘世界或具有超能的人一樣,看不到問題的本質。

從這句話之中可以看出阿德勒對精神分析的想法不同於當時的主流。他的想法比較像是”日有所思、夜有所夢”。他覺得因為你對這個事感到興趣/煩惱,所以一直想著它,晚上才會做夢。但他也同意這些夢有時是象徵或是隱喻的方式來陳述。他也認為可以從夢之中,讀出被強化的情感、讀出做夢者的問題如何形成。夢中的社會感、權力會被強化,也可以看出做夢者和現實世界的關係。

阿德勒和佛洛伊德的比較表

佛洛伊德 阿德勒
猶太人 也是
維也納人 也是
多14歲 比較年輕
沒有參加戰爭 44歲時,一戰的軍醫官
  體弱多病
英俊瀟灑 不特別英俊
住在高級住宅區,有數個僕人 中產階級公寓,有一僕人
大學的頭銜 被拒絕賦予
學術演講,有同好 多是對學校老師上課,非正式的咖啡館會議
德文散文高手、作家 普通、散漫的形式發表作品
深奧心理學 推廣理性、常識性、立即可用上

參考書目

  1. 發現無意識: 動力精神醫學的歷史與演進 遠流 2002
  2. Understanding Human Natrue
  3. What Life Could Mean to you
  4. The education of children

前一陣子看了好幾篇vue.js的介紹文,本來是想學react的,不過react之前看了好幾個tutorial,可能愚鈍的我當時沒有弄得很懂,而vue的tutorial看起來親民很多,一邊想要把vuejs裝到rails上,一邊也學習著如何在rails上使用ajax和json來和前端搭配。

本篇文章快速用vue.js 在rails 上用呈現to do list。

vue.js

官網, 有很不錯的tutorial。不過後來我找的tutorial是在github上的awesome-vue看到的。

rails

vuejs-rails的gem。

安裝流程

  1. gem 'vuejs-rails'

  2. 在application.js裡頭加入
     //= require vue
     //= require vue-resource
    
  3. 把turbolinks相關的地方都關起來
    • remove gem "turbolinks" in Gemfile
    • remove //=require turbolinks in application.js
    • remove ‘data-turbolinks-track’ in layout/applicaiton.html.erb
  4. app/view/layout/applicaiton.html.erb裡,把這一行 <%= javascript_include_tag 'application' %> , 移到</body>前面,把javascript_include_tag裡頭的turbolinks選項都刪除。

這樣就可以準備上路了!

TODO list

  1. 先新建一個to do list 的app
     rails new todolist
     cd todolist
     rails g scaffold Todolist item:string
     rake db:migrate
    
  2. 在 app/controllers/todolists_controller 裡
    def index
      @todolists = Todolist.all
      respond_to do |format| 
        format.html
        format.json { render :json => @todolists }
      end
    end
    

    3.在view/todolists/index.html.erb裡

    
    <div class="container">
      <my-tasks></my-tasks>
    </div>
    
    
    <template id="my-template">
    <h1>My tasks</h1>
    
    <table>
      <thead>
        <tr>
    
          <th>Item</th>
        </tr>
      </thead>
    
      <tbody>
          <tr v-for="task in list">
            <td></td>
          </tr>
      </tbody>
    </table>
    </template>
    
    <br>
    <%= link_to 'New Todolist', new_todolist_path %>
    

    在這裡使用v-for, 還有template,等等要用

  3. 在app/asset/javascripts/todolists.js裡
     Vue.component('my-tasks',{
       template:'#my-template',
       data: function() {
         return {
           list: []
         };
       },
          
       created: function() {
         this.fetchTaskList();
       },
    
       methods: {
         fetchTaskList: function() {
           var resource = this.$resource('/todolists.json/{ id }');
           resource.get().then(function(response){
             this.list = response.data;
           });
         }
       } 
     });
         
     new Vue({
       el: 'div'
     });
    

    如果不要用creating resources,可以精簡成http get: ``` javascript

fetchTaskList = function() { this.$http(‘/todolists.json’).then(function (response) { this.list = response.data; } } ```

這裡使用的是vue的componet,vue有個很好用的vue-resource, 可以讓你 不用使用jquery來讀取ajax的request。把json的檔案讀取後,直接傳給component, 就可以顯示出來to do list了!

emac 教學

2016/11更新: 後來因為接觸到spacemacs後,現在主力都使用spacemacs。從vim轉過來之後,非常好用。 不過會有一些小變動,記綠在此。

在英文環境下使用中文輸入

如果全環境為英文的話,想要在emacs中輸入中文會有一些問題,因此把配製的方式,寫下來:

locale -a 

cd /usr/share/locales 
sudo su
./install-language-pack zh_TW 

vim /etc/environment
LC_CTYPE="zh_TW.UFT-8"

這樣就可以在emacs的環境下輸入中文了。

spacemacs的字體

spacemacs內建的字體是adobe 的source code pro,我覺得這個字體還不錯看。所以也把安裝方式記下來。


[ -d /usr/share/fonts/opentype ] || sudo mkdir /usr/share/fonts/opentype
sudo git clone https://github.com/adobe-fonts/source-code-pro.git /usr/share/fonts/opentype/scp
sudo fc-cache -f -v

 fc-list  | grep "Source Code Pro"
 

這樣就完成啦!

org mode

multi-term

from vim to emacs

evil mode

-aaronbieber

video

linux電源管理神器tlp

筆電因為很少帶來帶去,對於電池的電量不是很在乎。也不太會用到太多的電量。不過因為最近開始有需要筆電帶來帶去的需要,
開始有電池管理的需求。

但是linux對筆電的電源管理不太好使的緣故。 本身是使用linux mint, 不過因為linux mint沒有內建好的電源管理,最近因為換ssd有重灌的需求,用了幾天的發現電池使用上居然有多了50%!讓人很驚豔,寫起來日後
要使用的話比較沒有問題。

tlp的官方網站,title是linux advanced power managememt,安裝完後,基本上我是懶人,也都沒有做太多的設定,可以在電池上有很好的提升。

installation裡,在ubuntu 15.10都有 內建在官方的套件庫。在以下要自己添加:

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

之後就可以安裝了:

sudo apt-get install tlp tlp-rdw

如果是thinkpad的話,要再多安裝:

 sudo apt-get install tp-smapi-dkms acpi-call-dkms 

安裝完之後,輸入: sudo tlp start

要查詢是否有啟動或是相關的資訊,可以用這個查詢:

sudo tlp stat

寫起來當筆記用,日後安裝時都要加裝tlp

快捷鍵設定

在Ubuntu下,台製筆電的快捷鍵好像在fn配合亮度的地方,常常會失效。目前使用幾台台廠筆電,都還要另外設定(至少asus系列的是,之前有文章說acer的也要重設)

但很簡單,用自己喜歡的編輯器(這裡用vim):

sudo vim /etc/default/grub

找到這一行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改成: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="

儲存離開後,下指令:

sudo update-grub

Nvidia的顯示卡設定

sudo apt-get purge nvidia*
sudo apt-get purge bumblebee* primus
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-361 nvidia-prime
sudo add-apt-repository -r ppa:bumblebee/stable

其中nvidia-361是可以在 官方driver 找到新版的,寫這篇文章時,是361。

gcin設定

因為使用嘸蝦米的關係,長期以下,一直覺得在ubuntu/linux mint下, gcin是最佳解。 相關的安裝在這裡

owncloud的設定

我有自架owncloud,應該算是個人版的dropbox ,安裝的套件在

這是我這一周閱讀的書,“so good they can’t ignore you”。之前在fb上看到有人推薦。就去找來看。

本來以為是個普通的心靈雞湯,鼓勵追求夢想的書,偶爾用來充電一下自己的心智。但這本書,用了四個法則,再加上 不少的小故事來進行整本書的內容。看了就停不下去,一直到整本書看完了。總閱讀時間約6個小時,雖然是原文書,但 相對不會使用太過艱澀的英語。很容易理解。大師輕鬆讀466期, 有簡單的中文導讀,可以看;作者的部落格

作者

這本書不會教你怎麼去follow your dream/your passion,這一類的老話,反而是叫你不要辭職去追求夢想之類的。 所有的成就/興趣,都是積累而來的。沒有什麼可以立竿見影的高效成為一流的人才。也沒有只要找到你真心所愛,你就可以過著幸福快樂的日子。

找到你的熱情所在–>過著幸福快樂的日子。

這樣的一個簡單公式,似乎太簡單了,但大多數的人都有這樣的幻想。我也的確有想過,我過得不開心,是因為我正做著我不開心的事情。所以一直 想著轉職/轉換人生重要的跑道。我也的確做了一些小嘗試,但都無功而返。陷入了某種懷疑(是我太廢了,連自己喜歡什麼都不知道…),原來,不 是只有有不知道什麼,而是絕大多數的人都不知道他們到底喜歡什麼。

那怎麼辦?

其實我們喜歡什麼,有很多來自父母/師長/環境/電視的影響,每個人的選擇都有限。如果父母是音樂家,有很大一部分你之後的人生路線會和這有相關,或 是你的熱情所在也在同一個範疇之下。

Rule no.1 don’t follow your passion

這裡舉了steve jobs 為例,他的2005年演講十分有名,絕大多數人也都看過。他在演講中說要follow your passion。書中不認同這樣的觀點, 書裡認為,要追求熱情當然可以,但是要有些前提。
steve jobs,在大學時,最有熱情的是禪學,如果照著他做,他怎麼自己沒有成為禪學大師? 反而成為科技業呢?這裡寫到,要follow your passion 當然沒有問題,但是,這些人,要麼是少數的確在十分年輕時,就有天份的天才;不然就是在某 個領域,已經有成就的人,成就–>熱情;熱情–>成就。已經形成很好的正迴饋,但是,還沒有正迴饋的人,要怎麼辦呢?

Rule no.2 Be so good they can’t ignore you

這裡提到了”一萬個小時”理論,大概也就是十年左右。如果您還年輕,還沒開始就業,那就找個領域,好好地練,練個十年,你就會成為這領域的頂尖者; 如果你已經就業,只要您的就業環境還行,書本也建議你,好好堅持下去,把某個技能點點滿,花時間在”deliberate practice”。書中舉例,圍棋高手 和吉他高手和一般的差別就在於”刻意練習” 。

只有透過刻意練習,你才可以取得你的”career capital”(暫譯:工作資本),有了這個,你才有機會取得自主的工作。

Studio musicians have this adage: ‘The tape doesn’t lie

只有更多的career capital,才有可能有熱情的產生;熱情是因為你從這工作得到掌聲,得到高度自主的回報。想得到掌聲,先問問自己,現在的你, 可以提供這世界什麼?

regardless of how you feel about your job right now, adopting the craftsman mindset will be the foundation on which you’ll build a compelling career.
Acquiring capital can take time

“難道我只能專心做好一個工作?”

A good career mission is similar to a scientific breakthrough—it’s an innovation waiting to be discovered in the adjacent possible of your field.

First you need career capital, which requires patience. Second, you need to be ceaselessly scanning your always-changing view of the adjacent possible in your field

這裡不是指你只能做好現在的工作,而是用你的時間/腦/手,去尋找各種可能,無論是跨界,取得1,2,3,4,5…的技能,書中舉科學發現為例,
例如氧氣/電的發現,都是好幾個獨立的科學家,在類似的時間發現的。為什麼?因為要達到某種突破,需要好幾個面向的配合,只有時間到了,好幾個科技到了新的境界,才有可能有下一次的突破。

人生也是,在你目前的技能點值點滿之前,還要去點開一些相關的技能,然後去追尋這些技能的搭配組合,能不能有新的火花?

Don’t obsess over discovering your true calling. Instead, master rare and valuable skills.

不要再花時間去找true calling,沒有什麼在呼喚著你,只有你自己把自己的英雄技能值點開點滿,早早上路。路上會有不同的際遇,把握住好的, 有機會的話,再點開其他的技能樹,加以充實。才是正確的英雄之旅

Rule No.3 turn down promotion

這個章節主要是告訴你,當你在技能樹點開點滿點好的時候,開始會有一些選擇,你要怎麼選才能可以過著自足美好的人生? 可以掌握好自己的時間,又可以賺錢,又可以過著有意義的人生。(太完美了)

如果你的技能值還沒有頂天,請回去繼續把技能點滿。如果你的技能已經滿了,卻又對人生充滿困惑,請讀本章。 (因我還沒有點滿技能值,此處寫的,我無法體會,感觸不多) 簡單來說,就是如何使用滿點的career capital向雇主,或是自行創業,或是成為freelancer,來換取更多生活的可能。

Rule No.4 Think small, act big

我對這個章節的解讀是,你的工作上,一定有些side project,不妨多試試小的side project, 說不定可以走出不一樣的路,點開不一樣的技能值, 可以和現有的一同併行。

書本的conclusion,其實是好大一個章節,作者用自己自身的經驗,再複習這四個原則怎麼使用;書末還有每個章節裡小故事的主角們,他們後來的發展。 最後,書本還有把書中用到各種辭語做個整理。從頭讀下來,除了小故事好看之外;作者也一再強調一個觀點:沒有與生俱來的熱情這種事,只有你一開始吃苦, 做出成績之後,才會有熱情而來。

這是長達八小時的教學影片。或許因為自己能力不足,八小時完全是看了又停(查資料),剛著影片打code,而且還不太清楚自己打了什麼。又一邊查文章、找資料,也算是把這八個小時的教學影片給看完了。完成了新春計畫的第二部分。

這影片是去年十一月底和學長說要一起努力學習完成的。想想開始認真學rails也過了半年了,不敢說自己可以做什麼或是完成什麼,但也跟著著rails tutorial, tealeaf academy(現已改名launch school), rails101等等教學 照著打了好幾次的code, 也正努力把russ olsen的”eloquent ruby”看完了2/3。tealeaf有一系列的”no magic rails”的影片,當時看了半小時就放棄了,因為完全看不懂。

我不知道什麼是正確的學習方法?也不曉得去了解這一些背後運作的原理能否之後可以打code跟飛起來一樣。不過剛好昨天有人傳了篇文章給我- 張五常“思考的方法”, 台灣有出「賣桔者言」,收錄在其中,是篇老文章。學習這些大抵就是訓練自己思考的方式。至少看完owning rails之後,雖然只過了一兩天,背後整個rails的架構、甚至更深層的東西,不知道要多久之後才會懂,但基礎的設計邏輯、想法等等,比較清楚,也知道自己哪裡不足,之後學習的路上還要再加強。

不知道其他學習者有沒有這樣的問題?雖然知道MVC(model, view, controller)的架構,但一直百思不得其解為什麼會這麼神奇?很多語法雖然書本、講師都說是來自於ruby,回頭學完了基礎的ruby語法,還是不曉得rails的語法為什麼可以這樣用?可能是我愛鑽牛角尖。無法回答這樣的問題,每次跟著打完一次code,就又無法理解時,很挫折。但看完owning rails,又感覺可以繼續往下走了。知道這三者之間是如何互動的,也知道為何要這麼做了。 教學影片大抵都會先從routing看始,接著是controller, 設定一下activerecord/activemodel, 再來是把view設定好。但是為什麼要這樣做呢? owning rails 講得很清楚。

雖然很多評論都說要中階以上的使用者在學習,但我反而覺得大抵知道rails再幹麼,學完ruby後,就可以先看一次了。 不過真的會很挫折就是了。以下是我個人的一些想法,如果可以先知道,或許學習上更會舒服些。

先知道http是在幹麼的,以下是他在day2所提到的影片,先知道的話,會省去不少時間,我也是看完這影片才對http 又有更多的了解。

再來是一些ruby 的基本知識。day 1 的第一天會快速的復習,會講到不少metaprogramming的東西,但不會太深奧,可以把codeschool 的ruby bits part 2, 就可以理解。還有block, lambda, proc的差異, 雖然影片也會提到,但是可以再用熟一點再開始看會更好。另外,instance_eval, class_eval如果可以清楚,會更好

再來第三個易卡關的是rack, rack middleware,我覺得這個部分railscast講解的不錯:#319

第二大就多在教你如何讀rails source code,並使用第一天的知識。

最後是作者給的一些建議:

fail to browse code

  1. start reading
  2. get overwhelming
  3. curse
  4. claim you could do better
  5. back to step 1 or give up
  6. repeat 1 to 5

right way to browse code

  1. take a deep breath
  2. start with assumption
  3. follow the flow(don’t read top to bottom)
    • try to use search function(shortcut) in editor. 主題式閱讀法(find method definition)
  4. don’t try to understand everything

或許,後續還要再多看個幾次影帶。不過至少,在新春,是個很好的開始。 看完之後,在reddict 上看到有人討論這一本書rebuilding rails, 看了覺得還不錯,可以再對owning rails中沒提到,或是初心者不熟的地方,有個文字方面的補強。

以上,希望可以給新年好的開始!

  • tips:作者有個rebuilding web server, signup 完成後,會有一個1hr的教學影片,還有discount coupon可以折50USD喔!