201503-07 一些無關緊要的代碼注釋 摘要——注釋簡單代碼會干擾對重要注釋的理解。程序開發者最好能用最精要的注釋來解釋重點代碼。舉個例子,你打開一個電箱,里面有幾百根電線,蒙了吧。再一看,每根電線上面都有一個整潔的小標簽。真是謝天謝地啊!但是,當你一個個去翻看標簽的時候,見鬼的,幾乎所有的標簽都是空白的!然后,在你花了整整一個小時去瀏覽每一個小標簽之后,終于給你找到12條有用的信息,真心喜大普奔!當然,希望在你頭腦一片混亂的時候... 繼續閱讀 >
201503-07 機器學習實踐中應避免的7種常見錯誤 統計建模和工程開發很相似。在工程開發中,人們有多種方法搭建一套鍵-值存儲系統,每種設計針對使用模式有一套不同的假設。在統計建模中,也有很多算法來構造一個分類器,每種算法對數據也有各自的假設集合。當處理少量數據時,因為實驗成本很低,我們盡可能多的嘗試各種算法,從而選出效果最優的算法。但提到“大數據”,提前分析數據,然后設計相應“管道”模型(預處理,建模,優化算法,評價,產品化)是事半功倍的。正如... 繼續閱讀 >
201503-07 在Java中正確使用注釋 Java提供了3種類型的注釋:單行注釋(C++風格)在Java中最簡單的注釋是單行注釋。它以兩個正斜杠開始并到行尾結束。例如://thisisasingle-linecommentx=1;//asingle-linecommentaftercode多行注釋(C風格)Java同樣提供跨越多行的注釋類型。這種類型的注釋以緊跟著一個星號的正斜杠開始,并以緊跟著一個正斜杠的星號結束。這種類型注釋的開始和結束分界符可以在同一行里也可以在不同的行上。例如:/*Thisisa... 繼續閱讀 >
201503-07 Linux桌面環境終極指南 去年,NetworkWorld網站內的Linux老牌擁護者BryanLunduke曾經給自己定下一項奮斗目標,即深入到各類Linux桌面系統當中、以至少一周的時間利用其完成工作及個人計算任務,而后將他的心得體會記錄在LinuxTycoon博客當中。最終他撰寫出十篇評測報告,我們將其內容進行了收集與整理,以便大家通過今天的文章將不同桌面環境之間的比較結論一網打盡。當然,也歡迎尚未體驗過Linux桌面系統的朋友將本文作為參考資料加以借鑒。elemen... 繼續閱讀 >
201503-07 2015年10個最佳Web開發JavaScript庫 現在的互聯網可謂是無所不有,有大量的JavaScript項目開發工具充斥于網絡中。我們可以參考網上的指導來獲取構建代碼項目的各種必要信息。如果你是搞Web開發的,那么大多更喜歡支持前端開發的JavaScript。此腳本語言使用相對比較容易,并能為網站和Web應用創造了有趣的用戶界面。下面是10個最佳的可用于Web項目開發的JavaScript庫。1.IO.js:IO.js是一個以ChromeV8runtime為引擎的JavaScript平臺。項目基于Node.js平臺,并且I... 繼續閱讀 >
201503-06 編程技術緩存寫法(三) 上次我們說了多級緩存,本章詳細介紹下內存緩存該如何設計。一:分析設計假設有個項目有一定并發量,要用到多級緩存,如下:在實際設計一個內存緩存前,我們需要考慮的問題:1:內存與Redis的數據置換,盡可能在內存中提高數據命中率,減少下一級的壓力。2:內存容量的限制,需要控制緩存數量。3:熱點數據更新不同,需要可配置單個key過期時間。4:良好的緩存過期刪除策略。5:緩存數據結構的復雜度盡可能的低。關于... 繼續閱讀 >
201503-06 編程技術緩存寫法(二) 上次主要討論緩存讀寫這塊各種代碼實現。本篇是就上次的問題接著來,繼續看那些年我們各種緩存用法。一:緩存預熱上次有同學問過。在第一次加載時,我們的緩存都為空,怎么進行預熱。單機Web情況下,一般我們使用RunTimeCache。相對于這種情況下:1:我們可以在啟動事件里面刷新voidApplication_Start(objectsender,EventArgse){//刷新}2:單寫個刷新緩存頁面,上線后手動刷新下、或發布時自動調用刷新、或干脆由... 繼續閱讀 >
201503-06 編程技術緩存寫法(一) 介紹本篇主要說下樓主平常項目中緩存使用經驗和遇到過的問題。目錄一:基本寫法二:緩存雪崩1:全局鎖,實例鎖2:字符串鎖三:緩存穿透四:再談緩存雪崩五:總結一:基本寫法為了方便演示,我們用Runtime.Cache做緩存容器,并定義個簡單操作類。如下:publicclassCacheHelper{publicstaticobjectGet(stringcacheKey){returnHttpRuntime.Cache[cacheKey];}publicsta... 繼續閱讀 >
201503-06 C程序運行時內存結構分析 實驗知識靜態變量存儲在靜態存儲區,局部變量存儲在動態存儲區(棧),代碼存放在代碼區寄存器,EBP指向棧底,ESP指向棧頂,EIP指向正在執行指令的下一條指令,三個寄存器中保存的都是地址,32位系統,地址為4個字節即dword所有寫在函數定義里面的語句都編譯成指令(驅動CPU)實驗代碼#include<stdio.h>intfun(inta,intb);intm=10;intmain(){inti=4;intj=5;m=fun(i,j);}intfun(inta... 繼續閱讀 >
201503-05 愛上Java和JVM的10大理由 Java和JVM已經存在了很長一段時間了,基于這個事實,一些程序員開始將很多事情視為理所當然。今天我們就來說一說“Java之所以能夠成為并將繼續是軟件項目領先平臺”的十大理由。1.高性能JVMJava最初的開發目的“一次編寫到處運行”,并由虛擬機提供運行平臺。沒有JVM,Java就必須遵循Ruby和Python的步伐——在痛苦中進一步提高其便攜性。隨著物聯網的出現,一個強大的虛擬機變得越來越重要。2.核心API最讓人喜歡的就是Java核... 繼續閱讀 >
201503-05 PHP魔術方法和魔術常量介紹及使用 有些東西如果不是經常使用,很容易忘記,比如魔術方法和魔術常量。魔術方法(Magicmethods)PHP中把以兩個下劃線__開頭的方法稱為魔術方法,這些方法在PHP中充當了舉足輕重的作用。魔術方法包括:__construct(),類的構造函數__destruct(),類的析構函數__call(),在對象中調用一個不可訪問方法時調用__callStatic(),用靜態方式中調用一個不可訪問方法時調用__get(),獲得一個類的成員變量時調用__set(... 繼續閱讀 >
201503-05 MySQL性能優化指南 本文的主要目標是介紹如何優化MySQL數據庫,通過定期分析表和檢查表、定期優化表以及一些常用SQL語句的優化手段,可以幫助你學會在MySQL開發中編寫更為高效的SQL。1、定期分析表和檢查表分析表的語法如下:ANALYZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtb1_name[,tbl_name]...以上語句用于分析和存儲表的關鍵字分布,分析的結果將可以使得系統得到準確的統計信息,使得SQL能夠生成正確的執行計劃。如果用戶感覺實際執行計劃并... 繼續閱讀 >
201503-05 大數據量下MySQL插入方法的性能比較 不管是日常業務數據處理中,還是數據庫的導入導出,都可能遇到需要處理大量數據的插入。插入的方式和數據庫引擎都會對插入速度造成影響,這篇文章旨在從理論和實踐上對各種方法進行分析和比較,方便以后應用中插入方法的選擇。插入分析MySQL中插入一個記錄需要的時間由下列因素組成,其中的數字表示大約比例:連接:(3)發送查詢給服務器:(2)分析查詢:(2)插入記錄:(1x記錄大小)插入索引:(1x索引... 繼續閱讀 >
201503-04 JavaScript性能優化小知識總結 JavaScript的性能問題不容小覷,這就需要我們開發人員在編寫JavaScript程序時多注意一些細節,本文非常詳細的介紹了一下JavaScript性能優化方面的知識點,絕對是干貨。前言一直在學習javascript,也有看過《犀利開發Jquery內核詳解與實踐》,對這本書的評價只有兩個字犀利,可能是對javascript理解的還不夠透徹異或是自己太笨,更多的是自己不擅于思考懶得思考以至于里面說的一些精髓都沒有太深入的理解。鑒于想讓自己有一個提... 繼續閱讀 >
201503-04 Ngnix 日志管理及 Shell 實現定時完成日志切割 一、日志管理先來看看ngnix的配置文件的server段接下來我們解釋一下默認格式的具體意思#log_formatmain‘$remote_addr(遠程IP)–$remote_user(遠程用戶)[$time_local](訪問時間)“$request”(請求方式)‘#‘$status(狀態302、404、401、403等)$body_bytes_sent(請求體body長度等)“$http_referer”(referer來源信息)‘#‘”$http_user_agent(用戶代理)”“$http_x_forwarded_for(被轉發的請... 繼續閱讀 >
201503-04 使用 Shell 腳本監控 Linux 系統進程資源 本文主要介紹Linux平臺下的shell腳本使用,主要包括如何對系統和進程資源進行有效的監控。Shell簡介Shell語言對于接觸LINUX的人來說都比較熟悉,它是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行。實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內核。它沒有一般編程語言的“編譯–鏈接–運行”過程。不僅如此,Shell有自... 繼續閱讀 >