<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    失樂園

    技術(shù)之路

    BlogJava 聯(lián)系 聚合 管理
      19 Posts :: 44 Stories :: 40 Comments :: 0 Trackbacks

    2011年11月14日 #

    linux下添加,刪除,修改,查看用戶和用戶組

    1,創(chuàng)建組

    groupadd test

    增加一個test

    2,修改組

    groupmod -n test2 test

    test組的名子改成test2

    3,刪除組

    groupdel test2

    刪除 test2

    4,查看組

    a),查看當前登錄用戶所在的組 groups,查看apacheuser所在組groups apac

     一,組操作

    1,創(chuàng)建組

     

    groupadd test

     

    增加一個test

     

    2,修改組

     

    groupmod -n test2  test

     

    test組的名子改成test2

     

    3,刪除組

     

    groupdel test2

     

    刪除 test2

     

    4,查看組

     

    a),查看當前登錄用戶所在的組 groups,查看apacheuser所在組groups apacheuser

     

    b),查看所有組 cat /etc/group

     

    c),有的linux系統(tǒng)沒有/etc/group文件的,這個時候看下面的這個方法

     

    cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’

     

    這里用到一個命令是getent,可以通過組ID來查找組信息,如果這個命令沒有的話,那就很難查找,系統(tǒng)中所有的組了.

     

    二,用戶操作

     

    1,增加用戶

     

    查看復制打印?

    [root@krlcgcms01 mytest]# useradd –help

    Usage: useradd [options] LOGIN

     

    Options:

    -b, base-dir BASE_DIR       設置基本路徑作為用戶的登錄目錄

    -c, comment COMMENT         對用戶的注釋

    -d, home-dir HOME_DIR       設置用戶的登錄目錄

    -D, defaults                改變設置

    -e, expiredate EXPIRE_DATE 設置用戶的有效期

    -f, inactive INACTIVE       用戶過期后,讓密碼無效

    -g, gid GROUP               使用戶只屬于某個組

    -G, groups GROUPS           使用戶加入某個組

    -h, help                    幫助

    -k, skel SKEL_DIR           指定其他的skel目錄

    -K, key KEY=VALUE           覆蓋 /etc/login.defs 配置文件

    -m, create-home             自動創(chuàng)建登錄目錄

    -l,                           不把用戶加入到lastlog文件中

    -M,                           不自動創(chuàng)建登錄目錄

    -r,                           建立系統(tǒng)賬號

    -o, non-unique              允許用戶擁有相同的UID

    -p, password PASSWORD       為新用戶使用加密密碼

    -s, shell SHELL             登錄時候的shell

    -u, uid UID                 為新用戶指定一個UID

    -Z, –selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

    [root@krlcgcms01 mytest]# useradd --help

    Usage: useradd [options] LOGIN

     

    Options:

     -b, --base-dir BASE_DIR       設置基本路徑作為用戶的登錄目錄

     -c, --comment COMMENT         對用戶的注釋

     -d, --home-dir HOME_DIR       設置用戶的登錄目錄

     -D, --defaults                改變設置

     -e, --expiredate EXPIRE_DATE 設置用戶的有效期

     -f, --inactive INACTIVE       用戶過期后,讓密碼無效

     -g, --gid GROUP               使用戶只屬于某個組

     -G, --groups GROUPS           使用戶加入某個組

     -h, --help                    幫助

     -k, --skel SKEL_DIR           指定其他的skel目錄

     -K, --key KEY=VALUE           覆蓋 /etc/login.defs 配置文件

     -m, --create-home             自動創(chuàng)建登錄目錄

     -l,                           不把用戶加入到lastlog文件中

     -M,                           不自動創(chuàng)建登錄目錄

     -r,                           建立系統(tǒng)賬號

     -o, --non-unique              允許用戶擁有相同的UID

     -p, --password PASSWORD       為新用戶使用加密密碼

     -s, --shell SHELL             登錄時候的shell

     -u, --uid UID                 為新用戶指定一個UID

     -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mappinguseradd test

     

    passwd test

     

    增加用戶test,有一點要注意的,useradd增加一個用戶后,不要忘了給他設置密碼,不然不能登錄的。

     

    2,修改用戶

     

    usermod -d /home/test -G test2 test

     

    test用戶的登錄目錄改成/home/test,并加入test2組,注意這里是大G。

     

    gpasswd -a test test2 將用戶test加入到test2

    gpasswd -d test test2 將用戶testtest2組中移出

     

    3,刪除用戶

     

    userdel test

     

    test用戶刪除

     

    4,查看用戶

     

    a),查看當前登錄用戶

     

    [root@krlcgcms01 ~]# w

    [root@krlcgcms01 ~]# who

     

    b),查看自己的用戶名

     

    [root@krlcgcms01 ~]# whoami

     

    c),查看單個用戶信息

     

    [root@krlcgcms01 ~]# finger apacheuser

    [root@krlcgcms01 ~]# id apacheuser

     

    d),查看用戶登錄記錄

     

    [root@krlcgcms01 ~]# last 查看登錄成功的用戶記錄

    [root@krlcgcms01 ~]# lastb 查看登錄不成功的用戶記錄

     

    e),查看所有用戶

     

    [root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd

    [root@krlcgcms01 ~]# cat /etc/passwd |awk -F \: ‘{print $1}’

    posted @ 2011-11-14 14:00 狄浩 閱讀(32476) | 評論 (0)編輯 收藏

    2011年11月13日 #


    在計 算機還沒有出現(xiàn)之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鐘可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新 的字符傳過來,那么這個字符將丟失。

    于是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結(jié)束的字符。一個叫做“回車”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行”,告訴打字機把紙向下移一行。

    這就是“換行”和“回車”的來歷,從它們的英語名字上也可以看出一二。

    后來,計算機發(fā)明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結(jié)尾加兩個字符太浪費了,加一個就可以。于是,就出現(xiàn)了分歧。

    Unix 系統(tǒng)里,每行結(jié)尾只有“<換行>”,即“\n”;Windows系統(tǒng)里面,每行結(jié)尾是“<換行><回車 >”,即“\n\r”;Mac系統(tǒng)里,每行結(jié)尾是“<回車>”。一個直接后果是,Unix/Mac系統(tǒng)下的文件在Windows里打開 的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結(jié)尾可能會多出一個^M符號。
    posted @ 2011-11-13 13:11 狄浩 閱讀(335) | 評論 (0)編輯 收藏

          1、菜單window->Preferences->Java->Editor->Content Assist->Enable auto activation 選項要打上勾
          2、windows-->preference-->workbench-->keys 下設置Content    Assist    的快捷鍵
          3、window->Preferences->Java->Editor->Content Assist->Advanced   上面的選項卡Select the proposal kinds contained in the 'default' content assist list: 中把 Other Java Proposals 選項打上勾就可以了。
    posted @ 2011-11-13 13:04 狄浩 閱讀(321) | 評論 (0)編輯 收藏

    2011年11月2日 #

        

    linux太難用了!(一通鼠標點擊,進入/etc)
    學習linux,你忘記windows的思維方式了嗎?
    怎么安裝軟件阿?那一堆文件是干什么的阿?
    學習linux,你還在浮躁嗎?
    進入linux,隨便按了幾下.趕緊重啟進入win
    學習linux,你用心了嗎?
    .......

    首先,我想引用一下別人說過的一句話:除非在過去的十年你一直生活在山洞里,否則你一定聽說過linux.

    是的,現(xiàn)在聽說過linux,會一點linux基本操作的人多如牛毛,然而真正能用linux做一點事情的確少之又少,這就造成了現(xiàn)在的狀況:各大 linux論壇十分熱鬧,但我國linux人材卻還十分緊缺.到底是什么原因造成了這樣的狀況? 糾其原因,只有兩個字:浮燥!

    如果在論壇里來一次調(diào)查投票,看一下在論壇里的人到底有多少人手頭有一本以上的正規(guī)linux教材.我想這個數(shù)字不會超過30%. 如果再問一下,有多少人完整的讀過各發(fā)行版自帶的入門文檔,系統(tǒng)定制文檔,系統(tǒng)管理文檔和系統(tǒng)安全文檔,恐怕這個數(shù)字不到10%. 如果進一步再調(diào)查一下究竟有多少人靜下心來學習過操作系統(tǒng)和計算機網(wǎng)絡等和linux學習十分密切的專業(yè)課程,那么恐怕只有3%的數(shù)字都不到了.

    這讓我想到了98年前后IT泡沫時代的中關(guān)村.在中關(guān)村的大街小巷,到處是一個個意氣分發(fā)牛哄哄的IT精英.他們戴著默鏡,剔著小平頭,張口閉口都是網(wǎng)絡, 安全,信息,黑客,代碼,產(chǎn)業(yè).T恤背后寫著三個字:別惹我! 然而最后IT泡沫一過,只有那些真正肯安安心心靜心學習的人在IT界存活了下來.

    現(xiàn)在國人學習linux的狀況也是這樣,學linux的人個個都意氣分發(fā),以為學習linux會用linux是多么了不起.學了一點皮毛就認為很牛了.但是那些企業(yè)用人單位卻很難找到真正適合的linux人材.因此,我想就目前的狀況發(fā)表一下我的看法.

    首先,這篇文章是寫給那些想成為linux高手,并真正想用linux做些事情的人.如果你只想做一個菜鳥,沒事的時候在你雙系統(tǒng)啟動的電腦上偶爾選一次 linux,然后沒事進去偷著樂,那就請你自便.另外,我想說明,和真正的牛人比起來,我自己還處于一個比較低的水平.我沒有讀過內(nèi)核源代碼,不知道 linux工作原理等等,但是通過摸索,至少我已經(jīng)找到了通往高手的道路的方向.因此還是想說兩句.

    1,linux不是玩具

    如果你想系統(tǒng)的學習linux,你必需清楚的認識到這一點.現(xiàn)在有很多人,號稱是linux愛好者,但是他們大部分的事情還是用windows 做,而linux只是作為一個隨便玩玩的系統(tǒng).他們懂得一些linux的基本操作,知道有l(wèi)inux這個玩藝,也因為經(jīng)常聽人家說linux好就咬定了 linux就是好.只要有人說linux比windows差,那么他們就奮起反駁,他們也看不起用windows的人,認為用windows的人水平低. 但是自己用電腦的大部分時間還是用windows并且把重要的文件都放在了windows分區(qū),因為他們骨子里只把linux當做玩具,沒有真正領悟 linux的精髓所在.如果你真正想系統(tǒng)的學習linux,想用linux有所作為,那么請忘記windows的思維方式,慢慢感受和習慣linux的操作方式,總有一天你會真正體驗到他的奧妙所在,從而從自己內(nèi)心深處喜歡他,使用他,而不是為了趕時髦或向人炫耀而使用他.

    2,手頭有一本好的入門教材嗎

    "如果你還沒有好好的讀完過一本linux安裝及入門教材就不要到初學者論壇來問題!因為你連問問題的資格都沒有! " 這是我的一個比較偏激的觀點.

    如果你現(xiàn)在開始下決心學習linux了,那么第一件你要做的事情是到書店去挑一本好書.而不是到論壇社區(qū)去問該用什么版本,該如何學習 linux.一本好的入門教材可以讓你快速領悟linux的操作方式,系統(tǒng)的基本使用等等.而且都是前人總結(jié)經(jīng)驗寫出來的,他可以幫你搭起一個學習 linux的框架,對linux有一個總體的認識.就好比建一撞大樓前先打好地基,搭好混凝土框架.以后就可以慢慢往這個框架里添磚加瓦,最后建起大樓. 而那些想急于學習的,不想看書,只想靠混論壇來學習linux知識的人,就好比建一撞大樓,今天建好第一層,然后第一層就要全部粉刷好,裝修好,家具買好住進去,然后第二天再開始建第二層.這樣沒有整體規(guī)劃的學習是學不好linux的,最后的結(jié)果是浪費自己的時間,也浪費別人的時間. 如果你不信,可以讓實事去告訴你,以一年為限,你和你的一個朋友同時從0開始學linux,計算機基礎差不多.你去買幾本好書自己慢慢看邊看邊做實驗,讓你的朋友整天到各大論壇瞎混零散的學些linux知識.也許一開始,你的朋友會比你懂得多,但是一年以后你的水平肯定在你的朋友之上. 在初學階段,不要隨便在論壇上發(fā)問,多看書是根本,即使真的非問不可的問題,也要先自己動手察資料解決.實在不行再來問,高手不會鄙視菜鳥,因為每一個高手都是從菜鳥過來的,他們都知道菜鳥的苦衷.但是高手會看不起那些自己不愿動手動腦不會學習解決問題而只想得到現(xiàn)成答案的人.那樣的人會被高手在心里暗罵成不配用linux的蠢貨.

    你需要以下幾種書:
    一本好入門教材->一本linux指令參考手冊->linux系統(tǒng)管理手冊->講解linux系統(tǒng)原理的書.

    一開始,你只需要入門教材就可以了.并且嚴格安教材的講解去學習,不要一天到晚想著去裝顯卡驅(qū)動啦,裝游戲啦,裝軟件啦,這些都沒有必要.你就當你自己的電腦不能上網(wǎng),只能通過看書學習.慢慢看書,穩(wěn)抓穩(wěn)打.慢慢地就融會貫通了.這時候你再到linux初學者論壇去看看,你在那里早已經(jīng)是高手了.

    另外,一開始你要選定一本入門教材,但是不能只看一本,因為有些書上講的,可能是另外的書上沒有的.因此,重點選一本教材看完.然后再看兩三本入門教材瀏覽一下.作為對第一本書的知識的擴充和鞏固. 在看書過程中,如果你有什么不懂的,不要急于上論壇問,自己認真看幾次,實在不懂沒有關(guān)系,把問題放在那里.不要鉆牛角尖不懂不肯放手,這種精神是好的, 但是方法是錯誤的.你盡管學下去,也許你看完書本以后的內(nèi)容,就對前面不懂的內(nèi)容豁然開朗了.這是在學習linux中常有的情況.

    另外,現(xiàn)在很多入門書籍是針對非技術(shù)型用戶的.(我把那些對linux本身不感興趣,只想用他來上網(wǎng),聽音樂和打字的人稱為非技術(shù)型用戶,而把對linux本身感興趣的人稱為技術(shù)用戶)
    這些針對非技術(shù)型用戶的入門書籍幾乎通篇都是插圖,講解的內(nèi)容都是如何在圖形界面下操作.這些書籍并不能幫你成為一個高手.反而會讓你養(yǎng)成倚賴鼠標和圖形界面操作的習慣以后很難改掉.因此不能看這些書,一定要買那些一開始就從系統(tǒng)基本機構(gòu)基本命令開始講解的書籍.我看過的第一本linux入門書籍共有十多章,但是他從第十一章開始才大致的講解了一下圖形界面的知識.我很感謝這本書,讓我一開始就脫離了windows的思維方式,給我以后的進一步學習帶來了很大幫助.

    完成以上的內(nèi)容,你就完成了建大樓打地基建混凝土框架的過程了.可以接下來進一步學習了.

    3,你看完系統(tǒng)自帶的文檔了嗎?

    當你完成入門的過程后,就可以開始讀其他的文檔,然后到論壇的精華區(qū)看看,向你建起來的大樓框架中添磚頭了.當然 ,首先要讀的,還是系統(tǒng)自帶的文檔.

    絕大多數(shù)linux發(fā)行版都自帶非常詳細的文檔.比如我一直在用的redhat,他有從系統(tǒng)安裝到系統(tǒng)安全,針對不同層次的人的詳盡文檔.靜下心來,把這些文檔讀完,比看任何論壇的精華區(qū)都有用.書籍和文檔就好比是你每天都離不開的一日三餐,論壇區(qū)的精華文檔就好比是點心和水果.你可以不吃點心和水果,但是決不能不吃正餐.

    當然,不能為看文檔而看文檔,你一定要邊看邊安文檔中說的做試驗驗證.這樣才印象深刻,否則看過就忘記了等于沒有看.

    另外,如果真心想學習linux就不要吝嗇,也不要害怕丟失數(shù)據(jù)而不敢做實驗.我建議你去買一個小的二手硬盤,然后放開手干.不要怕丟失數(shù)據(jù)而不敢做,如果你沒有學會技能,將來做了linux系統(tǒng)管理員或者網(wǎng)絡管理員到那時因為不會而丟了數(shù)據(jù)就是大事情了.

    4,學習linux不是逛自由市場.

    經(jīng)??吹接腥藛栍檬裁窗姹镜膌inux好,其實只要你認真學習無論什么版本都挺好的.要知道,開發(fā)linux發(fā)行版的人都是通讀過linux內(nèi)核代碼,對 linux原理極其精通的人,而且每一個開發(fā)團隊都對他的發(fā)行版做過測試后放出的.那些國際知名的大品牌更是如此. 因此,討論什么版本好并無意義,關(guān)鍵是你是不是真心想學.不過,為了避免曲高和寡,最好選用的人多的版本,比如redhat manrake suse 等等. 國內(nèi)有一兩個linux版本做的也不錯,但是國內(nèi)的linux都是面向非技術(shù)型用戶開發(fā)的,因此,如果你想成為高手,建議不要用國內(nèi)的版本.
    學習linux不是逛自由市場,選定版本就要靜下心來學習.不要今天換版本明天要升級.這樣對你沒有好處.我見過一些人號稱用過十幾種甚至幾十種 linux,向人談論起來頭頭是到,好像懂的很多,但是如果你讓他去用linux搭建一個web服務器,做一個linux網(wǎng)關(guān),他就什么都不會了.他們把時間都浪費在了版本的轉(zhuǎn)換上了.

    5,你能看懂英文文檔嗎?

    談論這個問題,我有點低氣不足,因為我自己的英語很差.但是, 至少我可以無障礙的讀完一般的計算機文檔.計算機英語很簡單,只要熟悉了計算機專業(yè)英語,高中畢業(yè)的水平就可以輕松的閱讀計算機文檔了.如果你的英語實在太差了,連最簡單的計算機英語文檔都看不懂,那么在學習linux的同時,請趕緊學習英語.也許你說,你可以看翻譯的文檔,當我還是一個菜菜鳥的時候,也是這樣認為的.但是,后來才發(fā)現(xiàn),如果你想深入學習linux,看不懂因為文檔實在是太難了.寫的最好的,最全面的文檔都是英語寫的,最先發(fā)布的技術(shù)信息也都是用英語寫的.即便是非英語國家的人發(fā)布技術(shù)文檔,也都首先翻譯成英語在國際學術(shù)雜志和網(wǎng)絡上發(fā)表.你去看看各大軟硬件生產(chǎn)商的官方網(wǎng)站,有哪一個不是用英語作為其主站的? 長期用windows的人會很不習慣這一點,裝個軟件還要看半天文檔,應為windows用起來實在太簡單了.但是如果你想學習linux就必需學會看各種文檔,而大部分的文檔都是用英語寫的.我發(fā)現(xiàn)很多人甚至連man文檔都不會看,有什么命令不會用了就跑到論壇上來問,還裝出一副可憐相,乞討一個命令的用法.有這些時間還不如自己看看man文檔,即使你一個一個單詞的翻譯成中文再自己看都比問別人強,因為別人的回答再怎么詳盡都比不上man文檔詳盡.安裝一個新的軟件時先看README,再看INSTALL然后看FAQ,最后才動手安裝,這樣遇到問題就知道為什么.否則,說明文檔都不看,結(jié)果出了問題再來找答案反而浪費時間! 古人說欲速則不達就是這個道理!

    6,忘記windows的思維方式

    思想性的轉(zhuǎn)變比暫時性的技術(shù)提高更有用,因為他能幫助你加快學習速度.現(xiàn)在很多人用linux.但是,他們用linux的方式完全是 windows的那一套方式.骨子里都是windows的思想.這樣是不能領悟linux的精髓體驗不到他的優(yōu)越性的.我前幾天看到一個朋友要把剛裝了不到2天的mandrake 10 刪除掉,我問他為什么,他說太慢了,受不了,還是用windows快.然后我留意了一下他用linux的方式,他的所有操作都帶著windows的影子. 他連最基本的刪除,移動文件這樣的操作都要用鼠標,這樣當然慢了!最后我只好說,你刪除吧,你不適合用linux,linux不是這樣用的.各位可以去看看那些linux高級用戶,他們是怎樣操作的.通常他們都是在X上開一個xterm或者rxvt終端,80%以上的操作都在這個終端下用命令完成,因為 linux的命令行十分強大,速度也十分快,簡單的幾個命令的組合就能完成非常復雜的操作.舉一個例子:linux的常用命令find,去看看man文檔,初學者一定會覺得太復雜而不原意用,但是你一旦學會了就對他愛不釋手.他的功能實在太強了,在配合exec參數(shù)或者通過管道重定向到xargs命令和 grep命令,那么他能完成非常復雜的操作,如果同樣的操作你用圖形界面的工具來完成,恐怕要多花十幾陪的時間.因此linux高手經(jīng)常會說:如果沒有 find和grep我們還怎么活.但是現(xiàn)在大部分的linux初級用戶受到windows影響都喜歡用圖形界面的工具來完成一些基本的操作,我并不是說圖形界面不好.只是由于linux和windows設計思想的不同他們的操作方式也有很大不同.在windows下用圖形界面操作會比敲命令快,但是 linux是一個命令行組成的操作系統(tǒng),他的精髓在命令行! 無論圖形界面發(fā)展到什么水平這個原理是不會變的!

    7,入門以后多學命令

    當你看完了一兩本入門書籍后就應該擴充自己的知識,多學習linux命令,但是不要在初學階段就系統(tǒng)的學習linux命令,初學階段只要學會書上提到過的命令就可以了.單靠學習各種命令而成為高手是不可能的,但不會命令而成為高手也是不可能的.這就好比學英語,什么語法都不懂,只捧著單詞手冊背單詞是學不會英語的,但是沒有單詞詞匯量英語水平也提不高的.

    在linux中學習命令的最好辦法是學習bash腳本編程.bash腳本比起其他語言來學習簡單,但是功能卻十分強大.通過學習bash編程,能讓你掌握大量的linux命令.另外,買一本命令參考手冊是必要的,遇到不知道怎么用的命令可以隨時查詢,這要比察man文檔快.特別適合英語不好,看不懂man文檔的人.

    在linux中,命令可分為系統(tǒng)基本命令和應用程序命令.系統(tǒng)基本命令是所有的unix類系統(tǒng)都支持的命令,走到哪都不變,只要是unix類系統(tǒng)上就肯定有.比如ls,rm,rmdir,cp,cd,mv,cat 等等.這樣的基本命令大約有200個,這些命令是一定要掌握的,我買了一本< redhat 7 指令參考手冊>這本書非常好,他根據(jù)命令的常用指數(shù)分類,標明3顆星的為最常用命令,一定要掌握,兩顆星的其次,1顆星的只要知道一下就可以了雖然現(xiàn)在都已經(jīng)FC3了,但是經(jīng)典的UNIX基本命令幾十年來都沒有變過!另外有些命令是linux特有的或者是某一個應用程序的可執(zhí)行文件比如xmms播放器.這些只要知道就可以了,不知道也無所謂.有些命令比較少用,因此通常都記不住他的用法,對于這些命令至少要知道有這個命令,腦子里有印象,需要用的時候察一下手冊就可以了,但是決不能不知道這個命令的存在!

    8,學會管理系統(tǒng)

    等到有了基本知識,也掌握了一定量的命令用法后,就可以進一步學習管理系統(tǒng).這些內(nèi)容入門書上會有,但是不會很深入.要深入的學習系統(tǒng)管理,就要去買一本類似之類的書.認真的看書并做實驗,可以讓你很快的進步.學習配置各種網(wǎng)絡服務器,用linux搭建網(wǎng)絡,這些都是學習linux系統(tǒng)管理和網(wǎng)絡管理的好方法. 到了這個階段就可以經(jīng)常上網(wǎng)察察資料,看發(fā)布軟件的官方網(wǎng)站文檔和FAQ,看看論壇精華區(qū)文章.但是不能本末倒置,多看書還是根本.書籍和官方文檔可以讓你系統(tǒng)的學習,但是論壇可以讓你學到一些小知識,小技巧.我本人也經(jīng)常到論壇上來看看,因為即便是一個新手,也可能會發(fā)現(xiàn)一些你所不知道的小技巧,看論壇可以學到這些小技巧.但是我看文檔和看論壇的時間比不會小于4:1 . 可以把平時積累的問題一次在論壇上發(fā)問. 但是初學的時候不要頻繁上論壇,因為你要問的問題都在書上寫著,耐心一點,你很快就能看到了.

    9,了解系統(tǒng)結(jié)構(gòu)

    等你有了一定的系統(tǒng)管理知識,知道了/etc下那些配置文件有什么用,知道了一般的網(wǎng)絡服務器如何配置后,就可以去了解系統(tǒng)結(jié)構(gòu)了. 了解系統(tǒng)結(jié)構(gòu)不是要你去看什么文件夾放什么內(nèi)容,而是要學習一些原理性的東西.比如系統(tǒng)是如何引導的,引導后啟動了那些東西.系統(tǒng)中哪些是最基本的庫文件,有什么用等等.學習系統(tǒng)結(jié)構(gòu)的最好方法是自己做一個linux系統(tǒng),再也沒有什么能比自己做一個linux系統(tǒng)更能學習系統(tǒng)結(jié)構(gòu)的了.LFS (linux from strach)可以教你從源代碼自己編譯一個系統(tǒng).通過自己編譯一個系統(tǒng),你就可以了結(jié)linux系統(tǒng)結(jié)構(gòu),知道哪些文件是干什么用的,以及他們?nèi)绾螀f(xié)調(diào)工作.當然,在你達到LFS水平之前還有很多事情要做,比如學會如何編譯安裝源代碼發(fā)布的軟件和編譯新的內(nèi)核等等.到了LFS水平,那么在大多數(shù) linux論壇上你就可以被人稱作"高手"了!到了這個地步,就相當于一撞大樓已經(jīng)基本建好,但是還需要粉刷和裝修,真正的細活還在后面!

    永遠記住天外有天,人外有人的道理.即便有了LFS水平,在那些搞linux系統(tǒng)開發(fā),通讀過linux內(nèi)核代碼的人看來你還是一個菜鳥.因此, 請時刻保持虛心的態(tài)度.即便是在 論壇上只有一顆星級別的人,也有可能是一個潛在的,真正的高手! 大多數(shù)真正的高手平時都在搞研發(fā)工作,哪里有時間上論壇啊! 倒是有很多大學還沒畢業(yè)的學生,整天混在論壇上.

    10,學習專業(yè)課程

    如果你不是計算機專業(yè)的,而想把linux學好,就一定要學習專業(yè)課程.學習微機原理,操作系統(tǒng),計算機網(wǎng)絡等等專業(yè)課程是必需的.為什么同時開始學習 linux,有些人學的非常快,不到半年就成了高手,有些人玩來玩去還玩不出名堂,玩了一兩年還是菜鳥? 因為那些學得快的人有基礎,他們都學過專業(yè)課程.同樣一篇文檔,沒有基礎的人可能看了三遍還不明白,基礎扎實的眼睛掃兩下就懂了! 這就是專業(yè)和非專業(yè)的差別! 因此,要想達到更高的境界就一定要學習基礎的專業(yè)課程.

    11,保持虛心學習的態(tài)度

    我想再重復一遍天外有天,人外有人的道理!
    保持虛心的學習態(tài)度不僅能讓你學到更多知識,而且會讓你受人尊重.

    在linux 的世界里,如果你想靠混論壇,發(fā)水貼,換幾顆星星增加一下級別,然后再面對菜鳥說幾句牛哄哄的話來贏得別人的尊重是不可能的.即便是一個剛?cè)腴T的菜鳥,也能分辨你回答問題的質(zhì)量,從而知道你到底有多少水平. 另外,當你成了"高手"的時候,你也能從"菜鳥"那里學到很多知識.因為有很多問題是你從來沒有想過的,認為自己肯定會的,但是實際遇到的時候會有困難. 而"菜鳥"們往往更善于發(fā)現(xiàn)這類問題.這就是中國人常說的"教學相長"!

    在linux的世界里,越是水平高的人越謙虛,因為他們知道自己還有很多不知道的,而那些半瓶水就想晃蕩的人反而自以為是,因為他們還不知道自己還有很多不知道的! 去看看,www.linuxforum.net 嵌入式開發(fā)和UNIX版塊的牛人,他們很多都是有過好幾年linux方面的工作經(jīng)驗,精通linux和unix的好手,但是每個人都保持著非常謙遜的態(tài)度,這些人是值得尊敬的

     

     

     

    二、

    當前社會對Linux人才需求+談linux學習方法(轉(zhuǎn)貼)
    2006年11月30日 星期四 10:08

    --=當前社會對Linux人才的需求 =--


    大家好, 我是ChinaUnix論壇的Linux版的斑竹sakiulagi。 首先感謝這么多朋友來參加CU的活動。 我講的這個題目太大。 能談出來的只是我個人看到的一些事情和自己學習Linux中的一些想法和大家共享一下, 不太可能說能給大家指出一條賺錢的金光大道, 那我就是在講傳銷,而不是在講Linux了。 講的過程中有什么錯誤希望大家指出。 有什么問題我們都可以討論。


    【1】 linux的發(fā)展方向和主要應用領域
    企業(yè)級
    不同類型服務器的細分, 其實就是安裝了不同的服務, 然后針對這個服務對系統(tǒng)性能進行有針對性的調(diào)整。
    集群/大規(guī)模的科學運算
    Linux的優(yōu)點: 低成本,高可靠性; 缺點: 專業(yè)人才少。
    桌面產(chǎn)品
    發(fā)展方向: 辦公,政府,大公司采購
    Microsoft的主要競爭對手, 政府策略
    嵌入式系統(tǒng)
    消費領域
    電子消費產(chǎn)品

    【2】 需要的技術(shù)型人才
    設備驅(qū)動
    Linux對各種設備的支持仍然落后于MS。 這個很多因素造成的,不過也留下了一個很大的缺口。
    網(wǎng)絡安全
    大量的網(wǎng)絡服務器的應用對安全的要求,包括服務器本身和其他的網(wǎng)絡設備如路由器,防火墻。
    OA
    辦公產(chǎn)品的開發(fā),設計
    系統(tǒng)管理
    Linux服務器的日常維護,性能調(diào)整,系統(tǒng)架設
    嵌入式開發(fā)
    各種嵌入式系統(tǒng)上的開發(fā)。


    【3】關(guān)注的基礎知識
    -操作系統(tǒng) / Linux內(nèi)核 的基礎知識
    基本的概念是最重要的, 比如很多網(wǎng)友問我的機器變慢怎么辦? 其實就是你的某些資源被消耗殆盡了, 不外乎是首先檢查瓶頸, 比如那個應用把系統(tǒng)內(nèi)存吃光了。 如果操作系統(tǒng)好好學習一下, 很容易理解Linux, 甚至是一般的操作系統(tǒng)的很多看起來很深刻的東西。 內(nèi)核不是什么高深的東西。 你在操作系統(tǒng)課上學的pv操作都可以看到, 一些UNIX的基礎知識也很重要, 比如什么是文件系統(tǒng), 什么是mount, 什么是設備文件, 甚至什么是linux? 分發(fā)版? 還是內(nèi)核? 如果我說我的系統(tǒng)是Linux 9.0的, 這個說法確切么?
    很多東西沒有那么神秘的,關(guān)鍵是你的基礎是不是夠好。
    -數(shù)據(jù)結(jié)構(gòu)和算法
    這個對開發(fā)人員尤其重要。不要管什么C/C++, java, 等等…… 語言不是最重要的,工具也不是最重要的,關(guān)鍵是你的思想。 如果你是一個開發(fā)人員, 那么這個基礎就更是你的必修課了。因為學習數(shù)據(jù)結(jié)構(gòu)和算法的過程就是培養(yǎng)一個人邏輯思維的過程, 我在這里不講軟件工程什么的,如果你的數(shù)據(jù)結(jié)構(gòu)和算法都學不好,還怎么學習Design Pattern呢?
    管理人員也是一樣, 比如一個管理員不懂數(shù)據(jù)結(jié)構(gòu),可能只能依靠benchmark來了解文件系統(tǒng)性能,否則根據(jù)reiser4的dancing tree算法, 我們又可以多了一些根據(jù)來判斷, 這個設計到底好在哪里?我相信任何一個Administrator都不會拒絕對自己的系統(tǒng)有更深入的理解的。
    -C/匯編編程
    在編程的思想和算法都已經(jīng)學好的前提下,由于歷史上UNIX和Linux都是用C寫的。 大家也只好多學習一些C和匯編了。 如果Linux是用另一個語言寫的,并且這個語言很流行,那么我可能就推薦另一個語言了。 這個是最基本的工具,能把你的思想變成現(xiàn)實的工具。是你和Linux系統(tǒng)的交流的共同語言。
    即使是管理人員也要用, 總不能所有的軟件都用rpm裝吧? 再說對任何一件事物, 多了解一些內(nèi)部的運行機制可以更好的理解它, 這一點大家可以同意吧?另外,如果沒有一點編程知識的話,我覺得要維護一個安全的系統(tǒng)也是有一些難度的,如果了解了系統(tǒng)內(nèi)部運作的機制,才能更好知道你的系統(tǒng)的漏洞在哪里,最簡單的例子,一點編程不學,恐怕很難理解什么是buffer overflow. 而且在沒有任何編程基礎的情況下, 要理解操作系統(tǒng)的很多知識也是會遇到困難的。
    -圖形界面開發(fā)(Java, GTK+, QT)
    隨著Linux向桌面應用的發(fā)展,圖形界面編程的人才將會有更大的需求。無論是用java還是用C/C++, 其實很多時候二者是結(jié)合的。
    -網(wǎng)絡
    現(xiàn)在的社會,單獨的一臺計算機是沒有多少用處的,所有的計算機都在網(wǎng)絡上?,F(xiàn)在這么多作網(wǎng)絡安全的機會, 如果要是把網(wǎng)絡, 比如tcpip的基礎知識好, 不但有利于自己的進一步的學習, 同時對自己的職業(yè)前途也不能不說是一個很好的推動。
    -日常使用和維護
    至少會用vi吧? 至少會一點簡單的shell編程吧? 無論你是用命令行,還是用圖行界面, 只要用的熟練, 能解決問題,就可以了。 否則日常的工作怎么開展?
    -HA/HP 集群
    如果有條件可以看一下,這個是Linux的另一個很好的應用方向。
    -個人能力
    分析問題,解決問題。(這個在下面還會談)。
    -語言能力
    總要看英文資料的,能看多少看多少,不能逃避啊。 很多人講英文我不行, 誰幫我翻譯成中文的。 這樣一個比去新東方上課便宜的多的, 對你的英文閱讀能力很有幫助的機會被浪費了……

    (上面講的這些不只是針對還在讀書的同學們說的, 即使是已經(jīng)工作了的網(wǎng)友, 如果有志于開始學習Linux的話, 那么我覺得很多的基礎知識都有必要好好讀一下。在這里之所以強調(diào)基礎知識的重要性, 是因為現(xiàn)在的令人眼花繚亂的新技術(shù)太多, 其實萬變不離其宗, 最終還是要依靠這些最經(jīng)典的知識基礎。 我前兩天又看了一下UNIX第三版的白皮書, 是70年代發(fā)表的。 里面定義了什么是一個目錄, 這個定義和我們通常的定義有些區(qū)別, 但是對理解文件系統(tǒng)的結(jié)構(gòu)卻有著很好的幫助。 我不是搞學術(shù)研究的, 和很多朋友一樣, 我也只能業(yè)余時間看看這些基礎的東西, 但是仍然覺得很有幫助。)


    【4】 簡單談一下linux的學習方法
    -看書
    了解基礎知識以后才有交流的基礎。 大家可以先到網(wǎng)上找些電子書。 不過我個人更推薦買一本便宜的紙板書看看, 對保護視力有好處。 越是開始的時候, 越要多看一些書, 千萬不要看到超過一頁的文章就放棄了, 很多厚書反復讀過和實踐過之后, 就會成為你能力飛躍的第一動力。
    -善用網(wǎng)絡資源,學會搜索。
    遇到問題先google一下, 通常都會有收獲。 另外, 網(wǎng)絡上的手冊很多。大家只要好好看一看,就方便的多。經(jīng)常有朋友問很多操作上的問題, 以我用的最多的Redhat為例, 官方網(wǎng)站上有全套的安裝, 使用, 定制, 各種指南。如果通讀一次, 至少是日常的使用不會有什么太大的問題。 同時還能對redhat linux有一個很好的理解。
    -Linux版和CU的資源介紹(一句話,精華索引)
    經(jīng)常有網(wǎng)友很不滿: 你不直接告訴我, 裝什么蒜? 雖然沒有給你一塊錢, 可是指出的道路是通向一個金庫的! 如果不是真的到了生死攸關(guān)的時候, 能深入學習一些還是深入一些, 不要只是看著一個答案, 就可以了。 當然如果真的是急事, 那另當別論。
    這里, 我再次鄭重向大家再推薦我們版的幾個置頂帖子。 一個是“Linux 一句話精彩問答”。 這個是我們的斑竹bjchenxu來整理的, 里面包含了我們班上大量網(wǎng)友的智慧。 里面可以找到很多很多的常見問題和疑難雜癥的回答。 如果你看過了linux的入門書籍, 了解了最最基本的知識, 那么這個帖子是繼續(xù)學習的最好的途徑。 另一個帖子是以前的斑竹lnx300和現(xiàn)任斑竹好好先生整理的精華帖子索引, 很多比較復雜的問題在這里也可以找到答案。 這兩個都不是大百科全書, 可是他是Linux版的所有網(wǎng)友和幾位斑竹的勞動的成果, 希望對大家的學習能有所幫助。
    -講究論壇上的交流的方式方法。
    多學習別人解決問題的方法。而不止是知道一個答案而已。
    交流的技巧。 (熱心互助,不要抱怨。老手不要看不起新手,大家都是新手過來的,如果能幫助就幫助一下,不要冷嘲熱諷;新手不要不耐煩,大家都是義工,并沒有什么義務一定要回答誰的問題。互相指責不解決任何問題,真正的更好利用CU這個大平臺才是最終的解決方法。)
    -多多動手,多多實踐
    我在開始學習的時候,把系統(tǒng)里所有的可執(zhí)行文件的manual page都看一遍, 然后把每個能試驗的命令都運行一次。 我覺得只有試驗才能得到第一手的資料。
    -認真學習英文
    中英文的資料各有各的有缺點,但有一點是肯定的。多看懂一些資料總是好的。而且很多時候還是英文的資料更全面, 更豐富一些。 比如關(guān)于多系統(tǒng)引導, GNU的網(wǎng)站上grub的手冊是還是比較全面而細致的, 語言也簡練的很。 GNU網(wǎng)站上的其他資料也很豐富。國內(nèi)也由一些中文手冊的翻譯計劃。

    posted @ 2011-11-02 10:10 狄浩 閱讀(442) | 評論 (0)編輯 收藏

    2011年10月12日 #

    最近幾個版本的Eclipse默認鼠標移動到方法、屬性等上面會出現(xiàn)懸浮窗提示,但鼠標下移后不會消失,編寫代碼的時候很煩人。

    設置preferences-->General-->Editors-->Text Editors-->

    when mouse moved into hover:選擇Close hover

    posted @ 2011-10-12 16:17 狄浩 閱讀(1153) | 評論 (0)編輯 收藏

    2011年9月15日 #

    TRANSLATE(A,B,C) 兩種情況:
    1.B中相應位置在C中的對應的位置有相應的字符,如B的長度比C短或者B的長度和C相等,A中字符進行一一替換;
    2.B的長度比C長,B中多出的部分,如果A中含有該字符,則將該字符從A中刪除;
    posted @ 2011-09-15 17:38 狄浩 閱讀(524) | 評論 (0)編輯 收藏

    2011年9月14日 #

    SQL中如何把列中的行轉(zhuǎn)換成列

    2010-11-22 01:50

    SQL code/*
    普通行列轉(zhuǎn)換

    假設有張學生成績表(tb)如下:
    Name Subject Result
    張三 語文  74
    張三 數(shù)學  83
    張三 物理  93
    李四 語文  74
    李四 數(shù)學  84
    李四 物理  94
    */

    -------------------------------------------------------------------------
    /*
    想變成
    姓名       語文        數(shù)學        物理      
    ---------- ----------- ----------- -----------
    李四       74       84       94
    張三       74       83       93
    */

    create table tb
    (
    Name varchar(10) ,
    Subject varchar(10) ,
    Result   int
    )

    insert into tb(Name , Subject , Result) values('
    張三' , '語文' , 74)
    insert into tb(Name , Subject , Result) values('
    張三' , '數(shù)學' , 83)
    insert into tb(Name , Subject , Result) values('
    張三' , '物理' , 93)
    insert into tb(Name , Subject , Result) values('
    李四' , '語文' , 74)
    insert into tb(Name , Subject , Result) values('
    李四' , '數(shù)學' , 84)
    insert into tb(Name , Subject , Result) values('
    李四' , '物理' , 94)
    go

    --
    靜態(tài)SQL,指subject只有語文、數(shù)學、物理這三門課程。
    select name
    姓名,
       max(case subject when '
    語文' then result else 0 end) 語文,
       max(case subject when '
    數(shù)學' then result else 0 end) 數(shù)學,
       max(case subject when '
    物理' then result else 0 end) 物理
    from tb
    group by name
    /*
    姓名       語文        數(shù)學        物理      
    ---------- ----------- ----------- -----------
    李四       74       84       94
    張三       74       83       93
    */

    --
    動態(tài)SQL,指subject不止語文、數(shù)學、物理這三門課程。
    declare @sql varchar(8000)
    set @sql = 'select Name as ' + '
    姓名'
    select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']'
    from (select distinct Subject from tb) as a
    set @sql = @sql + ' from tb group by name'
    exec(@sql)

     

    posted @ 2011-09-14 17:23 狄浩 閱讀(442) | 評論 (0)編輯 收藏

    2011年7月28日 #

           兒子在2007年高考中以市狀元及數(shù)學滿分進清華的媽媽—— 我的教子經(jīng)驗:
           1、在吃飯方面:一碗,這是基本量。如他說媽媽我吃不完了,我說好然后讓他下桌子,晚上吃時,就把他中午的放在他面前 ,吃完不夠再吃新的。以后再沒這問題。不要要求吃飽應七分飽,過量只有害無利,夠身體消耗能量就好,這樣大腦皮層溝壑多,利于記憶等;少吃肉多吃蔬菜水 果,不要身體累積脂肪影響大腦。

           2、放學后做作業(yè):規(guī)定一時間,到時間就不準他做了,他說家庭作業(yè)不做完,明天會被老師罰的,但我告訴他,什么時間做什么事,不能挪用。第二天他一大早就 起來做,我同樣不準,他是哭著上的學。這以后,他是先做完作業(yè)才吃晚飯,這以后,一直到高中畢業(yè),都是以先完成作業(yè)為首任。從初中到高中,所有作業(yè)都是在 學校就完成。當時我是不準我兒子占用他玩和看課外書的時間壓力用來做作業(yè)的。(好玩吧)

           3、教師告狀及罰作業(yè)(關(guān)于批評):我兒子在小學一年級時也被罰過,我接他放學,等到他做完被罰的作業(yè) ,同時聽著老師數(shù)落兒子上課如何不認真、如何和同學發(fā)生事情等等。但我看兒子的眼神還是很慈祥,耐心等著兒子完成(內(nèi)心獨白:多寫一次正好)?;氐郊液笞?細問情況,屬于同學不對的,就不批評他;是自己的問題,但都是輕言細語給他講怎么樣注意及改正。有一點很重要,家長要用道理解除他有可能對老師產(chǎn)生的負面 情緒。打擊小孩自信心的主要是家長和老師。如小孩在學校挨罵了,當晚當媽媽的要把事情了解清楚化解小孩的情緒,修補他的自信心,人的一生自信心很重要。

           4、注意力不集中:是否晚上睡眠不好?是否吃太飽?是否是聽不懂課?找出原因,針對原因找解決問題的方法,不能一味罵小孩。如:如果娃娃的身體濕熱重,人是不舒服的,自然沒精力聽課等。如果所有的原因找了都找不出原因,就可以考慮用佛門方法。

           5、好玩天性:要給他時間玩,動手本身也等于動腦,沒什么不好,家長同小孩制定好課后到睡眠之間的時間,一切按作息表。玩紙牌游戲是一特教老師告訴的方法。我應用和實踐了,是成功了的。我兒子在小學時,上課老師布置作業(yè),他都是快速完成的。
           6、沒事你要小孩多用左手玩拋接物,是鍛煉右腦的,為上初中以后作準備的。家長和小孩每天玩一次紙牌加法,抽二張快速在他面前晃一下,讓他快說出加出來的數(shù),堅持到三年級時就做一次加法一次減法,五年級以后就不用了。鍛煉注意力、快速反映能力、心算能力。

            7.曾看過一帖:關(guān)于小孩子的教育,我一直在思考一些問題,也跟大家交流下哈。我認為:
    第一,進行時期教育,注重開發(fā)思維智力,不強迫他學什么。
    第二,善待一切生命,教他學會換位思考,已不悅不強加于人。
    第三,教他在做人做事時以水為榜樣,遇事以柔克剛,遇困難繞道前行。
    第四,學會知足常樂。
    第五,寧靜致遠,淡泊名利,放心自由 
    我就是用這幾種方法教育孩子的。

    一、家庭作業(yè)幾件事:
           1、老師布置家庭作業(yè)要家長檢查簽字:我采取的方式是,請小孩自己檢查,檢查好拿來我簽個字就行。在簽字時詢問:你檢查后都沒有錯了吧,他確定說沒有錯, 家長就簽字。但是,在他檢查時也有沒有檢查出來的時候,你明看到有錯的題,你不要給他指出來,讓他明天的作業(yè)本有一個紅差,面對這一情況,你只要說一聲昨 天為什么沒有檢查出來既可,家長不要太嚴厲,不要讓小孩有擔心你打他的時候,一切以講理為主。這樣他下次檢查就會認真很多。

           2、關(guān)于聽寫:關(guān)于聽寫,都知道川普不標準,我解決的方式是請他用默寫的方式來完成。他不解,睜著大眼睛盯著我,我說沒人給你念,你 能想到你所學的所有生字而能默寫起,那不是證明你很棒。他老老實實回他書房去,老老實實把他的語文拿來放在我面前,我看這一舉動,我說過來把你的書拿走, 媽媽相信你不會看,他又老老實實把書拿走。

           在一年級開學年家長要和小孩好好談心,讓他明白學習是他作為學生身份的主要任務,學習不是為家長學習,給家長沒有關(guān)系,家長有家長的責任;讓小孩自己檢 查,是在學習上的事盡量讓小孩自己管理。就避免了家長擔責任:如家長檢查簽字后第二天小孩回家對你說,看嘛,你有一道題錯了都沒檢查出來,那時家長就只有 無言以對。

           二、早期教育真的很重要!我們家很民主,能說出道理不會強迫他做什么。
           我家是從小孩能說話開始,做什么事都會征求他的意見,做錯什么事時(包括打爛東西),請他講前后事情經(jīng)過,為什么會發(fā)生都請他講出來,我不會批評罵他也不會打他,講完后,指出出問題的地方和改正方式方法,然后說以后注意點。
           大一點的小孩,已養(yǎng)成一定的習性,這就要靠大人調(diào)整自己的方式方法給他講道理:
           1、主要還是要讓孩子明白他學生身份該有任務和責任。
           2、讓他明白學習是為今后自己的人生打基礎的一個階段,自己的人生只有自己掌控了,才活得輕松、活得精彩。
           3、讓他學會對自己的人生負責。

    關(guān)于吃飯:

           1、吃飯少關(guān)系不大,我兒子在上小學了還曾正餐時只吃幾口的,我不追著他,不吃就算了,但下一餐時把上一餐剩飯加熱放在他面前。我的態(tài)度是:不愿吃剩飯,那中午就該吃完。

           2、盡量培養(yǎng)孩子吃蔬菜水果,你孩子不吃肉深得我心(能堅持最好)。我是每天每次給兒子削蘋果二到三個給他(其他水果是附品)肉和飯隨他吃多與少。我家在 高中以前就沒給兒子買過有色飲料和袋裝零食,只給他喝礦泉水或白開水或茶水。都說那類食品是垃圾食品,為什么會吃既花錢又稱為垃圾的東西呢?請家長深思。

           3、你孩子不吃肉、吃飯少——老師都說她聰明,是會得這樣的結(jié)果的。“就是常常不專心”,你仔細給孩子談過為什么嗎?不會只是粗暴的批評吧,你一定要找原因。

           4、“她營養(yǎng)不夠”:一定要把零食取了,放各種水果,用水果代替,每天必須吃蘋果和香蕉,這兩樣都給智力有關(guān)并有安神作用。

           5、要培養(yǎng)孩子的心量:不同小朋友發(fā)生惡意爭執(zhí)引伸到愛護花草,動物,昆蟲,美麗的花,可以欣賞,不要伸手折,小動物特別是各種昆蟲,是有生命的,培養(yǎng)小 孩子的慈悲心愛護它們,不能看到面前有螞蟻,伸腳就去把它踩了,培養(yǎng)小孩尊重一切生命,一切身外的人、事物。小孩的心性就是在小時教育他對萬事萬物都要充 滿友愛的心去對待。恒順眾生而得果報就是自己也一切順利。

           在與同學相處和大人的接觸中,難免有對小孩不好的事,也會遇到他認為不公平,不甘心的事。大人怎么給小孩子疏緩情緒呢?我告訴他,別人是沒有義務對你好 的,人心是不平的,如大地有高山、河谷、平原。那么他對你好,你就該對別人充滿感激之心,沒對你好,那是他的處事行為,也是正常的。萬事萬物沒有絕對的公 平。心量越大,所能獲取的能量越大,不要求而自得更多。這道理學佛的人能明白。心量和慈悲心很重要,對孩子以后的人生和境遇差異有決定性的作用。就如李宇春說的態(tài)度決定了你是誰。

     

           問題:有些孩子可能天生就不愛學習,又頑劣,如果這樣的小孩子,這種方式不知道會不會起到反效果?
           回答:孩子生下來是一張白紙,而且也聰明。錯的是大人的教育方法而已。小孩子的教育從0歲開始:

    一、 孕前父母的作為:
          首先人的健康體質(zhì)是弱堿,父母雙方要調(diào)理好身體,抽煙喝酒最好不要,飯食盡量偏疏菜水果,男方每天補充點維E,女方每天補充點葉酸。肉食類是酸性食品盡量減量。把身體調(diào)整有三個月后順其自然要孩子,這樣做是保證孩子有個健康體質(zhì),生下來后少生病帶起輕松。

    二、懷孕后:
           1、在母體內(nèi)的胎教很重要。其中一點請母親一定要每天抽點時間靜靜看書,內(nèi)心不急不躁、聽聽音樂,總之要能心情放松。
           2、在吃的方面:不要吃肥肉、餅干等甜食,盡量不要讓胎兒在母體內(nèi)長得太大。在懷孕期間(五個月以后),能恰縫其會,能碰上曇花開放,把曇花用來蒸蛋吃,多多益善。其余飲食的注意事項一般人都懂的。

           盡量不要買活物來吃,要吃三凈肉:不是點殺、不是為你殺、沒有看到殺。比如魚是死一小時后它的蛋白質(zhì)人體才容易吸收,并不是殺活魚來吃才叫味鮮,那只是一 種飲食習慣。盡量購買現(xiàn)成的,不要讓家里的廚房變?yōu)樵┗昃奂膱鏊?。這樣做也是為了小孩能順產(chǎn),并身體健食。

    三、生下小孩后,對大腦發(fā)育的內(nèi)容:
           1、母乳喂養(yǎng)很重要,是最好最安全的食品。保證了孩子健康,又避免母親在40多歲后患乳腺癌的機率。剛生下小孩子,有可能發(fā)生乳腺體不通的情況,一定要弄通,大概是九個眼要通。不能為了所謂的身材而不給小孩子喂奶。

           2、我說了,我是在小孩子20多天后開始的早期早教。在孩子醒時,我會讓小孩的小手撫摸各種手邊的物品。眾所周知,小孩子從出生后到一歲時大腦發(fā)育是飛速 的,在一歲到三歲又是一個階段,在這個人生最重要的階段,就不是你只請保姆帶到,讓小孩不哭就可以了。最需要是媽媽們付出心力的時候。

           要刺激大腦發(fā)育就用小孩的雙后去撫摸這個世界?,F(xiàn)在帶孩子,家長對玩具都準備充分,對半歲以前的小娃就身邊玩具給小娃娃,讓他小手撫摸,母親并給小孩講 解,這是什么物品,有什么用處,記著從0歲到3歲都不要給小娃說:“車車、飯飯等,要直接說是汽車或吉普車、拖拉機或稀飯、饅頭等,這樣小孩會吸收大量詞 匯。

           在小孩10來個月,睡眠時間不是很長后醒的時間在多些時,就可以去找整套的“什萬個為什么?各類百科知識全書,365夜等”那些有圖和文字的書。你手指圖里的要件用圖下面的文字給小孩講。這是為了刺激小孩大腦皮層發(fā)育。

           到一定時候,當你再拿這書給他講時,他會伸手翻下一頁,那說明,他對這一頁有印象,想要新鮮的了。如我們帶小孩到大自然中,(我是每周的星期天都帶小孩去公園,有山有水的環(huán)境)各類植物、枝葉、小草、小螞蟻、小小蝸牛等都是讓小孩觀察的最好道具。

           以上是說讓小孩通過手接觸世界,其余時間在大人無空閑時,就給小孩放講故事的磁帶,我那時是菊萍姐姐講的,現(xiàn)在的種類應該很多。在動畫片方面我同兒子看得最多的動畫片是胡蘿娃的故事和對斗士星矢。我認為這兩種是畫面很美,又比較炫,對小孩的形象思維很好。

           與此同時淘一點有字幕的如講弟子規(guī),國學方面的淺顯一點的東西,每天放給小孩子看。這樣小孩子在無形中會接觸到很多字詞匯,如小時思維刺激得好,那他所看到的字、詞慢慢就會搬家,無形中就會應用到其他地方。

           睡前聽講故事磁帶,白天安排放有字幕的碟,講百科知識圖冊(書店種類很多)成語故事書。以上刺激孩子的左腦及形象思維,余下就是你家長還要針對孩子的右腦 進行開發(fā)。右腦是左手的功能,每天抽一點空閑,同小孩玩游戲,用左手拋小球,用左手接等,你所能想到的,你心里大概給他規(guī)定個數(shù),完成就做其他的了。

           另補充一個鍛煉大腦的:畫圖畫,我們不要求小孩畫得很象實物。只要能用手去勾畫線條就對大腦有作用。最怕有不懂教育小孩的會說小孩你畫的車怎么不象呢?此時你要快糾正說那是寶寶畫的變形汽車。

    在0-3歲的教育中,用鼓勵不能用打擊的方式,不是要求他把實物畫得多相式,而只是鍛煉大腦皮層的溝縱。

           在飲食方面,我強調(diào)的是蔬菜水果。在小孩可以吃飯時,給小孩的碗里添的菜是各種蔬菜,不要給他添肉菜,因一般小孩子主動挾的是肉,而不會主動挾蔬菜,我們大人就在小孩子會吃飯菜時,引導他。水果:每天蘋果香蕉是必須的。這樣就不會把小孩養(yǎng)成小胖墩。
           大腦開發(fā)到一定程度,小孩子的求知欲望就比較強烈,大人該做的事滿足他,找各種書給他看。

           我家對兒子早餐是:一個雞蛋、一個蘋果和水。
           我兒子從小就正餐吃得少,因都是他一放學回家就給他削二到三個蘋果,然后做作業(yè),然后吃晚飯。肉菜有,但我們大人都是先說吃蔬菜。我的朋友們都說我兒是投 入少產(chǎn)出多,高中畢業(yè)1.8米的凈高,才100零幾斤,不過這次放假回來是130多斤(學校選的體育是游泳、藍球,現(xiàn)在這學期選的羽毛球)。

    胃口不開問題:吃七分是常識。

           我認識一個醫(yī)生朋友曾告訴我,千萬不要強迫小孩子吃飯,小孩子是有幾個生長發(fā)育期的,特別是青春期,飯量是自然會增的。如早早打開胃口,到發(fā)育期時他的飯量就過了,到青春期時你讓他少吃點都不行了,小兒肥胖就是大人的愛心中膨脹了。

    關(guān)于英語:
           上小學后開設了英語課,我要求是學一課必須記一課,他記了幾課,他認為死記硬背那方法不好,很痛苦,我說你自己想個方法解決這個問題。幾天后他給我匯報, 他想了一個方法,在電腦上打單詞,采取無形記意的方法:在C1欄打上英語單詞ONE,在D1欄上打上英語單詞ONE,在E1欄打一個公 式:=IF(C1=D1,”YES”,”NO”),在B欄打上相對應的漢語,把E1打好后出現(xiàn)的是YES,指導E1欄朝下拖很多欄。在練習時:把D欄拖來 隱藏,把C欄的英語取消,看到B欄漢語在C欄就打出對應的英語,打?qū)α?,E欄就是顯正確、沒有打?qū)︼@的是錯。對出差錯的英語學詞就多思考一下,多打幾次。 我要求他是每天開電腦第一個要完成五課的英語單詞練習(是12345、23456、34567以此類推,包括電腦游戲里的單詞都要記完)。完成練習后才能 在電腦上做其他事。

           這個方法對其他人有沒有用我不知道,但我兒子在初二參加全國英語競賽得過一等獎。我兒喜歡看NBA和足球比賽,有一天我看到他界面是中文的,我就和他談英 超、米蘭等,順勢漫不經(jīng)心地說,你其實可以進英文網(wǎng)站看這些內(nèi)容,對不懂的查一下就可以了,順便可以提高提高英語閱讀水平。第二天,真的就看到滿界面都是 英語了。為了鼓勵他,我偶爾會指著一個球員圖片下一串串英文,問他是什么意思,他會很樂意給我介紹。 

           雙手在電腦上盲打英語單詞,堅持一段時間后,那些單詞,會條件反射在大腦里、雙手上反映出來。你讓他用這方法,他不一定樂意。你可以先要求孩子學一課必須 記一課的英語單詞,死記硬背那方法很痛苦,他想不到更好的方法時你再告訴他還有這樣一種方式。如果他能自己想到方法那更好!

    關(guān)于分數(shù)
           考試多少分不過多的發(fā)表意見,我的原則是學習是他自己的事。我只告訴他把卷子上錯的題分析原因,是不懂還是粗心,自我修正就好。也不會問他這分數(shù)在班上排第幾名(一直到高中畢業(yè)都是如此)。

    關(guān)于粗心
           數(shù)學總會寫錯很簡單的題,大人小孩都會很后悔地說,“好可惜如果細心點數(shù)學就是滿分了”我也曾遇到這種情況,看到99分的卷子,就想怎么樣才能讓他不粗心 大意、不馬大哈呢?大概在三年級時,機會是在別人的慘痛中到來,有個單位修住宅,修到一半時房子倒塌了。我?guī)浆F(xiàn)場進行機會教育,從力學等方法講,由于 計算上的一點誤差會造成基腳支撐房子有差異,計算少了的那個點會下沉;從建筑材料上來講,水泥少個標號、鋼筋小一點、磚瓦質(zhì)量次一點,那整個房子就是危房 了。為了他有個深刻的認識,我說如果就因你計算上的粗心大意造成別人的死亡(那事故死亡6人),人命怎么樣來賠?上千萬的經(jīng)濟損失怎么樣來賠?從高考滿分 來說,這個機會教育成功了。

     

            問題:你好,我把我8歲三年級兒子的幾個特點寫出來,請幫我分析一下,能否有改進方法?
    缺點:
           1、注意力不集中。老師反映他上課容易走神,總是似聽非聽的樣子,但你讓他回答問題又能準確回答,不肯配合,哪怕他都會也不愿意舉手。
           2、作業(yè)拖拉,貪玩。每天的課堂作業(yè)都要拖到放學前甚至放學后留在辦公室里做完,幾乎每天都這樣,這點我最頭疼了,但回家做又很迅速(這個我理解,做完有電視看,能出去玩)。而且我發(fā)現(xiàn),他的動作也慢,每一個分解動作都充滿著拖拉的現(xiàn)象。
           3、心智發(fā)育太晚,俗稱沒心眼,你批評他表揚他,都若無其事,也不放在心上。班主任反映教書6年,沒碰到這么難搞的學生。
    優(yōu)點:
           1、成績很好,特別是英語和數(shù)學,語文有時候因慢的原因經(jīng)常來不及完成卷子,碰到大考我要不停地叮囑一個星期,威逼利誘,他才能放心上,考出來的分數(shù)也是很高的。老師也總結(jié):慢,準確率很高。
           2、喜歡手工,畫畫、橡皮泥、折紙、拼裝玩具。
           3、愛閱讀,記憶力強,只要你讀過的字他看了都能記住,幼兒園時(沒學拼音)就能獨立看大量的書閱讀量和2年級的小朋友差不多。

    ------------------------------------
    互動交流:

           看到你這帖我很開心,你所列舉的優(yōu)缺點,只有一點我兒子沒有,其中有五點是相同的。
           不同處:你的速度慢我的快??焓且驗槲仪懊娼榻B的用撲克牌訓練出來的。凡事慢半拍,本身沒什么問題,表明你兒子內(nèi)心是平靜的。為這點你可以列舉一些因慢一 點而造成的違害的事刺激他,如遇危重病人需急時搶救,就因你慢的那三分鐘而錯過搶救最佳時間,那逝去的生命你能賠嗎?就因你慢的那三分鐘而錯過上車(比喻 各種人生機遇)與自己精彩人生擦肩而過會給自己留下很多悔恨。要做到快與慢自己能掌控。你要了解問清楚課堂作業(yè)時間不做作業(yè),他在做什么及為什么,請他給 你解釋為什么,你根據(jù)他的回答再想怎么樣處理。你給他講課堂作業(yè)率先完成,看著同學還在做,自己內(nèi)心應比較有優(yōu)越感的,自己內(nèi)心是很開心的,要不你試一 試?讓他先找一個同學為目標,老師一布置作業(yè)看誰先完成。剛開始他的速度可能還趕不上別人,你讓他記錄看經(jīng)過幾次他能趕上,如趕上了你要獎勵他(但不能先 許),與此同時每天同他玩一次紙牌,方法看前面介紹。玩紙牌加減法相應不枯燥,訓練他瞬間集中注意力和反映能力。
           一、你說的缺點1、是正常的,根據(jù)你說的優(yōu)點三,他吸收知識的能力很強,不懂的老師一點就通了,有新的知識點時他才可能抬眼看老師講。我也遇到這樣的情 況,下午接他放學時,稍早了一點,我就到他教室外看過他上課的樣子,就給你說的相同,以后我對老公說千萬不要去看他上課,看了你保證生氣?;氐郊椅以鴨栠^ 他,我說看到其他同學都能認真聽課,為什么你在埋頭玩自己的鉛筆?不認真看著老師上課呢?他回答我是:上課是聽老師講又不是看老師講。我認為不論是怎么樣 的形式,只要他能聽懂就好,以后我就這點上沒有批評過他。老師以后也認識到就沒批評他了。
           二、你說的缺點3,根據(jù)你說的三項優(yōu)點,你兒子就不會是心智發(fā)育晚,不和人計較不會看老師臉色,那不是沒心眼,恰恰說明你兒子心胸開闊,不玩心機,好難能 可貴,他的心是打開的也就是開了心竅的,這是很多家長求不來的。你所批評他的是什么呢?不過是迎合事俗觀點罷了,道法自然,你可不要過多打壓。
    在這種情況下你要求你兒子(包括大人)做到:
           1、對成績好與不好的同學一視同仁,遇到任何同學有不懂的問到他,一定盡自己知道的全力給同學講解,舍得舍得,有舍才有得,這是心量,心量越大,得到才越 多。這是布施的原理。要讓你兒子眼里看每一位同學都很順眼,那他就沒什么煩惱,這是很開心的狀態(tài)。現(xiàn)在有一種現(xiàn)象,怕把自己懂的告訴同學,怕同學超越,, 心就不是開而是在關(guān),這是讓自己的路越走越宅。
           2、一定要尊敬師長,老師不論是不是在批評你,老師的出發(fā)點都和媽媽一樣都是為你成為對社會有用的人。人的一生要報的恩里就有師長之恩。
           3、有這種情況,家長 和學生有說那老師教得不好的現(xiàn)象。我是這樣教育我兒子的,不是老師教的問題,老師那種教學方法不適應你而已,全班有60到70人,老師不是面對你個體,不 可能只照過到你一個人,只有你調(diào)整自己,找出自己原因支適應老師的方法。這說的是德的培養(yǎng),會受用終身的。
           另外,你可給你兒子增加一種雜志《科幻世界》,有一部份物理原理,天方夜譚天馬行空的想象可以打開他的思惟,我是從我兒子5歲訂到高中畢業(yè)。不知道你給你 兒子訂書情況,我每年有7本左右,有一位特級教師曾告訴我,一本雜志里有一個知識點被孩子吸收,那訂這本書就值得了。

    順其自然,放松為主,開心健康就好:這是人生比較好的狀態(tài),但一般人做不到,你要學習良好的心態(tài)。
           左手拋接物和玩紙牌——訓練右腦、瞬間集中注意力、快速反映能力。兩副紙牌:每次抽二張出來,在他面前快速晃過,讓他加出那二張牌的數(shù),每天練一次,訓練 兩個月后他的速度跟上也很快后,你每天就一次加法一次減法。 這是一特級教師告訴的方法 ,我應用了幾年,很管用。家長 不要老喊他學習學習,家長只要同他一起玩訓練右腦和紙牌,能順利升學就好。如上面兩樣家長訓練的好,男孩上初中高中后學習應沒什么負擔。

           多做布旋持戒忍辱等種種善行,及多看佛學書,學習佛理。其中最簡單有一種念佛法門:一句阿彌陀佛。念佛人為十方諸佛護念,念佛功德不可思議,十方諸佛同聲贊嘆。你可以選擇一種最適合你的方法:
    念佛菩薩圣號-----每天在家靜下心來念南無阿彌陀佛,念半個小時。
           每天念前能上香最好,家里不方便就面向西方合掌稱念,念完,要把今天念經(jīng)或念佛的功德作回向:愿以此功德莊嚴佛凈土,上報四重恩下濟三涂苦,若有見聞者同生極樂國。
           再回向:愿今天念佛(經(jīng))的功德回向給我的兒子,愿佛菩薩慈悲加持他,學業(yè)有成,身體健康,一切順利。你堅持半年就會有很多意想不到的收獲。

           2、 關(guān)于超前看書,他不看你是沒有辦法的,你老給他說要預習,他聽了不一定做,當媽的要學習水的精神,遇困難繞著前行。

           你把兒子抱在懷里(讓他感覺到話題有份量),語重心長給他講現(xiàn)實社會的大環(huán)境,就業(yè)形勢嚴峻,工作爸爸媽咪也沒能力給你找,以后找工作全靠你自己。工作有 很多種,工作的環(huán)境差異也很大,如….(你給他舉例),將來你要想有好的工作、生活,完全取決于你現(xiàn)在中學階段認真努力的程度,在你這一生中,要想長大過 你理想的生活,寶貝就要珍惜你現(xiàn)在短短的三年初中。初一,你剛熟悉,轉(zhuǎn)眼你就初二了,等你認真學點知識時,一晃就是初三了,時間過去再也不會回來只能成追 憶了。(高中同理)

           你現(xiàn)在要語氣溫柔給兒子講,課本里的知識,所有的同學都在學,大家知道的相差不多,如果自己所知道的知識比別的同學多,你內(nèi)心會特別自豪,不但爸爸媽媽開 心,老師也高興,同時,你班上的同學也會很羨慕你,那時同學才來追趕你,就追不上了,你比別的同學知道的知識多,你學習起來就很輕松,你說媽媽說的對不 對?在這點上你要想辦法激起他的自大心和自信心。你要注意,只能這樣繞著講,不能直接喊他看書學習。

          3、關(guān)于不懂就要問
          上初中高中后這句話真的很重要,不能堆積問題。你把兒子抱在懷里,給他講,當天學的知識要搞懂,這樣你學起來就沒有負擔,如果有不懂的而你又不急時處理, 堆多了,就會占用花掉你更多的時間,而且還人累心累,你說媽咪說的對不對?你和同學所學的是一樣的,以后大家拉開成績差距的,其中就看哪個能做到有不懂的 就及時問老師。老師最喜歡學生有上課沒聽懂下課后去問老師或同學的,爸爸媽咪、老師盼望的是你能掌握所學的知識,豐富你的學識。我兒子班上一個同學,就做 到問同學,常常有不懂的打電話來問我兒子,在高三時時間可以長達2個小時,那個同學最后上的是北大。

           4、青春期

           你兒子上初一,快進入青春期了,這個時期很重要,當你發(fā)現(xiàn)和他說話,他開始不耐煩時,就不能在他面前羅嗦,不要強行讓他做什么,要順著他的性子,你要以他 的意愿為主,尊重他對問題的取舍。這個時候小孩最容易反著大人的想法,如大人太強勢,小孩就會頂撞,就形成小孩說話很傷人的習慣。在我兒子青春期時,每晚 啥時間睡覺,我們都不知道,都是我們先睡,也不主動找他說話,,各人做各人的事。等到初二下學期時,兒子主動來和我們談話,說游戲、說學校里的事,我們就 知道我兒子順利度過了青春期。

           另外,說一說語文,但又最沒辦法說的,除了上課認真、搞懂寫那幾種作文類型、多閱讀書籍外,我也說不上來。最后,你如果把上面說的123落實好,讓他發(fā)揮主觀能動性,所謂的學習任務重也就輕松過關(guān)了。

           雜志:我現(xiàn)在記不住當時訂哪些了,因為,兒子高考走后,書都送人了?!犊苹檬澜纭贰ⅰ秺W秘》、《讀者》、《青年文摘》、小哥白尼系列的《趣味科學》、《軍事世界》
    --------------------------------

    互動交流:
           一、一節(jié)課完全專注聽講是不可能的,如果聽懂了就會放松。課上經(jīng)常與同座講話,你先問她是誰引起的,如是同學,你不要批評她,如果是她先找同學說話,你就當天的話題問她說的是什么樣,是和上課學習有關(guān)的,也沒啥,無關(guān)的就要給她指出來做錯了。

           有三種嚴重錯誤:1、上課說話是對老師的不尊重,2、老師為了你們班上60多名學生能掌握知識,很辛苦地講解;而你和同桌講話,沒認真聽課,老師講的內(nèi)容 你沒有聽到,又辜負老師辛勤的勞動;3、又影響同學聽課,你有什么權(quán)利去影響別人認真學習呢?你為什么不下課后才去問同學而讓自己背上過錯呢?講完后請她 端個小板凳去面壁思過,仔細想一想媽咪批評的對不對?你該怎樣當好一個學生?以后上課該怎樣做才對?想清楚了來告訴媽咪。她一會兒會來給你說想清楚了,我 做錯了。你說不行你還需要想想你為什么錯,再想10分鐘。

           二、你女兒今年上二年級,正好該及時訓練她,你要讓他每天用左手玩拋接物,訓練他的右腦,還要讓他玩紙牌,家長和小孩每天玩一次紙牌加法,抽二張快速在他 面前晃一下,讓他快說出加出來的數(shù),堅持到三年級時就做一次加法一次減法,五年級以后就不用了。鍛煉瞬間注意力、快速反映能力、心算能力。畫畫是訓練形象 思惟的也要跟上。不懂的一定要去問老師。

    PS:二是很重要的,功夫做的好,上初中高中應輕松。

    posted @ 2011-07-28 15:43 狄浩 閱讀(345) | 評論 (0)編輯 收藏

    2011年6月1日 #

    1.走一條不一樣的路

    在有利于自己的市場中競爭,如果你滿足于“泯然眾人矣”,那恐怕就得跟那些低工資國家的程序員們同場競技了。

    2.了解自己的公司

    以我在醫(yī)院、咨詢公司、物流企業(yè)以及大技術(shù)公司工作的經(jīng)驗來看,這一點所言不虛。

    不同公司的運營模式差異極大。如果你理解企業(yè)的運營模式,那你就不一樣了!在這家公司中(或者對客戶而言),你是參與業(yè)務運營的資產(chǎn),你的工作能直接產(chǎn)生效益!

    3.與最優(yōu)秀的人為伍

    很早以前,我喜歡打籃球,被分配到一個水平比較高的隊里。一開始適應的確很困難,但環(huán)境的壓力越大(重大比賽),我的長進也就越明顯。

    每個領域其實都一樣:你周圍人的水平(以及對你的期望)越高,你就會變得越優(yōu)秀。

    4.制造差異

    每年學習一門新編程語言。為什么不呢?不斷嘗試新事物,你關(guān)注的技術(shù)種類越多,腳下的路就越寬廣,你的職業(yè)生涯就會日新月異。不知道幾年后Java 的趨勢如何?那就學習Clojure。學Ruby還是Python?這兩種語言都可以試試啊。然后你才能知道哪種語言更適合某個特定的項目???,掌握的語 言多了,才能在需要的時候信手拈來吧。

    5.畏懼,是最大的敵人

    還是直接從書中摘一句吧:“在畏懼中做出的職業(yè)規(guī)劃,很可能會讓自己后半輩子就一直被‘圈禁’在小隔斷里,永遠不會有創(chuàng)造明天輝煌的時刻。沒錯,那樣是安全,但有意思嗎?”

    6.要成為多面手

    如果你掌握了所在領域的知識,那你只能是一名專業(yè)人士。用PHP編程?花點時間設置一臺Apache服務器,讓PHP和MySQL都跑起來。一直在用jQuery?試試Prototype。你懂了吧。

    7.一個字:做

    別指望別人過來教你該怎么做,出去,自己學著去做!

    8.找一位好老師

    找一位好老師可以讓你在學習技術(shù)的時候有的放矢。作者給我們講述了別人是怎么指導他學習的(順便說一句,作者在這本書里講了很多個人經(jīng)歷的小故事,他居然從一位演奏家轉(zhuǎn)行來做軟件開發(fā)?。?#8220;好好研究一下目錄服務,熟悉一種UNIX變體,然后再掌握一門腳本語言。”

    請記住這句禪宗諺語:“循路覓宗師,形影不相離,師知吾亦知,吾乃成宗師。”

    9.主動教會別人

    教會別人是一種最好的學習方式。寫一篇博客能幫你搞清楚一個問題。為此,你必須先掌握很多材料,同時還要有條有理地講給別人聽(寫作技能)。如書中所言:“要想知道自己是不是真的明白,你就講給別人聽聽。”

    10.實踐,實踐,再實踐(訓練)

    只有進行大量實踐(花大量的時間)才能掌握某種技術(shù)。看的很多,寫的很少,遇到問題,改一改,又去讀代碼……(這樣下去是不行的)。

    要特別警惕拖延癥。其實,往往只要有了開頭就好辦了。

    自我加壓,效果會更好。我曾在一篇博客中提到帕金森定律:緊張的時限可以讓你提高工作效率。為什么不把這個定律用到學習上呢,比如說在y時間內(nèi)學會x?

    11.從小處入手

    每天都取得一項小成果,每天都要堅持做(寫在博客上?)。這樣一來,你只能讓自己比昨天更進步,而不能說自己比上星期進步了一點。

    12.享受過程

    關(guān)注當下,而不是目標,享受那些在追逐未來目標的途中可能無暇顧及的小勝利。人總要生活在當下。我享受編程的過程,就像享受編程的結(jié)果一樣。

    13.不要喪失危機感

    越是成功,就越容易犯重大錯誤。永遠不要忘了危機感,特別是要認識到你今天所知道的,到了明天可能就會一文不值。過去的榮耀不能保你永遠無虞。

    據(jù)書中所說,你最好是要讓自己能夠“通用”,而不要對哪種技術(shù)或哪個公司產(chǎn)生依賴。你所掌握的某些技能,甚至你的工作,到了明天都可能會變得毫無價值。因此要不斷提高/豐富/擴展自己的技能。

    14.推銷自己

    為某個項目貢獻自己的一份力量,寫一篇博客,共享自己的源代碼,成為對某個社區(qū)有用的人。

    當然,做這些事可能需要激情,要看你的愛好,但這些事也會間接地推廣你的工作成果,證明你的實力,提高你的知名度。

    15.關(guān)注市場

    書中還提到了“預警極客”,也就是那些始終引領技術(shù)發(fā)展的人。這些人說過的話往往帶有預見性,他們提到事物也許過幾天就會成為頭條新聞。關(guān)注這些人,常看他們的Twitter和博客。

    posted @ 2011-06-01 09:49 狄浩 閱讀(272) | 評論 (0)編輯 收藏

    2011年4月28日 #

     今天很榮幸能夠在亞太軟件研發(fā)團隊管理年會上采訪到姜志輝先生,請姜先生先給我們介紹一下你自己? 

    我是一個喜歡寫軟件的人,喜歡軟件行業(yè)的這樣一個人,有些時候人很難找到自己和自己興趣愛好相關(guān)的這樣的一個行業(yè),幸運的是我找到了自己,就是把我自己的興趣、我自己的愛好和我自己的工作能夠融合在一起的。所以如果要做一個自我介紹,我是一個快樂主義軟件的消費者。

     那目前我們也知道國內(nèi)采用敏捷方法來開發(fā)軟件的團隊越來越多,但是我們也了解到很多團隊只是注意到這個敏捷的一種形,而沒有注意到它的神,所以說我們想了解一下你對此有哪些自己的想法或者建議。 

    我個人建議是這樣的,要想能夠應用敏捷必須有個思想上的轉(zhuǎn)變,這個轉(zhuǎn)變對于很多領導層來說非常的難。因為什么呢?因為需要在他的字眼里去除這兩個字,“管理”這兩個字,我認為在敏捷里邊它有一個很重要的概念是領導,而不是管理。它更關(guān)注于人,更關(guān)注于人的本性,而且也關(guān)注于經(jīng)濟學,所以我個人認為,如果要學習敏捷,我認為應該有兩點,第一點你要關(guān)注于人,關(guān)注于團隊,第二個部分是關(guān)注于它背后的軟件經(jīng)濟學,就像我做一個事情,怎么樣做可能會更合理?

    舉個例子說,有很多人會有這樣的一些誤解,我前一段時間就有人問過這樣的問題,說用了敏捷是不是不寫文檔了?這是一個誤解。敏捷本身不是不寫文檔,它只是說做文檔的目的是為了什么?是為了溝通。那么好了,就溝通這么一點來說,有什么樣的方式能夠更好的體現(xiàn)溝通呢?如果我們?nèi)撕苌?,大家坐在一起,七八個人,三五人一個小團隊,這個時候我們會發(fā)現(xiàn),如果文檔的目的是為了溝通,面對面的溝通、交流是最好的,所以這個時候應該取消文檔。

    但是如果我面對的可能是上百人的一個大團隊,而且是分布式的,這個時候你會發(fā)現(xiàn),如果面對面的溝通交流,效果不是那么好,其實不如文檔的效果會更好,所以這個時候你會發(fā)現(xiàn)能夠表達溝通意圖的那個文檔會比我們說的“溝通”,就是面對面的溝通交流會更好。所以敏捷關(guān)注的是背后的本質(zhì),它關(guān)注的是如何才能更好的達到實效,這是敏捷。

    所以我說要想應用敏捷必須有兩點轉(zhuǎn)變,第一個點是對于軟件團隊基礎建筑材料的不同,很多人把軟件開發(fā)一直比喻成建筑,實際上不一樣,它們的材料不一樣。構(gòu)建軟件的基本材料是人。是人就有缺點,就會有弱點,所以應用敏捷、學習敏捷首先第一個是對人的認識,關(guān)注于人,關(guān)注于團隊;第二點是可能要關(guān)注于敏捷背后的一些經(jīng)濟學,這是我個人的一些建議。

     很好的建議,目前采用敏捷的團隊很多也在用Scrum,很多人說,一提到敏捷,那就是Scrum,對于精益,對于XP,包括對于看板,對于Crystal卻不是非常的了解,那你能不能簡單給我們大家介紹一下它們各自的特點。 

    如果說介紹每一個各自特點,就像介紹每一個公司的每一個方法的招式一樣,因為它們是實踐。那么敏捷聯(lián)盟之所以能夠成為聯(lián)盟,是因為有很多方法融合在一起。包括我們介紹這個敏捷的宣言,敏捷的原則,是因為在宣言這個部分,它們的價值觀部分達到了統(tǒng)一。然后其次是在原則上達到了基本的一致,而在方法上它們各有各的不同,所以它們的關(guān)注點是不一樣的,比如說Scrum它本身是一種開發(fā)框架,關(guān)注點是迭代的框架,嚴格的說,它是一個迭代閉環(huán)的關(guān)注點。

    而水晶方法論,它可能關(guān)注的是一個什么概念呢?它可能更多的是關(guān)注如何能構(gòu)建一個好的團隊,一個團隊它應該具有什么樣的屬性。包括極限,像Kent Beck。他們在把自己的一些成功的實踐拿出來和大家分享的這么一個方法集,尤其到了第二版,像極限編程的第二版,它提出它自己的價值觀、原則還有實踐。包括還有一些我們從日本的經(jīng)濟方法里邊提練的一些方法,它們是方法不太一樣,但是本質(zhì)是一樣的。

    如果我個人應用的話,我的推薦是,如果要想使用敏捷,可以從Scrum開始,為什么?因為它是最簡單、最輕量的一個管理方法,而且它是從管理入手的,但是如果要想應用的話,我個人建議,可以從極限編程入手。我們的開發(fā)團隊,可以自己去應用,可以不通過管理層。比如說你使用測試驅(qū)動開發(fā),你使用重構(gòu),你使用持續(xù)構(gòu)建,我想管理團隊不會說阻止你應用這些實踐,所以一個團隊,它可以不通過管理層,而使用這些的敏捷實踐,最佳實踐。

    如果通過管理層,Scrum是一個可以推廣的一個方法,而關(guān)注于團隊的建設我個人認為像水晶方法論可能會更合適一些。但是它們背后的本質(zhì),那個才是我們最需要關(guān)注的東西,實踐的手法是我們用來進行借鑒和學習并且需要加以改造的。

     現(xiàn)在很多組織或者是企業(yè)都在,可以說在盲目的采用敏捷方法,以為它可以去解決傳統(tǒng)方法的所有的弊端,遇到的所有的問題,但是你也知道,結(jié)果往往并不是非常的如意。那么您個人覺得敏捷無法解決的問題主要有哪些? 

    敏捷首先無法解決的問題是思想的瓶頸。因為很多人在使用敏捷的時候,原本的出發(fā)點就錯了,比如說我作為一個管理者,我為什么要使用敏捷,我是為了提高生產(chǎn)效率,提高質(zhì)量,說白了它就是期望以更低的成本,完成更高質(zhì)量投資回報的這樣的一種方法。它希望是這樣一個東西,它本質(zhì)的思想沒變,換句話說,它一開始就把敏捷當作一個工具,它在本質(zhì)上,在思想上沒有發(fā)生改變。

    比如說他們沒有關(guān)注于背后的人,沒有關(guān)注于以人作為基礎的團隊,也沒有關(guān)注于軟件經(jīng)濟學,沒有關(guān)注這些最基本的價值觀和原則,而一上來就使用這樣的一些方法,所以我說這個是很多團隊最糟糕的部分,任何沒有達到團隊思想統(tǒng)一的流程,都會淪為一種形式。所以我說,最難的部分是這樣的:他們沒有關(guān)注于底層的這個真正的背后的思想,而關(guān)注于它的方法,或者形式。那么我們說這是敏捷,是很多人在敏捷失敗的最基本的原因,不關(guān)注于本質(zhì)。

     那么很多時候,我們的研發(fā)團隊自己可能也是用了敏捷的思維,敏捷的方法。但是管理層卻沒有完成轉(zhuǎn)變,所以說這種時候,常常會存在一些碰撞。那么在這個時候,敏捷團隊的成員,或者是管理層應該是各自怎樣,或者是去如何對待這種碰撞? 

    提到這個問題,我想起祖爾•索伯斯基在《祖爾說軟件》里邊,在博客里邊曾經(jīng)提到過這個觀念,說如果作為一個計算,作為一個估算,程序員和管理者兩個之間發(fā)生了沖突,這個時候怎么辦呢?我記得祖爾•索伯斯基當時提出的概念是這樣的,你給出你自己真實的想法,然后讓時間去證明它。所以不管是一個開發(fā)者還是一個管理者,我認為爭吵是不必要的,最好的方法就是實踐。

    舉個例子說,對一個東西它是否能產(chǎn)生這樣的效果,那我去實踐,我是一個開發(fā)者,我用實踐來說話,我用實踐來告訴你,這樣一個策略性開發(fā),確實提高了我的代碼質(zhì)量,給了我一個更容易理解、更容易溝通,而且變化更靈活的這樣一個代碼,而我以后適應變化也非常的好,這個用事實說話。而作為一個管理者來說,它更應該關(guān)注的是結(jié)果,就是我做這樣一件事情,它給我?guī)硎裁礃拥慕Y(jié)果,而不是它所謂的形式,一定要放開。

    因為作為一個管理者來講,作為一個程序員來說,它首先是需要尊重,而尊重是建立在什么基礎之上呢?是建立在事實的基礎上的,所以我個人建議無論是一個程序員還是一個項目經(jīng)理,當他們有沖突的時候,最好的方法就是用實踐來證明你的觀點。

     證明給你的管理層? 

    沒錯。

     那另外一個問題就是關(guān)于在日本劍道里面有,所謂有守、破、離三個方法。那所謂守,但是怎么來講?就是在我們采用敏捷方法的過程中,其實大多數(shù)的組織和團隊,還都是只能達到一個守的階段?很少有能達到第二個階段,就是破,那更不用說達到第三個階段,達到離的階段,那你認為應該如何做才能去達到第二個階段,達到破這個階段?

    達到這個階段有幾種方式,第一種方式,我覺得你必須經(jīng)過成千上萬次的演練,就像我會投籃,我要有球感,我必須經(jīng)過不斷的投籃練習,不斷的得到失敗,從里面得到一些經(jīng)驗教訓,這個是不可以越過的。所以我說,你要想達到破的境界,必須經(jīng)過守這個階段。但是如果老是經(jīng)過守,我們的成本是不是太高了?所以有些時候我們可以請一些教練,就像宮本武藏在寫《五輪書》的時候,他自己本身是一個劍道高手,為了達到更高的境界,他找禪師來幫助他找到劍術(shù)最高境界的本質(zhì),所以劍道最主要目的是能夠戰(zhàn)勝對方,就是在這一點上能夠得到認識。因此我認為,通過教練,通過外部的一些環(huán)境,一些人員可以給我們提供幫助。

    另外一個方式,就是能夠不斷的審視自己,反思、總結(jié)、改變,這很重要。比如說我今天用了這么一個招式達到這樣一個效果了,那么好了,經(jīng)過一段時間,我自己總結(jié),我為什么能夠做,我背后的目的是什么?不斷地問為什么,不斷地反思,不斷地改進,不斷地總結(jié),所以我要說的概念是這樣的:如果要想達到破的境界就必須經(jīng)過守的境界,但是要從守達到破,不是你不經(jīng)過思考的,我認為這種思考,可以尋求一些幫助,而反思改進是最好的方式。

     自己要主動,有時候也要借鑒一些外部的力量? 

    外界的力量,可以借助一些外界的力量,因為外界的力量它看的可能更清楚,在你偏離方向的時候,它能幫你回到正確的位置上去。

     對,這就是教練的作用。那我們也了解到像80/20法則這個在軟件開發(fā)中是一個非常有趣的現(xiàn)象,也是一個有趣的經(jīng)濟學的問題,那敏捷團隊如何才能真正交付客戶價值? 

    尊重,首先是尊重,軟件開發(fā),我也一直在提到一個問題,軟件開發(fā)是一種博弈。博弈有很多種,那么軟件開發(fā)本身,它不是一種零和的博弈,什么是零和博弈?就是你犧牲某一個人的利益,以某一個人的付出作為代價來獲得利益,當兩個人加到一起的時候,它的結(jié)果為零。實際上有些時候,我們很多團隊是這樣的,有一段時間,我經(jīng)常聽到很多人提出這個問題,包括會間吃飯的時候有人提到這個問題。什么是好的軟件?就是你做這么一個東西給用戶,那么用戶認為它很好,沒有發(fā)現(xiàn)里面的問題,這就是一個好的軟件。我們認為這個認識是錯誤的,這是一種零和博弈。一旦這種東西進入一種循環(huán),一種惡性循環(huán),往復的這樣一個博弈,馬上進入一種零和博弈,所以軟件開發(fā)不是零和博弈,就是它不是說誰占了誰的便宜,或者誰的收益是以另外一個人的付出作為一種代價的,軟件開發(fā)應該是一種非零和博弈,是雙贏的。大家共同來完成這樣一個事情,每個人在里邊獲得自己的價值,是這個樣子。

    那么在這個基礎上,我們會發(fā)現(xiàn),我們需要相互的不斷的溝通,交流,反饋這樣的一個過程。舉個例子來說,我們在很多開發(fā)團隊里邊,用戶會一直要求看我們的文檔,或者看我們的進度,對我們進度進行評審。但實際上我們很多客戶它真的會看你的文檔嗎?你的文檔交付給它,我們大家都知道,我交付那個文檔有些時候是沒有任何意義的,而客戶其實有些時候,拿著文檔不看,那它為什么要求文檔?實際上是對你沒有信心。

     找到一種安全感? 

    對,所以只要你能夠通過一種方法,不斷的給他建立信心,你們兩個之間就會有尊重,那么有了尊重以后你們就會有了信任,有了信任就會有了溝通。那么你會發(fā)現(xiàn),你們交互是雙贏的,你交付給用戶,通過反饋交付價值,而用戶通過和你溝通,來創(chuàng)造符合它自己的更高的投資回報,是這樣的一個過程。

     那我們也了解到,快速反饋是敏捷的一個基本的要求,那為了做到快速反饋,當然最有效的溝通是最關(guān)鍵的,這個問題是怎樣才能進行最有效的溝通? 

    有些時候確實存在著很多問題,就像一個優(yōu)秀的歌手和它的制片人一樣,一個電影的投資人和一個非常棒的電影演員(音樂人),它們之間一定會有沖突,因為一個是追求藝術(shù)的,我是一個搖滾愛好者,我追求藝術(shù),那些人根本不懂我的藝術(shù)。但是作為一個投資人來說,他要求的是商業(yè)回報,所以它們兩個之間一定會有這樣的一些問題。

    同樣的方式,我們也會有這樣的一些問題。前兩天一個朋友給我又推薦了一個笑話,這個笑話概念是什么樣子呢?是這樣的,就是天很熱,夫妻倆,然后這個妻子在里邊去洗澡,洗完澡之后,這個丈夫也鉆進去洗澡了,妻子剛出來,門響得很急促,妻子就很著急,拿過一個圍巾把自己給圍上了,到了門口,有個男子,拿了800美金,看到妻子就說,如果你把那件衣服脫了,我把這個800美金給你,妻子猶豫了片刻之后把衣服脫了,拿了800美金。過了一會兒,丈夫出來了。丈夫說剛才是誰敲門?。科拮诱f是誰誰來敲門了,他說那他有沒有提到他還欠我800美金的問題。那么看了這個笑話以后,說明一個什么問題呢?就是要和你的合伙人和你的伙伴分享你們之間的知識,這樣才能避免一些不必要的風險。

    所以剛才我講了兩個東西,一個是什么呢?一個是音樂界里邊你的投資人和演員(音樂人)之間它們有的沖突。那么另外一個,一個小笑話是夫妻之間的東西。但是不管怎么說都是在一起合作的人,那么合作的人之間總會有一些分歧,這是不可避免的,夫妻之間也會吵架。但是最關(guān)鍵的問題在于你必須和你的合伙人一起來分享,否則你們會發(fā)現(xiàn)你們失去的東西會很多。

    舉個例子說,如果我們兩個人在一塊開發(fā),我加班加點,我自己閉關(guān),通過一個月我終于解決了一個難度很高的問題,結(jié)果在我匯報的時候,其中有一個人對我說,那個問題在兩個月之前早已經(jīng)解決了,這就是我剛才說的,如果不溝通,那么你會發(fā)現(xiàn),你們浪費的時間、人員、這種精力、成本這樣的一些浪費。

     那如何讓這種溝通,彼此之間的溝通更加有效果一點或者更加有效一些? 

    我覺得首先要學會把一個團隊建立成一個能夠相互尊重的團隊,某一個固定的方法可能很難。舉個例子說我的團隊采用的方法是什么,是以學習和游戲為主的這樣的一個方式,不一定適于你的團隊。舉個例子說,我的團隊每天下午的五點會在一起打游戲,但打的游戲一定不是單機版游戲,是團隊合作游戲,比如說魔獸世界,比如說CS,好多。比如說在玩兒魔獸世界時,也需要幾個人相互的合作。

    那么這種合作,就是你的法師,你的戰(zhàn)士,你的盜賊,還有包括你的牧師,它們之間一定要相互合作的。中間任何一個人不到位,你是很難完成這個關(guān)口。好的,如果失敗的話,我們會發(fā)現(xiàn)最后我們這個游戲玩兒完了以后很多人就會總結(jié)為什么?誰沒有到位,建立起這樣一個相互溝通,團隊相互之間的交流的這樣一個氛圍。包括我們一塊去攀巖,一塊去騎馬,一塊去爬山,這些方式都是幫助我們團隊建立溝通,建立交流,建立團隊的這么一個非常好的方法,我的團隊是這樣用的。

    但是到了你的團隊是怎么做得呢?我想應該有更好的方法或更好的實踐,但是我堅決反對以硬性的條文來規(guī)定我們團隊之間應該進行溝通的,否則就像我剛才說的就會變?yōu)樾问搅恕?/span>

     還是應該是一種自然的真誠的溝通? 

    對,自然的真誠的,最好的話就是團隊之間建立起一個相互尊重的、相互信任的這么一種關(guān)系。怎么建立?可以從其它的游戲規(guī)則里面去學習,打游戲也好,打籃球也好,只要是一種團隊活動就可以舉行,只要是這樣的一種以團隊為基礎的非零和的博弈,只要是這種博弈,都可以學習。比如說我們一起看籃球,比如說我們一起看橄欖球,我記得米盧在世界杯之前,給國家隊看那個橄欖球的電影,其實你會發(fā)現(xiàn)我們的軟件開發(fā)完全可以像那種以團隊作為藝術(shù)的,非零和游戲里邊的任何一款進行學習,找到相互溝通的方法和密鑰。

     很多東西其實都是相同的。另外一個問題是關(guān)于測試驅(qū)動開發(fā)的,我們也知道測試驅(qū)動開發(fā)是極限編程中十分重要的一個實踐,從第一次系統(tǒng)提出TDD,到現(xiàn)在差不多也有十多年了,其中也是爭論不斷,但是很少有團隊能夠真正的去應用這個測試驅(qū)動開發(fā),并通過測試驅(qū)動開發(fā)來去增強信心,你認為在這個整個的過程中,大家可能遇到的困惑,或者困境是什么,那開發(fā)的團隊應該如何開始實踐TDD? 

    沒錯,問題有幾個,我不能全列出來。舉個例子來說,有的人為什么使用測試驅(qū)動開發(fā)?因為測試驅(qū)動開發(fā)流行了,所以我使用測試驅(qū)動開發(fā)。為了測試驅(qū)動而測試驅(qū)動,這種東西一定會失敗,同樣的方式,為了敏捷而敏捷一定會失敗。

    第二個部分,很多人認為測試驅(qū)動開發(fā)是浪費時間的,浪費我的成本的,很多人在心里上去排斥它,就是一個問題。思想上沒有達到認識,它不知道測試驅(qū)動開發(fā)給我們帶來了什么樣的好處,所以有一個問題,測試驅(qū)動開發(fā)到底給團隊帶來什么樣的好處,這個在思想上一定要達成共識。舉個例子說,我們說測試驅(qū)動開發(fā)本身它不是測試,它不是測試。我很多人說,測試驅(qū)動開發(fā)是白盒測試或者黑盒測試。測試驅(qū)動開發(fā)它不是測試,它是開發(fā),它是設計。它有一個很好的一個閉環(huán)。

    首先我來解釋第一個問題,說測試驅(qū)動開發(fā)浪費時間,實際上把我們軟件開發(fā)分成幾個流程,需求、分析、設計、實現(xiàn)、測試,這么幾個部分,如果再加上一個調(diào)試,什么部分最浪費時間?我想很多人會選擇調(diào)試,會選擇設計,會選擇分析,但是少有人會選擇開發(fā),也就是編碼,少有人會選擇這個部分。因為編碼僅僅是當你的思想成熟的時候,然后進行開發(fā)的,所以作為測試驅(qū)動開發(fā)來說,你可能只是加上三行或者是五行就可以完成這個部分了,因為測試驅(qū)動開發(fā)代碼很少,所以你耽誤的時間只是幾分鐘而已,但是你獲得好處是什么,你會發(fā)現(xiàn)你好像幾乎不需要調(diào)試了。

    當然這個可能有點絕對,但是這是從我個人的角度來看,幾乎不需要調(diào)試了。 第二個部分,它給了你一個立即進入狀態(tài)的這樣的一個規(guī)則,就像我們很多人說,比如說像我原來開發(fā)的時候,這個地方應該怎么進行設計?我會花很多時間去學習,我會去思考。在思考之前我會去學習,買一些書籍,或者查一些相關(guān)資料,看看哪一個方案更好,那么最后什么時候去決定這個設計呢,當時間到的時候,我沒有辦法了,然后我趕快倉促的給出一個設計來。但是你會發(fā)現(xiàn)測試驅(qū)動開發(fā)是一個什么概念呢,一開始以故事的方式,以用戶使用的方式來描述出你的,你是應該怎么去用的,那么很快通過代碼把它表述出來,通過這種代碼,說明這個代碼是應該這樣設計的,所以它給了你一個方式。

    就像我爬山的時候,在我的前方定了一個大長釘,我的目標在那個地方,而且我能快速前進,那么好了,當我快速前進的時候,我完成了一個部分,緊接著下一步,所以它非常符合人性,人性是什么?人總是希望能大踏步前進,但是人能夠做的事情是小步前進,而且我們會發(fā)現(xiàn)如果我們不能飛翔,那就快速的移動我們的步伐,達到飛的狀態(tài),所以我認為這是測試驅(qū)動開發(fā)的本質(zhì)。

    另外一塊,從面向?qū)ο蟮倪@個角度來說,它也非常好。比如說我們在軟件開發(fā)里面講過一個什么?叫做高內(nèi)聚低耦合。高內(nèi)聚怎么解決的?我記得Peter曾經(jīng)講過一個概念,說什么呢?DIY原則,你把你自己想象成這個對象,然后你在那個世界里面,在那個領域里邊,你應該具有什么樣的職責或者行為。那么好的,我們會發(fā)現(xiàn),用測試驅(qū)動開發(fā),能夠封裝意圖,就是那個對象到底要干什么,它的意圖跟行為是一致的,好的,用測試驅(qū)動開發(fā)來封裝我的意圖,然后用一些手法,比如說重構(gòu),比如說設計模式,來解耦對這個意圖的實現(xiàn),它是非常符合面向?qū)ο蟮脑瓌t的。

    第三個部分,測試驅(qū)動開發(fā)本身又能夠與持續(xù)構(gòu)建很好的形成一個反饋的閉環(huán),所以我們說,如果使用測試驅(qū)動開發(fā),能夠認識到背后的本質(zhì),它符合經(jīng)濟學,因為它能夠形成一個測試閉環(huán),能夠快速的找到問題所在,來節(jié)省我們的成本。它符合設計本身、高內(nèi)聚低耦合的原則。我們會發(fā)現(xiàn)測試驅(qū)動開發(fā)本身是從能夠讓你符合人性的這個角度來出發(fā)的,如果能夠認識到,然后快速的去做一些實踐,實踐過程中不斷地反思,不斷地反思再去快速的使用。

    那么我的建議是這樣的,就是每一次使用不要把它當作一種形式,認真地去體會測試驅(qū)動開發(fā)的好處。當然了,剛剛使用的時候會有很多問題,因為改變一個人的習慣會非常非常的難,這個時候需要一定的勇氣,就像我戒煙一樣,我已經(jīng)戒了三次煙了,到現(xiàn)在為止還是沒有戒掉,所以改變自己的習慣,需要點勇氣,不過有一個好消息是應用測試驅(qū)動開發(fā)比戒煙容易的多。

     非常好的類比,最后一個問題是關(guān)于總結(jié)回顧的。我們也知道總結(jié)回顧是自我改善的一個基本的方法,許多團隊都會定期,現(xiàn)在都已經(jīng)習慣定期舉行一些回顧會議,但是遇到的問題是,問題還是層出不窮,而且很多問題也是,你根本沒有辦法去好像是根治它們,那么作為您,如果說去面對這樣的問題,您認為應該去如何去避免這種現(xiàn)象? 

    我覺得有一個很重要的問題是,很多團隊它不斷的回顧,不斷的總結(jié),但是從來不改進。我們團隊有一個很重要的概念就是持續(xù)改進,反思改進,就是遇到了問題以后,我們找到問題,找到問題,找到它。然后去解決這個問題背后的一些原因。比如說我們現(xiàn)在很多團隊都是這樣的,一個項目完了,就去評審,評審完以后給出很多的意見,說我們什么地方不成功,然后我們會列出很多條例,列完就列完了,我們再也沒有去改進它,這個是很多團隊最可怕的問題,因為很多時候我們不是不總結(jié),是總結(jié)了從來不改進。

    所以這里我想用兩段話來回答這個問題。那么第一段話,是Kent Beck的話:“保持專注、適應、改進”,就是那句話,“保持專注、適應、改進!所以最后這個改進是要有的,不能光反思總結(jié)而不改進。第二句話是祖爾說的一句話:“軟件開發(fā)是這樣一個過程,你瞄準一個目標,瞄準、臥倒、射擊、移動...” ,所以我們說在軟件開發(fā)過程中,千萬不要想大踏步前進,一步一步的前進,那么我們發(fā)現(xiàn)自己身上有一個問題,改正它,讓它變成我們的一個習慣,再發(fā)現(xiàn)一個問題,然后再改進它,再變成我們的一個習慣。

    所以在此我也給想使用敏捷的人一個建議,就是我們在使用一個實踐的過程中,有些時候,不要一上來就把所有的實踐都堆過來,這個時候更改非常非常難,找到我們最關(guān)注的部分,然后在這個部分的思想價值觀達到了統(tǒng)一以后,去逐漸的去改變它,形成一個習慣,再加上一個習慣。什么是優(yōu)秀的團隊?優(yōu)秀的團隊只是有幾個優(yōu)秀的習慣而已,但是這些習慣的養(yǎng)成非常非常難。

    還有一個好消息是這樣的,在敏捷的實踐里邊很多的實踐是相互套接的,就像剛才我們討論了很多問題,它們都是離不開的,比如說溝通,反饋,交流,測試驅(qū)動開發(fā),持續(xù)構(gòu)建,它們都是連在一起的。那么迭代本身緊接著后面就是反思改進,反思改進完了下次迭代。迭代過程中我們需要測試驅(qū)動開發(fā)、持續(xù)集成,再后面圍繞著一個迭代的過程,它們之間是相互連接的,只要你有一個好的實踐,并且體會到了,你馬上會有第二個,第三個,第四個實踐。

    posted @ 2011-04-28 15:54 狄浩 閱讀(298) | 評論 (0)編輯 收藏

    僅列出標題  下一頁
    主站蜘蛛池模板: 免费v片视频在线观看视频| 永久中文字幕免费视频网站| 久草视频免费在线| 思思re热免费精品视频66| 四色在线精品免费观看| 免费国产高清视频| 色噜噜AV亚洲色一区二区| 亚洲∧v久久久无码精品| 亚洲一卡2卡3卡4卡国产网站 | 亚洲三级在线播放| 亚洲人成未满十八禁网站| 一级毛片试看60分钟免费播放| a毛看片免费观看视频| 91精品免费在线观看| 国产精品久久免费视频| 亚洲日韩国产精品第一页一区| 亚洲国产情侣一区二区三区| 国产综合成人亚洲区| 亚洲免费观看视频| 毛片免费观看视频| 亚洲中文字幕无码专区| 亚洲日本国产精华液| 老司机精品视频免费| 中文字幕在线观看免费视频| 日韩免费毛片视频| 亚洲AV无码久久精品狠狠爱浪潮| 中文字幕在线日亚洲9| 国产高清对白在线观看免费91 | 国产va免费精品观看精品| 四虎影视在线永久免费观看| 久久夜色精品国产嚕嚕亚洲av| 亚洲 日韩 色 图网站| 三级黄色片免费看| 日韩精品成人无码专区免费| 国产亚洲美女精品久久久| 亚洲娇小性色xxxx| a级黄色毛片免费播放视频| 成年女人毛片免费视频| 亚洲阿v天堂在线| 综合偷自拍亚洲乱中文字幕| 最近2018中文字幕免费视频|