掘金日報主打分享優質深度技術內容,技術內容分:前端、後端、Android、iOS、產品設計、工具資源和一些有趣的東西。javascript
本文會在教你怎麼用 300~400 行代碼實現一個基本的 Virtual DOM 算法,而且嘗試儘可能把 Virtual DOM 的算法思路闡述清楚。但願在閱讀本文後,能讓你深刻理解 Virtual DOM 算法,給你現有前端的編程提供一些新的思考。前端
數組是一種很是重要的數據類型,它語法簡單、靈活、高效。 在多數編程語言中,數組都充當着相當重要的角色,以致於很難想象沒有數組的編程語言會是什麼模樣。特別是JavaScript,它天生的靈活性,又進一步發揮了數組的特長,豐富了數組的使用場景。能夠豪不誇張地說,不深刻地瞭解數組,不足以寫JavaScript。vue
來自 Vue 官方的服務端渲染指南,英文版本。java
筆者很熱衷於解決 Bug, 同時比較擅長 (網絡 / 協議) 部分,因此常常被喚去解決一些網絡 IO 方面的 Bug。如今就挑一個案例出來,寫出分析思路,以饗讀者,但願讀者在之後的工做中可以少踩點坑。react
本文用實際的例子演示了 Spark Structured Streaming 和 Kafka 整合的方法android
在研發期間,咱們從Spark 1.4升級到1.5,通過性能測評的Benchmark,性能確有顯著提升。Spark 1.6版本在內存管理方面有明顯的改善,Execution Memory與Store Memory的比例能夠動態分配,但通過測試,產品的主要性能瓶頸實際上是CPU,由於產品的數據分析功能屬於計算密集型。這是咱們暫時沒有考慮升級1.6的主因。 ios
之因此寫這篇文章,仍是由於在項目中使用 RxJava 的時候遇到了一些線程管理上的問題,通過網上查閱資料而且翻閱源碼以後才把問題解決,因而就決定把所感所得記錄下來,但願你們看完以後會有收穫吧。算法
研究這個問題的初衷在於目前不少人對於RxJava這種庫,以及它背後所體現的編程思想了解很少,而網上也不多有人可以把它講明白,不少時候只能參考網絡上的一些RxJava項目實踐去學習RxJava的使用。可是我始終認爲,只有熟悉響應式編程的思想,才能更好的使用RxJava這個Rx拓展庫。sql
衆所周知,微信在後臺服務器不保存聊天記錄,微信在移動客戶端全部的聊天記錄都存儲在一個 SQLite 數據庫中,一旦這個數據庫損壞,將會丟失用戶多年的聊天記錄。而咱們監控到現網的損壞率是0.02%,也就是每 1w 個用戶就有 2 個會遇到數據庫損壞。考慮到微信這麼龐大的用戶基數,這個損壞率就很嚴重了。更嚴重的是咱們用的官方修復算法,修復成功率只有 30%。損壞率高,修復率低,這兩個問題都須要咱們着手解決。數據庫
從 iOS 5 的時代 Apple 推出 Storyboard (如下簡稱 SB) 後,關於使用這種方式構建 UI 的爭論就在 Cocoa 開發者社區裏一直髮生着。我在 2013 年寫過一篇關於代碼手寫 UI,xib 和 SB 之間的取捨的文章。在四五年後的今天,SB 獲得了屢次進化,你們也積攢了不少關於使用 SB 進行開發的經驗,咱們不妨再回頭看看當初的憂慮,並結合 SB 開發的現狀,來提取一些現階段被認爲比較好的實踐。
SGPlayer 是一款基於 AVPlayer、FFmpeg 的媒體資源播放器框架。支持全景視頻,RTMP、RTSP 等直播流;同時支持 iOS、macOS、tvOS 三個平臺。本文將採用圖解 + 說明的方式把關鍵模塊的實現原理介紹給你們。
一些實用的 Sublime Text 3 插件與你分享。Sublime 黨們必備。
收集了國內國內值得關注的官方 API 集合。