每個月IT摘錄201808--201809

1、技術前端

海量數據的解決方案:java

  1. 使用緩存;node

  2. 頁面靜態化技術;nginx

  3. 數據庫優化;程序員

  4. 分離數據庫中活躍的數據;web

  5. 批量讀取和延遲修改;面試

  6. 讀寫分離;算法

  7. 使用NoSQL和Hadoop等技術;sql

  8. 分佈式部署數據庫;數據庫

  9. 應用服務和數據服務分離;

  10. 使用搜索引擎搜索數據庫中的數據;

  11. 進行業務的拆分;

高併發狀況下的解決方案:

  1. 應用程序和靜態資源文件進行分離;

  2. 頁面緩存;

  3. 集羣與分佈式;

  4. 反向代理;

  5. CDN;

1. 有時候就跟你看了一百篇某個技術點的技術文章,真的開始寫的時候,什麼也想不起來,又得打開一篇,照貓畫虎作完,卻發現崩潰了。WTF。其實你並無學會。

我主張你去看原始的資料,主張你去讀系統的書籍,主張你去研究官方或是優秀項目的源碼。這些都是一手資料和優質 Demo。

2.軟件高手是靠踩坑積累起來了。因此在公司裏,一旦有了問題,無論是本身的仍是別人的,必定得總結,包括總結問題場景,總結排查問題的方法(如何看日誌,以及看日誌裏的哪些要素),以及總結解決問題的方法(好比如何處理jar包衝突,如何經過分區等手段提高數據庫查詢的性能)。    

以我本身的體會,我最近半年遇到的坑比以前3年的都多,但我確實感受最近進步很快。靠實際解決問題是提高本身身價的最好辦法,沒有之一。

3.說下學習的方法。第一還得見縫插針地學,第二,必定得經過看視頻或書,系列地瞭解到這個方面的知識點,先面到點,別反過來。第三,必定得邊學邊實踐,若是開發環境沒有,就本身搭建。第四,必定得經過面試(未必要去)等手段檢驗本身的學習方向和成果,一旦出現誤差,得及時糾正。

    我就見過很多頭腦靈活的人,就不斷學不斷面試,這類人學習的效率要遠比閉門造車的人要高。

4.學習的資料是否適合你當前的知識水平。太簡單,以致於整本書都在印證你的想法,讓你以爲它」很好讀」;太難,你沒法經過直覺跳過某些推導步驟,每一頁的閱讀都須要大量的思考,哪怕看完一整章,你也沒有對這個章節的完整圖景。

合適的難度,就是讓你興奮的難度,你能從中找到你過往的一些經驗,也能看到不少全新的方法和觀念,學完一章後,是否有一些愉快的想象,若是有,那麼它的難度剛恰好。
5.找到學習資料後,不要浪費它。快速,完整地把它消化掉,不要中斷,天天至少兩個小時以上的專一,週末也不要停
6.源碼閱讀,尤爲是針對你正在使用的第三方庫。千萬不要面試的時候,什麼源碼都未學習過
閱讀源碼要能回答兩個問題:要解決什麼問題+是如何實現的?大到整個項目,小到一個模塊、函數,看的時候都要抱着這兩個問題去看。看完了這兩個問題能答上來,纔是有效。
 7.除了圖書,咱們還須要關注文檔(reference)。如今不少框架和技術的參考文檔已經很是好了。首先是文檔的質量愈來愈高,如今技術都是協做的。Java程序員能夠看看Spring Framework,Hibernate,Kotlin,Groovy的文檔,質量都很是高。
8.底層技術博大精深,從語言、編程範式、算法和數據結構、計算機原理、網絡、數據庫、分佈式技術,須要多花時間去掌握。
9.閱讀源碼,須要紮實的 技術基礎+強烈的求知慾+耐心。
10.進行項目開發時,有一個共識——不要閉門造車,而要儘可能採用優秀的開源項目和技術棧——這樣能夠避免重複造輪子、避免掉進別人已經解決過的坑中,另外還能夠幫助咱們快速學習社區大牛們的思想精髓。能夠說,使用優秀的項目就至關於站在巨人的肩膀上,在促進我的成長、把控項目質量、保證交付進度等方便都有積極的意義。
11.當下最流行的項目和技術都有哪些呢?
  • Java Web 開發:   Spring系列幾乎毫無懸念的成爲第一
  • PHP社區: Laravel、Codeigniter等使用最廣
  • Node.js社區:express、koa俘獲了開發者的心
  • .Net開發: ASP.NET MVC 和CORE各領風騷
  • 前端社區: 以React、Vue、Angular爲表明
  • 移動端開發:IOS、Android各佔半壁江山
  • 數據庫開發:Mysql、Oracle、MongoDB等

