Time of Update: 2018-12-03
普通的一致性雜湊(consistent
Time of Update: 2018-12-03
在前面一篇畢業生又開始找工作了裡說的校園宣講行程後來更改了,基本上長沙的宣講延到11月,其他地方的都在10月:宣講行程 城市宣講學校宣講會時間地點 廣州華南理工大學10月14日 14:30 - 16:30大學城校區A4-204 西安西安電子科技大學10月25日 14:30 - 16:30南校區電腦學院信遠樓一區320室 武漢華中科技大學10月26日 18:30 - 21:00機械學院報告廳 合肥中國科技大學10月26日 18:30 -
Time of Update: 2018-12-03
Amazon前員工,現google員工在Google+上說google不懂得做平台,裡頭也提到以前Amazon實現面向服務架構的一些經驗(不過是好幾年前的經驗了):- pager escalation gets way harder, because a ticket might bounce through 20 service calls before the real owner is identified. If eachbounce goes through a team with a
Time of Update: 2018-12-03
大體層次劃分 Facebook的架構可以從不同角度來換分層次。 一種是:一邊是PHP整的經典的LAMP stack;另外一邊是非PHP整的各種service。Facebook的頁面從剛創立的時候紮克伯格寫的,到現在,都用PHP開發。後端有用各種語言開發的service。它們之間用跨語言的thrift RPC通訊(Scribe也是建立在Thrift之上)。 另外一個角度劃分的層次是: 前面是負載局衡器(沒說是用硬體的還是軟體的);負責分配前端的Web伺服器,Web伺服器是用PHP來彙總資料;
Time of Update: 2018-12-03
前Amazon軟體工程師GREG LINDEN在他的部落格上,分享了1997年畢業後加入Amazon的一些早期故事:The seriesThe first weekGroup discountsDoor desksBookMatcherboy-am-i-hard-to-pleaseInventory cacheDogsXmas at the warehouseSplitting the websitePagers, pagersInterviewsSimilarities1996
Time of Update: 2018-12-03
個人寫各自的代碼,沒有review流程,確實比較快。開發人員會天然地喜歡和有這種傾向,因為這樣感覺比較自由,有一些醜陋的地方也不會被別人看到...但,如果開發的程式有多人維護,並且對品質、穩定性要求高的話,最後還是需要Code Review來保障代碼品質。Code
Time of Update: 2018-12-03
Chrome瀏覽器的認證管理 作者:千裡孤行(http://blog.csdn.net/yanghehong) 當瀏覽HTTPS開頭的網站時,網站的伺服器會發一個數位憑證過來,瀏覽器和人需要對其做有效性驗證。這個過程中,需要從本地的認證庫裡頭找出認證的頒發機構(certificate authority ,CA)的認證來對網站伺服器的認證做驗證。這些CA的認證是瀏覽器廠商預裝的或是使用者後來設定匯入的。 不過Google的Chrome瀏覽器比較特別,不像其他 獨立瀏覽器Firefox,
Time of Update: 2018-12-03
之前做的一個簡單的可靠UDP傳輸,基本的可靠是實現了,但沒做動態流控。當時為了簡單,也為了快速實現。當然
Time of Update: 2018-12-03
上下文context:上下文簡單說來就是一個環境,相對於進程而言,就是進程執行時的環境。具體來說就是各個變數和資料,包括所有的寄存器變數、進程開啟的檔案、記憶體資訊等。 一個進程的上下文可以分為三個部分:使用者級上下文、寄存器上下文以及系統級上下文。 使用者級上下文: 本文、資料、使用者堆棧以及共用儲存區; 寄存器上下文: 通用寄存器、程式寄存器(IP)、處理器狀態寄存器(EFLAGS)、棧指標(ESP); 系統級上下文: 進程式控制制塊task_
Time of Update: 2018-12-03
POSIX是Portable Operating System Interface of Unix的簡稱,“可移植的Unix作業系統介面”。它定義了一組最小的Unix作業系統介面。
Time of Update: 2018-12-03
北電的城域乙太網路事業部MEN賣給Ciena後,DRAC產品被Ciena開源了。 叫Open DRAC: http://www.opendrac.org/ DRAC意思是動態資源分派控制器,它的基本理念是把網路作為一種資源來管理分配,和傳統的計算,儲存一樣。 要通過web頁面註冊,等人工回複拿到帳號,才可以查看文檔和下載代碼。整個DRAC都用Java實現,代碼用SVN check out下來有幾百兆,花費時間挺長的。
Time of Update: 2018-12-03
最近讀到兩篇文章,覺得他們的觀點挺有意思,所以分享一下。第一個是:The Truly Educated Never Graduate文章全文在以下連結:http://stoffe.deephacks.org/2011/08/09/the-truly-educated-never-graduate/大意是說真正的受教育者永遠都不會畢業。我個人也比較認同,大學畢業,其實真正的學習才剛剛開始。第二個是:The Singular Secret of the Rockstar
Time of Update: 2018-12-03
通常情況下,程式只能訪問自身的資料,和其它進程沒有溝通,每個進程都是一個單獨存在的個體,進程之間不需要協作就可以完成自身的任務了。但隨著需要解決問題複雜性的增加,一個進程不可能完成所有的工作,必須由多個進程之間互相配合才能更快、更好、更強的解決問題,如同人與人之間的協作可以做出更大的事情一樣。 但是,處於安全性的考慮,OS會限制進程只能訪問自身的資料,不能把“手”伸到其它進程的內部,這怎麼辦呢?進程間的溝通問題怎麼解決呢?
Time of Update: 2018-12-03
在web開發中,經常需要原封不動的儲存使用者輸入,並安全的回顯到頁面中。對於一般的字串,比如abc、123之類的輸入,直接回顯到web頁面中並沒有什麼不妥。但對於<javascript>alert(0);</javascript>這種輸入而言,就必須進行必要的轉碼再輸出到web頁面中,否則就會出現著名的XSS攻擊了。 為了安全的回顯,我們需要把 ‘ " < & >
Time of Update: 2018-12-03
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的區別TASK_INTERRUPTIBLE是可以被訊號和wake_up()喚醒的,當訊號到來時,進程會被設定為可運行。而TASK_UNINTERRUPTIBLE只能被wake_up()喚醒。 訊號本質訊號是在軟體層次上對中斷機制的一種類比,非強制中斷訊號來源訊號事件的發生有兩個來源:硬體來源:(比如我們按下了鍵盤或者其它硬體故障);軟體來源:最常用發送訊號的系統函數是kill, raise,
Time of Update: 2018-12-03
GPRS移動資料網路 - TLLI和P-TMSI 這裡說的GPRS移動資料網路,既指2G的GPRS網路,也包括3G(WCDMA/UMTS)的資料網路(包交換域, PS Domain).因為經常會碰到TLLI和P-TMSI,所以這裡簡單解釋一下。SIM卡上有一個IMSI( 3GPP裡頭寫作 International Mobile Subscriber Identity,ITU裡頭寫的是International MobileStation Identity) ,
Time of Update: 2018-12-03
從個人的理解,Linux2.6核心對中斷處理常式的現在的處理可以分為兩種模式,一種就是上面說的老的模式(非共用中斷線),一種屬於使用共用中斷線的新模式,從其使用的註冊中斷處理常式的函數中來分析,函數原型如下:int request_irq(unsigned int irq,irqreturn_t (*handler)(int, void *, struct pt_regs *),unsigned long irqflags,const char * devname,void * dev_id);
Time of Update: 2018-12-03
看了一下google放出來的libjingle-0.4.0原始碼中的relay server部分。基本原理是要有個public的Relay Server,Relay Server要可以分配Replayed Transport Address,倒是如TURN draft-ietf-behave-turn-09描述的那樣。但有挺多不同和簡化。當然了,這個東西私人的,不存在互連的問題。 TURN是一個client/server協議, 特指client和relay
Time of Update: 2018-12-03
微軟開始建議禁用memcpy函數了,原因是因為該函數和strcpy、strncpy等函數一樣,因為存在潛在的緩衝區溢位的風險。推薦使用的代替的函數是memcpy_s(),在VC++ 2008的簽名如下:errno_t __cdecl memcpy_s(_Out_opt_bytecap_post_bytecount_(_DstSize, _MaxCount) void * _Dst,_In_ rsize_t _DstSize, _In_opt_bytecount_(_MaxCount)
Time of Update: 2018-12-03
初遇緩衝區溢位(Stack Buffer Overflow)攻擊那天晚上,某種業務有好幾個服務端進程在短時間內崩潰了。同事上去看了,發現都是在處理來自同一個地方東莞的同一個IP地址過來的請求時發生core dump。恩,詭異,當時我們先跟營運同事聯絡,在該業務的幾個伺服器上 臨時緊急禁掉該IP的串連。我也上去看了,用GDB查看core檔案。看了trace