北方的第一場雪已經(jīng)降臨疮方,WeeklyBlog 也迎來了第六期,這期共有 10 篇文章,Android 為主壁顶。
itsCoder 主頁:itsCoder.com
C/C++
這篇文章帶我們了解 Linux 下動態(tài)庫和靜態(tài)庫的編寫過程调衰,為一直用 IDE 的司機們, 提供一個思路赃额。作者還告訴我們 C 調(diào)用 C++ 庫的方法启妹。 最后作者給我們闡述 cmake 和 make 的區(qū)別。
Python
Python 中的描述符可以說是新式類調(diào)用鏈中的根基,所有的方法,成員鹃愤,變量調(diào)用時都將會有描述符的介入凹耙。同時我們可以利用描述符的特性來將我們的調(diào)用過程變得更為可控。這一點,我們可以在很多著名框架中找到這樣的例子镐依。本文通過 property 的源碼實現(xiàn),以及幾個簡單易懂的例子带兜,講解了 Python 中描述符的原理和使用喧兄。描述符能夠在操作對象屬性時進行 hook,實現(xiàn)各種黑魔法。
都說程序員既要懶惰,又要保持好奇心未荒。本文小天司機本著自己搜索插件和主題的需求出發(fā)划纽,嘗試寫出一個解放自己的小插件,從分析問題,明確步驟層層遞進,邏輯清晰地向我們展示了如何利用 Python 開發(fā)出一個腳本,雖然使用上與預期有點差距,不過作者在這個探索的過程中熟悉了許多陌生模塊金刁,期待著未來寫出更多的自動化工具來為社區(qū)做出貢獻尤蛮。
面向?qū)ο?/h2>
Melo 司機在本篇文章詳細的描述了設計模式的入門:六大原則。文章通過文字敘述抵屿、介紹概念,然后輔以代碼解釋焰雕、幫助讀者理解。面向?qū)ο蟮牧笤瓌t在開發(fā)過程中極為重要辟宗,他們給靈活泊脐、可擴展的軟件系統(tǒng)提供了更細粒度的指導原則秕铛。而根本上如作者所說供置,六大原則簡單概述起來就是:面向接口,單一職責,抽象赤拒,最小化。六大原則以及 23 中主流設計模式學習和理解起來不難汛闸,難的是如何運用在實際項目中,而達到這一點钳恕,想必要有足夠的項目經(jīng)驗别伏,足夠的代碼量。建議大家平時可以多看看優(yōu)秀的開源項目的代碼忧额,一來知道一些功能是怎么實現(xiàn)的厘肮,二來學習優(yōu)秀的架構(gòu)是如何設計的,相信處處留心皆學問呀宙址。
Android
本文從實際項目出發(fā)轴脐,闡述了項目中 沉浸式/變色狀態(tài)欄 的實現(xiàn)和一些需要注意的點。由于是從項目出發(fā),本文的很多地方著重于解決項目中的問題大咱,整體解決方案來看恬涧,由于狀態(tài)欄樣式的調(diào)整對布局和主題的選取侵入較多,讀者需要根據(jù)自己的項目實際來學習碴巾。作者解決問題的思路和一些技巧都是不錯的溯捆,同時在問題的考慮上也很周到。這是開發(fā)人員在平時的開發(fā)過程中需要學習和強化的點厦瓢。
本文從實際項目出發(fā)提揍,闡述了項目中 沉浸式/變色狀態(tài)欄 的實現(xiàn)和一些需要注意的點。由于是從項目出發(fā)煮仇,本文的很多地方著重于解決項目中的問題劳跃,整體解決方案來看,由于狀態(tài)欄樣式的調(diào)整對布局和主題的選取侵入較多浙垫,讀者需要根據(jù)自己的項目實際來學習刨仑。作者解決問題的思路和一些技巧都是不錯的,同時在問題的考慮上也很周到夹姥。這是開發(fā)人員在平時的開發(fā)過程中需要學習和強化的點杉武。
作者又為我們帶來了一個便利的褲子,大家都知道 Android 開發(fā)中最讓人頭痛有兩點辙售,一是處理 Android 版本變化和向前兼容轻抱,二是國產(chǎn)百花齊放的流氓 rom。為了解決這些問題旦部,作者完成了自定義選擇復制功能祈搜,文章中按照發(fā)現(xiàn)問題,分析問題士八,并且提出解決方案的思路夭问,邏輯清晰地搞定了需求,功能實現(xiàn)起來涉及的知識點很多曹铃,細節(jié)也需要去耐心處理缰趋,總之是一篇高質(zhì)量的博客。
RxJava 在 Android 開發(fā)者中逐漸普及開來陕见,即便你沒有用過秘血,相信你也聽說過。RxJava最核心的兩個東西是Observables(被觀察者评甜,事件源)和Subscribers(觀察者)灰粮。本文非常詳盡的為我們介紹了 Observable ,以及 RxJava 的原理和一些常規(guī)操作符的使用忍坷,配合著源碼分析粘舟,做到了真正的知其所以然熔脂。本文篇幅較長,值得反復閱讀和品味柑肴。期待下一部分的 RxJava 學習筆記霞揉。
作為 Android 開發(fā)者,動畫和自定義控件是每個人必須啃下的知識晰骑,我們做出來的東西直接提供給用戶使用适秩,好與不好,是非常直觀的硕舆。而動畫有時恰恰就可以極大的提升用戶感官上的體驗秽荞。本文作者帶我們走進了貝塞爾曲線的原理,以及“秀”了一波數(shù)學技巧抚官,代碼雖然不多扬跋,卻不易理解,最終達到的效果非常不錯凌节。建議讀者仔細閱讀幾次胁住,相信就可以掌握,如果你正需要這個動畫刊咳,那么你有福了。
如果說什么是今年 Android 最優(yōu)秀的網(wǎng)絡庫儡司,那 Retrofit 一定無出其右娱挨,通過 Retrofit 我們可以學習 okhttp 甚至配合 RxJava 來進一步展現(xiàn)它強大簡潔高效的能力。本文通過 Retrofit 的應用場景捕犬,進行了靈活又高效的封裝跷坝,帶我們領(lǐng)略了 Retrofit 的便利和魅力。如果你還沒用到 Retrofit 碉碉,那么動手實際操作試試柴钻,相信你會喜歡上它。