linux
-
淺談RPM
淺談RPM [先絮叨下編譯啊] 1、 庫:其實就是一個程序模塊(它沒有執行入口,不能獨立執行,只能被能獨立運行的程序調用時執行)你可以把它想象成工具螺絲刀,可執行的程序是就是你自己;螺絲刀能自己干活嗎?沒有螺絲刀能擰螺絲嗎?或者說你現在制作一個? 螺絲刀可以實現這個功能但需要你來執行這個動作。 2、靜態編譯:將程序所需要的所有的庫都編…
-
Linux 內存管理
1.Linux 進程在內存數據結構 可以看到一個可執行程序在存儲(沒有調入內存)時分為代碼段,數據段,未初始化數據段三部分: 1) 代碼段:存放CPU執行的機器指令。通常代碼區是共享的,即其它執行程序可調用它。假如機器中有數個進程運行相同的一個程序,那么它們就…
-
Linux的SOCKET編程詳解
1. 網絡中進程之間如何通信 進 程通信的概念最初來源于單機系統。由于每個進程都在自己的地址范圍內運行,為保證兩個相互通信的進 程之間既互不干擾又協調一致工作,操作系統為進程通信提供了相應設施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)軟中斷信號(signal) UNIX system V有:消息(message)、共享存儲區…
-
Nginx工作原理和優化、漏洞。
1. Nginx的模塊與工作原理 Nginx由內核和模塊組成,其中,內核的設計非常微小和簡潔,完成的工作也非常簡單,僅僅通過查找配置文件將客戶端請求映射到一個location block(location是Nginx配置中的一個指令,用于URL匹配),而在這個location中所配置的每個指令將會啟動不同的模塊去完成相應的工作。 Nginx的模塊…
-
程序員小抄大全
你是否會經常忘記一些CSS中的函數名或是一些屬性名,那個時候,你一定覺得,如果手邊有一個“小抄”(Cheat Sheet)就好了。當然,這個“小抄”不是給你作弊用的,這個“小紙條”就是可以讓你馬上知道那個你最想知道的東西。這個“小抄”上也不需要有所有的東西,就需要那些經常用的就行了。現在,網上有很多這樣的“小抄”,它們可能是PDF格式的,可能是PNG格式的,…
-
恐怖的C++語言
Linus曾經(2007年9月)在新聞組gmane.comp.version-control.git里和一個微軟的工程師(Dmitry Kakurin)爭執過用C還是用C++,當時的那個微軟的工程師主要是在做Git的Windows版,但他卻發現Git的源碼居然是C語言寫的,而不是C++,于是他(Dmitry Kakurin)在Linux社區里發貼表示對Lin…
-
HAproxy reload config file with uninterrupt session
HAProxy is a high performance load balancer. It is very light-weight, and free, making it a great option if you are in the market for a load balancer and need to keep your cos…
-
編程真難啊
上周,在Sun的Java論壇上出現了一個這樣的帖子,這個貼子的鏈接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的貼子翻譯如下: 大家好,我是一個Java的新手,我有一個簡單的問題:請問我怎么才能反轉一個整數的符號啊。比如把-12轉成+12。是…
-
C++的std::string的“讀時也拷貝”技術!
C++的std::string的讀時也拷貝技術! 嘿嘿,你沒有看錯,我也沒有寫錯,是讀時也拷貝技術。什么?我的錯,你之前聽說寫過時才拷貝,嗯,不錯的確有這門技術,英文是Copy On Write,簡寫就是COW,非?!!?!那么我們就來看看這個’牛’技術的效果吧。 我們先編寫一段程序 #include <string> #include…
-
TCP網絡關閉的狀態變換時序圖
TCP共有11個網路狀態,其中涉及到關閉的狀態有5個。 在我們編寫網絡相關程序的時候,這5個狀態經常出現。因為這5個狀態相互關聯,相互糾纏,而且狀態變化觸發都是由應用觸發,但是又涉及操作系統和網絡,所以正確的理解TCP 在關閉時網絡狀態變化情況,為我們診斷網絡中各種問題,快速定位故障有著非常重要的作用和意義。 下是是根據W.Richard Stevens的《…
-
到處都是Unix的胎記
一說起Unix編程,不必多說,最著名的系統調用就是fork,pipe,exec,kill或是socket了(fork(2),execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))這些系統調用都像是Unix編程的胎記或簽名一樣,表…
-
Code Review中的幾個提示
Code Review應該是軟件工程最最有價值的一個活動,之前,本站發表過《簡單實用的Code Review工具》,那些工具主要是用來幫助更有效地進行這個活動,這里的這篇文章,我們主要想和大家分享一下Code Review代碼審查的一些心得。 首先,我們先來看看Code Reivew的用處: Code reviews 中,可以通過大家的建議增進代碼的質量。 …
-
誰寫了Linux
2009年8月,Linux軟件基金會發布了一份叫《Who Writes Linux and Who Supports It》(PDF)的報告。這份報告主要對Linux 2.6.x的開發進行了全方位的統計。看了以后才知道,原來Linux的開發的生產率竟是這樣的驚人,而且相當的的令人振奮,所以,在第一時間轉過來給大家看看。讓人不得不驚嘆,這不可思議的具有非凡活力…
-
Linus Torvalds 語錄 Top 10
下面是Linux的創始人Linus Torvalds的一些言論,這是我個人認為最有意思的10句。如果你想看更多的Linus Torvalds說過的話,你可以看看他在維基百科上的詞條:Linux Torvalds。我們在下面給出中英文對照,希望你能喜歡。 “Really, I’m not out to dest…
-
Java構造時成員初始化的陷阱
讓我們先來看兩個類:Base和Derived類。注意其中的whenAmISet成員變量,和方法preProcess() public class Base { Base() { preP…