• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者

            來(lái)自CU的文章,我覺(jué)得很有價(jià)值,大家都可以看看的:)
            原文:http://bbs.chinaunix.net/viewthread.php?tid=880434&extra=page%3D21


            不管是在現(xiàn)實(shí)中還是網(wǎng)上,總遇到一些人再問(wèn)一些奇怪的問(wèn)題。很多問(wèn)題讓大牛
            們哭笑不得,總是推薦這些人看一些經(jīng)典的書(shū)籍。結(jié)果過(guò)了一段時(shí)間,其他人的
            知識(shí)已經(jīng)滄海桑田,不少人成了大牛,大牛們已經(jīng)成了大大牛。這些人還在重復(fù)
            著類(lèi)似的問(wèn)題。本人不是大牛,但是覺(jué)得大牛們?cè)诩夹g(shù)上幫助別人的同時(shí)還應(yīng)該
            更多的傳播思維方法。如果大牛們沒(méi)有時(shí)間,那么小弟只好拋磚引玉,談一些不
            成熟的見(jiàn)解,同時(shí)希望大牛們多提意見(jiàn),我再把你們的經(jīng)驗(yàn)總結(jié)起來(lái)一齊奉獻(xiàn)給
            大家。

            1)分層思考
            在我的同學(xué)中有一個(gè)人算是經(jīng)典案例,他學(xué)習(xí)起來(lái)很用功,但似乎不管長(zhǎng)時(shí)間也
            沒(méi)有氣色。并且常問(wèn)一些讓人哭笑不得的問(wèn)題。我花可長(zhǎng)時(shí)間也無(wú)法讓他明白學(xué)
            校開(kāi)的課程到底和實(shí)際的開(kāi)發(fā)有什么聯(lián)系。有一天我突然發(fā)現(xiàn),我用如何處理以
            太網(wǎng)偵來(lái)舉例子來(lái)說(shuō)明如何是用C語(yǔ)言的struct的使用他居然就輕易的弄懂了。之
            后我總結(jié)出來(lái)的結(jié)論是:他在學(xué)習(xí)的時(shí)候總是嘗試一次弄清楚涉及的每一個(gè)細(xì)節(jié),
            結(jié)果就陷入了無(wú)窮個(gè)疑問(wèn)中,每次都把自己弄的暈頭轉(zhuǎn)向。

            這里引出了一個(gè)對(duì)于學(xué)習(xí)者最終要也是最基本的思考方法:分層。可以說(shuō)99%論
            壇上的哭笑不得的問(wèn)題是因?yàn)闆](méi)有分層思考造成的。遇到這樣的人只能先教他們
            學(xué)會(huì)如何的進(jìn)行分層思考,再向他們推薦學(xué)習(xí)資料。

            練習(xí)分層思考其實(shí)非常簡(jiǎn)單,你考慮拓?fù)鋾r(shí),就不要考慮數(shù)據(jù)流程,考慮數(shù)據(jù)流
            程時(shí)就不要考慮存儲(chǔ),考慮網(wǎng)絡(luò)間的協(xié)議時(shí),就不要考慮一臺(tái)機(jī)器上的數(shù)據(jù)是如
            何處理的。只要忽略具體的細(xì)節(jié),每次只弄懂和問(wèn)題相關(guān)的最小的部分。等你全
            部弄懂之后,再考慮層次之間的聯(lián)系。經(jīng)常假設(shè)“它就是那個(gè)樣子”,跳過(guò)一些問(wèn)
            題也是好的方法,當(dāng)你發(fā)現(xiàn)跳過(guò)一些問(wèn)題會(huì)加速自己的理解時(shí),這些跳過(guò)的問(wèn)題
            往往就是處于不同層次下的,甚至當(dāng)你發(fā)現(xiàn)一些問(wèn)題是屬于其他層次的時(shí)候,問(wèn)
            題本身不復(fù)存在了。

            分層思考在讀書(shū)的時(shí)候是很容易掌握的,因?yàn)榇笈兊臅?shū)本來(lái)就會(huì)用科學(xué)的方法
            向你表述他的思想。難在讀代碼,或者在hacking幾乎沒(méi)有教材的技術(shù)的時(shí)候,需
            要靈活掌握。

            2)從整體到局部,從局部到整體
            當(dāng)學(xué)會(huì)了分層思考后,掌握2)就變得十分簡(jiǎn)單了。在每個(gè)層次上,很多的問(wèn)題是
            相互獨(dú)立的,將他們歸納出來(lái),如果有必要了解,逐個(gè)擊破。很多人會(huì)抱怨某某
            東西很難,其實(shí)加上分層再劃分之后,逐個(gè)解決起來(lái)就容易多了。分層是為了獲
            得綜覽,劃分局部是實(shí)際解決問(wèn)題的必要的步驟。

            整體到局部的另一個(gè)好處是,實(shí)際上你獲得了某個(gè)技術(shù)的最小單位。這些最小單
            位通常也會(huì)被其他的技術(shù)所采納。舉個(gè)例子,你了解LDAP時(shí)熟悉的FQDN、OID、
            realm、BNF等等,在了解電子郵件,HTTP,Keberos的時(shí)候也會(huì)有用。事實(shí)上劃分
            是再自然不過(guò)的方法,只是對(duì)于初學(xué)者,也許需要特別強(qiáng)調(diào)一下。

            此外,有些局部的技術(shù)可能是不需要了解的,比如說(shuō)UPnP,可能你只有在解決實(shí)
            際環(huán)境的問(wèn)題的時(shí)候才需要考慮,雖然它哪里都可以見(jiàn)到,但是你絕大部分情況
            可以忽略它,無(wú)論是在考慮拓?fù)鋾r(shí),還是在分析代碼時(shí)。

            3)創(chuàng)造和發(fā)現(xiàn)問(wèn)題
            創(chuàng)造和發(fā)現(xiàn)問(wèn)題并不一定在你完全掌握了某個(gè)技術(shù)之后。而是在1)、2)的前提
            下,能夠在學(xué)習(xí)的過(guò)程中提出建設(shè)性的問(wèn)題。這些問(wèn)題絕大多數(shù)會(huì)在學(xué)習(xí)的過(guò)程
            中自然的獲得答案,少數(shù)會(huì)在論壇的討論中得到結(jié)論。如果還有剩下的,那么可
            能你發(fā)現(xiàn)了技術(shù)本身存在的缺陷,恭喜你。

            事實(shí)上創(chuàng)造和發(fā)現(xiàn)問(wèn)題的人很少出現(xiàn)“迷惘”,或者找不到“實(shí)踐的途徑和方法”的
            情況。如果出現(xiàn)了這種情況,很可能1)、2)的條件都沒(méi)有具備。如果1)、2)
            都具備了的話,才有下面的方法訓(xùn)練:

            多問(wèn)“如果”。典型的就是在1)時(shí),先問(wèn)自己,如果是自己會(huì)怎樣設(shè)計(jì)?把這個(gè)問(wèn)
            題從開(kāi)始保留到結(jié)束。
            多問(wèn)“為什么”。配合“如果”,多問(wèn)別人為什么這么設(shè)計(jì),并且把讓這個(gè)問(wèn)題貫穿
            到整個(gè)的學(xué)習(xí)過(guò)程。
            多問(wèn)“哪些”,哪些東西是可以替換的?通常配合2),這樣可以發(fā)現(xiàn)實(shí)現(xiàn)同一目
            的不同方法,很容易發(fā)現(xiàn)當(dāng)前協(xié)議的不足之處以及更好的解決辦法。

            總結(jié)
            事實(shí)上通篇的內(nèi)容可以歸納為:不斷的問(wèn)下面5個(gè)問(wèn)題:What(1)、Which(2、
            3)、What if(3)和Why(3)。僅僅是自己的一點(diǎn)不成熟的經(jīng)驗(yàn),而且也寫(xiě)的比
            較匆忙,漏洞很多。希望大家指正,也希望真正牛人們多多介紹自己的經(jīng)驗(yàn),我
            會(huì)抽出時(shí)間來(lái)幫助你們整理,然后奉獻(xiàn)給大家。

            posted on 2007-03-19 21:56 楊粼波 閱讀(975) 評(píng)論(7)  編輯 收藏 引用

            評(píng)論

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 2007-03-20 00:06 璞石

            好文章,雖然編程好幾年了,但是有時(shí)還是不自覺(jué)的陷入某些細(xì)節(jié)不可自拔,越來(lái)越混亂。有良好的思維通常能事半功倍  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 2007-03-20 01:35 lovedday

            謝謝,受益了。  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 2007-03-20 11:28 空明流轉(zhuǎn)

            有道理。其實(shí)跟人感受是,有些東西,理解了固然更好,如果一時(shí)之間沒(méi)有理解,那就記住它,遲早是會(huì)理解的。  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 2007-03-20 15:31 Corner Zhang

            文章很好,可有些偏頗!
            說(shuō)實(shí)話,我學(xué)生時(shí)就是學(xué)習(xí)很用功,但成效不大的那個(gè)樣子,現(xiàn)在看來(lái)這樣也有好處,是成為所謂大牛前的磨礪階段。
            把學(xué)習(xí)比作人生的話,就是每個(gè)人都處于自身成長(zhǎng)過(guò)程中不同境遇下時(shí),采用的不同發(fā)展策略而已。  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 [未登錄](méi) 2007-03-20 17:45 隨意

            我已經(jīng)出來(lái)一年了,
            在我看來(lái),
            學(xué)校是積累基礎(chǔ)的時(shí)刻,
            而工作是學(xué)以致用的時(shí)刻,
            在這一年我思考了很多,改變了很多.
            過(guò)去的一年是痛苦的,
            但是卻是值得的,
            讓我成長(zhǎng)了很多很多.

            做程序本來(lái)就是靠腦力吃飯,
            如果以為是體力活,
            那么就永遠(yuǎn)都沒(méi)有長(zhǎng)進(jìn),
            做的永遠(yuǎn)都是體力活.

            我最初寫(xiě)的代碼很糟糕,
            維護(hù)性很差,
            但是不斷的重構(gòu)中變得更可維護(hù)了,
            維護(hù)一份維護(hù)性很差的代碼是體力活;
            但是維護(hù)一份維護(hù)性很好的代碼就是腦力活了.

            萬(wàn)物相通,
            人生的道理可以用在程序中,
            程序中的道理可以用于人生.
            只有多思,多想,多問(wèn)(不一定問(wèn)別人,可以自問(wèn)),多學(xué)才行啊....  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]輕輕松松從C一路走到C++系列文章之一 2007-03-20 20:30 asdf

            摘要

            C++技術(shù)固然是很時(shí)髦的,許多C用戶都想在盡可能短的時(shí)間內(nèi)為自己貼上C++的標(biāo)簽。介紹C++的書(shū)很多,但只有那些已經(jīng)僥幸入門(mén)的用戶才偶爾去翻翻,仍有不少在C++門(mén)口徘徊的流浪漢。

            本文只針對(duì)C用戶,最好是一位很不錯(cuò)的老用戶(譬如他在遇到最簡(jiǎn)單的問(wèn)題時(shí)都嘗試著使用指針),通過(guò)一些C和更好的C++(本文用的是Borland C++3.1版本)例程介紹有關(guān)C++的一些知識(shí),讓讀者朋友們“淺入深出”,輕輕松松C to C++!

            一、標(biāo)簽!標(biāo)簽!

            快快為你的程序貼上C++的標(biāo)簽,讓你看起來(lái)很像個(gè)合格的C++用戶……

            1.注釋(comment)

            C++的注釋允許采取兩種形式。第一種是傳統(tǒng)C采用的/*和*/,另一種新采用的則是//,它表示從//至行尾皆為注釋部分。讀者朋友完全可以通過(guò)//使你的代碼帶上C++的氣息,如test0l:

            //test01.cpp#include <iostream.h>//I'm a C++user!//…and C is out of date. void main(){ cout<<"Hello world!/n"; //prints a string}


            Hello-world!

            如果你嘗試著在test0l. exe中找到這些高級(jí)的注釋?zhuān)芎?jiǎn)單,它們不會(huì)在那里的。

            2. cincout

            你可能從test0l中嗅出什么味兒來(lái)了,在C++中,其次的貴族是cout,而不是很老土的printf ( )。左移操作符’<<’的含義被重寫(xiě),稱(chēng)作“輸出操作符”或“插入操作符”。你可以使用’<<’將一大堆的數(shù)據(jù)像糖葫蘆一樣串起來(lái),然后再用cout輸出:

            cout << "ASCII code of "<< 'a' << " is:" <<97; ASCII code of a is:97


            如何來(lái)輸出一個(gè)地址的值呢?在C中可以通過(guò)格式控制符”%p”來(lái)實(shí)現(xiàn),如:

            printf ("%p,&i);

            類(lèi)似地,C++也是這樣:

            cout << & i;

            但對(duì)字符串就不同啦!因?yàn)?

            char * String="Waterloo Bridge";

            cout << String; //prints ‘Waterloo Bridge'

            只會(huì)輸出String的內(nèi)容。但方法還是有的,如采取強(qiáng)制類(lèi)型轉(zhuǎn)換:

            cout<<(void *)String;

            cin采取的操作符是’>>’,稱(chēng)作“輸入操作符”或“提取操作符”。在頭文件iostream.h中有cin cout的原型定義,cin語(yǔ)句的書(shū)寫(xiě)格式與cout的完全一樣:

            cin>>i; //ok

            cin>>&i; //error. Illegal structure operation

            看到了?別再傻傻地送一個(gè)scanf()常用的’&’地址符給它。

            C++另外提供了一個(gè)操縱算子endl,它的功能和’/n’完全一樣,如test0l中的cout語(yǔ)句可改版為:

            cout << ”Hello world!”<

            3.即時(shí)聲明

            這是筆者杜撰的一個(gè)術(shù)語(yǔ),它的原文為declarations mixed with statements,意即允許變量的聲明與語(yǔ)句的混合使用。傳統(tǒng)C程序提倡用戶將聲明和語(yǔ)句分開(kāi),如下形式:

            int i=100;float f; //declarations i++;f=1.0/i; //statements


            而C++拋棄這點(diǎn)可讀性,允許用戶采取更自由的書(shū)寫(xiě)形式:

            int i=100;i++;float f =1. 0/i;


            即時(shí)聲明常見(jiàn)于for循環(huán)語(yǔ)句中:

            for(int i = 0; i < 16; i++) for(int j = 0; j < 16; j++) putpixel(j i Color[i][j]);


            這種形式允許在語(yǔ)句段中任點(diǎn)聲明新的變量并不失時(shí)機(jī)地使用它(而不必在所有的聲明結(jié)束之后)。

            特別地,C++強(qiáng)化了數(shù)據(jù)類(lèi)型的類(lèi)概念,對(duì)于以上出現(xiàn)的”int i=1 j=2;”完全可以寫(xiě)成:

            int i(1) j (2);

            再如:





            http://www.itfensi.com/exploit/Cjj/  回復(fù)  更多評(píng)論   

            # re: [轉(zhuǎn)載]學(xué)習(xí)時(shí)注意思考方法——只獻(xiàn)給初學(xué)者 2007-03-21 08:46 hehe

            大牛,真正的大牛!
            對(duì)我這樣的新手,太好了

            最近在看侯杰的<深入淺出>,我被繞暈了,快要放棄了...  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲精品高清久久| 久久精品99久久香蕉国产色戒| 国产巨作麻豆欧美亚洲综合久久| 一本大道加勒比久久综合| 久久国产亚洲精品麻豆| 久久久久婷婷| 99久久国产综合精品女同图片| 久久精品国产99久久久| 国产精品午夜久久| 久久精品中文无码资源站| 久久国产免费观看精品| 久久婷婷五月综合色99啪ak| 日韩精品久久无码人妻中文字幕| 国产精品久久成人影院| 久久亚洲国产成人影院网站| 久久人人爽人人爽人人AV东京热 | 国产精品无码久久久久久| 99久久国产免费福利| 国内精品久久久久影院亚洲| 99久久精品国产麻豆| 久久亚洲色一区二区三区| 久久国产精品99国产精| 人人狠狠综合88综合久久| 国产精品久久久久久福利69堂| 日韩电影久久久被窝网| www.久久热.com| 一本大道久久香蕉成人网| 欧美激情精品久久久久| 亚洲精品高清国产一线久久| 久久综合色之久久综合| 蜜桃麻豆www久久| 伊人久久大香线焦AV综合影院 | 久久亚洲av无码精品浪潮| 久久精品www人人爽人人| 久久婷婷色香五月综合激情| 青青草原1769久久免费播放| 久久夜色精品国产噜噜亚洲AV| 伊人精品久久久久7777| 91久久精品国产成人久久| 精品久久8x国产免费观看| 2021国产精品午夜久久|