眾安國際綜合金融團隊技術周報(第三期)

技術縱橫

1)Uber 的分布式跟蹤

分布式跟蹤正迅速成為許多組織用于監視復雜的基于微服務的架構的工具中必不可少的組件。在 Uber 工程團隊中,我們的開源分布式跟蹤系統 Jaeger 在整個 2016 年都實現了大規模的內部采用,集成到數百個微服務中,現在每秒能記錄數千條記錄。隨著新一年的開始,這篇文章講述我們如何得到下面的內容,從調查像 Zipkin 這樣的現成解決方案,到為什么我們從 pull 架構切換到 push 架構,以及分布式跟蹤將如何在 2017 年繼續發展。

2)最火移動端跨平臺方案盤點:React Native、weex、Flutter

本篇主要以react-native、weex、flutter,深入聊聊當前最火的這3種跨平臺移動開發方案的實現原理、現狀。

3)支付系統

支付系統是連接消費者、商家(或平臺)和金融機構的橋梁,管理支付數據,調用第三方支付平臺接口,記錄支付信息(對應訂單號,支付金額等),金額對賬等功能。本文主要簡單介紹了支付系統的作用、核心流程、關鍵表設計、網關前置、路由選擇、風險評估、渠道接入等等方面。

4)RSA算法原理(一) RSA算法原理(二)

深入淺出講解了RSA算法的原理,公私鑰的生成,加密解密的證明過程。

Android開發

1)Android逆向之smali語法寶典

反編譯的是smali則可以正確的理解程序的意思。因此,我們有必要熟悉smali語法。

2)一文了解安卓APP逆向分析與保護機制

Android App常見的保護方法及其對應的逆向分析方法。

3)Android6.0~9.0適配

大家還記得Android 6.0權限適配的淚水嗎?而現在谷歌已經出了Android P的穩定版,讓我們來看一下7.0~9.0的適配應該注意的地方。

iOS開發

1)WWDC心得與延伸:iOS圖形性能

介紹了iOS圖形性能的一些知識和分析工具。

2)iOS無埋點數據SDK的整體設計與技術實現

統計是每個項目都需要的基礎功能,但大部分的統計都需要人工埋點,這篇文章介紹了一種利用AOP來自動埋點的思路,挺有借鑒意義。

3)Objective-C Runtime 中內存釋放的并發問題

Objective-C Runtime 是絕大多數 Mac 和 iOS 程序代碼的核心。Runtime 的核心就是 objc_msgSend 函數,這個函數最關鍵的就是方法緩存。我在這篇文章中將會闡述一下,Apple 是如何在不影響性能的情況下,以線程安全的方式來重新分配緩存大小、釋放方法緩存。

前端開發

1)CSS 架構

對于許多 Web 開發人員來說,精通 CSS 意味著您可以使用一個可視化的模型,并在代碼中完美地復制它。你不用表格,而且你為自己使用盡可能少的圖片而自豪。如果你真的很優秀,你可以使用最新最好的技術,比如 media queries, transitions 和 transforms。雖然所有這些對于優秀的 CSS 開發人員來說都是正確的,但是 CSS 有一個完全獨立的方面,在評估一個人的技能時很少被提及。有趣的是,我們通常不會對其他語言進行這種忽略。Rails 開發人員之所以被認為是優秀的,并不是因為他的代碼是按照規范工作。當然,它必須按照規格工作;它的優點基于其他方面:代碼是否可讀?更改或擴展是否容易?它是否與應用程序的其他部分分離?它能擴展嗎?

2)給萌新的Flexbox簡易入門教程

近幾年,CSS領域出現了一些復雜的專用布局工具,用以代替原有的諸如使用表格、浮動和絕對定位之類的各種變通方案。Flexbox,或者說是彈性盒子布局模塊(Flexible Box Layout Module)是這些新布局工具中的第一個,接著是CSS網格布局模塊(CSS Grid Layout Module)。我們會在本文給出一個易于理解的flexbox入門介紹。

3)React 項目結構和組件命名之道

React 作為一個庫,不會決定你如何組織項目的結構。這是件好事,因為這樣我們有了充分的自由去嘗試不同的組織方式并且選取最適合我們的方式。但是從另一個角度講,這可能會讓剛剛上手 React 的開發者產生些許困惑。

測試

1)單元測試和測試驅動開發 TDD 是怎么回事?

對于測試驅動開發和單元測試,我總有一種既愛又恨的感情在里面。

我一直都是這些“最佳實踐”的熱心支持者,但是我對它們的使用也一直持有懷疑態度。

軟件開發中最大的問題之一是開發者或管理者僅僅是因為它們是最佳實踐才要去應用這些“最佳實踐” ,卻不去理解它們的原因或真正的用途。

2)thoughts from the test eye

There are several agile frameworks available for implementation to guide the agile transformation. I have not experienced many frameworks myself, but I have experienced several implementations in an agile organisations. One core theme in the agile movement is that everyone should test and no single person is responsible for quality. This is great! Still, there is a need for guidance and strategy within testing and quality.

業余擴展

1)軟件設計的哲學

John Ousterhout 是斯坦福大學計算機系教授,也是 Tcl 語言的創造者。他認為軟件設計的最大目標,就是降低復雜性(complexity)。 所謂復雜性,就是任何使得軟件難于理解和修改的因素。

這本書首先介紹了軟件設計的基本問題,即控制復雜性。接著探討了軟件設計進程中的哲學問題,提出了一系列可應用原則。同時,作者還介紹了一組檢測設計問題的危險信號。你可以借助書中的內容降低大型軟件系統的復雜性,優化設計進程,提升速度、減少成本。

2)以奮斗者為本

自1988年至今20多年,華為公司成長為全球通信設備產業的領先企業。靠的是什么?

靠的是競爭力。華為的核心競爭力,來自于它的核心價值觀,即以客戶為中心,以奮斗者為本,長期艱苦奮斗。當把15萬知識型人才聚集在一起的時候,你才會深切地感到,盡管技術很重要,資本很重要,但更重要的還是人力資源管理。

《以奮斗者為本》由華為管理層聯合編著,取材于任正非及其高管的人力資源管理思想精髓,是對《華為公司基本法》的繼承與創新。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容