04 2012 檔案
摘要: 線段樹,及 RMQ ST 。。。
閱讀全文
摘要: 回首作為一個程序員這些年來的生活和職業道路,我使用了很多種不同的方法來提高我的編程技能 —— 閱讀代碼,編寫程序,閱讀書籍,聽講座,看視頻,等等。
我的問題是:你做過的最有效的提高你的編程水平的一件事情是什么?對于那些想提高水平的程序員,你的建議是什么?
我希望你們提供的答案是各種各樣的,并且不是那種“放之四海而皆準”的答案 —— 我希望得到適用于不同人的不同的答案。。。
閱讀全文
摘要: 搜索題,本來是簡單題,但我犯了錯誤。。。
閱讀全文
摘要: EOJ 1981 Sticks
POJ 1011 Sticks
HDOJ 1455 Sticks
UVA 307 Sticks 。。。
閱讀全文
摘要: PM 常常遇到一個難題,就是有好多東西想要做,但無奈什么事都得通過工程師,沒辦法自己動手,于是因為和工程師不太美好的關系,最后實際的產品都沒有設計時看起來好。我這邊講的是「網路公司」的狀態,PM 泛指那些規劃出產品的人。其他產業也許也有類似情形,以下這些「教戰手則」,提供給正在摸索自己生存之道的 PM 一些參考。。。
閱讀全文
摘要: 老師教我們怎么寫程序,但從來沒告訴我們在公司里,會有個叫做 PM 的人每天分派作業給我們,還逼著我們趕快做完。這是許多軟件工程師進入職場的第一個驚喜。隔了不久,還會發現,這些可能把你壓得死死的 PM,多半一行程序都不會寫。于是我們會面臨一種很矛盾的心情,有時候會是一種有點被欺負的心理。這篇文章是前一篇文章PM 如何突破工程師的心防的延伸,我們討論的是工程師在這樣狀況下的生存之道。。。
閱讀全文
摘要: KISS – Keep It Simple Stupid
DRY – Don’t Repeat Yourself 。。。
閱讀全文
摘要: 看歸看了,但習題沒做,學習效果打了折扣。。。
閱讀全文
摘要: 最近的幾個月,我一直在學習一種叫Haskell的編程語言。由于里面有太多的從未遇到的編程概念,整個過程就像是完全重新學習如何編程。在i.TV網站上,我寫了很多JavaScript(node.js和前端代碼)。雖然有不少的函數式/haskell式的編程模式不能引用進來,但仍有大量的技術思想讓我在使用javascript編程語言時受益不少。
你會發現Haskell庫里有能夠處理各種事情的各種各樣的函數。起初我以為這些只是一種技術上的積累,但隨后我認識到,這些函數相比起其它語言里的函數,它們能應用到形式更廣泛的問題中。這使得它們更有價值,因為我們都不太喜歡對一些常見的問題還不得不自己去寫解決方案。。。
閱讀全文
摘要: 一日,你查看你的程序代碼,你有兩大塊代碼看起來幾乎完全的一樣。事實上它們就是完全一樣,除了一個代碼里說的是“Spaghetti(意大利面條)”,另一個代碼里說的是“Chocolate Moose(巧克力慕絲)”。。。
閱讀全文
摘要: 在一個創業公司里,最初的十個人決定了這個公司的成敗與否。。。
閱讀全文
摘要: 心理學家與專業魔術師邁克爾·格爾博提出了“達·芬奇與眾不同的7種天才特質”。他闡述為好奇心、悟性、藝術和科學、關聯、開闊、細致和合作精神。然而,這些特質本身并沒有什么超前性,它們卻使達·芬奇能夠從不同的角度看事物,從而能夠去思考不同的事物,驅動創新。。。
閱讀全文
摘要: 可能除了哲學家以外,我認為程序員是最懶的一群人。他們的職業看起來又似乎有一定的勞動強度。。。
閱讀全文
摘要: 馬克·吐溫曾經說過,所謂經典小說,就是指很多人希望讀過,但很少人真正花時間去讀的小說。這種說法同樣適用于“經典”的計算機書籍。。。
閱讀全文
摘要: 如何設計出具有優秀用戶體驗的產品是交互設計師始終面臨的一道難題,“好的產品設計一定是建立在對用戶需求的深刻理解上”這句話被許多設計師視為設計的天條;至于在設計中如何發現并深刻理解用戶的需求,并由此設計出具有優秀用戶體驗的產品,阿里巴巴的UED團隊在多年的產品設計實踐中總結出重要的五項原則。。。
閱讀全文
摘要: 工程師有喜歡解決問題的天性,尤其不能忍受他的系統里面有 bugs。所以只要碰到問題,他就想要把它們通通解決掉,似乎只要能夠解決越多問題,他就能夠創造越多價值。這樣的邏輯在企業用軟件的開發、維護中,或許是對的,但拿到消費者市場里面,卻幾乎是殺死創業者最重要的原因。。。
閱讀全文
摘要: 上課的時候記筆記?哪門功課不行,就集中精力專項突擊?自習的時候不要晃,選好一個地兒安安穩穩地待那兒學習?你還在這樣學習嗎?不要被騙了:這些被我們奉為良好學習習慣的東西,恰恰是冒了學習正道的大不韙。。。
閱讀全文
摘要: 假設你是正在開發和維護一個包含 2000 個類并使用了很多框架的 Java 開發人員。你要如何理解這些代碼?在一個典型的 Java 企業項目小組中,大部分能夠幫你的高級工程師看起來都很忙。文檔也很少。你需要盡快交付成果,并向項目組證明自己的能力。你會如何處理這種狀況?這篇文字為開始一個新項目的 Java 開發者提供了一些建議。。。
閱讀全文
摘要: 歷史已經證明,軟件設計的缺陷一直是導致其漏洞被利用的最主要的罪魁禍首。安全專家發現,多數漏洞源自常見軟件中相對有限的一些漏洞。軟件開發者和設計者應當嚴格檢查程序中的各種錯誤,盡量在軟件部署之前就減少或清除其中的漏洞。。。
閱讀全文
摘要: gc即垃圾收集機制是指jvm用于釋放那些不再使用的對象所占用的內存。java語言并不要求jvm有gc,也沒有規定gc如何工作。不過常用的jvm都有gc,而且大多數gc都使用類似的算法管理內存和執行收集操作。
在充分理解了垃圾收集算法和執行過程后,才能有效的優化它的性能。有些垃圾收集專用于特殊的應用程序。比如,實時應用程序主要是為了避免垃圾收集中斷,而大多數OLTP應用程序則注重整體效率。理解了應用程序的工作負荷和jvm支持的垃圾收集算法,便可以進行優化配置垃圾收集器。
垃圾收集的目的在于清除不再使用的對象。gc通過確定對象是否被活動對象引用來確定是否收集該對象。gc首先要判斷該對象是否是時候可以收集。。。
閱讀全文
摘要: Java 語言可能是使用最廣泛的依賴于垃圾收集的編程語言,但是它并不是第一個。垃圾收集已經成為了包括 Lisp、Smalltalk、Eiffel、Haskell、ML、Scheme和 Modula-3 在內的許多編程語言的一個集成部分,并且從 20 世紀 60 年代早期就開始使用了。在 Java 理論與實踐的本篇文章中,Brian Goetz 描述了垃圾收集最常用的技術。在以后的幾個月,他將分析 1.4 JVM 所使用的垃圾收集策略、不同垃圾收集策略對性能的影響和如何才能(以及如何 不能)幫助垃圾收集器取得更好的性能。。。
閱讀全文