囉嗦幾句,關於動機,學習與批評,架構和代碼風格

這麼多人討論我的動機.動機甚至超過了我文中實際內容的討論.無語.我的動機很簡單,就是研究學習,發現問題指出問題.代碼開源了就是給人看的, 拿實習生說,我招過實習生,如果產品代碼這種樣子review我是不會讓過的. 至於讀代碼是應當帶著批判還是學習的眼光,我認為都應該有,不可偏廢.我曾經讀過一些Nunit, Dlinq, JDK, Rails, Spring, Junit, DBUnit, Ibatis, tomcat,

這些天寫的技術微博

 為什麼類型和執行個體對象都要類型對象指標方法和類型所需的記憶體是在一起分配的,方法被類型和執行個體對象共用,在執行個體化一個對象的時候不會為方法分配記憶體,而調用方法時只能通過類型對象指標定位到方法表中相應的方法,進行調用 ==與Equals的區別:實值型別他們的效果是一樣的,因為實值型別分配線上程棧上,存的就是值,直接比較的就是值參考型別:==判斷是否指向同一個地址;Equals比較的是變數所指的記憶體中的資料是否相同 Dictionary時間複雜度:Add;ContainsKey;Remo

撒列實現關鍵字過慮二(附源碼)

由於第一個版本想複雜了,思路不是很清新,導致有些問題沒有攻克,過年那些天也想了很多,還是沒有解決,一直想放棄那個解決方案,可就是捨不得放棄,我做了那麼多,我想了那麼久,我不想重頭再來,但到最後還是沒有找到既高效又沒有明顯BUG的解決方案,最終選擇放棄第一版中的解決方案,今天本想用基於撒列的搜尋樹的方式實現的,可寫了一部分代碼後發現還是有些問題,當然並不代表用基於撒列的搜尋樹實現有問題,只是對於我來說有點難度,就算實現了也肯定不高效,最後也放棄了搜尋樹這個方案。最後想到的一個方案就是本篇部落格講的

找一個技術負責人

一個新公司,尋一名技術負責人。待遇優厚。要求如下:1 有責任心,做事認真負責,敢於接受挑戰。2 有很強的解決問題能力。3 有大型軟體公司的項目經驗,熟悉軟體開發週期和品質控制。4 有專案管理經驗5 熟悉C/C++6 熟悉資料庫技術。 有意者請附詳細簡曆,回郵箱pengfeng2000   a###t gmail.com  。

規範和壓力

這兩天因為要調用另外一個項目組的WebService,去讀了他們的實現。不讀罷了,一讀發現一堆問題: SVN check-in沒有注釋 參數沒有檢查 調用函數的傳回值沒有檢查 邏輯錯誤很驚訝.因為專案經理是我挖過來的,對他的能力我有信心,有他帶著不至於出現這種低級錯誤.於是和專案經理溝通,指出這些問題.他說這些問題其實他也發現了,只是不想給下屬太多壓力,想讓他們專心把手頭的項目先做完,下一步再強調規範. 我覺得這裡混淆了一個問題:品質上的嚴格要求不等於給壓力.什麼是增加工作壓力?

撒列實現關鍵字過濾,速度可快了

一直對搜尋、過濾很好奇,覺得他們很有技術含量,只有非常NB的人才能做。很想知道他們的原理,實現這樣的功能,設計是不是必須得非常NB非常奇特,代碼是不是要寫得非常好,效能非常高。總之這一切都不是我這樣層級的人能做的。直到我看了《編程珠璣(第二版)》中的這麼一段文字:“假定我們可以在執行搜尋之前對常值內容進行預先處理,那麼我們可以建立一個撒列表(或者搜尋樹),為文檔中的每個不同的單詞建立索引,並為每個單詞的每次出現儲存一個鏈表,這樣的逆向索引使得程式可以很快的找到給定的單詞,為了尋找短語,我們可以對

