問世間情為何物?小編流淚無法答覆......雖來到人世二十餘度,未曾有姑娘芳心為我俘虜。我也想知情為何物,有一佳人月下相簇,無奈忙於編碼,終日為代碼牽腸掛肚!啊!問世間情為何物!再見二丁目!
問世間情為何物,為 Coding 不分寒暑,編程一時趣,周末一陣苦,月底照樣要吃土!為什麼我們計算機系的男生就這麼凄苦!
問世間情為何物?不要問小編為什麼這周這麼多感觸,身邊這麼多程序員兄弟都單身,不曾體會戀愛滋味,終日忙於編程,為了幾KB的代碼牽腸掛肚,卻不能關心身邊女生是不是孤單......你們忍心嗎?!!!
同學們,放下手邊的鍵盤,刪掉repo里的代碼,來到開源工場交朋友吧,這裡是異性程序員交友平台!絕對不會讓同性交友這種慘劇發生的...當然...也可以同性交友的!除了代碼,這個也很有趣,最近《猿帥》和《媛寶》欄目悄悄的展開了,還沒有特別宣傳,我們《開源周報》欄目就幫忙安利一下好了!《媛寶》欄目號稱程序員界的「封面女郎」,《猿帥》欄目號稱程序員界的「時尚先生」,每一期都會挑選一個青春活力的女孩程序員作為「媛寶」,一個陽光大方的男孩程序員作為「猿帥」,ta們有一個共同的前提是:學習計算機相關專業或從事相關行業、寫程序;這兩個欄目目前是重慶大學Wayne 執導,為你帶來程序員屆的最高審美,也歡迎加入 QQ群:202790710;電報群 https://t.me/OpeningSourceOrg 和大家一起交流!
每一期的正片時間都不可少。這一期的正片涉及了各種方面:React 的 UI 集合#awesome-reactnative-ui#和通過界面製造組件的#React-Proto#,關於 Java 的設計模式#java-design-patterns#,關於 Python 的運行速度分析#Py-Spy#,除了這些,還有吃瓜的高效資料庫#watermelonDB#,#pwc#裡面則堆滿了一大堆論文,在 ailab 項目中的#Sketch2Code#則可以將圖像轉化成 HTML 代碼,終端模擬器#Kitty#,HTTP 客戶端#ky#,最後還有一個雖然古老但是管用的操作系統設計教程#os-tutorial#。正逢中秋,祝願大家——身體健康,然後是正規的祝大家中秋快樂。
本周流行開源項目榜中榜開源趨勢 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.os-tutorial
os-tutorial 是一個操作系統的設計教程。
作為一個教程,它教授了如何設計一個操作系統需要的大部分功能:中斷處理,文件系統,內存管理,進程管理。除此之外作者提供了高級教程:網路連接與圖形化( GUI )。設計出來的系統是可以直接開機進入引導並運行的,並且能夠進行正常交互。隨著學習的不斷深入,你甚至可以設計圖形化的操作界面。
正如作者所說,本教程面向的是對計算機代碼有一定了解,但對操作系統本身不了解的人準備的,同時需要具備強大的面向搜索引擎編程的能力。按照教程設計出來的操作系統十分簡陋,但並不浮於表面。作者鼓勵學習的人反覆修改代碼以真正學到系統設計的內涵。
儘管這是一個最早更新在四年前的項目,但隨著時間過去,一個操作系統所需要的東西並沒有什麼改變,這也是最近這個項目被頂上來的原因。如果你苦於內核代碼的艱澀,不妨嘗試一下此項目。