大家好,這里是每周更新的Github精彩分享周刊,我是每周都在搬磚的蠻三刀醬。
我會從Github熱門趨勢榜里選出 高質(zhì)量、有趣,牛B 的開源項目進行分享。
1. PowerShell:不止于Windows,支持全平臺的強大Shell
項目介紹
沒錯,就是微軟的那個PowerShell,可能有很多同學(xué)在Windows上用過,功能還是比較強大的。
PowerShell Core 是一個跨平臺(Windows、Linux 和 macOS)自動化和配置工具/框架,可以很好地與您現(xiàn)有的工具配合使用,并針對處理結(jié)構(gòu)化數(shù)據(jù)(例如 JSON、CSV、XML 等)、REST API 進行了優(yōu)化 。 它包括一個命令行Shell、一個相關(guān)的腳本語言和一個用于處理 cmdlet 的框架。
Windows PowerShell和PowerShell Core的區(qū)別:
我看了下Github倉庫上的解釋,該個倉庫(PowerShell Core)是從Windows PowerShell代碼庫拉取的分支,但在此庫中所做的修改不會同步至Windows PowerShell代碼庫,所以在這里提出的問題或者是修復(fù)和Windows PowerShell并不是同步的。
這次沖上Trand榜,不確定具體原因,但應(yīng)該是開始支持了一個全新的平臺,目前已經(jīng)支持這么多平臺了:

PowerShell 與 cmd 有什么不同?
- PowerShell是跨平臺的,cmd是Windows專用的。
- PowerShell有面向?qū)ο蟮墓艿馈?/li>
- PowerShell能夠調(diào)用.NET的很多功能。
- PowerShell內(nèi)置有Azure相關(guān)的command
演示
這位老哥給我們演示了在MacOS上安裝和使用PowerShell
https://www.youtube.com/watch?v=QBfuzwYUxl8
一句話點評
摘自知乎:Powershell和cmd的區(qū)別大概就像Python Shell和Bash的區(qū)別一樣大吧。
2. gctoolkit:微軟官方出品的Java GC日志分析器
項目介紹
GCToolkit 是一組用于分析 HotSpot Java 垃圾收集 (GC) 日志文件的庫。 該工具包將 GC 日志文件解析為一個個小的事件,并提供聚合數(shù)據(jù)的 API。 這樣一來用戶就能對JVM中的內(nèi)存的狀態(tài)進行復(fù)雜和高度自定義的分析。
使用方式
GCToolkit 由 3 個 Java 模塊組成,涵蓋 API、GC 日志文件解析器和基于 Vert.x 的消息傳遞模塊。
讓我們看一個在 GC 完成后總堆占用率的示例:
public class Main {
public static void main(String[] args) throws Exception {
var path = Path.of(args[0]);
var logFile = new SingleGCLogFile(path);
var gcToolKit = new GCToolKit();
var jvm = gcToolKit.analyze(logFile);
var results = jvm.getAggregation(HeapOccupancyAfterCollectionSummary.class);
System.out.println(results.toString());
}
}
代碼大致思路如下,建立一個數(shù)據(jù)源,新建一個GCToolKit,開始根據(jù)類HeapOccupancyAfterCollectionSummary對GC進行分析,將分析數(shù)據(jù)集合到日志里。
下面是一個堆占用聚合數(shù)據(jù)的實現(xiàn)HeapOccupancyAfterCollectionSummary:
@Collates(HeapOccupancyAfterCollection.class)
public class HeapOccupancyAfterCollectionSummary implements HeapOccupancyAfterCollectionAggregation {
private HashMap<GarbageCollectionTypes, XYDataSet> aggregations = new HashMap<>();
public void addDataPoint(GarbageCollectionTypes gcType, DateTimeStamp timeStamp, long heapOccupancy) {
var dataSet = aggregations.computeIfAbsent(gcType, k -> new XYDataSet());
dataSet.add(timeStamp.getTimeStamp(),heapOccupancy);
}
public HashMap<GarbageCollectionTypes, XYDataSet> get() {
return aggregations;
}
}
一句話點評
蠻三刀醬:第一眼看GCToolkit這個名字以為是個圖形化的GC查看器,就像JVisualVM一樣,實際上GCToolkit更加偏底層數(shù)據(jù)處理框架。
3. Realtime-Voice-Clone-Chinese:5秒內(nèi)克隆您的聲音
項目介紹
AI擬聲: 5秒內(nèi)克隆您的聲音并生成任意語音內(nèi)容(支持中文),很有意思的一個AI項目。

演示
https://www.bilibili.com/video/BV1sA411P7wM/
使用方式
- 需要安裝PyTorch和ffmpeg,然后克隆項目代碼
- 使用數(shù)據(jù)集訓(xùn)練合成器:使用aidatatang_200zh或者SLR68 dataset數(shù)據(jù)集
- 啟動工具箱,錄制聲音,然后就能生成聲音。
一句話點評
蠻三刀醬:以后再也不怕做鬼畜沒有語音素材了!
4. papers-we-love:計算機最佳論文整理
項目介紹
Papers We Love (PWL) 是一個圍繞閱讀、討論和學(xué)習(xí)更多關(guān)于計算機科學(xué)學(xué)術(shù)論文的社區(qū)。 該庫里可以找到的一些最佳論文(Best Paper)的目錄,將分散在網(wǎng)絡(luò)上的好論文匯集在一起。
使用方式
該倉庫直接以文件夾進行了分類:

并且還推薦了其他的一些論文搜索網(wǎng)站,有些你應(yīng)該耳熟能詳了。
- 2 Minute Papers
- Bell System Technical Journal, 1922-1983
- Best Paper Awards in Computer Science
- Google Scholar (choose a subcategory)
- Microsoft Research
- Functional Programming Books Review
- MIT's Artificial Intelligence Lab Publications
- MIT's Distributed System's Reading Group
- arXiv Paper Repository
- SciRate
- cat-v.org
- y-archive
- netlib
- Services Engineering Reading List
- Readings in Distributed Systems
- Gradual Typing Bibliography
- Security Data Science Papers
- Research Papers from Robert Harper, Carnegie Mellon University
- Lobste.rs tagged as PDF
- The Morning Paper
一句話點評
蠻三刀醬:其實如果你是正在做科研的學(xué)生,可能這些大方向的最佳論文不能滿足你。不過對于想要了解整個計算機方向最新科研成果的工業(yè)界人士,或者是科研小白,看下這些論文肯定能夠有所收獲。
5. 網(wǎng)頁版windows11:用前端代碼做一個Windows11
項目介紹
這個開源項目旨在使用 React、CSS (SCSS) 和 Js 等標(biāo)準(zhǔn) Web 技術(shù)在 Web 上復(fù)制 Windows 11 桌面體驗。
演示



使用方式
在線體驗網(wǎng)站:win11.blueedge.me
一句話點評
蠻三刀醬:離譜,離譜啊!
結(jié)尾
Github精彩項目分享是我新開的一個系列,也是一個全新的嘗試,我想把內(nèi)容盡量提煉和壓縮,保證文章的趣味性,并且通俗易懂。
也請大家多多提意見,我會不斷地改進。
我是目前在阿里搬磚的工程師蠻三刀醬。
持續(xù)的創(chuàng)作離不開你的點贊和轉(zhuǎn)發(fā)分享!