2015/1/2

呂世浩 coursera 史記課 小筆記

呂世浩 coursera 史記課

季札:「始吾心以許之,豈以死倍吾心哉!」

人言為信,說出來的話就要做得到,不是信的最高境界。信不一定要說出口才遵守,說出口才遵守,沒說出口就不遵守,那層次不太高。

信的最高境界,不是對別人守信,是對自己守信。

當自己立下了一個心願,我就無論如何要完成這個心願。

因為我心中已經對你許下了誓言,即使我嘴巴沒有說,即使你也不知道,可是我無論如何都要完成這個誓言,完成這個誓言的目的,是為了對得起自己的心。

太神啦~~層次差太多啦~~

哥每年許下的心願都沒完成啦~~


2014/12/22

找工作該如何選擇?

以前我認為找工作最重要的是薪水高不高,上班時間有沒有被壓榨。

現在我認為選擇工作,是在選擇自己的人生方向,應該選擇有前景的領域,因為機會是留給準備好的人。


關聯在哪?


如果你的工作不能讓你學習有前景的領域知識,那麼你就不可能成為【準備好的人】。

那接下來所有的好機會都輪不到你...

所以選擇工作很重要。

2014/12/11

【問題】 MVC的網站架構中 Model 的最佳實作

我認知中的MVC,是在看完 Stanford University 的 Developing iOS 7 Apps 這堂課之後才完整建立的。
http://youtu.be/ZqKbN_C4Yvg?t=14m20s
從14分到30分講MVC架構。


假設我有三個畫面,要顯示同一個 Table 的內容
第一個畫面需要 Table join A1 才能拿到足夠多的資訊
第二個畫面需要 Table join A2
第三個畫面需要 join A1 跟 A2

如果我要用一個 Model 層把 view 跟 DB 隔開,那我該提供哪些函數?

方法1:
只寫一個取出所有欄位的函數
Model.GetData   (WithA1 And A2)
缺點是會取到多餘的欄位

方法2:
為了解決方法1的問題,分別寫3個不同的SQL
Model.GetData
Model.GetA1
Model.GetA2
好處是我不會取到多餘的欄位
缺點是DB request 的次數會變多

方法3:
為了解決方法2的問題,分別寫3個不同的SQL
Model.GetDataWithA1
Model.GetDataWithA2
Model.GetDataWithA1AndA2
好處是我不會取到多餘的欄位,每次要取資料的時候只會產生1次DB request
缺點是,每當View 需要不同的欄位數的時候,我就要多作一個函數,會造成函數數量爆炸和管理困難,其實這樣寫的結果就等於是在View層上面寫SQL


問題是,一般情況下遇到這個問題會用什麼方法來解?為什麼選擇這個方法?

我問了幾個人答案都是採用方法1,是不是我想太多了?

2014/12/4

Swift 泛型繼承



class A{}

class A2:A{}

class B<T:A>{}

class B2<T:A2>:B<T>{}


Class A2 繼承 Class A
Class B 有一個泛型T,T繼承 Class A
Class B2 繼承 Class B、B2 有一個泛型T, T 繼承 Class A2

冒號前面的泛型是宣告泛型變數,冒號後面的是使用泛型變數
舉例來說 class B2<T:A2> 講的是 宣告一個泛型T 繼承 A2
:B<T> 這裡的 T 講的是使用剛剛宣告的 T

2014/10/16

Google在 SSL 3.0 中發現設計缺陷

今天 Facebook 登入的那段C#程式掛了,錯誤訊息是「要求已經中止: 無法建立 SSL/TLS 的安全通道。」

在網路上搜尋這個問題,所有的解都是說只要加入下列程式就能解決:

System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

但我的程式裡早有這行,所以不是這個問題。

繼續找的結果是,因為我寫了一行程式:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;

把這行改成

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;

或是直接把那行註解掉即可

為什麼這樣改就會好?

我查了一下發現是因為SSL3有缺陷,已經要被各大網站棄用啦!

以下節錄:
「2014年10月,Google發布在SSL 3.0中發現設計缺陷,建議禁用此一協議。Google在自己公司相關產品中陸續禁止回溯相容,強制使用TLS協議。計劃於11月25日發布的Firefox 34中,Mozilla 將徹底禁掉 SSL 3.0。」