掘金日報主打分享優質深度技術內容,技術內容分:前端、後端、Android、iOS、產品設計、工具資源和一些有趣的東西。
前端
深度剖析:如何實現一個 Virtual DOM 演算法
本文會在教你怎麼用 300~400 行程式碼實現一個基本的 Virtual DOM 演算法,並且嘗試儘量把 Virtual DOM 的演算法思路闡述清楚。希望在閱讀本文後,能讓你深入理解 Virtual DOM 演算法,給你現有前端的程式設計提供一些新的思考。
【深度長文】JavaScript陣列全解密
陣列是一種非常重要的資料型別,它語法簡單、靈活、高效。 在多數程式語言中,陣列都充當著至關重要的角色,以至於很難想象沒有陣列的程式語言會是什麼模樣。特別是JavaScript,它天生的靈活性,又進一步發揮了陣列的特長,豐富了陣列的使用場景。可以豪不誇張地說,不深入地瞭解陣列,不足以寫JavaScript。
Vue 2.3 服務端渲染完全指南
來自 Vue 官方的服務端渲染指南,英文版本。
後端
解 Bug 之路 - 串包 Bug
筆者很熱衷於解決 Bug, 同時比較擅長 (網路 / 協議) 部分,所以經常被喚去解決一些網路 IO 方面的 Bug。現在就挑一個案例出來,寫出分析思路,以饗讀者,希望讀者在以後的工作中能夠少踩點坑。
用 Apache Spark 2.2 中的結構化流處理 API 處理 Kafka 資料
本文用實際的例子演示了 Spark Structured Streaming 和 Kafka 整合的方法
基於 Scala 的產品開發實踐 | 掘金技術徵文
在研發期間,我們從Spark 1.4升級到1.5,經過效能測評的Benchmark,效能確有顯著提高。Spark 1.6版本在記憶體管理方面有明顯的改善,Execution Memory與Store Memory的比例可以動態分配,但經過測試,產品的主要效能瓶頸其實是CPU,因為產品的資料分析功能屬於計算密集型。這是我們暫時沒有考慮升級1.6的主因。
Android
淺談 RxJava 中的執行緒管理
之所以寫這篇文章,還是因為在專案中使用 RxJava 的時候遇到了一些執行緒管理上的問題,經過網上查閱資料並且翻閱原始碼之後才把問題解決,於是就決定把所感所得記錄下來,希望大家看完之後會有收穫吧。
在 Android 中引入響應式程式設計 | 掘金技術徵文
研究這個問題的初衷在於目前很多人對於RxJava這種庫,以及它背後所體現的程式設計思想了解不多,而網上也很少有人能夠把它講明白,很多時候只能參考網路上的一些RxJava專案實踐去學習RxJava的使用。但是我始終認為,只有熟悉響應式程式設計的思想,才能更好的使用RxJava這個Rx擴充庫。
微信 SQLite 資料庫修復實踐
眾所周知,微信在後臺伺服器不儲存聊天記錄,微信在移動客戶端所有的聊天記錄都儲存在一個 SQLite 資料庫中,一旦這個資料庫損壞,將會丟失使用者多年的聊天記錄。而我們監控到現網的損壞率是0.02%,也就是每 1w 個使用者就有 2 個會遇到資料庫損壞。考慮到微信這麼龐大的使用者基數,這個損壞率就很嚴重了。更嚴重的是我們用的官方修復演算法,修復成功率只有 30%。損壞率高,修復率低,這兩個問題都需要我們著手解決。
iOS
再看關於 Storyboard 的一些爭論
從 iOS 5 的時代 Apple 推出 Storyboard (以下簡稱 SB) 後,關於使用這種方式構建 UI 的爭論就在 Cocoa 開發者社群裡一直髮生著。我在 2013 年寫過一篇關於程式碼手寫 UI,xib 和 SB 之間的取捨的文章。在四五年後的今天,SB 得到了多次進化,大家也積攢了很多關於使用 SB 進行開發的經驗,我們不妨再回頭看看當初的憂慮,並結合 SB 開發的現狀,來提取一些現階段被認為比較好的實踐。
SGPlayer 原理詳解 - 圖解 VR、RTMP 播放器原理
SGPlayer 是一款基於 AVPlayer、FFmpeg 的媒體資源播放器框架。支援全景視訊,RTMP、RTSP 等直播流;同時支援 iOS、macOS、tvOS 三個平臺。本文將採用圖解 + 說明的方式把關鍵模組的實現原理介紹給大家。
產品設計
UI 設計師未來的全新工作方式?React - SketchApp 新手上路
「前不久 Airbnb 才釋出了讓業界抖三抖的 Lottie,就在前天,Airbnb 又對外公佈了一個算是開天闢地的新的開源專案 —— React - SketchApp。從公佈之初,它就迅速被設計師和前端工程師們所關注,作為非主流邊緣設計師,我被它所吸引,在第一時間瞭解並進行了體驗。」微信紅包體系設計分析
說明:普通紅包是指金額每份金額固定的紅包包括群普通紅包和個人普通紅包,個人普通紅包也就是紅包個數為1的群普通紅包。
工具資源
Commento - 多說 & Disqus 開源替代品
多說已死,Disqus貌似被牆,那麼還有什麼好的代替產品呢?前端開發之 Sublime Text 3 外掛合集
一些實用的 Sublime Text 3 外掛與你分享。Sublime 黨們必備。
國內值得關注的官方 API 集合
收集了國內國內值得關注的官方 API 集合。
有趣的視訊