失樂園

          技術(shù)之路

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

          2011年11月14日 #

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

          1,創(chuàng)建組

          groupadd test

          增加一個(gè)test

          2,修改組

          groupmod -n test2 test

          test組的名子改成test2

          3,刪除組

          groupdel test2

          刪除 test2

          4,查看組

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

           一,組操作

          1,創(chuàng)建組

           

          groupadd test

           

          增加一個(gè)test

           

          2,修改組

           

          groupmod -n test2  test

           

          test組的名子改成test2

           

          3,刪除組

           

          groupdel test2

           

          刪除 test2

           

          4,查看組

           

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

           

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

           

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

           

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

           

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

           

          二,用戶操作

           

          1,增加用戶

           

          查看復(fù)制打印?

          [root@krlcgcms01 mytest]# useradd –help

          Usage: useradd [options] LOGIN

           

          Options:

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

          -c, comment COMMENT         對(duì)用戶的注釋

          -d, home-dir HOME_DIR       設(shè)置用戶的登錄目錄

          -D, defaults                改變?cè)O(shè)置

          -e, expiredate EXPIRE_DATE 設(shè)置用戶的有效期

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

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

          -G, groups GROUPS           使用戶加入某個(gè)組

          -h, help                    幫助

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

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

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

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

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

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

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

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

          -s, shell SHELL             登錄時(shí)候的shell

          -u, uid UID                 為新用戶指定一個(gè)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       設(shè)置基本路徑作為用戶的登錄目錄

           -c, --comment COMMENT         對(duì)用戶的注釋

           -d, --home-dir HOME_DIR       設(shè)置用戶的登錄目錄

           -D, --defaults                改變?cè)O(shè)置

           -e, --expiredate EXPIRE_DATE 設(shè)置用戶的有效期

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

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

           -G, --groups GROUPS           使用戶加入某個(gè)組

           -h, --help                    幫助

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

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

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

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

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

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

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

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

           -s, --shell SHELL             登錄時(shí)候的shell

           -u, --uid UID                 為新用戶指定一個(gè)UID

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

           

          passwd test

           

          增加用戶test,有一點(diǎn)要注意的,useradd增加一個(gè)用戶后,不要忘了給他設(shè)置密碼,不然不能登錄的。

           

          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),查看當(dāng)前登錄用戶

           

          [root@krlcgcms01 ~]# w

          [root@krlcgcms01 ~]# who

           

          b),查看自己的用戶名

           

          [root@krlcgcms01 ~]# whoami

           

          c),查看單個(gè)用戶信息

           

          [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 狄浩 閱讀(32484) | 評(píng)論 (0)編輯 收藏

          2011年11月13日 #


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

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

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

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

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

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

          2011年11月2日 #

              

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

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

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

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

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

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

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

          1,linux不是玩具

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

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

          "如果你還沒有好好的讀完過一本linux安裝及入門教材就不要到初學(xué)者論壇來問題!因?yàn)槟氵B問問題的資格都沒有! " 這是我的一個(gè)比較偏激的觀點(diǎn).

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

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

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

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

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

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

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

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

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

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

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

          4,學(xué)習(xí)linux不是逛自由市場(chǎng).

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

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

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

          6,忘記windows的思維方式

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

          7,入門以后多學(xué)命令

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

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

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

          8,學(xué)會(huì)管理系統(tǒng)

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

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

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

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

          10,學(xué)習(xí)專業(yè)課程

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

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

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

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

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

           

           

           

          二、

          當(dāng)前社會(huì)對(duì)Linux人才需求+談linux學(xué)習(xí)方法(轉(zhuǎn)貼)
          2006年11月30日 星期四 10:08

          --=當(dāng)前社會(huì)對(duì)Linux人才的需求 =--


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


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

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


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

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


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

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

          2011年10月12日 #

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

          設(shè)置preferences-->General-->Editors-->Text Editors-->

          when mouse moved into hover:選擇Close hover

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

          2011年9月15日 #

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

          2011年9月14日 #

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

          2010-11-22 01:50

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

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

          -------------------------------------------------------------------------
          /*
          想變成
          姓名       語文        數(shù)學(xué)        物理      
          ---------- ----------- ----------- -----------
          李四       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ù)學(xué)' , 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ù)學(xué)' , 84)
          insert into tb(Name , Subject , Result) values('
          李四' , '物理' , 94)
          go

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

          --
          動(dòng)態(tài)SQL,指subject不止語文、數(shù)學(xué)、物理這三門課程。
          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 狄浩 閱讀(447) | 評(píng)論 (0)編輯 收藏

          2011年7月28日 #

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

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

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

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

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

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

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

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

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

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

          關(guān)于吃飯:

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

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

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

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

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

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

           

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          胃口不開問題:吃七分是常識(shí)。

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

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

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

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

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

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

           

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

          ------------------------------------
          互動(dòng)交流:

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

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

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

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

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

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

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

                 4、青春期

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

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

                 雜志:我現(xiàn)在記不住當(dāng)時(shí)訂哪些了,因?yàn)椋瑑鹤痈呖甲吆螅瑫妓腿肆恕!犊苹檬澜纭贰ⅰ秺W秘》、《讀者》、《青年文摘》、小哥白尼系列的《趣味科學(xué)》、《軍事世界》
          --------------------------------

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

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

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

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

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

          2011年6月1日 #

          1.走一條不一樣的路

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

          2.了解自己的公司

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

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

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

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

          每個(gè)領(lǐng)域其實(shí)都一樣:你周圍人的水平(以及對(duì)你的期望)越高,你就會(huì)變得越優(yōu)秀。

          4.制造差異

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

          5.畏懼,是最大的敵人

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

          6.要成為多面手

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

          7.一個(gè)字:做

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

          8.找一位好老師

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

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

          9.主動(dòng)教會(huì)別人

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

          10.實(shí)踐,實(shí)踐,再實(shí)踐(訓(xùn)練)

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

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

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

          11.從小處入手

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

          12.享受過程

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

          13.不要喪失危機(jī)感

          越是成功,就越容易犯重大錯(cuò)誤。永遠(yuǎn)不要忘了危機(jī)感,特別是要認(rèn)識(shí)到你今天所知道的,到了明天可能就會(huì)一文不值。過去的榮耀不能保你永遠(yuǎn)無虞。

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

          14.推銷自己

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

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

          15.關(guān)注市場(chǎng)

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

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

          2011年4月28日 #

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

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

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

          我個(gè)人建議是這樣的,要想能夠應(yīng)用敏捷必須有個(gè)思想上的轉(zhuǎn)變,這個(gè)轉(zhuǎn)變對(duì)于很多領(lǐng)導(dǎo)層來說非常的難。因?yàn)槭裁茨兀恳驗(yàn)樾枰谒淖盅劾锶コ@兩個(gè)字,“管理”這兩個(gè)字,我認(rèn)為在敏捷里邊它有一個(gè)很重要的概念是領(lǐng)導(dǎo),而不是管理。它更關(guān)注于人,更關(guān)注于人的本性,而且也關(guān)注于經(jīng)濟(jì)學(xué),所以我個(gè)人認(rèn)為,如果要學(xué)習(xí)敏捷,我認(rèn)為應(yīng)該有兩點(diǎn),第一點(diǎn)你要關(guān)注于人,關(guān)注于團(tuán)隊(duì),第二個(gè)部分是關(guān)注于它背后的軟件經(jīng)濟(jì)學(xué),就像我做一個(gè)事情,怎么樣做可能會(huì)更合理?

          舉個(gè)例子說,有很多人會(huì)有這樣的一些誤解,我前一段時(shí)間就有人問過這樣的問題,說用了敏捷是不是不寫文檔了?這是一個(gè)誤解。敏捷本身不是不寫文檔,它只是說做文檔的目的是為了什么?是為了溝通。那么好了,就溝通這么一點(diǎn)來說,有什么樣的方式能夠更好的體現(xiàn)溝通呢?如果我們?nèi)撕苌伲蠹易谝黄穑甙藗€(gè)人,三五人一個(gè)小團(tuán)隊(duì),這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn),如果文檔的目的是為了溝通,面對(duì)面的溝通、交流是最好的,所以這個(gè)時(shí)候應(yīng)該取消文檔。

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

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

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

          如果說介紹每一個(gè)各自特點(diǎn),就像介紹每一個(gè)公司的每一個(gè)方法的招式一樣,因?yàn)樗鼈兪菍?shí)踐。那么敏捷聯(lián)盟之所以能夠成為聯(lián)盟,是因?yàn)橛泻芏喾椒ㄈ诤显谝黄稹0ㄎ覀兘榻B這個(gè)敏捷的宣言,敏捷的原則,是因?yàn)樵谛赃@個(gè)部分,它們的價(jià)值觀部分達(dá)到了統(tǒng)一。然后其次是在原則上達(dá)到了基本的一致,而在方法上它們各有各的不同,所以它們的關(guān)注點(diǎn)是不一樣的,比如說Scrum它本身是一種開發(fā)框架,關(guān)注點(diǎn)是迭代的框架,嚴(yán)格的說,它是一個(gè)迭代閉環(huán)的關(guān)注點(diǎn)。

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

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

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

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

          敏捷首先無法解決的問題是思想的瓶頸。因?yàn)楹芏嗳嗽谑褂妹艚莸臅r(shí)候,原本的出發(fā)點(diǎn)就錯(cuò)了,比如說我作為一個(gè)管理者,我為什么要使用敏捷,我是為了提高生產(chǎn)效率,提高質(zhì)量,說白了它就是期望以更低的成本,完成更高質(zhì)量投資回報(bào)的這樣的一種方法。它希望是這樣一個(gè)東西,它本質(zhì)的思想沒變,換句話說,它一開始就把敏捷當(dāng)作一個(gè)工具,它在本質(zhì)上,在思想上沒有發(fā)生改變。

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

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

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

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

          因?yàn)樽鳛橐粋€(gè)管理者來講,作為一個(gè)程序員來說,它首先是需要尊重,而尊重是建立在什么基礎(chǔ)之上呢?是建立在事實(shí)的基礎(chǔ)上的,所以我個(gè)人建議無論是一個(gè)程序員還是一個(gè)項(xiàng)目經(jīng)理,當(dāng)他們有沖突的時(shí)候,最好的方法就是用實(shí)踐來證明你的觀點(diǎn)。

           證明給你的管理層? 

          沒錯(cuò)。

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

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

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

           自己要主動(dòng),有時(shí)候也要借鑒一些外部的力量? 

          外界的力量,可以借助一些外界的力量,因?yàn)橥饨绲牧α克吹目赡芨宄谀闫x方向的時(shí)候,它能幫你回到正確的位置上去。

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

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

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

           找到一種安全感? 

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

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

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

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

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

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

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

          我覺得首先要學(xué)會(huì)把一個(gè)團(tuán)隊(duì)建立成一個(gè)能夠相互尊重的團(tuán)隊(duì),某一個(gè)固定的方法可能很難。舉個(gè)例子說我的團(tuán)隊(duì)采用的方法是什么,是以學(xué)習(xí)和游戲?yàn)橹鞯倪@樣的一個(gè)方式,不一定適于你的團(tuán)隊(duì)。舉個(gè)例子說,我的團(tuán)隊(duì)每天下午的五點(diǎn)會(huì)在一起打游戲,但打的游戲一定不是單機(jī)版游戲,是團(tuán)隊(duì)合作游戲,比如說魔獸世界,比如說CS,好多。比如說在玩兒魔獸世界時(shí),也需要幾個(gè)人相互的合作。

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

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

           還是應(yīng)該是一種自然的真誠的溝通? 

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

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

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

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

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

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

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

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

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

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

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

          我覺得有一個(gè)很重要的問題是,很多團(tuán)隊(duì)它不斷的回顧,不斷的總結(jié),但是從來不改進(jìn)。我們團(tuán)隊(duì)有一個(gè)很重要的概念就是持續(xù)改進(jìn),反思改進(jìn),就是遇到了問題以后,我們找到問題,找到問題,找到它。然后去解決這個(gè)問題背后的一些原因。比如說我們現(xiàn)在很多團(tuán)隊(duì)都是這樣的,一個(gè)項(xiàng)目完了,就去評(píng)審,評(píng)審?fù)暌院蠼o出很多的意見,說我們什么地方不成功,然后我們會(huì)列出很多條例,列完就列完了,我們?cè)僖矝]有去改進(jìn)它,這個(gè)是很多團(tuán)隊(duì)最可怕的問題,因?yàn)楹芏鄷r(shí)候我們不是不總結(jié),是總結(jié)了從來不改進(jìn)。

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

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

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

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

          僅列出標(biāo)題  下一頁
          主站蜘蛛池模板: 沁源县| 大理市| 育儿| 和林格尔县| 广元市| 扬中市| 商南县| 朝阳市| 蓬莱市| 庆城县| 滦平县| 襄樊市| 鄢陵县| 旅游| 新宾| 淮安市| 阿城市| 安达市| 繁昌县| 湖州市| 南昌县| 西林县| 美姑县| 湖口县| 宁波市| 邯郸市| 沾益县| 昌宁县| 浙江省| 松桃| 防城港市| 东阳市| 施秉县| 肥东县| 施甸县| 尉犁县| 建宁县| 桐柏县| 太仆寺旗| 常山县| 鄱阳县|