John Robbins印象

 大名鼎鼎的BoundsChecker和SoftIce的作者之一,現在是IT諮詢公司Wintellect的創始人之一,被公司請來給我們做Debug的培訓。很好的一個人,培訓前他在教室裡閑逛,發現我筆記本電源沒有插好,彎下腰去幫俺給接好了。受寵若驚啊。閑聊了幾句,他說俺們這教室太老了,電源太少了,不是為筆記本設計的。俺告訴他明年下半年我們就要搬到新的辦公室了,僅僅一英裡以西,他下次過來就可以去我們的新樓了。他很高興,告訴俺他大概每兩年左右會來中國/印度一次,因為公司每年都會有很多新員工需要培訓。但

初識rails

使用到的軟體 ruby186-27_rc2.exe mysql-5.1.44-win32.msi libmysql.dll 安裝和配置rails不是一帆風順,為了不再重複痛苦經曆,把安裝過程寫到批處理裡再發到部落格上似乎是個不錯的做法 call gem update --systems call gem install rails call gem install mysql copy libmysql.dll d:\ruby\bin 關於最後一句命令的解釋,參見這篇文章。

Dictionary協助類

//Dictionary泛型型別,對於資料類型統一的集合用Dictionary,速度較快,添加元素的時候不需要裝箱,使用元素的時候不需要拆箱//Hashtable非泛型型別,集合中可以存放不同類型的資料,Hashtable會自動對每個元素進行裝箱,處理成物件類型object//Hashtable添加元素的方法public virtual void Add(object key, object

代碼實現報表列印

   代碼實現報表列印    //初始化報表資訊 private void SetReportInfo(string reportPath,string sourceName,DataTable dataSource,bool isFengPi) {if (!File.Exists(reportPath)) { MessageBox.Show("報表檔案:" + reportPath + "

演算法–將數組分成和相等的多個子數組,求子數組的最大個數

作者:陳太漢一個整數數組,長度為n,將其分為m份,使各份的和相等,求m的最大值  比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1;   {3,6}{2,4,3} m=2  {3,3}{2,4}{6} m=3 所以m的最大值為3演算法 原理的思想是將大問題轉換成小問題。就{3,2,4,3,6}的操作步驟:      第一步:想將數組遞減排序得{6,4,3,3,2},求出數組中所有數的和m=18,第一個最大的數b=6, m/b=3餘數為0,當除數為1,餘數為0時終止。當餘數不為0

DataTable轉換成IList(二)

作者:陳太漢DataTable轉換成IList(二)DataTable轉換成IList第一版出來之後,昨晚總是覺得有很多地方可以改進,所以今天一大早來就把它給修訂了,當然還有一些地方可以改進,等我以後編碼能力提高之後再出第三版吧,第二版應該夠用 using System;using System.Collections.Generic;using System.Reflection;using System.Collections;using System.Data;namespace

《重來》值得你多看幾遍

 作者崇尚簡約、見解獨到、看法新穎、內容有點另類,卻總讓我產生共鳴,從中受到不少啟發,看起來真是過癮。原來書還可以這樣寫。有些可能不知不覺加上了我自己的觀點,同一句話不同的人有不同的理解,可能會出現斷章取義的情況,往你喜歡的方面想就好,這是唯一一本我在幾天之內看了兩遍的書,我想很多人也會喜歡,於是昨晚我把自己喜歡的內容整理了一下,形成這篇部落格。希望對大家有協助。1. 哪來的從錯誤中學習--別人的失敗與你何幹,別人掙的沒花得多,那麼,正好你來掙。你到底能從錯誤中學到什嗎?你能學到的只是不再重蹈覆

【老孫隨筆】搞技術永遠沒有出頭之日嗎?

技術人員如果不從事管理,是不是永遠沒有出頭之日呢?在國內,搞技術也來越不吃香了。人們都想著投身公務員的行列,或是從事商業自己當老闆。許多當年好友一談起自己的技術事業來,就彷彿自己正駕駛著諾亞方舟,意氣風發揮斥方遒。然而多年以後,他們紛紛睿智而又深沉地選擇了管理,再談起技術,就彷彿在談論一艘即將沉沒的破船,有些回憶的傷感,可更多的卻是倖免於難的慶幸。在IT業界,這種現象更加明顯。作為最低層,程式員們好像已經從白領階層退居藍領大軍。大家都很迷惘——莫非我們永無出頭之日,永遠要聽別人使喚,永遠沒有做主

