【掘金小報】第七期 你怎麼看待技術圈撕逼?
掘金小報主打分享優質深度技術內容,技術內容分:前端、後端、Android、iOS、產品設計、工具資源和一些有趣的東西。
比如前端圈提 Vue,那麼就必然提起 React、Angular,最近一次撕逼是來自知乎問題:為什麼vue的高仿項目層出不窮,而React和angular卻很少? 你怎麼看待技術圈撕逼?如果你參與到撕逼中,你會保持中立還是選擇站隊?
聊完這個話題,記得看看今天的精選文章哦!
前端
- [譯] 項目什麼時候需要 React 框架呢?
在眾多的 JavaScript 框架中 —— Vue、Ember、Svelte ... 不管哪一個,我想以 React 框架為例子來探討它適合什麼項目。我明白這些框架並不完全相同,但是使用它們的時機應該是有一些共性的。
- 詳細解剖大型 H5 單頁面應用的核心技術點
數據的未知性,會導致應用性能呈現反比例關係,當應用數據結構越複雜運行的實際性能越差。在這種設計下,一定會印證「墨菲定律」如果你擔心某種情況發生,那麼它就更有可能發生,在真機上開始大批量崩潰了。這篇文章我著重描述下項目前端方面「地基」的優化,好比建房,100層與200層的地基結構肯定是不一樣的,只有地基建好了,房子才能建的更高。這裡所涉及的問題以及角度只是個人觀點與方案,篇幅有點長,有耐心可以看看。
- ES6 模塊原生支持在瀏覽器中落地,是時候該重新考慮打包了
構建 web 應用的常用方式就是使用由 Browserify、Rollup、Webpack 等工具構建的代碼包(bundle)。而不使用 SPA(單頁面應用)技術的網站則通常由服務端生成 HTML,在其中引入一個 JavaScript 代碼包。
後端
- PHP 與 Golang 如何通信?
作者分享如何實現不同語言間的通信,這篇文章就是以 PHP 和 Golang 為例講解了如何實現。
- 構建 Java 應用內存級緩存
這篇文章講的是如何使用 Guava Cache 構建 Java 內存基本的緩存,Guava Cache 緩存類似於 ConcurrentMap,但不完全相同。
- Pilosa - 一個開源的 Go 語言大數據 Query 庫
Pilosa是一個開源的、分散式的點陣圖索引庫,大大加快了在多個大數據集查詢時間。
Android
- 項目需求討論-APP手勢解鎖及指紋解鎖
今天繼續討論我實際開發中遇到的需求,那就是關於APP解鎖,大家都知道。現在越來越多的APP在填入賬號密碼後,第二次登錄後,基本不會再次重複輸入賬號密碼了。而是快捷登錄,而常用的就是 指紋解鎖 和 手勢解鎖 二種。
- 利用 RecyclerView 打造高性能樹形控制項
一個功能豐富,使用便捷,性能兼具的開源 Android 樹形控制項。
- 深入理解 MessageQueueAndroid 中有兩個非常重要的知識點,分別是 Binder 機制和 Handler 機制。前者用於跨進程通訊,並且通過 ServiceManager 給上層應用提供了大量的服務,而後者用於進程內部通訊,以消息隊列的形式驅動應用的運行。
iOS
- 在 Swift 中使用閉包實現懶載入
這篇教程有一下三個目標:第一,了解如何像前面的代碼一樣,非常規地創建對象;第二,知道編在寫 Swfit 代碼時,什麼時候該使用 lazy var;第三,快加入我的郵件列表呀。
- 嵌套UIScrollview的滑動衝突解決方案
我遇到的場景類似這樣,頂部有一個優先展示的封面,當封面滾出屏幕後下面內容的 ScrollView 開始滾動。因為介紹、目錄、評價三個tab是可以左右滾動的,所以具體內容是嵌套在一個 ScrollView 里的。
- 微信讀書 iOS 質量保證及性能監控
在實現需求的同時,能寫出既優雅性能又高效的代碼是每個開發者都在追求的目標,但是在實際開發中,隨著每個版本需求的迭代,功能變得越來越複雜,加上開發者的意識不夠或者一時疏忽,日漸複雜的工程很容易產生或多或少的問題。在使用微信讀書的過程中,我們也碰到過 app 隨機丟失動畫、用戶反饋 app 卡死、用戶投訴看不了書籍等等的問題,這些問題都嚴重影響使用,也會降低產品口碑,因此我們開發了一些監控工具來解決這些問題,在這裡總結和分享一下。
產品設計
- 給「非設計師」的移動設計指南(大量實例)
介紹些移動設計基礎知識和技巧,幫助非專業設計人員快速爬坑。
- SAP Fiori 設計指南
獲得過紅點獎的設計規範。
- 那些年,你想要的著陸頁優化指南
著陸頁(Landing Page),指 「潛在用戶點擊廣告或者利用搜索引擎搜索後顯示給用戶的網頁。本文模仿用戶從首次點擊著陸頁到完成最終對話的經歷,整理了針對著陸頁的優化設計指南。
工具資源
- 開發效率提升之工具篇
還記得: 剛參加工作的時候, 有位開發的同事軟體使用效率奇高. 我曾親眼目睹他在幾秒之內打開開發軟體, 優雅地調出隱藏的功能, 輸入數據輸出結果的過程行雲流水, 一氣呵成, 而手指卻始終不曾離開鍵盤. 吃驚的同時, 不僅發現提高開發效率是多麼的重要!
- Alred3 workflow:非常方便好用的貨幣轉換工具
初學 Ruby 時的練手作。代碼非常簡單,可以用來 Ruby 入門。 - 支持 30 余種貨幣的兌換 - 支持基本貨幣符號
- 強迫症的 Mac 設置指南
在工作中,我一般會在 1 到 10 人的團隊中,經常會結對編程,即兩個人共用一台 Mac 工作,因此也經常會把 Mac 外接一個大顯示器、滑鼠和鍵盤。我的常用開發平台有 Java、Ruby、Node.js、Web 等,使用 JetBrains 的開發工具,比如 IntelliJ IDEA、RubyMine、WebStorm 等。
推薦閱讀:
※精讀《React 代碼整潔之道》
※尤雨溪的 Live 說了哪些技術名詞?(上篇)
※我寫我的 md,你騙你的 star,為什麼要在我的 GitHub 上做推廣!!
※react-router 中的history