12.想自學成爲優秀的java工程師,想提升水平就是作項目,光作出項目只能說到30%,把你作出來的東西用高併發,大數據,節點宕機,長時間運行去壓,直到不出問題爲止才能到80%。另外20%要在實際的生產環境去學,這個沒辦法,但達到80%的話,足夠你應付Java高級工程師和初級架構師的面試了。

13.技術領域的含義是:選擇到一個本身感興趣、適合本身而且有發展前景的方向。這點很重要,由於工做時間久了以後,再考慮換方向一般是不容易的。

14.對於碼代碼,在你眼裏不管這是一份工做、事業或者志業,均可以賦予其意義。有了意義就會有成就感,它會成爲一種精神力量和內在動力,與工做造成一個良好的循環。

 15.編譯器將*.java文件編譯成*.class文件,而後JVM對*.class文件進行解譯,它不關心這個類文件是由哪一種編譯器生成的,只要符合類文件的文件格式便可。Java編譯器將一段程序編譯爲等價的類文件。這些類文件實際上包含了半編譯的代碼——字節碼。

16. 外面的世界很廣大和美好,不能在家閉門造車。

17.IT行業不是你會幾個框架,會一門編程語言就行的,它是突飛猛進的,須要不斷學習更新知識的。
18.咱們首先是一個工程師,意味着後端工程師不要給本身設限貼標籤,要學習通用計算機基礎知識,解決某一領域的問題,條條大路通羅馬,當你把本身當成工程師,並熱愛這一個編程行業,保持學習態度,有一天會抽象到不在考慮先後端,不管先後端,語言僅僅是工具,解決通用問題纔是工程師的思惟。
19.
Jenkins 是目前持續構建領域使用最普遍的工具之一,Jenkins 是一個獨立的開源自動化服務器,可用於自動化各類任務,如構建,測試和部署軟件。Jenkins 能夠經過本機系統包 Docker 安裝,甚至能夠經過安裝 Java Runtime Environment 的任何機器獨立運行。

說直白一點 Jenkins 就是專門來負責如何將代碼變成可執行的程序包,將它部署到目標服務器中,並對其運營狀態(日誌)進行監控的軟件。自動化、性能、打包、部署、發佈、發佈結果自動化驗證、接口測試、單元測試等等關於咱們打包測試部署的方方面面 Jenkins 均可以很友好的支持。

20.Spring Boot Actuator 是 Spring Boot 提供的對應用系統監控的集成功能,能夠查看應用配置的詳細信息,例如自動化配置信息、建立的 Spring beans 以及一些環境屬性等。
21.web技術使用的是TCP協議,HTTP是基於TCP的,HTTP的模式是請求-應答。UDP協議是請求,不須要應答。
22.應該好好地靜下心來,深刻地研究一些東西,本身寫一些東西,而不是這也用過,那也知道,可是多半都是侷限於僅僅見過,會用,卻歷來沒有認真思考過其代碼背後蘊含的思想,更少有人研究過源碼,進而體會大師們在某些問題的解決上秉承的思想和思惟的風格。我的感受,這也算是國內大部分程序員最讓人悲哀的地方了,固然這也與外界浮躁氛圍的蔓延不無關係。
23.nginx能夠反向代理、負載均衡、動靜分離
24.Js是動態類型的語言。
對於那些想要在 JavaScript 中使用靜態檢查類型的人,能夠去看看 TypeScript 。我從沒用過這個語言,可是聽別人說過關於它的一些很棒的事情。它直接與 JavaScript 兼容,且添加了許多有用的類型檢查和其它特性。

25.SSO英文全稱Single Sign On,單點登陸。SSO是在多個應用系統中,用戶只須要登陸一次就能夠訪問全部相互信任的應用系統。它包括能夠將此次主要的登陸映射到其餘應用中用於同一個用戶的登陸的機制。
26.業餘時將本身從繁雜的業務和維護辣雞業務中抽身出來,看看書籍和優秀項目代碼,本身作個 side project,研究下底層原理,纔是提高自身水平的正確路線吧

27.Https和Http的區別:

  • https相對於http加入了ssl層。
  • 須要到ca申請收費的證書。
  •  安全可是耗時多,緩存不是很好。
  •  注意兼容http和https

 28.學習編程歷來就不是一件容易的事情, 不可能看看視頻,看看書就學會, 須要大量的編程和實踐。 編程雖然是極爲辛苦的腦力和體力勞動, 但其中蘊含的創造的樂趣也是無與倫比的。 享受這個過程,樂在其中。

