Time of Update: 2018-12-07
不知道有多少人以前在寫代碼的注意過“代碼複雜度”的問題?!我問了很多人,得到的答案是“好像在學校的演算法課上提到過”,僅此而已。 現在很多程式的可擴充性都不是太好,不知道大家有沒有想過,這點是不是和複雜度有本質的關係?如果真的有,那麼控制碼的複雜度是不是很重要? 以前,我曾經聽到過這樣的話“某某寫的代碼太抽象,很難看懂。”顯然,初看起來是非常的亂,但是你知道它的可擴充性是相當的強嗎?只能說“他寫的代碼讓你很迷惑,很費神,因為你顯然不瞭解它的模式”。
Time of Update: 2018-12-07
雖然在開源出來的FastDFS用戶端中有一個樣本,並且配有用戶端的設定檔,但是今天開了一個小會,感覺還是有必要寫一個使用指南來說明一下這個用戶端的使用方法。 在開源的包中有FastDFS.Client和FastDFS.Web(以下簡稱client和web)兩個項目文檔,前一個就是整個用戶端的原始碼檔案,後一個其實就是DFS用戶端使用的樣本。其實從使用上來說,DFS用戶端的使用是很簡單的,具體可以看Web檔案結構,代碼和下面的文章:
Time of Update: 2018-12-07
最近開始關注linux平台上的C開發,小弟才疏學淺,需要書本來提高自己。但是從網路書店,和星期五,星期六去上海兩家書店的情況看,感受到了需要學習的開發人員的悲哀。 買書,首先想到的是網站,搜尋一看,需要的書很少,我知道這種書應該是老外的比較多,我就收英文版本的,結果在中國發行的還是很少,不超過10本;星期五去浦東陸家嘴正大的書店看,看到的關於linux或者作業系統的書不超過5本;我還是不死心,去上海書城,一看,結果差不多,有深度的書不超過10本。悲哀啊!
Time of Update: 2018-12-07
前面,我寫過了一篇替換同步的設想. 在該篇文章中,我使用了分布式緩衝的方法替換掉本機快取的同步。今天我的同事正在為此想法而努力,但是有一個不好訊息,就是業務對象太大,有些對象竟然大到超乎想象的地步。我真的很佩服我的同事們,那麼嚴重的問題竟然還能使線上的伺服器非常的穩定,大家的實力看來都不錯。但是問題沒有解決,還得想想怎麼解決?
Time of Update: 2018-12-07
昨天的一頓午飯,讓我想起了企業分布式開發的真正需求,特別是適合我們的在window平台下的分布式開發。 在java的世界中,企業開發相對簡單。因為有一大堆的企業級中介軟體供你使用,而且也會有相對的很多標準供你參考。但是在window平台下,好像沒有java世界那麼繁華。那麼企業的分布式開發到底最需要什麼呢? 相信很多人都已經拜讀了j2ee without ejb,有幸我和其中的一個譯者對於“分布式開發”進行過交流。結果我們取得了一致的觀點:在分布式系統中,最重要的還是分散式交易。
Time of Update: 2018-12-07
吃完晚飯,接到一個朋友的電話:大意是要來上海工作,讓我幫忙瞭解一下行情。我就去51job上逛了一圈;想到自己的簡曆也是放在那邊n久都沒動過了,就去點了一下。我倒是沒去更新我的簡曆資訊,只是當看到簡曆上的工作經曆和項目經驗時,真是感歎時光飛逝,往事如煙啊。一轉眼到現在的公司都超過一年了,糾結了很久,還是覺得有必要對我在前一家公司的工作做一個總結。
Time of Update: 2018-12-07
locker server的alpha版本開發已經進入了最後階段。到目前為止,已經完成了主要的網路通訊工作。所以,locker server的通訊協議也已經確定下來。 locker server的操作分為:獲得鎖,釋放鎖,查詢鎖狀態,批量獲得鎖,批量釋放鎖,批量查詢鎖狀態。並且這些操作都分為:請求(request)和回複(response)兩部分。在程式的運行中,這些操作都是使用一個byte的值替代。具體如下: REQUEST_GET_LOCKER
Time of Update: 2018-12-07
這幾天,我們擴充了dfs的一些功能,特別是增加了批量上傳的功能和更改了檔案的上傳路徑功能,這些功能使我們的dfs更容易的管理,更節省資源。
Time of Update: 2018-12-07
昨天完成了dfs批量上傳檔案的伺服器端程式,再第一時間就拿出來共用了。當然了,程式比較亂,那是因為我調試的一些資訊都留在裡面了,是原汁原味的東西,包括一些注釋什麼的都沒有刪除,我認為這些東西應該能起到讓人更快理解程式的作用,所以就全部放出來了。當然了也有可能注釋的錯的,大家見諒啊。
Time of Update: 2018-12-07
上接工作第一年回憶總結,時間來到了工作第二年,我在PM的協助下拿到了令自己滿意的工資,又開始加入公司正常的工作。
Time of Update: 2018-12-07
前天晚上下班回家,和同事一起在地鐵上聊起了架構師的問題。有一點自己的愚見,可以分享一下。 架構師到底是啥玩意?不管是在校科班學生,還是剛入行的菜鳥,或者已經有相對工作經驗的朋友,只要一聽到架構師這個稱謂,馬上起立,至少要行注目禮。但是現在的架構師,特別是國內的一些所謂的架構師,在特定的環境下,真的變得“架構”起來。與至於我一個同事說:在某些環境下,架構師就是“誆架師”,特別是在某些技術方面。咳,現實和理想哦差距,一言難盡啊!
Time of Update: 2018-12-07
今天是年二十九,上班最後一天了。最近一直在忙於dfs的升級和擴充工作,到今天終於告了一個段落。今天開始,我將抽出一定的空餘時間寫一個locker server。locker server也將和師傅的dfs一樣開源,並且遵循“Public License V3”開源協議。 先來說說locker server是一個什麼東東?其實從名字上就已經可以看出來了,locker server是一個提供鎖的伺服器。有很多人肯定會有疑問,鎖?我不是直接使用class
Time of Update: 2018-12-07
據我瞭解不少中小型檔案系統都是通過資料庫實現的,資料庫作為備份角色,二進位檔案需要轉出來應用,具體流程如下: 後來我瞭解到,當時怎麼設計是因為網站剛剛起來的時候,業務量不是很大,而且這種設計有幾個優點 資料可以永久儲存; 資料移轉方便; 所以在當時這樣的設計已經符合了業務的需求和系統的效能需求,但是現在隨著網站業務量的增加,DBA經常抱怨圖片儲存到資料庫中的設計方式嚴重的消耗了資料庫的效能,只是做架構的同志們沒有聽到。既然效能有損耗也不便於管理,其實這種最佳化工作還是值得去做的。 首先,
Time of Update: 2018-12-07
近期,老是聽到同事說同步的事情。當初還不知道“同步”是怎麼一回事情,很想弄一個明白。今天我特地去找了一個在公司年代較久的PM瞭解情況。終於大概明白了“同步”的緣由。
Time of Update: 2018-12-07
前幾天因為工作的關係給dfs增加了“批量上傳功能”,另外前段時間為了讓dfs檔案擁有更好的可管理性,給dfs目錄前面加上了“YYYYMM”的檔案前置符。這些工作都是基於dfs1.21版本開發的,但也可以在任一一個版本中加入使用。下面就講講完成這些工作的做法,想法,和為什麼這麼做的原因。 代碼前一段時間已經公開出來,有興趣的同志可以去看我前幾篇相關的blog。
Time of Update: 2018-12-07
近期,因為工作的需要,發現了國人寫的一款基於lunix、用純c寫成的一款Distributed File System管理軟體,名叫FastDFS。仔細了拜讀了作者的原始碼後,感覺此開源軟體還不錯,效能和功能應該是能滿足一定量的業務需要。後來發現此軟體沒有.Net用戶端,所以就照著DFS的API寫了一個。我為此用戶端寫了如下的功能:1. 增加了tracker和storage的串連池功能,但是不支援串連睡眠;2.
Time of Update: 2018-12-07
今年結婚了,十一先在老婆家辦完了事情,老家的婚期因為家人的緣故無奈的選擇在年二十四,丈人一家也都在我家參加了我們的“第二次”婚禮。因為那段時間是春運的高峰,鑒於全國的火車票行情,決定在上海過一個年。今年在上海也有了屬於自己的一個小家,所以至少是在自己的家裡過年了。可惜我父母按照老家的習俗沒法來上海過年,我們只好和老丈人一家一起在上海過年了,遺憾ing。
Time of Update: 2018-12-07
在linux平台上使用c開發網路程式的同志們一般情況下都對鼎鼎大名的libevent非常的熟悉了。但是一些新進入此領域的new new people們對此都是一頭霧水。原本的迷茫再加上開源軟體一貫的“協助檔案”缺失作風,讓我們這些新手們顯的非常的無助。幸好有一些熱心的朋友們幫忙,才化險為夷啊! 前幾天一直在開發一個locker server,雖然公司現有的locker
Time of Update: 2018-12-07
之所以叫為工程,只是本人的一點私人意願。本人一直是MS平台的忠實fans,最近因為工作的需要開始接觸linux平台,接觸了國內一款開源的FastDFS系統,所以,對個人而言,c和linux本身就是一個新鮮的玩意,故只好當作工程來做了。
Time of Update: 2018-12-07
明天就要開始上班了,春節對於我們這種忙碌的人來說已經過完了。這個春節因為一些原因在上海過年,上海的年味按照“沿海年味”習慣性的不濃。除了煙花,鞭炮和電視節目不停的提醒你正在過年外,別的和往常一樣的生活。但是,我們這個年過的還是挺充實,旅遊,電影,登東方明珠,逛公園都去了,收穫頗豐。