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

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

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

    結合openfans談算法的重要性

    不經意看到了程序員的一期算法專題,細細研讀多位高手(包括李開復)的文字之后,對算法的重要性重新進行了反思。我研究生畢業 2 年,一直從事 J2EE 開發,由于項目的原因,很少需要自己去設計算法,甚至 stack tree 這些數據結構都很少使用。還好自己也不甘于平淡,如 Effective Java Practical Java Refactory Design Pattern 等等這些流行書還是抽空學習,這些書的確很是經典,對我的編碼風格,模式的理解,設計能力都起到了很好的促進。也快速的由一個程序員成長為架構師(只是公司的,離真正的架構師還差得遠)。

    因為項目需要,去年下半年開始全面接觸開源軟件,使用了 spring maven hibernate ibatis 等眾多開源軟件,也對開源軟件產生了濃厚的興趣,于是拿這些開源軟件做了 openfans ,一方面是推進開源軟件在中國的使用的交流,一方面也為自己在實踐中更多使用這些軟件(因為沒有項目和利益因素,可以做想做的事,用想用的軟件)。使用這些開源軟件倒很是順利,很多軟件拿來就能用,都有 sample ,簡單使用還是不難的。

    但一些關鍵的問題一直懸而未決!比如 tag 的設計:我現在簡單的使用平鋪的模型, tag 沒有層次之分, tag 間產生雙向關聯。但這樣是最符合 tag 特性的模型嗎?如何對這些 tag 進行分類,如何定義 tag 的多級關聯(如 spring hibernate 有關聯, hibernate 又與持久層關聯, spring 是否與持久層有間接關聯,依次類推)。。。。。。而做出一個好的 tag 模型,可能就需要圖論方面的知識。再比如用戶相似度設計(號稱是豆瓣的核心,難以復制):每個用戶擁有了一些 tag ,如何根據這些 tag 定義用戶的相似度,一個用戶有 spring hibernate 2 tag ,一個用戶有 spring ibatis 2 tag ,他們相似度為多少,如果每個人 tag 都很多,再加上權重的概念,問題又復雜的多。簡單的做法就是每個用戶 tag 一個個匹配,匹配的越多相似度越大,但這樣設計一是不準確,二是時間復雜度很大,最壞情況為 n*n*m*m n 為用戶數, m 為每個用戶的 tag 數。

    這些都需要扎實的算法基礎。而我的基礎就很薄弱:本科學的比文科還文科的專業,研究生又學的比較上層的東西( UML RUP PM 等,也都一知半解),選修了一門算法導論,又被 1000 多頁的經典英文教材嚇趴下了,上了幾次課就直接放棄,沒敢參加最后考試。現在想臨時抱佛腳,談何容易。

    所以算法也并非沒有用處,關鍵要看你在做什么,想做什么。想去 google 、百度不用會 spring ,算法基礎扎實,只會 c 語言都行;一些行業如電信、金融也很是需要算法高手。而國內更多的企業做企業應用,一般是連連數據庫,寫寫頁面,最多引入些開源框架和軟件,如 spring hibernate struts 等。這方面的需求較大,會了 spring ,省了公司的培訓成本,自然還是給找工作加了一些砝碼。

    所以有時聽到某些人對某項技術不以為然,說“這些東西有什么是我在幾個星期學不會的”的時候,一方面是對其狂妄進行些鄙視,一方面也真要問問自己,我的核心價值到底在哪。這個問題很重要,涉及面很廣,選擇也很多,而我也只是有些模糊的答案,等以后再仔細寫寫。

    不管如何,我是要開始研究算法了,得解決問題阿!先在 openfans 開個算法的 tag ,一邊學一邊積累,對算法有興趣的同學也可以跟我一塊進步。

    PS :做個廣告, blogjava 很多好的 bloger ,能否到 www.openfans.net 導入下 blog ,跟大家分享下你的感悟,謝謝!

    posted on 2006-07-12 15:01 pesome 閱讀(2597) 評論(6)  編輯  收藏 所屬分類: 開源軟件

    評論

    # re: 結合openfans談算法的重要性 2006-08-01 13:27 iamtin

    算法的確重要,J2EE Web開發讓人習慣于模式和分層的復制,離算法會越來越遠。可其實對于緩存、外部系統整合、模型建立這些部分還是可以應用到很多算法的,可是每次在這里偷懶的時候也同樣感嘆“這些東西有什么是我在幾個星期學不會的”,慚愧,所以驅除浮躁,踏踏實實的搞明白所以然。  回復  更多評論   

    # re: 結合openfans談算法的重要性 2006-08-01 14:52 pesome

    @iamtin
    呵呵,J2EE往上走就發現算法的重要了。至少心中要一直有時間復雜度、空間復雜度的概念,才能必要時“時間換空間,空間換時間”。
      回復  更多評論   

    # re: 結合openfans談算法的重要性 2007-06-18 17:27 ddstrue

    自己簡單實現一下spring 和 hibernate, 就知道算法的重要性了  回復  更多評論   

    # re: 結合openfans談算法的重要性 2008-01-15 12:51 路人

    我覺得像我們做企業應用,開發中很少會直接接觸算法問題,就是自己動手寫一個。但間接的接觸就太多了,比如CACHE的幾種實現算法,不知道咋選?數據庫B TREE索引,多少會跟二叉樹沾邊吧。等等。有些東西表面上看就是個如何使用的問題,再深入一步就會發問,我為什么要這么用,那就要涉及原理了。  回復  更多評論   

    # re: 結合openfans談算法的重要性 2008-12-29 16:35 ゞ沉默是金ゞ

    確實算法用到的很少很少了,以前自己組裝的數據結構現在也都用不上了,有點不甘心啊。有時間還是需要自己努力鉆研一下的  回復  更多評論   

    # re: 結合openfans談算法的重要性 2009-02-04 01:53 leekiang

    像我們這種企業應用開發者的核心價值在哪里?樓主可有什么新的想法?  回復  更多評論   

    <2006年8月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    公告

    主要記錄作者在學習java中的每一步足跡。除非特別說明,所有文章均為本blog作者原創,如需轉載請注明出處和原作者,如用于商業目的,需跟作者本人聯系。
    歡迎大家訪問:

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    java技術

    人間百態

    朋友們的blog

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色无码专区一区| 亚洲精品韩国美女在线| 羞羞漫画小舞被黄漫免费| 丁香花在线观看免费观看| 亚洲日韩一中文字暮| 香蕉高清免费永久在线视频| 亚洲AV无码无限在线观看不卡| 99精品全国免费观看视频| 亚洲成av人片天堂网无码】| 成人激情免费视频| 亚洲AV无码一区二区三区电影| 国产在线ts人妖免费视频| 免费精品国自产拍在线播放| 国产亚洲午夜高清国产拍精品 | 亚洲狠狠狠一区二区三区| 日本最新免费网站| 亚洲1234区乱码| 日本特黄特色aa大片免费| 日本精品久久久久久久久免费| 在线亚洲97se亚洲综合在线| 日韩插啊免费视频在线观看 | 亚洲欧美日韩综合久久久久| 日韩视频在线免费观看| 乱人伦中文视频在线观看免费| 亚洲精品无码国产| 成人午夜免费福利视频| 精品亚洲成A人在线观看青青| 亚洲国产精品嫩草影院久久| 久久久久久免费一区二区三区| 亚洲国产超清无码专区| 国产99视频免费精品是看6| 两个人看的www高清免费视频| 亚洲精品在线播放视频| 国产精品免费视频一区| 中国极品美軳免费观看| 亚洲a∨无码男人的天堂| 亚洲国产成人乱码精品女人久久久不卡 | 久久亚洲国产成人影院网站| 最近免费中文字幕大全免费版视频 | 免免费国产AAAAA片| 国产亚洲午夜精品|