29.消息隊列中間件(簡稱消息中間件)是指利用高效可靠的消息傳遞機制進行與平臺無關的數據交流,並基於數據通訊來進行分佈式系統的集成。經過提供消息傳遞和消息排隊模型,它能夠在分佈式環境下提供應用解耦、彈性伸縮、冗餘存儲、流量削峯、異步通訊、數據同步等等功能,其做爲分佈式系統架構中的一個重要組件,有着舉足輕重的地位。

30.在/etc/hosts中,能夠修改主機別名。。例如:192.168.1.112   datanode01

31.本身動手寫框架,造輪子,對能力的提升有莫大的幫助。

32.從 JVM GC 的角度,JDK 11 引入了兩種新的 GC。對於 G1 GC,相比於 JDK 8,  JDK 11具備:並行的 Full GC,快速的 CardTable 掃描,自適應的堆佔用比例調整(IHOP),在併發標記階段的類型卸載等等。
從 Java 類庫發展的角度來看,JDK 11用HTTP/2 Client API,能夠擺脫老舊的 HttpURLConnection。

33.想實現一套能知足高併發的系統,那麼得了解負載均衡,限流,模塊間的消息隊列,緩存,熱備冗餘,數據庫集羣等知識。

二‘、工做

1.若是你曾經在一輪技術面試以後感受糟糕,若是你曾經感受你完全失敗,是個廢物,不應得到任何職位,只想住到遠離計算機、技術和那些讓你產生這種情緒的招聘流程的話。我想說,你並非一我的。

2.其實每隔3個月或4個月能夠參加一場職位要求較高的面試,這就至關於一場考試,可以清晰的發現本身的不足。

3.多關注招聘網站的信息。 對應的工做經驗, 崗位,市場最須要哪些技術,哪些知識?

4.2018年,BAT崗位級別及薪酬。http://baijiahao.baidu.com/s?id=1586661524671333517&wfr=spider&for=pc

5.找工做須要注意哪些點:

  •   公司按時發工資嗎?  
  •   直屬領導懂技術嗎?
  • 領導懂技術,這樣纔好溝通,交待什麼任務的時候就知道這個任務大概須要多少時間,也知道你究竟作了什麼事情 方便工做的順利進行
  •   公司目前的產品項目是什麼狀況?技術環境如何?
  • 直接問cto公司產品是個什麼狀況,來了之後大體要作什麼
  • 互聯網行業更新很快, 框架更新也快,要是不學習不動手作 ,那麼整我的很快就會倒退,能力就跟不上別人了,就會被這個行業淘汰!!!
  •   加班多嗎?是否996?

6.互聯網產品的特色就是迭代速度快,通常一年半就能決出勝負,第一的一統天下,第二被第一收購,其餘死翹翹。因此快速上線,快速迭代,就是生命線

3、社會

1.海南發展銀行的決定。這是新中國歷史上惟一一家破產的銀行。

當擠兌發生時,第一要全額保證客戶存款兌付需求,第二就是注入信心。可是,海發行既沒有現金,也沒有時間了,最終走向破產。
3.在人際交往中,關於你本身的事情,不管你開心也好,悲傷也好,

99%的人其實根本不關心你怎麼樣!他們只是在意他們本身感覺,本身的利益。

4.投資理財,「年收益率超過6%的就要打問號,超過8%的就很危險,10%以上就要準備損失所有本金」。




4、生活

1.保持一顆日常心,不患得患失。

2.當年紀愈來愈大後,我開始嘗試減小加班次數。我開始用更多的時間和家人在一塊兒,而不是坐在計算機前

3.精通一門技藝用來賺錢,而後實現精神自由。

4.什麼是半衰期?
半衰期是物理學中的概念,指放射性元素中半數原子核發生衰變所須要的時間,半衰期越短,元素衰變得越快;半衰期越長,元素衰變得越慢。不一樣元素的半衰期差異很是大,短的不到0.01秒,長的可達幾億年。
生活中咱們作不一樣的事情產生的愉悅感,用收益值表示大小。收益值能夠是心智、情感層面的,也能夠是身體、物質層面的。這項收益值隨着時間衰減的速度稱之爲「半衰期」。
咱們作的有些事情能帶給咱們即刻的愉悅感,這些事收益值很高可是半衰期較短,好比刷手機、買一件漂亮衣服、玩遊戲等;有的事情雖然不能給咱們立竿見影的愉悅感,可是隨着時間的推移,收益值能夠累積和疊加,這些事收益值很高、半衰期也很長,好比讀書學習、堅持一項愛好、找到真愛等。一件事的半衰期越長,其影響越持久、越正面。

5、科技

6、其餘

1.大學所教的編程,技術已經落後現有規範好多年。

相關文章
相關標籤/搜索