編程之初

大一才摸電腦。電腦概論由謝柏青老師主講。當時很多理科院系的電腦概論課講了電腦群組成和二進位後就講fortran,謝老師則不然,講完基本的電腦原理,先給我們講了office應用,複製、粘貼、格式刷、excel圖表和函數,這些現在司空見慣的東西當時讓我們大開眼界,原來電腦還可以這麼玩,在宿舍裡就成了高手了,學習興趣大增。此外謝老師沒有習慣性的講fortran,而是由學生自己選學fortran還是c,我們雖然什麼都不懂,只是覺得c比fortran時髦一些,就學了c.從以後的經驗來看,培養學生的興趣和尊

電影《記憶片段》影評

前兩天看了電影《記憶片段》,看的時候並沒有很仔細,看完之後感覺一頭霧水,許多的疑問在我腦中湧現出來。主人公萊尼為何要殺死自稱探長的泰迪?薩米究竟是誰?那個納塔莉亞(駭客帝國中的Trinity)又跟萊尼什麼關係?電影中黑白部分和彩色部分是如何銜接的?? 帶著這些問題,我看了網上一些網友的評論,各種各樣的說法都有,也解釋了許多的疑問,甚至有人把這部電影的順序劇情版本剪了出來並發到了網上(執著精神可嘉!),在這種精神的驅動下,我今天又把這部電影重新看了一遍,把劇情也認真理了一遍。看第二遍的時候,思路要

三道簡單演算法題(二)

1:試著用最少的比較次數去尋找數組中的最大值和最小值。思路一:掃描數組兩次,第一次等到最大值,第二次等到最小值。總共比較次數2N,這是大家都可以想到的。思路二:定義兩個變數存放最大值和最小值,將數組兩兩分組,兩兩進行比較,大的和最大值進行比較,小的和最小值比較,數組兩兩比較次數是N/2,分別與最大值和最小值比較的次數為N,總共比較次數1.5N。好久沒寫演算法了,於是蛋疼得想實現一下。//1:試著用最少的比較次數去尋找數組中的最大值和最小值。 void FindMaxMin(int *A,int

四種方式實現–從尾到頭輸出鏈表

四種方式實現--從尾到頭輸出鏈表  方法一:借用棧倒序輸出鏈表  方法二:先翻轉鏈表,再順序輸出  方法三:遞迴實現,一個字妙,兩個字很妙,三個字太妙了  方法四:用數組實現  方法一:借用棧倒序輸出鏈表        因為棧是先進後出,把鏈表中的元素存進棧中,鏈表前面的元素在棧底,後面的元素在棧頂,鏈表後面的元素先出棧  方法二:先翻轉鏈表,再按順序列印(主要是想自己實現單鏈表的翻轉,這種實現方式破壞了鏈表的結構,當然再翻轉一下就還原了)                 翻轉鏈表的步驟:   

遞迴再一次讓哥震驚了

遞迴再一次讓哥震驚了先說那兩個讓哥震驚的遞迴問題:1:用遞迴實現單鏈表的倒序輸出2:從二叉尋找樹中刪除節點,並保證還是二叉尋找樹 同學們可以開始思考這兩個問題了,當然你可能N年前就遇到過這兩個問題,那麼不妨看看,看你是否真的理解了遞迴。實現這兩個問題的代碼當然很簡單,就在下面。 百度百科中遞迴的名片:遞迴做為一種演算法在程式設計語言中廣泛應用.是指函數/過程/子程式在運行過程中直接或間接調用自身而產生的重入現象.遞迴是電腦科學的一個重要概念,遞迴的方法是程式設計中有效方法,採用遞迴編寫程式能使程

設計模式之策略模式

Head First 設計模式第一章 歡迎來到設計模式世界 ——

總頁數: 61357 1 .... 8883 8884 8885 8886 8887 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.