開源週報第36期:問世間情為何物,為程式碼牽腸掛肚
問世間情為何物?小編流淚無法答覆……雖來到人世二十餘度,未曾有姑娘芳心為我俘虜。我也想知情為何物,有一佳人月下相簇,無奈忙於編碼,終日為程式碼牽腸掛肚!啊!問世間情為何物!再見二丁目!
問世間情為何物,為 Coding 不分寒暑,程式設計一時趣,週末一陣苦,月底照樣要吃土!為什麼我們計算機系的男生就這麼悽苦!
問世間情為何物?不要問小編為什麼這周這麼多感觸,身邊這麼多程式員兄弟都單身,不曾體會戀愛滋味,終日忙於程式設計,為了幾KB的程式碼牽腸掛肚,卻不能關心身邊女生是不是孤單……你們忍心嗎?!!!
同學們,放下手邊的鍵盤,刪掉repo裡的程式碼,來到開源工場交朋友吧,這裡是異性程式設計師交友平臺!絕對不會讓同性交友這種慘劇發生的…當然…也可以同性交友的!除了程式碼,這個也很有趣,最近《猿帥》和《媛寶》欄目悄悄的展開了,還沒有特別宣傳,我們《開源週報》欄目就幫忙安利一下好了!《媛寶》欄目號稱程式設計師界的“封面女郎”,《猿帥》欄目號稱程式設計師界的“時尚先生”,每一期都會挑選一個青春活力的女孩程式設計師作為“媛寶”,一個陽光大方的男孩程式設計師作為“猿帥”,ta們有一個共同的前提是:學習計算機相關專業或從事相關行業、寫程式;這兩個欄目目前是重慶大學Wayne 執導,為你帶來程式設計師屆的最高審美,也歡迎加入 QQ群:202790710;電報群 https://t.me/OpeningSourceOrg 和大家一起交流!
每一期的正片時間都不可少。這一期的正片涉及了各種方面:React 的 UI 集合ofollow,noindex">#awesome-reactnative-ui# 和通過介面製造元件的#React-Proto# ,關於 Java 的設計模式#java-design-patterns# ,關於 Python 的執行速度分析#Py-Spy# ,除了這些,還有吃瓜的高效資料庫#watermelonDB# ,#pwc# 裡面則堆滿了一大堆論文,在 ailab 專案中的Sketch2Code" target="_blank" rel="nofollow,noindex">#Sketch2Code# 則可以將影象轉化成 HTML 程式碼,終端模擬器#Kitty# ,HTTP 客戶端#ky# ,
本週流行開源專案榜中榜開源趨勢 Top 10
1.awesome-reactnative-ui
顧名思義,一大群 React Native UI 元件的集合,每個元件都有它們的更新時間,star 數等等外送一個 UI ,如果你對 React Native 感興趣,那麼你興許在以後會用得上這個。
2.Kitty
Kitty 是一個基於 GPU 的功能強大的終端模擬器。
一些特性:
1、將渲染交給 GPU 來降低系統負載,同時使用執行緒渲染來降低輸入延遲。
2、支援所有現代終端功能:圖形(影象)、unicode、true-color、OpenType 連字(ligatures)、滑鼠協議、焦點跟蹤和一些新的終端協議擴充套件。
3、支援在不同的佈局中拼接多個終端視窗,而不需要使用像 tmux 這樣的程式
4、可以通過指令碼或 Shell 控制,甚至可以通過SSH進行控制。
5、跨平臺:Kitty 適用於 Linux 和 macOS,但它只使用 OpenGL 進行渲染,所以移植到其他類Unix平臺上是比較簡單的。
截圖:顯示在 Kitty 中使用“Tall”佈局執行 vim,tig 和 git
More Info: https://sw.kovidgoyal.net/kitty
3.Py-Spy
py-spy 是一個對 python 程式的分析器,它可以讓我們視覺化地分析python程式的執行速度。它由 rust 編寫,使用時你無需重新編寫或重啟python 程式,它也不會中斷現在正在執行的程式。
4.ky
ky 是一個基於 fetch API 的專案,fetch 現在被一些開發者稱為下一代 ajax 家屬,它的 API 簡潔明瞭,比傳統的 XMLHttpRequest 相比更加的簡單容易使用,ky 就是基於 fetch 的 APT 的一個輕量優雅的 httpclient,與普通的 fetch 相比,它的 API 更加簡潔,支援超時,具有自定義預設值的例項等等的優勢,ky 使用 npm 安裝,安裝過程也十分簡潔。
5.React-Proto
React-Proto 是一個面向開發人員和設計人員的 React 應用程式原型設計工具。它允許使用者預先視覺化/設定其應用程式體系結構,並將此體系結構作為應用程式檔案彈出到以前的專案或新的 create-react-app 專案或任何儲存庫的入門模板中。
啟動專案:
使用輸入新增要建立的元件,然後將元件框架拖動到位並相應地調整大小。
定義元件狀態:
接下來是匯出專案:
6.Sketch2Code
Sketch2Code 是屬於 Microsoft ailab 下的一個專案,通過 AI 識別將影象轉換成 HTML 程式碼
7.pwc
該專案的全稱為 paper with code ,顧名思義,當你要看 paper 時,不妨來這個專案逛一圈,該專案每週都會進行更新,並對 paper 按照 star 的數目進行排序
8.watermelonDB
WatermelonDB 是一種在 React Native 和 React Web 應用程式中處理使用者資料的新方法。
它針對在 React / React Native 中構建複雜的應用程式進行了優化,其首要目標是:您的應用必須快速啟動。
如果您有一個簡單的應用程式,請繼續使用 Redux 或 MobX 與永續性介面卡。但是,如果您開始擴充套件到數千或數萬個數據庫記錄,您會發現這對應用程式啟動速度產生很大影響,尤其是在速度較慢的 Android 裝置上。將完整資料庫載入到 JavaScript 中的代價相當昂貴。
WatermelonDB 通過懶惰載入來修復它:除非有要求,否則不會載入。因為所有查詢都是在一個單獨的執行緒上,並且是直接在堅固的 SQLite 資料庫上執行的,所以即使在較慢的 Android 裝置上,大多數查詢也會在不到1毫秒的時間內解析。
9.java-design-patterns
設計模式是形式化的最佳實踐,程式設計師可以在設計應用程式或系統時使用它來解決常見問題。
設計模式可以通過提供經過驗證的經過驗證的開發範例來加速開發過程。
重用設計模式有助於防止可能導致重大問題的細微問題,並且還可以提高熟悉模式的編碼人員和架構師的程式碼可讀性。
入門:
在深入研究材料前,應該先熟悉各種程式設計/軟體設計原則。
所有設計都應儘可能簡單。應該從KISS,YAGNI開始,做最簡單的可能工作的原則。只有在實際可擴充套件性需要時才應引入複雜性和模式。
熟悉這些概念後,您可以通過以下任何方法深入瞭解模式
1.按照難度標籤 Difficulty-Beginner , Difficulty-Intermediate&Difficulty-Expert 。
2.按照模式分類, Creational , Behavioral 或其他。
3.搜尋特定模式。
10.bat
bat 是一個命令列下執行的語法高亮顯示器,它可以開啟各式各樣的程式碼檔案並將其各種語法進行高亮顯示。bat 學習了 cat ,擁有基本上一樣的操作方式,但具有更多的功能,旨在取代 cat 。
與同類型的語法高亮程式相比, bat 支援直接替換cat,集成於 Git ,自動分頁,自定義語言語法與主題等功能,且載入速度相對較快。
bat 有多個平臺的版本,並提供多樣化的安裝方式,感興趣的朋友不妨一試。