時間管理,顧名思義就是有效利用時間,將時間的利益最大化。
分時多工,是電腦達到多工的方法,也就是將時間切成細塊,均勻分配給所有的程序(或是有優先順序),可以讓人以為電腦同時做很多事情。
我們如果將時間切塊,每塊的單位越小,空閒的時間就會越少,但準備工作的時間就越多(loading時間)。每塊的單位越大,空閒的時間就會越多,準備工作的時間就會越少。有很多人常常在說如何有效利用零碎時間,就是想填滿這些大單位時間中間的空隙。
但如果將時間分割的越細,是不是就能達到空閒時間越少,就能很自然的有效率的運用時間呢?這項技能訓練到極致就能像電腦一樣,同時做很多不同的事情了。簡單的說就是又分心(讓人以為同時做很多事)又專心(短時間內作一件事很專心)的極致。
但困難點在於,有些事情是需要醞釀的(長時間loading後才能開始),所以必須保持醞釀在頭腦裡(暫存檔不能清除)。
以人類來說,一天24小時是一個循環,過了一天後,第二天的同一時間做的事情,通常和第一天差不多。所以如果有件事情需要一天的時間,但是今天已經過一半,所以就認為這件事情以後才有空作。以上課來說,一堂課50分鐘是一個循環,過了一個下課之後,第二堂課做的事情,通常和第一堂課差不多。所以如果翹了半堂課,只上半堂課也沒什麼意思,乾脆就不去上課了。以事件來說,一個事件(時間未知)是一個循環,過了一個事件後,下一個相同的事件做的事情,通常和前一次發生差不多。所以如果空閒時間 < 事件所需時間,這件事情就不會被作。
例如寫程式,如果昨天沒寫完,今天接著寫,剛打開程式碼,卻發現昨天寫三小全部不記得,要花一些時間LOADING,卻發現如果想要看懂昨天寫的程式碼,會花光所有的現有時間,那你就會選擇今天不要看,改天再寫。
如果可以讓每件事情的單位變小,就能更有效率的使用時間。
如果一堂課只有10分鐘,如果看一本書只要10分鐘,如果去日本只要10分鐘...所以該如何做呢?把想做的事情列出成一張表,每天花10分鐘(時間切割單位,可自由代換)在每一件事情上,就能讓別人以為自己都有在作。超強的啦!也就是說,不要花時間在不是清單上的事情上,這樣就能有效利用時間了。
2007/12/18
2007/12/13
2007/12/12
2007/12/7
2007/12/5
點出學寫程式的障礙
為什麼寫程式很難?
我不知道為什麼很難,我從一開始學到現在,幾乎是沒有障礙地學寫程式。
當然,演算法和程式語言,在這裡我分開討論。
在這裡定義演算法是人想出來的解題步驟,而寫程式則是一個從自然語言到程式語言的翻譯過程。
所以,如果你不了解演算法所以寫不出程式,其實不能說你不會寫程式。
如果你了解演算法,卻寫不出程式,那就是你在寫程式時有問題。
問題在哪?最近跟朋友討論的結果,一般教科書或者工具書都不會教的部分:
1. 各種變數的使用時機
2. 如何善用迴圈(如何用迴圈產生你想要的數列)
我想除了上述兩點,應該還有其他的學習重點。
但應付學校程度的題目,上述兩點應該綽綽有餘了。
1. 各種變數的使用時機
變數有很多種:數值、字串、陣列、物件等,其中最基本的是數值變數。
數值變數可以用來存參數,或是狀態,也可以用來暫存資料。你可以先定義一些數字所代表的意義。
字串變數可以當作數值變數使用,也可以存文字。
陣列通常配合迴圈使用,存大量資料,或是加速運算。
物件屬於資料結構的部分,如果上述三種能掌握,這種應該也跑不掉了。
2. 如何善用迴圈
如果你能使用迴圈產生你想要的數列,你就已經了解迴圈的使用時機。
如何用迴圈產生等差數列、等比數列、費氏數列等,
一個常寫程式的人應該要能夠隨手用迴圈產生自己需要的數列,並加以使用,
而最常使用的數列就是等差數列:1,2,3,...,n,而且這種數列通常配合陣列使用。
不過數學底子要好一點就是了。
希望有高人能對上述兩點作更深入的說明,造福眾生
我不知道為什麼很難,我從一開始學到現在,幾乎是沒有障礙地學寫程式。
當然,演算法和程式語言,在這裡我分開討論。
在這裡定義演算法是人想出來的解題步驟,而寫程式則是一個從自然語言到程式語言的翻譯過程。
所以,如果你不了解演算法所以寫不出程式,其實不能說你不會寫程式。
如果你了解演算法,卻寫不出程式,那就是你在寫程式時有問題。
問題在哪?最近跟朋友討論的結果,一般教科書或者工具書都不會教的部分:
1. 各種變數的使用時機
2. 如何善用迴圈(如何用迴圈產生你想要的數列)
我想除了上述兩點,應該還有其他的學習重點。
但應付學校程度的題目,上述兩點應該綽綽有餘了。
1. 各種變數的使用時機
變數有很多種:數值、字串、陣列、物件等,其中最基本的是數值變數。
數值變數可以用來存參數,或是狀態,也可以用來暫存資料。你可以先定義一些數字所代表的意義。
字串變數可以當作數值變數使用,也可以存文字。
陣列通常配合迴圈使用,存大量資料,或是加速運算。
物件屬於資料結構的部分,如果上述三種能掌握,這種應該也跑不掉了。
2. 如何善用迴圈
如果你能使用迴圈產生你想要的數列,你就已經了解迴圈的使用時機。
如何用迴圈產生等差數列、等比數列、費氏數列等,
一個常寫程式的人應該要能夠隨手用迴圈產生自己需要的數列,並加以使用,
而最常使用的數列就是等差數列:1,2,3,...,n,而且這種數列通常配合陣列使用。
不過數學底子要好一點就是了。
希望有高人能對上述兩點作更深入的說明,造福眾生
訂閱:
文章 (Atom)