PDF處理還收費?不可能!
開源項目、工具資源、技術(shù)文章等方面,每周五首發(fā)于 ,歡迎大家Star并收藏!
收集整理每周優(yōu)質(zhì)開發(fā)者內(nèi)容,包括
原文鏈接:
每周五首發(fā)于Github,歡迎大家Star并收藏!
DevWeekly收集整理每周優(yōu)質(zhì)開發(fā)者內(nèi)容,包括開源項目、資源工具、技術(shù)文章等方面。
歡迎大家投稿,
,推薦或者自薦開源項目/資源/工具/文章~訂閱方式:
Star并收藏項目
關(guān)注
開源項目
1.
Python Star:2.6k
dot(Deepfake Offensive Toolkit)是一款將deepfakes實時的、可控制的應(yīng)用于在線視頻的工具。
那么,deepfakes是什么?
簡單的翻譯過來就是深度偽造,換句話說,它是通過人工智能技術(shù),能夠?qū)⒛繕?biāo)對象的面部特征嫁接到被模仿的對象上,給目標(biāo)對象進行換臉。
2.
Python Star:241

CodeCat是一款可以幫助你使用靜態(tài)代碼分析功能找到/追蹤用戶輸入和安全漏洞的開源工具,這對于代碼開發(fā)中的安全控制非常有價值。
目前它適用于C、C++、GO、Python、javascript、Swift、PHP、Ruby、ASP、Kotlin、Dart和Java。
總結(jié)一下,它具有如下特性:
按照Regex的自定義規(guī)則進行遞歸代碼搜索
代碼視圖中的語法高亮
管理規(guī)則的系統(tǒng)
控制用戶的資源
按照IP地址的允許列表控制HTTP訪問的資源
遵循OWASP安全實踐的應(yīng)用
3.
Python Star:6.8k
PDF有很多不同類型,直接通過word等格式轉(zhuǎn)換的可以直接復(fù)制粘貼,操作比較簡單。但是,掃描版的PDF則比較麻煩。
OCRmyPDF為掃描的PDF文件添加OCR文本層,使其能夠被搜索或復(fù)制粘貼。
它具有如下特性:
基于普通的PDF生成一個可搜索的PDF/A文件
將OCR文本準(zhǔn)確地放在圖像下面,以方便復(fù)制/粘貼
保持原始嵌入圖像的準(zhǔn)確分辨率
優(yōu)化PDF圖像,生成的文件通常比輸入文件小
使用Tesseract OCR引擎,支持識別100多種語言
能處理數(shù)千頁的文件
4.
Python Star:1.3k
data-diff是一個命令行工具和Python庫,能夠用于對比兩個不同數(shù)據(jù)庫的差異。
目前,它已經(jīng)在多種不同類型的數(shù)據(jù)庫上進行過驗證,而且對于對比結(jié)果可以通過CLI/API的形式來創(chuàng)建監(jiān)控和告警,能夠兼容不同的字段類型。速度也非??欤?0s內(nèi)能夠驗證25M+行數(shù)據(jù)。
data-diff將表分割成更小的片段,然后在兩個數(shù)據(jù)庫中對每個片段進行校驗。當(dāng)一個段的校驗和不相等時,它將進一步把這個段分成更小的段,對這些段進行校驗,直到它得到不同的行。
5.
Java Star:541
現(xiàn)代配置庫,用于用Java編寫的分布式應(yīng)用。
cfg4j,也就是configuration for Java,一種開源的配置庫,可以用于Java開發(fā)的分布式應(yīng)用。
它具有如下特性:
自動重新加載配置
強大的配置機制(接口綁定,多源支持與回退策略,合并等等)。
分布式環(huán)境友好(緩存,支持多種環(huán)境[測試,預(yù)開發(fā),生產(chǎn)],......)
讀取配置:Consul、Git repos(YAML和/或?qū)傩裕⑽募?、Classpath, ...
與DI容器無縫集成:Spring、Guice等
與Metrics庫的集成來展示性能指標(biāo)
經(jīng)過大量的測試(99%的代碼覆蓋率)
完善的文檔
6.
Kotlin Star:58

一款開源免費的Java反編譯GUI工具。
顧名思義,通過這款工具,我們可以對已經(jīng)編譯的Java jar包,可以反編譯復(fù)雜的Java applets和二進制文件,產(chǎn)生準(zhǔn)確的源代碼。
7.
Go Star:1.5k

