php7內核剖析
A. 紅與黑讀書筆記
紅與黑讀書筆記5000字
司湯達的《紅與黑》,寫的是法國青年於連的故事。於連是一個有才華,有野心,有自尊,也有良心的人。下面由我為大家精心收集的紅與黑讀書筆記5000字,希望可以幫到大家!
之所以選擇司湯達的《紅與黑》作為我研究的內容,源於最近在閱讀著名企業家萬科地產老總王石先生的傳記《道路與夢想》過程中,讀到了王石先生早年在蘭州讀大學的經歷,那時的他因為倔強和驕傲的性格始終不能融入學校的環境,一心嚮往著於連式的光榮,憧憬著野性和自由的生活。於是在了解王石先生的過程中,我對《紅與黑》這部小說發生了強烈的興趣。在同父母的交流中得知,現今五六十歲的知識分子很少不知道這部小說的,在當時那個年代,他們都曾懷著激昂和強烈的情感對待其中的主人公,那個叫做於連的年輕小夥子。並且以此為伴度過了孤獨而迷茫的青少年時代。於是我在想,這部小說究竟有怎樣的魔力和魅力,足以使其在經歷了近兩百年的時間依然經久不衰,歷久彌新?
《紅樓夢》的作者曹雪芹曾經寫道:“滿紙荒唐言,一把辛酸淚。都雲作者痴,誰解其中味。”《紅與黑》的作者司湯達則堅信五十年後這部小說才會有讀者,他說:“我將在1880年為人所理解。”故而雖然一千個讀者心中有一千個於連,但是我們只有在解“其中味”的基礎上進行閱讀,方能完整揭示整部小說的真實含義。
在《紅與黑·卷上》的卷首,司湯達引用了假託丹東的一句話:“真實,殘酷的真實。”在《紅與黑·卷下》的卷首,他引用了聖勃夫的一句話:“她不漂亮,她不搽胭脂。”同時,作者還有一句題詞,至於全書總目錄下,用英文書寫的To the happy few,意為“獻給少數幸福的人”。我們將這三句題詞串聯起來,不難發現作者給我們提出了兩個極具挑戰性的問題:究竟什麼是這部小說中的真實?究竟誰是少數幸福的人?實際上我認為,這兩個問題就是敲開《紅與黑》這扇大門的兩把金鑰匙,因此它們也是我在這篇文章中所要剖析的重點。
首先我們先來分析“真實”這個問題,即《紅與黑》中的真實究竟是什麼?
提到真實,在我看來,真實是一種本質,是一種經得起考驗、經得起推敲、能夠長久存在的東西。《六祖壇經》說:“凡有相皆屬虛妄”,能夠看到的表面現象固然是一種客觀存在,但畢竟是虛妄之物。司湯達反復聲明他五十年後才能得到理解,這就意味著,他所指的真實,絕不僅僅是於連的愛情,於連的死亡,神學院的黑暗,以及種種政治斗爭這些故事情節和內容,而是指一種不能為所有人一眼看穿的真理和智慧,這才是真正的真實。不過,在剖析內核之前,我們還是要大致了解一下《紅與黑》中的故事內容。
文章的主人公於連·索萊爾快到19歲時到德·萊納先生家當家庭教師;21歲左右進入德·拉莫爾府做秘書;23歲前後左右入獄,兩個月後死。從出場到被處決,僅僅四年左右
的時間。小說第44章描寫於連在入獄後的內心獨白中有這樣兩句:“盛夏,一隻蜉蝣早晨九點鍾生,傍晚五點鍾死,它如何能理解夜這個字呢?”“讓它再活五個鍾頭,它就能看見和理解什麼是夜了。”這樣一個甚至尚未到達正午時光的年輕人到底是怎樣的呢?
文章的副標題是“1830年記事”,事實上,作者通過這部小說,向我們完整展現了整個19世紀法國社會的概貌:在法國小城維里埃,耶穌教會橫行霸道,資產階級自由派虎視
眈眈,封建貴族生活在危機四伏之中,巴黎的上層社會已煩悶無聊為特徵,外省的生活封閉狹隘,心靈被銅臭氣毒化,從上到下,從貴族到平民,最高的行為准則只有一個:帶來收益。當時的封建等級制度森嚴,出生於上層社會的人屬於“龍生龍,鳳生鳳,老鼠生來會打洞”,社會地位底下的人想要躋身上流社會,無疑比登天還難。可惜我們的主人公偏偏是一個不安於現狀、進取心極強的人,他聰明、敏感、干練、驕傲而又倔強。雖然出身卑微,但在個人英雄主義的理想驅使下,野心勃勃,渴望成功、發跡,寧願死上一千次也要飛黃騰達。他喜歡讀自己的“可蘭經”:盧梭的《懺悔錄》、拿破崙的《聖赫勒那島回憶錄》及大軍公報。在一次又一次的自我挑戰和征服中,他似乎一步步在邁向飛黃騰達的道路,然而彷彿在攀登上最高峰時,兩記響亮的槍聲讓於連從雲端重重地摔落在地上,所有激盪人心的勇氣和野心都灰飛煙滅,他回到了真實的生活里。那麼,下面我對這個問題的分析就縮小到於連身上,也即,撥開雲山霧罩的重重迷障,在於連的命運中,哪些是虛假的?究竟什麼又是真實呢?
我以為,我從中提煉出了三條線索,並且這三條線索是互相承繼的。
第一條線索,19歲剛剛進入德·萊納先生家做家庭教師的於連憧憬著拿破崙摧枯拉朽式的大革命,希望所處的社會能夠重新經受一番大革命的洗禮。在初出茅廬時,他甚至曾經幻想做維里埃的市長,建立偉大的事業,成為拿破崙那樣的世界的主人。然而在步入巴黎後,他才發現現實的殘酷。他曾經說:“象我這樣一個可憐的鄉下人,我,被判定永遠地穿著這套愁苦的黑衣服!假如我早生二十年,我也會象他們一樣穿著軍服。在那時候,象我這樣的人,不是被殺,便是在三十歲上做了將軍。”不能步拿破崙的後塵,他只好選擇黑袍來做時代的“軍服”,以大主教的“十萬法郎的年俸,藍綬的勛章和統治權”為奮斗目標了。
寫到這里,我不由的想到司湯達的一位朋友問他,小說的題目是什麼意思,他解釋說:“紅”意味著,於連若出生的早,他會是個士兵,因為紅色指紅色的軍裝,代表軍隊;然而他生不逢時,只好披上黑色的道袍,這就是“黑”。在司湯達的解釋中,“紅”與“黑”不是對立的,而是並立平行的。這二者的不同在於所處的時代環境和歷史背景的區別,然而他們都毫無疑問地通向一個唯一的目標:成功。而貫穿於這兩條道路之中的,則是那寧可死上一千次也要飛黃騰達的不可動搖的決心和野心勃勃的烈火雄心。在我看來,整部《紅與黑》中所有的沉浮升降榮辱興衰似乎都可以忽略,唯一能夠在我心中留下深刻印象的就是堅韌不拔的毅力和強烈的進取心。於是,關於於連究竟是個人主義野心家,還是一個反抗封建制度的資產階級英雄,值得同情還是應該批判,多少年來人們爭論不休。我並不想糾纏於這樣意識形態的問題,我所關注的,乃是人的命運,人們心裡的東西。於是我方才深刻理解了開頭所講的王石先生為什麼如此渴望於連式的光榮,因為我在於連身上似乎隱隱約約看到了我的影子。我想,這是每一個渴望在更大的舞台上做大事業的躊躇滿志的年輕人都會有的感受。我們是幸運的。而對於於連,在他所處的那個時代,他全部的抱負和野心只能是鏡花水月一般,能夠渴望,卻難以真正觸及。
第二條線索,我們來分析於連為了實現它巨大的野心而採取的手段。這樣一個孱弱而靦腆的平明青年不僅要處處顯示知識和能力上的優勢,也即他最初打動眾人的驚人的記憶力還要採取種種不大光彩的手段,例如虛偽、作假和違心之舉。為了渴求崇高的榮譽、幸福和自由,他決心用卑鄙的手段達到目的。他是一個新生的自由資產階級式的人物,卻扮演了虔誠信徒的角色;他在精神和信仰上都傾向於雅各賓派,卻參加了保皇派的陰謀;他是一個民主主義者,卻處處要裝得像個他所鄙視的貴族。他的所作所為處處與其所要達到的目的和真實想法背道而馳。正是這種矛盾使得他的野心不僅沒有實現,反而葬送了自己年輕的生命。
想要做一個真正的野心家,首先要清清楚楚地知道自己究竟要的是什麼,樹立清晰和明確的目標,其次要對周圍的環境和時代背景有充分透徹的認識,也就是說能一眼將利益格局、人事關系以及華麗背後的盤根錯節和重重機關看透。此外,要根據自己的實力和現有的狀況制定詳細合理的戰略戰術,在執行戰略的過程中,必須以徹底的自我管理和鋼鐵般的意志力控制自己完成目標。在所有一切工作進行的過程中,要時時做到冷靜、理智、專注、務實、執著方能成功。對比於連,我們發現他口口聲聲“成功”“發跡”“飛黃騰達”種種,卻從未說清楚他究竟要的是什麼。他動輒想當今一個主教比當年一位將軍多掙多少錢,然而他關心和誰吃飯勝過多少薪水,他拒絕了和愛麗莎有利的婚事,不走富凱那樣穩妥的發財之路。因而它更在乎的不是錢,而是榮譽、平等和自由,因此他想三十歲當上將軍,第一次提升就欣喜若狂,有了騎士封號就喜出望外。他並不是一個務實的人。因為他“不屬於任何客廳,不屬於任何小集團”,正如德·拉莫爾侯爵所言:“他沒有一個不失去一分鍾、一個機會的律師所具有的那種機靈和狡猾的才能。”他所真正在乎的獲得的東西,並不是實際的金錢、職務、地位,而多是貴婦的青睞、能力的實現、自尊心的滿足,甚至哪怕遠離男人的目光,這也能使他感到放鬆和自由。這樣的品質就決定了他其實並非一個真正的個人主義野心家,他缺乏除了野心之外的東西為他鋪路,幫助他走向成功。從這個意義上講,於連只能是一個失敗的、糊塗的、頭腦不清楚的、不夠求實務本的、自不量力的堂吉訶德式的人物。
最後一條線索,我們把目光聚焦在於連最終的命運。陶淵明在《歸去來兮辭》中有句:“既自以心為形役,奚惆悵而獨悲!悟以往之不諫,知來者之可追;識迷途其未遠,覺今是而昨非。”這是於連在入獄後思想和處境的真實寫照。之前我們看到於連的愛情、於連的野心、於連的奮斗,當他從勝利走向勝利一路高奏凱歌的時候,作者筆鋒一轉,於連一下從雲霧中跌入現實。真實永遠不是浮於表面的,就像深海里的魚,唯有在高壓、寒冷、孤獨的環境下才能生存。也就是說,真實是能夠讓我們觸摸到生命中最疼痛和最戰栗的。就像一個不漂亮,也不搽胭脂的樸素的女人,卻懂得生命樸素的智慧,能夠與相愛的男子過著相知相伴的白頭偕老的生活。股神巴菲特在華爾街金融危機時曾經說過一句很著名的話,只有海潮退去,才能知道究竟誰在裸泳。也許,當危機真正來臨時,我們才能變得真正充滿睿智。我想,小說最後幾章中於連入獄後心靈的轉變,表明了他已經從迷霧中走出,一步步觸摸到了生命的真實,真實的生活。這里我的文章實際上就已經引向了第二大部分的內容:究竟誰是少數幸福的人?
要分析誰是少數幸福的人,怎樣做才能成為少數幸福的人,我們先要了解什麼是幸福。幸福是指人的心理慾望得到滿足的過程,是一種和諧的狀態。人活在世界上,我個人覺得歸根結底是為了追求幸福。然而真正懂得什麼是幸福的人卻少之又少,於是人們熙熙攘攘,來來往往,為名為利,最終依然不快樂、不幸福。讓我們看看於連在這個問題上是怎麼做的吧。於連首先是把社會和他人的標准作為自己獲得幸福的標准。他的所有虛偽、算計、警惕和所謂的“作戰計劃”和防範措施無一不是為了出人頭地、飛黃騰達。然而這一切實際上與他的本性,與他內心的呼喚構成了強烈的沖突和矛盾。因此他總是處於風聲鶴唳草木皆兵的緊張狀態,雖然他在一步步往前走的過程中確實曾為階段性的成功和欣喜若狂,快樂到了極點,但是他這種野心實現後的狂喜並非他真是的快樂和幸福。外在的過於強烈的沖擊吞噬了真實的自我,他已經失去了真實的`自我。然而於連畢竟不是一個像機器一樣不需要自我的冷酷而殘忍野心家,他是一個心地善良的性情中人。於是他所有向上爬的伎倆和手段總是漏洞百出,終不能為人所接納,被視為異類,因為他的與眾不同而陷入到無止境的痛苦之中。在他入獄之後,大徹大悟,並且在最後的法庭辯論上採取了一種“自殺”式的行為。因此有人講於連的“成功”並沒有給他帶來幸福,反而是他的失敗促使他走向幸福之路。從這個角度講,也許,入獄後的於連就是司湯達心目中的“少數幸福的人”。
作者將此書獻給少數幸福的人,我覺得這其中蘊含了他本人的對人生的一種體悟。司湯達在寫作這部小說時已經四十七歲,飽經滄桑的人生使他賦予了其作品對生命與幸福的深刻含義。說到底,所有的社會科學、人類的文學藝術創作關注的都是人性,都是人的命運。司湯達在二十二歲時曾經說過:“幾乎所有的人生不幸都源於我們對所發生的事情有錯誤的認識。深入地了解人,健康地判斷事物,我們就朝幸福邁進了一大步。”於連之前的不幸福最重要的原因就是沒有深入了解自己。司湯達對人生的三大信條是“自我、幸福、精力彌滿”,他追求的並非於連眼裡的成功,故而我們會微微感覺到他在描寫上升時期的於連時流露出一種嘲諷的口吻。在我眼裡,司湯達是一個明智的人,他認為有才智的人應該獲得它所必需的東西,才能不依賴任何人;然而當這種保證已經獲得,他還把時間用增加財富上,那他就是一個可憐蟲。他筆下的於連就是這樣一個他口中的可憐蟲。像那個傳說中的西緒弗斯一樣,於連用他全部的力量試圖將一個註定要滾落下來的巨石推上山頂,最後這塊巨石並未登上山頂,可是於連成功了。他在生命的最後就像久在海上顛簸的水手回到陸地上一樣,在寧靜安詳中離開了世界。
在我眼裡,幸福和成功是一體的,能夠獲得幸福就是人生最大的成功。幸福有兩層含義,首先是要有基本的物質基礎,就是世俗的金錢、名譽、地位,我想沒有人會拒絕這方面的成功,因為沒有人希望自己窮困潦倒,成為現實生活中的失敗者。歌德說:“勛章和頭銜能使人在傾軋中免遭挨打”。的確,這樣的幸福不僅是必須的,而且對於希望超脫的人來說,這無疑能夠幫助他們擺脫為利益勾心鬥角的小圈子。幸福的另一方面就是精神的愉悅和心靈的滿足。比物質和外在的東西更重要的是,一個人要擁有內在的豐富,有自己的真性情和真興趣,有自己真正喜歡做的事。同時應該相信,在人類精神的伊甸園里,必有一個生命樹,樹上必有一顆屬於你的果子,去尋找這顆屬於你的果子,這是你畢生的使命。當我們尋找到這顆果子,帶著它到茫茫的大千世界中再去尋找那個最適合我們的位子,我們就會得到真正的幸福。也就是說,當自我和外在達到一種高深和玄妙的平衡後,我們就會建立起真實而強大的精神坐標。當我們擁有了如羅曼羅蘭所言“一顆清明寧靜非常關切的靈魂”,這種信念將會支撐我們度過未來吉凶難卜的歲月。即使遭遇世界上最慘痛和恥辱的失敗,我們都能生活在攻不破的精神城堡里。我想,這就是幸福吧。
至此,我已經全部解答了我在文章開頭提出的那兩個問題。現在我試圖把“真實”與“幸福”這兩個問題結合起來,回歸到《紅與黑》這部小說的本身。真實是不變的本質,而幸福是我們追尋的目標;真實是超越紛繁復雜的故事情節背後的冷靜的智慧,幸福是整部小說探討人性的核心。關於這兩點,我不敢斷言自己已經解“其中味”,只是按照自己的思考對其進行解讀。我的解讀並未涉及過多的具體故事情節以及於連的兩段愛情,我真正想要做的,是希望能夠從一個更高的視角來高屋建瓴地俯瞰整部小說。我堅信,唯有真正透過瑣碎的現象觸摸到冷靜和理智的本質,我們才能得到智慧和力量。我想,司湯達寫作這部小說的意義也就在於此吧。
;B. 求《Unix內核源碼剖析》全文免費下載百度網盤資源,謝謝~
《Unix內核源碼剖析》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1ynCFpI4meyMZ43ngAy0JgA
簡介:《Unix內核源碼剖析》是一本UNIX V6內核源代碼的閱讀指南。作者結合UNIX V6已公開的相關文檔,對UNIX V6的內核源碼進行詳細剖析,旨在讓讀者更深入地理解進程、中斷、塊I/O系統、文件系統、字元I/O系統、啟動系統等操作系統的基本原理。
C. 怎麼學習linux
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
D. 紅與黑小說讀後感3000字
之所以選擇司湯達的《紅與黑》作為我研究的內容,源於最近在閱讀著名企業家萬科地產老總王石先生的傳記《道路與夢想》過程中,讀到了王石先生早年在蘭州讀大學的經歷,那時的他因為倔強和驕傲的性格始終不能融入學校的環境,一心嚮往著於連式的光榮,憧憬著野性和自由的生活。於是在了解王石先生的過程中,我對《紅與黑》這部小說發生了強烈的興趣。在同父母的交流中得知,現今五六十歲的知識分子很少不知道這部小說的,在當時那個年代,他們都曾懷著激昂和強烈的情感對待其中的主人公,那個叫做於連的年輕小夥子。並且以此為伴度過了孤獨而迷茫的青少年時代。於是我在想,這部小說究竟有怎樣的魔力和魅力,足以使其在經歷了近兩百年的時間依然經久不衰,歷久彌新?
《紅樓夢》的作者曹雪芹曾經寫道:「滿紙荒唐言,一把辛酸淚。都雲作者痴,誰解其中味。」《紅與黑》的作者司湯達則堅信五十年後這部小說才會有讀者,他說:「我將在1880年為人所理解。」故而雖然一千個讀者心中有一千個於連,但是我們只有在解「其中味」的基礎上進行閱讀,方能完整揭示整部小說的真實含義。
在《紅與黑·卷上》的卷首,司湯達引用了假託丹東的一句話:「真實,殘酷的真實。」在《紅與黑·卷下》的卷首,他引用了聖勃夫的一句話:「她不漂亮,她不搽胭脂。」同時,作者還有一句題詞,至於全書總目錄下,用英文書寫的Tothehappyfew,意為「獻給少數幸福的人」。我們將這三句題詞串聯起來,不難發現作者給我們提出了兩個極具挑戰性的問題:究竟什麼是這部小說中的真實?究竟誰是少數幸福的人?實際上我認為,這兩個問題就是敲開《紅與黑》這扇大門的兩把金鑰匙,因此它們也是我在這篇文章中所要剖析的重點。
首先我們先來分析「真實」這個問題,即《紅與黑》中的真實究竟是什麼?
提到真實,在我看來,真實是一種本質,是一種經得起考驗、經得起推敲、能夠長久存在的東西。《六祖壇經》說:「凡有相皆屬虛妄」,能夠看到的表面現象固然是一種客觀存在,但畢竟是虛妄之物。司湯達反復聲明他五十年後才能得到理解,這就意味著,他所指的真實,絕不僅僅是於連的愛情,於連的死亡,神學院的黑暗,以及種種政治斗爭這些故事情節和內容,而是指一種不能為所有人一眼看穿的真理和智慧,這才是真正的真實。不過,在剖析內核之前,我們還是要大致了解一下《紅與黑》中的故事內容。
文章的主人公於連·索萊爾快到19歲時到德·萊納先生家當家庭教師;21歲左右進入德·拉莫爾府做秘書;23歲前後左右入獄,兩個月後死。從出場到被處決,僅僅四年左右
的時間。小說第44章描寫於連在入獄後的內心獨白中有這樣兩句:「盛夏,一隻蜉蝣早晨九點鍾生,傍晚五點鍾死,它如何能理解夜這個字呢?」「讓它再活五個鍾頭,它就能看見和理解什麼是夜了。」這樣一個甚至尚未到達正午時光的年輕人到底是怎樣的呢?
文章的副標題是「1830年記事」,事實上,作者通過這部小說,向我們完整展現了整個19世紀法國社會的概貌:在法國小城維里埃,耶穌教會橫行霸道,資產階級自由派虎視
眈眈,封建貴族生活在危機四伏之中,巴黎的上層社會已煩悶無聊為特徵,外省的生活封閉狹隘,心靈被銅臭氣毒化,從上到下,從貴族到平民,最高的行為准則只有一個:帶來收益。當時的封建等級制度森嚴,出生於上層社會的人屬於「龍生龍,鳳生鳳,老鼠生來會打洞」,社會地位底下的人想要躋身上流社會,無疑比登天還難。可惜我們的主人公偏偏是一個不安於現狀、進取心極強的人,他聰明、敏感、干練、驕傲而又倔強。雖然出身卑微,但在個人英雄主義的理想驅使下,野心勃勃,渴望成功、發跡,寧願死上一千次也要飛黃騰達。他喜歡讀自己的「可蘭經」:盧梭的《懺悔錄》、拿破崙的《聖赫勒那島回憶錄》及大軍公報。在一次又一次的自我挑戰和征服中,他似乎一步步在邁向飛黃騰達的道路,然而彷彿在攀登上最高峰時,兩記響亮的槍聲讓於連從雲端重重地摔落在地上,所有激盪人心的勇氣和野心都灰飛煙滅,他回到了真實的生活里。那麼,下面我對這個問題的分析就縮小到於連身上,也即,撥開雲山霧罩的重重迷障,在於連的命運中,哪些是虛假的?究竟什麼又是真實呢?
我以為,我從中提煉出了三條線索,並且這三條線索是互相承繼的。
第一條線索,19歲剛剛進入德·萊納先生家做家庭教師的於連憧憬著拿破崙摧枯拉朽式的大革命,希望所處的社會能夠重新經受一番大革命的洗禮。在初出茅廬時,他甚至曾經幻想做維里埃的市長,建立偉大的事業,成為拿破崙那樣的世界的主人。然而在步入巴黎後,他才發現現實的殘酷。他曾經說:「象我這樣一個可憐的鄉下人,我,被判定永遠地穿著這套愁苦的黑衣服!假如我早生二十年,我也會象他們一樣穿著軍服。在那時候,象我這樣的人,不是被殺,便是在三十歲上做了將軍。」不能步拿破崙的後塵,他只好選擇黑袍來做時代的「軍服」,以大主教的「十萬法郎的年俸,藍綬的勛章和統治權」為奮斗目標了。
寫到這里,我不由的想到司湯達的一位朋友問他,小說的題目是什麼意思,他解釋說:「紅」意味著,於連若出生的早,他會是個士兵,因為紅色指紅色的軍裝,代表軍隊;然而他生不逢時,只好披上黑色的道袍,這就是「黑」。在司湯達的解釋中,「紅」與「黑」不是對立的,而是並立平行的。這二者的不同在於所處的時代環境和歷史背景的'區別,然而他們都毫無疑問地通向一個唯一的目標:成功。而貫穿於這兩條道路之中的,則是那寧可死上一千次也要飛黃騰達的不可動搖的決心和野心勃勃的烈火雄心。在我看來,整部《紅與黑》中所有的沉浮升降榮辱興衰似乎都可以忽略,唯一能夠在我心中留下深刻印象的就是堅韌不拔的毅力和強烈的進取心。於是,關於於連究竟是個人主義野心家,還是一個反抗封建制度的資產階級英雄,值得同情還是應該批判,多少年來人們爭論不休。我並不想糾纏於這樣意識形態的問題,我所關注的,乃是人的命運,人們心裡的東西。於是我方才深刻理解了開頭所講的王石先生為什麼如此渴望於連式的光榮,因為我在於連身上似乎隱隱約約看到了我的影子。我想,這是每一個渴望在更大的舞台上做大事業的躊躇滿志的年輕人都會有的感受。我們是幸運的。而對於於連,在他所處的那個時代,他全部的抱負和野心只能是鏡花水月一般,能夠渴望,卻難以真正觸及。
第二條線索,我們來分析於連為了實現它巨大的野心而採取的手段。這樣一個孱弱而靦腆的平明青年不僅要處處顯示知識和能力上的優勢,也即他最初打動眾人的驚人的記憶力還要採取種種不大光彩的手段,例如虛偽、作假和違心之舉。為了渴求崇高的榮譽、幸福和自由,他決心用卑鄙的手段達到目的。他是一個新生的自由資產階級式的人物,卻扮演了虔誠信徒的角色;他在精神和信仰上都傾向於雅各賓派,卻參加了保皇派的陰謀;他是一個民主主義者,卻處處要裝得像個他所鄙視的貴族。他的所作所為處處與其所要達到的目的和真實想法背道而馳。正是這種矛盾使得他的野心不僅沒有實現,反而葬送了自己年輕的生命。
想要做一個真正的野心家,首先要清清楚楚地知道自己究竟要的是什麼,樹立清晰和明確的目標,其次要對周圍的環境和時代背景有充分透徹的認識,也就是說能一眼將利益格局、人事關系以及華麗背後的盤根錯節和重重機關看透。此外,要根據自己的實力和現有的狀況制定詳細合理的戰略戰術,在執行戰略的過程中,必須以徹底的自我管理和鋼鐵般的意志力控制自己完成目標。在所有一切工作進行的過程中,要時時做到冷靜、理智、專注、務實、執著方能成功。對比於連,我們發現他口口聲聲「成功」「發跡」「飛黃騰達」種種,卻從未說清楚他究竟要的是什麼。他動輒想當今一個主教比當年一位將軍多掙多少錢,然而他關心和誰吃飯勝過多少薪水,他拒絕了和愛麗莎有利的婚事,不走富凱那樣穩妥的發財之路。因而它更在乎的不是錢,而是榮譽、平等和自由,因此他想三十歲當上將軍,第一次提升就欣喜若狂,有了騎士封號就喜出望外。他並不是一個務實的人。因為他「不屬於任何客廳,不屬於任何小集團」,正如德·拉莫爾侯爵所言:「他沒有一個不失去一分鍾、一個機會的律師所具有的那種機靈和狡猾的才能。」他所真正在乎的獲得的東西,並不是實際的金錢、職務、地位,而多是貴婦的青睞、能力的實現、自尊心的滿足,甚至哪怕遠離男人的目光,這也能使他感到放鬆和自由。這樣的品質就決定了他其實並非一個真正的個人主義野心家,他缺乏除了野心之外的東西為他鋪路,幫助他走向成功。從這個意義上講,於連只能是一個失敗的、糊塗的、頭腦不清楚的、不夠求實務本的、自不量力的堂吉訶德式的人物。
最後一條線索,我們把目光聚焦在於連最終的命運。陶淵明在《歸去來兮辭》中有句:「既自以心為形役,奚惆悵而獨悲!悟以往之不諫,知來者之可追;識迷途其未遠,覺今是而昨非。」這是於連在入獄後思想和處境的真實寫照。之前我們看到於連的愛情、於連的野心、於連的奮斗,當他從勝利走向勝利一路高奏凱歌的時候,作者筆鋒一轉,於連一下從雲霧中跌入現實。真實永遠不是浮於表面的,就像深海里的魚,唯有在高壓、寒冷、孤獨的環境下才能生存。也就是說,真實是能夠讓我們觸摸到生命中最疼痛和最戰栗的。就像一個不漂亮,也不搽胭脂的樸素的女人,卻懂得生命樸素的智慧,能夠與相愛的男子過著相知相伴的白頭偕老的生活。股神巴菲特在華爾街金融危機時曾經說過一句很著名的話,只有海潮退去,才能知道究竟誰在裸泳。也許,當危機真正來臨時,我們才能變得真正充滿睿智。我想,小說最後幾章中於連入獄後心靈的轉變,表明了他已經從迷霧中走出,一步步觸摸到了生命的真實,真實的生活。這里我的文章實際上就已經引向了第二大部分的內容:究竟誰是少數幸福的人?
要分析誰是少數幸福的人,怎樣做才能成為少數幸福的人,我們先要了解什麼是幸福。幸福是指人的心理慾望得到滿足的過程,是一種和諧的狀態。人活在世界上,我個人覺得歸根結底是為了追求幸福。然而真正懂得什麼是幸福的人卻少之又少,於是人們熙熙攘攘,來來往往,為名為利,最終依然不快樂、不幸福。讓我們看看於連在這個問題上是怎麼做的吧。於連首先是把社會和他人的標准作為自己獲得幸福的標准。他的所有虛偽、算計、警惕和所謂的「作戰計劃」和防範措施無一不是為了出人頭地、飛黃騰達。然而這一切實際上與他的本性,與他內心的呼喚構成了強烈的沖突和矛盾。因此他總是處於風聲鶴唳草木皆兵的緊張狀態,雖然他在一步步往前走的過程中確實曾為階段性的成功和欣喜若狂,快樂到了極點,但是他這種野心實現後的狂喜並非他真是的快樂和幸福。外在的過於強烈的沖擊吞噬了真實的自我,他已經失去了真實的自我。然而於連畢竟不是一個像機器一樣不需要自我的冷酷而殘忍野心家,他是一個心地善良的性情中人。於是他所有向上爬的伎倆和手段總是漏洞百出,終不能為人所接納,被視為異類,因為他的與眾不同而陷入到無止境的痛苦之中。在他入獄之後,大徹大悟,並且在最後的法庭辯論上採取了一種「自殺」式的行為。因此有人講於連的「成功」並沒有給他帶來幸福,反而是他的失敗促使他走向幸福之路。從這個角度講,也許,入獄後的於連就是司湯達心目中的「少數幸福的人」。
作者將此書獻給少數幸福的人,我覺得這其中蘊含了他本人的對人生的一種體悟。司湯達在寫作這部小說時已經四十七歲,飽經滄桑的人生使他賦予了其作品對生命與幸福的深刻含義。說到底,所有的社會科學、人類的文學藝術創作關注的都是人性,都是人的命運。司湯達在二十二歲時曾經說過:「幾乎所有的人生不幸都源於我們對所發生的事情有錯誤的認識。深入地了解人,健康地判斷事物,我們就朝幸福邁進了一大步。」於連之前的不幸福最重要的原因就是沒有深入了解自己。司湯達對人生的三大信條是「自我、幸福、精力彌滿」,他追求的並非於連眼裡的成功,故而我們會微微感覺到他在描寫上升時期的於連時流露出一種嘲諷的口吻。在我眼裡,司湯達是一個明智的人,他認為有才智的人應該獲得它所必需的東西,才能不依賴任何人;然而當這種保證已經獲得,他還把時間用增加財富上,那他就是一個可憐蟲。他筆下的於連就是這樣一個他口中的可憐蟲。像那個傳說中的西緒弗斯一樣,於連用他全部的力量試圖將一個註定要滾落下來的巨石推上山頂,最後這塊巨石並未登上山頂,可是於連成功了。他在生命的最後就像久在海上顛簸的水手回到陸地上一樣,在寧靜安詳中離開了世界。
在我眼裡,幸福和成功是一體的,能夠獲得幸福就是人生最大的成功。幸福有兩層含義,首先是要有基本的物質基礎,就是世俗的金錢、名譽、地位,我想沒有人會拒絕這方面的成功,因為沒有人希望自己窮困潦倒,成為現實生活中的失敗者。歌德說:「勛章和頭銜能使人在傾軋中免遭挨打」。的確,這樣的幸福不僅是必須的,而且對於希望超脫的人來說,這無疑能夠幫助他們擺脫為利益勾心鬥角的小圈子。幸福的另一方面就是精神的愉悅和心靈的滿足。比物質和外在的東西更重要的是,一個人要擁有內在的豐富,有自己的真性情和真興趣,有自己真正喜歡做的事。同時應該相信,在人類精神的伊甸園里,必有一個生命樹,樹上必有一顆屬於你的果子,去尋找這顆屬於你的果子,這是你畢生的使命。當我們尋找到這顆果子,帶著它到茫茫的大千世界中再去尋找那個最適合我們的位子,我們就會得到真正的幸福。也就是說,當自我和外在達到一種高深和玄妙的平衡後,我們就會建立起真實而強大的精神坐標。當我們擁有了如羅曼羅蘭所言「一顆清明寧靜非常關切的靈魂」,這種信念將會支撐我們度過未來吉凶難卜的歲月。即使遭遇世界上最慘痛和恥辱的失敗,我們都能生活在攻不破的精神城堡里。我想,這就是幸福吧。
至此,我已經全部解答了我在文章開頭提出的那兩個問題。現在我試圖把「真實」與「幸福」這兩個問題結合起來,回歸到《紅與黑》這部小說的本身。真實是不變的本質,而幸福是我們追尋的目標;真實是超越紛繁復雜的故事情節背後的冷靜的智慧,幸福是整部小說探討人性的核心。關於這兩點,我不敢斷言自己已經解「其中味」,只是按照自己的思考對其進行解讀。我的解讀並未涉及過多的具體故事情節以及於連的兩段愛情,我真正想要做的,是希望能夠從一個更高的視角來高屋建瓴地俯瞰整部小說。我堅信,唯有真正透過瑣碎的現象觸摸到冷靜和理智的本質,我們才能得到智慧和力量。我想,司湯達寫作這部小說的意義也就在於此吧。
【紅與黑讀後感3000字】
司湯達的《紅與黑》,寫的是法國青年於連的故事。於連是一個有才華,有野心,有自尊,也有良心的人。許多評價把於連說成是一味向上爬的野心家。但我個人而言,我覺得他們都忽略了一點,就是於連良心的一面。或者說忽略了站在故事背後的作者進行的精神思考。
於連確實是野心家。於連的野心膨脹過程是故事最表面也是最直接的線索。在德。雷納爾放假,於連想:「我一定要在這個女人身上得手,」「那樣如果有一天我發跡了,有人指責我趕過家庭教師這樣下等的職業,我就可以告訴他,是愛情把我拋到這個職位上的。」但是於連也像一個哲學家,他思考人生,思考巴黎,在他的腦中揮之不去的是當像拿破崙般的英雄。但他對德雷納爾夫人的愛,特別是在他生命的最後,不能不讓人感到真情。作者的故事構造得極巧妙。當於連步上仕途時,他用盡心機去獲取德雷納爾夫人的心,並想用此來證明自己的能力和提高自身的價值,可最後他才明白德·雷納爾"夫人是他的終生至愛。後來的瑪蒂爾德小姐是在開始時主動追求於連的。但是又經過多次的反復,曾使於連感到神魂顛倒。當瑪蒂爾德確認自己愛上於連的時候,於連在臨死之前卻說只有德·雷納爾"夫人才會真心待他的孩子。在於連的攀升過程也少不了這些女人們的幫助,可是在最後他的摔倒也是因為女人。作者在紅與黑中塑造了於連,可是更塑造的於連背後的時代,在上層社會中,人人都重視榮譽,可是又過著奢侈的頹廢的生活,青年們都缺乏勇氣。社會的各種黨派都在積極而又秘密的活動著。
對於書名人們也引起了一番爭論,通常,人們認為書名中的「紅」是象徵拿破崙時代的軍服「黑」是王政復古年代的僧侶黑衣。也有人認為,紅是德·瑞那夫人的鮮血,黑是瑪特爾的喪服
紅與黑是象徵賭盤上的黑點紅點,而輪盤則象徵人生的游戲等。我認為紅色還可以象徵於連的追求人生意義,而黑色就代表社會中形形色色為了自己的利益而拚命奔波,卻不理解自己存在真正意義的生存狀態吧
讀了紅與黑後,我越發明白了在階級社會中金錢門第的至高無上,於連是一個才華橫儀的知識青年,如給他一個舞台,他會鋒芒比露的,為社會作出貢獻,可是那個社會如同一個染缸漫漫的熏染他,使他為了自己的;理想不得不同流合污,然而,他的地位,家族使他不能被統治階級所接受,等待他的只有被排擠直至死於階級的血槍中,他真愛的雷德那夫人,然而為了事業,他不得不選擇放棄,當他相戀生活著的我們得以本質般活著,沒有必要為任何目的去討好任何人,當然,若為實言則可言之,我們沒有必要為討好其他人為達到某種目的因此違背自己內心說話,便成了口不對心的人。由此可得,我們應腳踏實地並句句發自肺腑,當一個「真心真意」的人。
——「這就是拿破崙的命運。日後,也會是他的命運嗎?」
於連在連打兩個「勝仗」後,獨自挺立在峭崖上,仰望晴空。他一直崇拜拿破崙,卻不得不將崇拜之情藏於心底,他把拿破崙的的頭像藏在睡床處,每每情緒激動時便在頭像背處寫下感言並著上日期。他特別崇拜拿破倫,因為在拿破倫的時代,一個平民出身的子弟有著在戰爭中迅速陞官發財的機會。但是於連卻是生活在貴族、僧侶統治下的復辟時期。在這個等級制度森嚴的社會中,沒有爵位和財產的人,受著更大的壓抑和鄙視;即使象於連這樣有才能的人,也無處施展他的「抱負」。這種情況就造成了於連對統治階級的不滿和反抗。
在一個痛恨篡位稱帝的瑞那先生家裡,其是痛恨此人的。他仰瞰著腳下的維璃葉城,心情激越,思緒飛揚,空中盤旋的雄鷹吸引了於連的目光,他渴望雄鷹搏擊長空的力量,孤高的境界,由此可知於連為什麼如此崇拜拿破崙,整個場景暗喻了於連的征服野心。
——「小說,是一面鏡子,鑒以照之,一路行去。」
-聖留阿爾
小說,是異於自身的另一種生活,對異於自體的文體寫照,我們的生活或許與書中相同又或許不同,這是可能事件不是必然事件,它是一面鏡子,照出另一樣姿態生活的故事和人物,艷麗又或黯淡,使我們能從中收益良多,從而讓我們自己能在人生之路上取之借鑒,讓這條路能走得更平穩,順當。照己像的鏡子是鑒別的鏡子,因為鏡子的鑒別的作用,人們往往這樣的映照能讓我們看到自我真實的形象,從而能起到提醒我們或者警告我們的作用。
——「日常發生的事,其奇奇怪怪的一面,往往掩蓋了激情造成的真正不幸。」
女主人與於連之間仆主的戀情繼續升溫,他在她身邊,並不是一個身兼情人的僕人。「擔憂一去,墮入愛的瘋狂,連帶這又產生致命的懷疑。」在愛戀,悔恨,歡愉的交疊中,日子過得如閃電一樣快。兩人便渾渾噩噩地,雙方都想承擔惡果或者說是力爭於報應。女主人感慨嘆息這男人非她的丈夫,便不會發生如此多的事了。他們片刻的愉悅,有時也是令人不愉悅的,心裡總有種道不出的滋味。
E. 《php7內核剖析》pdf下載在線閱讀全文,求百度網盤雲資源
《PHP7內核剖析》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1_RliiSD06HTFDfsL0y0T_A
簡介:PHP作為流行的語言之一,自靠前個版本發布至今的二十幾年裡經歷了多次重大改進,PHP7版本很大的特色在於其性能上的突破,比PHP5快了一倍。目前PHP7已經得到了廣泛應用,越來越多的項目從PHP5遷移到了PHP7。
F. 《tomcat內核設計剖析(汪建著)帶目錄完整》pdf下載在線閱讀全文,求百度網盤雲資源
《tomcat內核設計剖析(汪建著)帶目錄完整》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1DhVD3HidFHLPIvL_rhLEag
簡介:本書不是鼓勵讀者去重復發明輪子,而是希望讀者能夠研究開源軟體的架構,學習其優秀的設計理念,知道這些產品的過人之處,從而提升自己的編程素養。
G. 是不是都要開發兩個:php5和php7版的
查看過鳥哥的幾個擴展,都是新拉個分支來寫php7版的擴展;
而swoole擴展,倒是使用了個php7-swapper.h來包裝,但是它裡面使用的php內核的東西相對來說比較好用宏來操作。
比如,在php5版擴展下有如下定義:
typedef struct _test_obj {
zend_object std; // 放到頭部
my_test_struct *my; int count;
} test_obj;
根據php7擴展改進意見,該結構體需要修改為:
typedef struct _test_obj {
my_test_struct *my; int count;
zend_object std; // 放到尾部} test_obj;
等等,要是使用 宏 來包裝,就會讓代碼看起來比較丑點,但是如果不這樣,分兩個分支開發的話,那每次都要修改兩份代碼,也比較費事。
H. linux下的c/c++開發
我就是做LINUX下的C開發的。
准確的說,LINUX下C才是主要的開發語言,但是寫應用程序還是要用面向對象的,尤其是圖形界面的,不如QT和X和GTK等等。下面說的必須要求你C語言學的很好而且會使用LINUX的情況下。LINUX常用命令要熟悉。
要學LINUX下的C編程,先看一兩本LINUX下C的書比較好,這個你自己選擇,但是經典的書還是好一些,比如《LINUX程序設計》、《UNIX環境高級編程》,看這些的時候把書上的例子選擇一些自己編譯一下,哪怕是照著敲進去,事半功倍。
看完一本這樣的書,你對LINUX系統編程的知識就足夠了,這時候你可以開始閱讀一些LINUX下的源代碼來鍛煉和提升能力了,LINUX下有很多開源的軟體,你可以搜一下,應用程序也很多,但是最好的源代碼還是LINUX內核。
推薦一本簡單的內核書《linux內核完全剖析0.12》,這個講的是0.12內核,代碼量只有1萬多行的內核,現在的2.6估計一千萬,一輩子看不完。這個書講了很多X86體系結構的知識,這時理解內核必備的,匯編你要能看懂。
能看懂內核代碼了,就說明你至少不是初學者了,現在肯定能開發項目了,有了經驗後,恭喜你,你就成為一名LINUX程序員了。
再由這些基礎後,你就可以選擇一些具體的開放方向了,比如底層一點,驅動,協議等、或者嵌入式應用等、或者是QT等。不過這就是後話了,呵呵
我自己的一些體會,希望能對你有用。
I. 如何使用 PHP 構建一個高性能的彈幕後端服務
隨著WEB2.0的流行,現在很多網站都流行使用「彈幕」這種形式來實現互動。
彈幕(barrage),中文流行詞語,原意指用大量或少量火炮提供密集炮擊。大量以字幕彈(dàn)出形式顯示的評論同時在屏幕上飄過的現象也被稱為彈幕。
作為PHPer的我們,看到現在各種網站都有酷炫的彈幕飛過,我們是不是也想給自己的網站加入彈幕功能呢?
首先彈幕的後端其實說白了和公共聊天室的後端原理十分相似,都是一個客戶端發送消息給服務端,服務端再將收到的消息廣播給其他的客戶端。對於後端來說他們幾乎沒區別,區別就在於前端。
好在我們有一個前端彈幕插件,這個插件是一個jquery插件,github地址:https://github.com/chiruom/jquery.danmu.js,基本上會使用jquery語法,看看示例代碼就可以傻瓜化使用。
前端已經有了解決方案,但是後端呢?前端如何與後端通訊?用傳統的ajax輪詢嗎?不行,這樣效率太低,想想各大火爆的直播平台都是同一時間幾萬人在線,幾千人同時發彈幕,如果靠ajax輪詢一個php介面的話伺服器會吃不消的。且彈幕消息存儲方案略顯復雜,有人問為什麼要存儲呢?因為ajax使用的HTTP協議是無狀態協議,A客戶端和B客戶端之間對於伺服器來說沒有任何標志,如果伺服器要確保A客戶端和B客戶端分別在兩次請求的時候伺服器只返回這兩個客戶端沒有獲取過的彈幕消息,那麼伺服器端就必須使用一個緩存來標識某某客戶端看過哪條彈幕消息。綜上所述ajax可以實現小規模的彈幕通信方案,但是很麻煩。
好在最新的HTML5中加入了WebSocket協議,我們可以通過WebSocket這種基於HTTP協議之上的即時通信協議來替代ajax這種傳統的我問你答的老舊通信模式。而我們是PHPer,對於我們這種只懂PHP的人該如何編寫WebSocket服務端呢?好在我們又得知PHP有一個Swoole擴展,我們在PHP語言中使用它可以很方便的構建一個WebSocket服務端。
關於Swoole的介紹可以參照他的官網http://www.swoole.com/,下面引用官網對它的一段簡短的介紹。
PHP的非同步、並行、高性能網路通信引擎,使用純C語言編寫,提供了PHP語言的非同步多線程伺服器,非同步TCP/UDP網路客戶端,非同步MySQL,非同步Redis,資料庫連接池,AsyncTask,消息隊列,毫秒定時器,非同步文件讀寫,非同步DNS查詢。 Swoole內置了Http/WebSocket伺服器端/客戶端、Http2.0伺服器端。
Swoole可以廣泛應用於互聯網、移動通信、企業軟體、雲計算、網路游戲、物聯網(IOT)、車聯網、智能家居等領域。 使用PHP+Swoole作為網路通信框架,可以使企業IT研發團隊的效率大大提升,更加專注於開發創新產品。
先別被Swoole這么多的功能嚇到了。我們先關注這裡面的重點Swoole內置了Http/WebSocket伺服器端/客戶端意味著我們可以通過它構建WebSocket的服務端。看到這里我們是不是就急急忙忙去拿官網的WebSocket服務端代碼做測試呢?不,Swoole是一個PHP擴展,意味著我們還得去安裝它。是不是直接去下載so文件然後在php.ini中加入extension=swoole.so就可以了呢?還不是,我們先去看看Swoole擴展的依賴,這也是我們使用任何語言的任何外部包,外部模塊,外部擴展最先要了解的問題。
參考官網:http://wiki.swoole.com/wiki/page/7.html環境依賴
僅支持Linux,FreeBSD,MacOS,3類操作系統
Linux內核版本2.3.32以上
PHP5.3.10以上版本,包括PHP7
gcc4.4以上版本或者clang
cmake2.4+,編譯為libswoole.so作為C/C++庫時需要使用cmakePHP版本依賴
swoole僅支持PHP5.3.10或更高版本,建議使用PHP5.4+swoole不依賴php的stream、sockets、pcntl、posix、sysvmsg等擴展。PHP只需安裝最基本的擴展即可意味著我們Windows下是無法使用這個擴展了(其實可以藉助cygwin在win下使用swoole,但是考慮到我們使用swoole擴展就是為了性能,也為了熟悉以後的生產環節部署做准備,強烈推薦在linux下開發),那麼我們把開發環境轉移到Linux下進行吧。
接著還要求Linux內核版本為2.3.32以上,PHP為5.3.10以上,那麼我們就用最新的CentOS吧,這個版本的yum安裝的php直接就是PHP7最新版,根本無需考慮其他問題,當然你喜歡圖形界面,用Ubuntu也可以。其他的基本上最新的Linux發行版都是符合版本要求的。
接著我們便來安裝這個擴展,推薦使用PECL來安裝,只需要一條pecl install swoole
即可,非常方便。當然你要編譯安裝,具體步驟請參考http://wiki.swoole.com/wiki/page/6.html安裝完擴展之後在命令行下輸入
php -m
檢查,如果有swoole那麼說明安裝成功了。
接下來就正式開始我們的編碼旅程了。
開始編碼旅程之前我們先看看最基礎的效果原型是什麼樣子沒錯就是這個樣子,兩個瀏覽器之前完全獨立使用Websocket連接服務端,因此對於服務端來說這兩個瀏覽器就相當於兩個完全處在不同機器上的客戶端。
效果看完了就開始來講代碼吧。
我們先看看官網的WebSocket服務端示例代碼。
$serv = new Swoole\Websocket\Server("127.0.0.1", 9502);$serv->on('Open', function($server, $req) {echo "connection open: ".$req->fd;
});
$serv->on('Message', function($server, $frame) {echo "message: ".$frame->data;
$server->push($frame->fd, json_encode(["hello", "world"]));});
$serv->on('Close', function($server, $fd) {echo "connection close: ".$fd;
});
$serv->start();
我們看到這個代碼的第一行先是new了一個WebSocket服務端對象,並且在構造方法中的第一個參數指定了服務端監聽的IP,第二個參數指定了服務端監聽的埠。然後使用on方法為每一個事件設置了回調函數,最後一行start方法正式開始運行服務端。
這種寫法非常像Javascript裡面的非同步調用,這也是Swoole中的事件驅動非同步非阻塞特性,正因為是這種特性,每一個獨立的事件(請求)會在服務端接收到之後分別非同步處理,他們之間無需互相等待,這也是Swoole性能高的原因所在。
我們來分別剖析一下每一個事件的含義。
$serv->on('Open', function($server, $req) {echo "connection open: ".$req->fd;
});
顧名思義,Open表示打開一個新的鏈接,並且在事件觸發之後echo出連接上服務端的客戶端id,該客戶端唯一id為回調函數第二個參數中的fd欄位。這也是服務端區分客戶端的唯一id。
$serv->on('Message', function($server, $frame) {echo "message: ".$frame->data;
$server->push($frame->fd, json_encode(["hello", "world"]));});
同樣顧名思義,Message表示消息到達服務端的事件,並且在事件觸發之後echo出發送給服務端的數據,該數據為回調函數第二個參數的data欄位。另外我們還看到它調用了$server->push,這是回調函數的第一個參數中的push方法,它是一個服務端給客戶的發送數據的方法,第一個參數為要發送的客戶端id,第二個為要發送的數據,這里的含義是向發給服務端消息的那個客戶端發送["hello", "world"]這個數組(方括弧寫數組為PHP5.4的新特性,如果你是PHP5.3請使用傳統的array工廠函數生成數組)經過json序列化之後的數據。
$serv->on('Close', function($server, $fd) {echo "connection close: ".$fd;
});
最後一個事件Close更加容易理解,就是關閉事件,當然關閉的不是服務端,而是客戶端,可以理解為客戶端與服務端斷開連接的事件。回調函數中的代碼含義為echo出與服務端斷開連接的那個客戶端id。
基本的API都清楚了,下面就直接看代碼吧,短短二十行而已。
https://github.com/cw1997/danmu-demo/blob/master/server.php$server = new swoole_websocket_server("0.0.0.0", 1997);$server->on('open', function (swoole_websocket_server $server, $request) {echo "server: handshake success with fd{$request->fd}\n";//$request->fd 是客戶端id});
$server->on('message', function (swoole_websocket_server $server, $frame) {echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";//$frame->fd 是客戶端id,$frame->data是客戶端發送的數據//服務端向客戶端發送數據是用 $server->push( '客戶端id' , '內容')$data = $frame->data;
foreach($server->connections as $fd){
$server->push($fd , $data);//循環廣播
}
});
$server->on('close', function ($ser, $fd) {echo "client {$fd} closed\n";
});
$server->start();
這里最核心的廣播代碼其實還用到了一個之前沒有提到過的成員,也就是swoole_websocket_server對象的connections成員,這個成員中保存了所有已連接上該WebSocket服務端的fd,也就是客戶端id。因此我們只要在message事件中使用foreach遍歷該成員,循環將所有服務端收到的彈幕消息都發送給其他已連接上該服務端的客戶端即可。
後端講完了再講講前端吧。
前端代碼也不是很多https://github.com/cw1997/danmu-demo/blob/master/index.htmlvar ws = new WebSocket("ws://192.168.1.107:1997");ws.onopen = function(){
console.log("握手成功");
ws.send('hello world!!!');
};
ws.onmessage = function(e){
console.log("message:" + e.data);
var time = jQuery('#danmu').data("nowtime") + 1;var text_obj = '{ "text":"' + e.data + '" , "color":"green" ,"size":"1","position":"0","time":"' + time + '" ,"isnew":" "}'; //構造加上了innew屬性的字元串danmu對象console.log(text_obj);
var new_obj = eval('(' + text_obj + ')'); //轉化為js對象jQuery('#danmu').danmu("add_danmu", new_obj); //向插件中添加該danmu對象};
ws.onerror = function(){
console.log("error");
};
核心代碼都在這里,使用new WebSocket("ws://192.168.1.107:1997")創建一個WebSocket客戶端連接對象,通過該對象的各種事件進行對應的操作,和服務端是不是很像?更多代碼解釋可以參考源代碼中的注釋,這里不做更多介紹。
看到這里相信作為一名PHPer的你也可以開發出屬於自己的彈幕系統了。這里展示的只是一個最基礎最原始的彈幕平台。我們也了解到了使用PHP開發一個彈幕平台需要涉及到的技術有WebSocket,Swoole擴展,甚至碰到了很多初級開發者平時不怎麼接觸的工具,比如說PECL,比如說Linux。
其實PHP結合Swoole擴展還可以做很多事情,比如說對接各種家電,對接各種硬體介面實現在Web端實時控制家電,又比如說結合樹莓派做智能小車,通過web端進行遙控等等,各種新奇的玩法等你發現。誰說PHP只能做Web開發?PHP擁有了Swoole擴展其實能做的事情還有很多,Swoole就像他的宣傳標題一樣:重新定義PHP。