DevWeekly收集整理每周優(yōu)質(zhì)開發(fā)者內(nèi)容,包括開源項(xiàng)目、工具資源、技術(shù)文章等方面,每周五首發(fā)于DevWeekly,歡迎大家Star并收藏!
原文鏈接:DevWeekly | 第1期:什么是時(shí)間復(fù)雜度?
https://github.com/Jackpopc/DevWeekly/blob/master/weekly/2022-07-15-weekly.md
DevWeekly每周五首發(fā)于Github,歡迎大家Star并收藏!
DevWeekly收集整理每周優(yōu)質(zhì)開發(fā)者內(nèi)容,包括開源項(xiàng)目、工具資源、技術(shù)文章等方面。
歡迎大家投稿,提交issue,推薦或者自薦開源項(xiàng)目/資源/工具/文章~
訂閱方式:Star并收藏項(xiàng)目DevWeekly
開源項(xiàng)目
1.pikepdf
Python Star:1.4k
pikepdf是一個(gè)用于讀取和寫入PDF文件的Python庫(kù)。
它基于QPDF,而QPDF則是一個(gè)強(qiáng)大的PDF操作和修復(fù)庫(kù)。
這個(gè)庫(kù)類似于PyPDF2和pdfrw,但是,相對(duì)于后兩者,它提供更豐富的PDF操作功能,并允許對(duì)現(xiàn)有的PDF進(jìn)行編輯和內(nèi)容轉(zhuǎn)換。
它具有很多優(yōu)秀的特性,例如:
- 編輯和轉(zhuǎn)換PDF
- 與Jupyter和IPython筆記本集成,實(shí)現(xiàn)快速開發(fā)
- PDF加解密
- 支持從1.1到1.7全部版本的PDF文檔
- 修改PDF/A而不破壞PDF/A的合規(guī)性
- 自動(dòng)修復(fù)有內(nèi)部錯(cuò)誤的PDF文件
2.towhee
Python Star:721
Towhee是一個(gè)靈活的、面向應(yīng)用的框架,通過(guò)ML模型和其他操作的工作流來(lái)生成嵌入向量。
它的目的是使x2vec更加便捷、易用,從初級(jí)開發(fā)人員到大型組織–只需幾行代碼就能生成dense embedding。
為了實(shí)現(xiàn)這一目標(biāo),它為各種任務(wù)提供預(yù)構(gòu)建的工作流,包括音頻/音樂(lè)嵌入、圖像嵌入、人物識(shí)別等等。
3.ga-extractor
Python Star:31
ga-extractor是一個(gè)CLI工具,它能夠通過(guò)使用谷歌報(bào)告API提取谷歌分析數(shù)據(jù),也可用于將數(shù)據(jù)轉(zhuǎn)換為適合遷移到其他分析平臺(tái)的各種格式。
4.envelope
Python Star:146
如何通過(guò)Python代碼實(shí)現(xiàn)自動(dòng)發(fā)送郵件?如果通過(guò)代碼添加附加信息或者附件?
envelope只需要一行代碼,就可以實(shí)現(xiàn)在發(fā)送電子郵件/簽名/加密內(nèi)容的過(guò)程中添加一個(gè)信息和附件。
插入一個(gè)信息和附件,并通過(guò)單行發(fā)送電子郵件/簽名/加密內(nèi)容。
它在python-gnupg、M2Crypto、smtplib、magic和電子郵件處理包的基礎(chǔ)上進(jìn)行了一層包裝,他們的多個(gè)功能被合并到一個(gè)單一的函數(shù)中。
下面是一段示例代碼:
Envelope(“my message”) .subject(“hello world”) .to(“example@example.com”) .attach(file_contents, name=”attached-file.txt”) .smtp(“localhost”, 587, “user”, “pass”, “starttls”) .signature() .send()
5.FairEmail
Java Star:942
一款功能齊全、開放源代碼、注重隱私的安卓電子郵件應(yīng)用程序
FairEmail很容易設(shè)置,并且可以與幾乎所有的電子郵件系統(tǒng)兼容使用,包括Gmail、Outlook和Yahoo!
但是,它更加注重隱私,如果你想自己開發(fā)一款更加注重隱私的電子郵件APP,F(xiàn)airEmail非常有用。
它具有如下特性:
- 功能齊全
- 100%開放源代碼
- 以隱私為導(dǎo)向
- 無(wú)限賬戶
- 無(wú)限的電子郵件地址
- 統(tǒng)一收件箱(可選擇賬戶或文件夾)
- 雙向同步
- 推送通知
- 離線存儲(chǔ)和操作
- 流量消耗量低
- 小巧(~25 MB)
- 簡(jiǎn)潔
6.Camera
Java Star:361
Camera是一款注重隱私和安全的現(xiàn)代相機(jī)APP,可掃描QR和條形碼
它新版的GrapheneOS相機(jī)應(yīng)用,基于Android的CameraX庫(kù)。
7.dns.toys
Go Star:1.8k
一個(gè)DNS服務(wù)器,通過(guò)DNS協(xié)議提供有用的工具和服務(wù)。
例如,天氣、世界時(shí)間、單位轉(zhuǎn)換等
它提供方便的實(shí)用程序和服務(wù),可以通過(guò)命令行輕松訪問(wèn)。
下面是一些示例命令:
dig help @dns.toysdig mumbai.time @dns.toysdig newyork.weather @dns.toysdig 42km-mi.unit @dns.toysdig 100USD-INR.fx @dns.toysdig ip @dns.toysdig 987654321.words @dns.toysdig pi @dns.toysdig 100dec-hex.base @dns.toys
8.vrperfkit
C Star:513
一款VR性能工具箱,面向性能的VR游戲mods集合。
包括mods:
- 升級(jí)技術(shù)(在較低的分辨率下渲染并升級(jí)到目標(biāo)分辨率)
- AMD FidelityFX超級(jí)分辨率
- 英偉達(dá)圖像縮放
- AMD 對(duì)比度自適應(yīng)銳化
- 固定凹陷渲染
- 可變速率著色
除此之外,它還支持Oculus、OpenVR這些VR運(yùn)行環(huán)境和Direct3D 11圖形API。
9.Hacker-Typer
JavaScript Star:672
Hacker-Typer是一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)端小工具,模擬黑客打字,看上去很炫酷的感覺(jué)。
你可以打開頁(yè)面隨意敲擊鍵盤,它會(huì)生成一段很酷的代碼。
10.ceresdb
Rust Star:1.3k
CeresDB 是一款高性能、分布式、Schema-less 的云原生時(shí)序數(shù)據(jù)庫(kù),能夠同時(shí)處理時(shí)序型(time-series)以及分析型(analytics)負(fù)載。
工具資源
1.RegExr
RegExr是一個(gè)基于HTML/JS的工具,用于創(chuàng)建、測(cè)試和學(xué)習(xí)正則表達(dá)式。
2.BrainIDE
BrainIDE旨在提供一個(gè)易于使用、輕量級(jí)和用戶友好的IDE。
它全部使用python和tkinter進(jìn)行GUI設(shè)計(jì)和編碼。
這款軟件的主要目的是在不需要互聯(lián)網(wǎng)連接的情況下,在旅途中進(jìn)行頭腦風(fēng)暴式的編碼。
3.Geany
Geany是一個(gè)小而輕的集成開發(fā)環(huán)境。它的開發(fā)是為了提供一個(gè)小而快的集成開發(fā)環(huán)境,它只需要依賴其他軟件包。
另一個(gè)目標(biāo)是盡可能地獨(dú)立于像KDE或GNOME這樣的特殊桌面環(huán)境。
所以, 它只使用 GTK+ 工具包,因此你只需要 GTK+ 運(yùn)行庫(kù)來(lái)運(yùn)行 Geany。
4.Lorien
Lorien是一個(gè)畫布/繪畫/筆記應(yīng)用程序,專注于性能、小型保存文件和簡(jiǎn)單性。
它不像Krita、Gimp或Photoshop那樣基于位圖圖像,而是將筆觸保存為一個(gè)點(diǎn)的集合,并在運(yùn)行時(shí)渲染它們(有點(diǎn)像SVG)。
它主要被設(shè)計(jì)成一個(gè)數(shù)字筆記本和頭腦風(fēng)暴工具。
5.Shortcut
Shortcut是一款免費(fèi)、跨平臺(tái)、開源的視頻編輯工具。
技術(shù)文章
1.什么是時(shí)間復(fù)雜度?
做軟件開發(fā)過(guò)程中,時(shí)間復(fù)雜度、空間復(fù)雜度經(jīng)常用來(lái)對(duì)數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行復(fù)雜度分析。
在計(jì)算機(jī)科學(xué)中,如何找出哪個(gè)算法或數(shù)據(jù)結(jié)構(gòu)更有效或更快?我們?cè)鯓硬拍鼙容^兩種算法或數(shù)據(jù)結(jié)構(gòu)?
我們可以通過(guò)時(shí)間復(fù)雜度來(lái)比較給定的算法:更快地完成給定任務(wù)的算法是更好的。
這篇文章則詳細(xì)的闡述了什么是時(shí)間復(fù)雜度?以及如何理解時(shí)間復(fù)雜度?
2.怎么在VS Code中配置C/C++開發(fā)環(huán)境?
如果你從事Python開發(fā),選擇解釋器、IDE、配置環(huán)境是一項(xiàng)非常簡(jiǎn)單的工作,你只需要安裝Python就可以了。
但是,當(dāng)處理C++時(shí),這件時(shí)間就變得復(fù)雜多了,因?yàn)樗枰粋€(gè)編譯器,有許多C++編譯器可用。
這篇文章以使用MinGW為基礎(chǔ),分享一些很不錯(cuò)的工具,這些工具將使程序的運(yùn)行過(guò)程更加容易。