用于智能S.M.A.R.T監(jiān)控的 WebUI。
如果你運行的服務(wù)器有幾個硬盤,你可能已經(jīng)熟悉S.M.A.R.T和smartd守護程序。
smartd是一個監(jiān)控許多ATA、IDE和SCSI-3硬盤中內(nèi)置的自我監(jiān)測、分析和報告技術(shù)(SMART)系統(tǒng)的守護進程。
SMART的目的是監(jiān)測硬盤的可靠性和預(yù)測硬盤故障,并進行不同類型的硬盤自我測試。
Scrutiny是一個簡單而集中的應(yīng)用,有幾個核心功能:
Web UI儀表板
smartd集成
自動偵測所有連接的硬盤 歷史趨勢的S.M.A.R.T指標(biāo)跟蹤
利用現(xiàn)實故障率定制閾值
溫度跟蹤
8.
Go Star:435
sake是一個用于本地和遠(yuǎn)程主機的命令運行工具。
你在 sake.yaml 配置文件中定義服務(wù)器和任務(wù),然后在服務(wù)器上就可以運行任務(wù)。
sake有大量的功能:
任務(wù)、服務(wù)器和標(biāo)簽的自動完成
通過SSH進入服務(wù)器或docker容器
通過 sake list servers|tasks 列出服務(wù)器/任務(wù)
以表格格式展示任務(wù)輸出 sake run <task> 結(jié)果
9.
C Star:170
一款開源的代碼搜索工具和靜態(tài)代碼分析工具,它具有如下功能:
通過重合碼模式搜索代碼
自定義規(guī)則
帶有網(wǎng)絡(luò)套接字資源的HTTPd視圖
遞歸掃描
通過編程語言突出顯示語法
通過允許列表控制IP地址訪問的資源
10.
C++ Star:1.5k
Wayfire是一個3D Wayland合成器,靈感來自于Compiz并基于wlroots。
它旨在創(chuàng)建一個可定制的、可擴展的和輕量級的環(huán)境,而不用以犧牲外觀作為代價。
資源工具
1.
Pomsky是一種可以編譯成正則表達(dá)式的語言,它目前處于alpha階段。
Pomsky可以通過CLI或Rust宏來使用。
一些例子:
# String
'hello world' ? ? ? ? ? ? ? ? # hello world
# Greedy repetition
'hello'{1,5} ? ? ? ? ? ? ? ? ?# (?:hello){1,5}
'hello'* ? ? ? ? ? ? ? ? ? ? ?# (?:hello)*
'hello'+ ? ? ? ? ? ? ? ? ? ? ?# (?:hello)+
# Lazy repetition
'hello'{1,5} lazy ? ? ? ? ? ? # (?:hello){1,5}?
'hello'* lazy ? ? ? ? ? ? ? ? # (?:hello)*?
'hello'+ lazy ? ? ? ? ? ? ? ? # (?:hello)+?
# Alternation
'hello' | 'world' ? ? ? ? ? ? # hello|world
2.
一個學(xué)習(xí)如何使用Unix shell命令的游戲.
學(xué)習(xí)Unix shell是有一定成本的,GameShell被設(shè)計成一種工具,幫助學(xué)生接觸到shell,通過游戲的方式在鼓勵學(xué)習(xí)的同時也能獲得樂趣。

3.
每個工程師都有過忘記終端命令的時候,因為它很少被使用,或者有難以理解的復(fù)雜參數(shù)。
當(dāng)這種情況發(fā)生時,不得不在他們的終端命令歷史中進行搜索,或者打開瀏覽器進行搜索。
Commands.dev就是要解決這個問題。
Commands.dev是一個開源的、可搜索的、從整個互聯(lián)網(wǎng)上收集的流行終端命令的集合。你可以按類別(git、android、docker)查找命令,每個命令都會告訴你需要插入哪些參數(shù)。

4.

PyScript是一種可以在瀏覽器中運行的Python。
它是一個框架,允許用戶使用HTML的界面和Pyodide、WASM等,在瀏覽器中創(chuàng)建豐富的Python應(yīng)用程序。
PyScript框架為各種經(jīng)驗水平的用戶提供了一種具有無數(shù)應(yīng)用的、易于學(xué)習(xí)的編程語言。
5.

學(xué)習(xí)編程可能很困難,不是說編程本身很難,而是有很多規(guī)則你需要記住,就像你開始學(xué)習(xí)英語時一樣。
同樣地,你也需要大量的練習(xí)來學(xué)習(xí)編程。
Hedy則是一款漸進式的編程語言。這意味著,你不必一次就學(xué)會所有的規(guī)則,最初的幾個級別沒有那么多規(guī)則,所以你可以輕松地適應(yīng)編程。
在每個級別中,都會增加新的規(guī)則,增加命令的數(shù)量,循序漸進的進行學(xué)習(xí)。
技術(shù)文章
1.
提起數(shù)據(jù)統(tǒng)計與分析,很多同學(xué)第一印象想到的就是Python或者R。
其實,Java也是一款在數(shù)據(jù)領(lǐng)域應(yīng)用非常廣泛的編程語言,例如,F(xiàn)link、hive等都對Java有很好的支持。
在這篇文章中,重點研究如何使用Java和Python對大量的表格數(shù)據(jù)進行簡單的數(shù)據(jù)分析并計算一些統(tǒng)計數(shù)據(jù)。
在這里,可以看到如何在每個平臺上進行數(shù)據(jù)分析的不同技術(shù),比較它們?nèi)绾螖U展,以及應(yīng)用并行計算來提高其性能的可能性。
2.
編寫代碼并不僅僅為了它能夠正常執(zhí)行并輸出結(jié)果,還要考慮它的設(shè)計模式、擴展線、可讀性等。
重構(gòu)是在不改變其功能的情況下改進現(xiàn)有代碼的設(shè)計的過程。
作為軟件開發(fā)者,我們不斷面臨著改進和優(yōu)化代碼的需要。
無論是為了性能、可讀性還是可維護性,重構(gòu)代碼都是一項基本技能。
在重構(gòu)代碼時,有許多不同的技術(shù)可以使用。