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

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

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

    朱雀的IT世界

    每天進(jìn)步一點(diǎn)點(diǎn),努力做好自己

     

    2007年12月31日

    想搬家了

    想搬到BlogBus 去

    理由如下:

    1、BlogBus 速度很快
    2、BlogBus 可以提供很好的API 調(diào)用,我可以利用JavaScript 整合許多別的應(yīng)用功能
    3、BlogJava 這里的編輯器老出問題,還是我的FireFox 有問題?整得我很不爽
    4、我的博客現(xiàn)在不光只有技術(shù)了,也不光只關(guān)注Java系列的了

    新的地址為http://phoenixtoday.blogbus.com/

    posted @ 2008-01-16 21:28 朱雀 閱讀(213) | 評(píng)論 (0)編輯 收藏

    額滴神啊

    今天無意間又發(fā)現(xiàn)了一本是TWer 翻譯的書《Don't Make Me Think》,才發(fā)現(xiàn)自己看的好多書都是公司同事的杰作,額滴神啊,額究竟進(jìn)入咧一個(gè)何等怪獸的公司啊?真的是要好好向他們學(xué)習(xí)了,希望我能在未來的一年中更上一層樓(更上幾層樓最好啦,哇哈哈)。

    列舉下我們同事的杰作(只限我翻過的),為他們捧場(chǎng)打氣!(其中的人名只包含我們同事呦,呵呵,其他的就暫時(shí)略去吧,現(xiàn)在這里說個(gè)抱歉啦,我懶嘛)

    《重構(gòu)》:作者M(jìn)artin Fowler (TW 的傳奇人物——TW首席科學(xué)家)
    譯者:熊節(jié)(gigix 熟悉敏捷的中國人,對(duì)他沒有不知道的吧)
    簡(jiǎn)介:一本很好的改善代碼的開山力作,想讓你的代碼更清晰者必讀之作,也是我第一次接觸的TWer 的作品,特此紀(jì)念



    《企業(yè)應(yīng)用架構(gòu)模式》:
    作者:Martin Fowler
    譯者:熊節(jié)
    簡(jiǎn)介:講企業(yè)應(yīng)用架構(gòu)的,內(nèi)容挺經(jīng)典的,不過可惜我只是翻過,無法詳細(xì)描述下,有時(shí)間一定再仔細(xì)的品味



    《軟件工藝》
    譯者:熊節(jié)
    簡(jiǎn)介:其實(shí)我也認(rèn)為軟件開發(fā)是藝術(shù),程序員普遍具有工匠情結(jié),很有意思的一本書,告訴你軟件也是工藝也是藝術(shù)哦


    《與熊共舞》
    譯者:熊節(jié)
    簡(jiǎn)介:講項(xiàng)目風(fēng)險(xiǎn)控制的,我也只是翻了翻,已被列入我今年的計(jì)劃了,要看滴要看滴!



    《Don't Make Me Think》
    譯者:蔣芳(Windy 姐姐)
    簡(jiǎn)介:我個(gè)人很喜歡Web 開發(fā),也喜歡做出來的東西很實(shí)用美觀,這是本很好的書,它告訴你如何以用戶為中心,設(shè)計(jì)出實(shí)用美觀的Web 界面,這就是我們應(yīng)有的專業(yè)精神



    嗯,未來的列表會(huì)更新的更多的,同事們里強(qiáng)人太多了,出的書簡(jiǎn)直不可計(jì)數(shù),光Martin 一個(gè)人的書就好多好多,而且大部分都挺經(jīng)典的,外國的同事里好多出的書我也不太知道,就算看過那本書,也不知道那個(gè)人就是我的同事,呵呵,中國的已經(jīng)不少了。以后每看過一本我就會(huì)在這里把它們記錄下來,給我的同事們打氣,也向他們學(xué)習(xí)。

    posted @ 2008-01-16 12:39 朱雀 閱讀(258) | 評(píng)論 (0)編輯 收藏

    彈琴是要給自己的!如果你彈不出自己的舒伯特,遲早有一天,舒伯特會(huì)找你要回曲譜

    看了部電影《鋼琴之森》,卻被它感動(dòng)了,觸動(dòng)很大,或許有些話說到心坎里了吧。

    故事講述了兩個(gè)孩子,一個(gè)叫“海”,另一個(gè)叫“修”。他們都會(huì)彈鋼琴,“海”家里窮,卻從小與森林里的鋼琴一起長(zhǎng)大,對(duì)他來說鋼琴是親人,是樂趣,是享受,鋼琴是給自己彈的,鋼琴是存在于他每一個(gè)細(xì)胞中的;“修”從小練鋼琴,從生下來,鋼琴對(duì)他意味著日本第一,意味著成功,但鋼琴就是他的敵人,為了鋼琴,他放棄了太多太多,他刻苦練琴只為超越別人,拿得第一,彈鋼琴意味著只要不出錯(cuò),就是完美。森林里的鋼琴卻只有“海”才能彈響,無論“修”如何努力,森里的鋼琴選擇的只是“海”。

    這個(gè)電影,先引發(fā)了我的回憶。記得小學(xué)我第一次擁有的學(xué)習(xí)機(jī),大部分時(shí)間,我是把它當(dāng)成游戲機(jī)的,可是看著那些動(dòng)來動(dòng)去的小人,心里總會(huì)犯嘀咕。后來,就照著學(xué)習(xí)機(jī)書本上的,照貓畫虎的寫了那么幾十行還是上百行的類Basic 程序,看著自己寫出來的“超級(jí)瑪莉”可以左右移動(dòng),還真的是有些激動(dòng),可是那時(shí)候的激動(dòng),卻遠(yuǎn)遠(yuǎn)及不上本科之后的那一次。第一次接觸真的電腦是在初一,一個(gè)電腦培訓(xùn)班里,對(duì)電腦有了概念,大致上就明白了一些基本操作和原理;后來有時(shí)會(huì)去網(wǎng)吧,再后來在初三擁有了自己的第一臺(tái)電腦,從此才走上了正軌。有了第一臺(tái)電腦后,不光用它來玩游戲,還開始買《大眾軟件》,慢慢的會(huì)的基礎(chǔ)知識(shí)越來越多,游戲也玩的越來越多,可是卻遠(yuǎn)遠(yuǎn)滿足不了自己的好奇心,到底這些游戲是怎么做出來的呢?初三的那一年,我將自己的理想從“科學(xué)家”細(xì)化為“計(jì)算機(jī)軟件學(xué)家”,呵呵,當(dāng)時(shí)真的不知道有程序員這個(gè)詞。大學(xué)報(bào)志愿,義無反顧的報(bào)考了計(jì)算機(jī)專業(yè),大一第一學(xué)期末,用C 語言寫出了自己平生第一個(gè)程序,望著幾百行的main 函數(shù),看著屏幕上閃動(dòng)的“Welcome” 心里真的激動(dòng)的不知道說什么好了。本科的計(jì)算機(jī)真的是偏理論也偏硬件,讓一向好強(qiáng)的我,為了在學(xué)業(yè)上有所作為,硬啃那些不喜歡的東西,好不費(fèi)力!大一、大二真的是迷茫,走了不少彎路,直到大三開始學(xué)Java ,開始自己尋找興趣的出路,才逐漸有了自己的發(fā)展。從小到現(xiàn)在,這條路走的還真的彎彎曲曲,沒有得到多少人的幫助,沒有得到好老師的指導(dǎo),一切靠自己摸索,就為了心中那兩個(gè)字“喜歡”。

    “海”的那句“彈琴是為自己彈得,不是為別人”,讓我想到了自己。是啊,我寫程序,研究技術(shù),從來沒有想過為任何人,就為了自己那份喜歡,當(dāng)然這不是說,我寫好的程序給別人帶來了快樂,減少了別人的工作量我不開心,而是當(dāng)初就壓根沒想到,就是想這個(gè)場(chǎng)景可以用自己喜歡的技術(shù),可以這么做,可以做的更好,可以解決以前遇到的問題。而這幾年,身邊遇到了很多朋友,有時(shí)也跟他們交談,大部分人給我說他當(dāng)初選擇計(jì)算機(jī)的原因是因?yàn)?#8220;熱門”,少部分的人則是因?yàn)?#8220;這個(gè)行業(yè)可以賺錢”,還有幾個(gè)人我認(rèn)為是為了“超越身邊的人”。這些人,從來沒有覺得自己是真喜歡這個(gè)行業(yè),這樣做是有趣的,他們的動(dòng)機(jī)都是由外在因素引起的,必然不會(huì)長(zhǎng)久,無法堅(jiān)持十幾年、幾十年,甚至一輩子,因?yàn)闊衢T的條件會(huì)改變,別的賺錢的機(jī)會(huì)未來會(huì)更多,身邊的強(qiáng)人你永遠(yuǎn)超越不完。捫心自問,這真的是你喜歡的嗎,它對(duì)你來說真的是有趣的嗎?如果這個(gè)行業(yè)只能給你保證溫飽,就像很多數(shù)學(xué)家窮得叮當(dāng)響,你也會(huì)義無反顧的堅(jiān)守嗎?

    “如果你彈不出自己的舒伯特,遲早有一天,舒伯特會(huì)找你要回曲譜”,是啊,如果你設(shè)計(jì)不出自己真正想做的程序,那么你的所學(xué)所做,又有什么意義呢?而你如果不喜歡自己現(xiàn)在所做,那么將來,你還能做出自己想做的嗎?“海”為了彈出自己的舒伯特,每天除了練琴還是練琴,加上自己固有的靈性,最后終于成功。“興趣”和“愛好”對(duì)于你所要堅(jiān)持的行業(yè)來說,是遠(yuǎn)遠(yuǎn)不夠的,你能夠在別人享受生活的時(shí)候,自己安靜的看書嗎?你能真的為了一個(gè)目標(biāo),每天堅(jiān)持寫代碼嗎?前幾天被同學(xué)笑了,因?yàn)槲艺f“我過年和平時(shí)一樣的,看看書,寫寫程序,沒啥不同的”,然后他們笑我“你的生活還真的無趣”,o(∩_∩)o...,其實(shí)他們不知道,這才對(duì)我是最有趣的,我每天都在享受著,每天都在過年。越深入這個(gè)行業(yè),越發(fā)現(xiàn)自己所學(xué)太少,時(shí)間太少,還有很多自己感興趣的東西,每一門想精深的東西,都還有那么多那么多知識(shí)。真的想早一些譜出自己的舒伯特,真的向往那一天,不知道何時(shí)真的能達(dá)到?努力吧!加油!

    posted @ 2008-01-12 20:52 朱雀 閱讀(471) | 評(píng)論 (4)編輯 收藏

    一點(diǎn)重構(gòu)心得

    昨天,要寫一段程序完成一個(gè)定時(shí)任務(wù),是有關(guān)Socket 發(fā)送的。胖子給我發(fā)了一段現(xiàn)成的程序,這段程序基本上的功能是實(shí)現(xiàn)了,但是表達(dá)的并不是那么清晰,因此我想重構(gòu)一下。沒想到重構(gòu)的過程竟然花了一個(gè)多小時(shí),從晚上八點(diǎn)多,一下就寫到了十點(diǎn),但是重構(gòu)完后,感覺清晰多了。仔細(xì)想想收獲頗多,因此在這里寫寫經(jīng)驗(yàn)進(jìn)行總結(jié)。

    重構(gòu)程序的目的,不是因?yàn)槌绦虿荒苡貌乓闳ブ貥?gòu),重構(gòu)的目的是因?yàn)橐弧⒛愕拇a,被人看的次數(shù),遠(yuǎn)比它用到的次數(shù)多;二、重構(gòu)有利于你發(fā)現(xiàn)問題,讓你的程序結(jié)構(gòu)優(yōu)化,因此可復(fù)用性更強(qiáng),遵守了知識(shí)的唯一性,DRY 原則;三、如果你要改動(dòng)這段代碼,那么先重構(gòu),使得你的代碼好改,這實(shí)際是在為你的未來減少工作量,而且一段優(yōu)秀的代碼,帶給你的價(jià)值,遠(yuǎn)比你每次都要Ctrl+C,Ctrl+V 大得多。

    寫代碼,要讓你的代碼第一次呈現(xiàn)在別人面前的時(shí)候,像讀英語一般,那么你的代碼功底是足夠了。你的代碼就可以稱作你最好的文檔了,其余什么文檔,大可不必!

    基于昨天的經(jīng)驗(yàn),我新總結(jié)了兩條:
    一、經(jīng)常使用重構(gòu)方法extract method 的人,會(huì)發(fā)現(xiàn),總是可以省掉一些臨時(shí)變量。這是好事,但這可能會(huì)造成如下的結(jié)果:

    method_one(method_two(method_three(method_four())))

    也就是說,很可能會(huì)導(dǎo)致這種長(zhǎng)串的嵌套,導(dǎo)致程序可讀性的下降,使人看的暈頭轉(zhuǎn)向。那么如何解決呢,其實(shí)是一個(gè)度的問題。我給自己定了一個(gè)規(guī)矩,臨界點(diǎn)是三個(gè)函數(shù)這樣級(jí)聯(lián)起來,如果超過三個(gè),我就將它們拆開。比如說上面這個(gè)小例子,我會(huì)拆成:

    arg = method_three(method(four));
    method_one(method_two(arg));

    雖然浪費(fèi)了一個(gè)臨時(shí)變量,但是這樣就可以讓人一眼看懂我的意思,可讀性提升,修改起來自然也會(huì)容易些。

    二、寫過Java I/O 的人,肯定看到過這樣的程序:

    Reader in = null;
    Writer out = null;
    try
    {
        in = new InputStreamReader(socket.getInputStream(),"utf8");
        out = new OutputStreamWriter(socket.getOutputStream(),"utf8");

    /**
     * some TODOs here
     *
    **/
    }catch(IOException ioe)
    {
        System.err.println("error message");
        ioe.printStackTrace();
    }
    finally
    {
       try
        {
            if(in != null)
               in.close();
            if(out != null)
               out.close();
        }catch(IOException ioe2)
        {
           System.err.println("some error message");
           ioe2.printStackTrace();
        }
    }


    怎么說呢,這段代碼看上去,其實(shí)是夠好了,其實(shí)不重構(gòu)也是可以的。也許我偏執(zhí)吧,我認(rèn)為它不夠好,因?yàn)椋菏紫龋蠖蔚膖ry catch 的確會(huì)捕獲異常,但是這段代碼至少有好幾段是會(huì)獨(dú)立拋出異常的,這里包含了四個(gè)IO 實(shí)例的創(chuàng)建和銷毀,這四段代碼如果出錯(cuò)都會(huì)拋出異常,那么你捕獲的到底是哪個(gè)呢?其次,沒有把功能段合理分開,這段代碼的邏輯功能實(shí)際上是兩個(gè),一個(gè)是讀,一個(gè)是寫,那么合并在一起,首先順序很亂,其次容易讓閱讀的人產(chǎn)生困惑,從而造成代碼可讀性差。我是這樣做的:

    private void writeFile(String fileName, String outStr)
            {
                Writer writer = null;
                try
                {
                    writer = new OutputStreamWriter(new FileOutputStream(fileName),
                            "utf8");
                }
                catch (UnsupportedEncodingException e)
                {
                    System.err.println("不支持的編碼方式");
                    e.printStackTrace();
                }
                catch (FileNotFoundException e)
                {
                    System.err.println("初始化文件失敗,或路徑不存在:" + fileName);
                    e.printStackTrace();
                }
                try
                {
                    writer.write(outStr);
                    writer.flush();
                }
                catch (IOException e)
                {
                    System.err.println("寫文件失敗");
                    e.printStackTrace();
                }
                finally
                {
                    try
                    {
                        if(writer != null)
                            writer.close();
                    }
                    catch (IOException e)
                    {
                        System.err.println("關(guān)閉文件失敗");
                        e.printStackTrace();
                    }

                }
            }


    類似的,也將讀的邏輯獨(dú)立抽出來,雖然,這不但沒使代碼的量減少,卻增加了很多try catch 模塊,不過邏輯上很完整,而且發(fā)揮了每個(gè)try catch 的最佳功效。我把它起名曰,我個(gè)人的偏執(zhí)情節(jié)吧。

    困了,要睡覺了,本來還想將代碼從最初模樣,到最后模樣的過程復(fù)述一遍,改天有機(jī)會(huì)再說,精華都已經(jīng)說了。嘿嘿

    posted @ 2008-01-08 23:56 朱雀 閱讀(349) | 評(píng)論 (0)編輯 收藏

    時(shí)間如梭,光陰似箭,辭舊迎新

    今天早上打破了原本的計(jì)劃,對(duì)于網(wǎng)上看到的一位小狂人,發(fā)表了很多看法。中國IT 這個(gè)行業(yè)就是這樣的,普遍的年輕化,輕狂化,但是真正的大師卻少的可憐。看了看自己在豆瓣上的“想讀”列表,突然覺得時(shí)間大大的不夠,心里又激起了一層漣漪,打破了那片平靜。不過經(jīng)過一個(gè)小時(shí)的深入思考,我又重歸了那份平靜。

    我是贊成中國道家學(xué)派的,人只有歸于平靜,身體和心靈都達(dá)到陰陽調(diào)和的狀態(tài),心情穩(wěn)定,脾氣溫和,頭腦冷靜,做事要循序漸進(jìn),才可以穩(wěn)穩(wěn)當(dāng)當(dāng),根基牢固。所以我個(gè)人并不羨慕暴發(fā)戶,也不羨慕那些少年得志的人。一個(gè)完整的、健全的人,成大事的人,是要體會(huì)人生的低潮期的。和命運(yùn)作斗爭(zhēng)的過程,你的思想和心智都會(huì)得到歷練,正如古人所說“天將降大任于斯人也,必先苦其心志,餓其體膚”,沒有經(jīng)歷過失敗的人,是很難長(zhǎng)久守住你的成功的。就像我上個(gè)禮拜讀的那本書里寫的故事一樣,一夜成名者,招致的嫉妒和怨恨太多,不是自己不夠優(yōu)秀,而是環(huán)境不允許你優(yōu)秀,終歸無以成大事。所以,做人還是要謙虛謹(jǐn)慎的,扎穩(wěn)根基,一步一步的來,厚積而薄發(fā)。

    思考到這一步,心情從浮躁終歸于平靜了。所以還是應(yīng)當(dāng)遵循我的目標(biāo),一步步來,時(shí)間之與我,的確寸秒寸金,所以我不能把這些時(shí)間浪費(fèi)在對(duì)人生太多的感慨中,而應(yīng)當(dāng)去努力的尋覓,去體驗(yàn)生活,去做自己該做的事情!不去空嘆光陰似箭,也不去妄自菲薄!從現(xiàn)在開始投入到實(shí)際的工作中吧!

    posted @ 2007-12-31 11:43 朱雀 閱讀(802) | 評(píng)論 (1)編輯 收藏

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产亚洲色视频在线| www国产亚洲精品久久久| 亚洲综合精品一二三区在线| 久草免费福利在线| 亚洲午夜福利在线观看| h视频在线观看免费| 国产亚洲精久久久久久无码AV| 一进一出60分钟免费视频| 亚洲国产精品碰碰| 国产99久久久国产精免费| 亚洲综合另类小说色区| 福利免费在线观看| 亚洲成色999久久网站| 99热在线免费播放| 亚洲午夜国产精品| 免费精品一区二区三区在线观看 | 一级毛片不卡片免费观看| 亚洲狠狠综合久久| 97视频免费在线| 亚洲国产成人综合精品| 亚洲国产av一区二区三区| 9久久免费国产精品特黄| 无码欧精品亚洲日韩一区| 欧洲一级毛片免费| 亚洲国产精品无码观看久久| 亚洲第一永久AV网站久久精品男人的天堂AV | 国产亚洲精品91| 浮力影院亚洲国产第一页| 美女视频黄的免费视频网页| 亚洲美女人黄网成人女| 免费无码又爽又刺激毛片| 精品免费久久久久国产一区| 亚洲宅男永久在线| 免费鲁丝片一级观看| 国产精品hd免费观看| 亚洲欧洲自拍拍偷午夜色| 国产精品色午夜视频免费看| 花蝴蝶免费视频在线观看高清版 | 亚洲综合熟女久久久30p| 精品久久8x国产免费观看| 小说区亚洲自拍另类|