分享 GitHub 上有趣、入門級的開源項目。
1、mpv播放器:功能強大、免費開源、支持多平臺的極簡播放器。
底層采用了 MPlayer、mplayer2 和 FFmpeg 等開源項目,支持多種音視頻格式、高清視頻、GPU 解碼、自定義等功能,追求極簡的命令行啟動+快捷鍵操作方式,讓它成為了技術愛好者的首選視頻播放器。(暫時不支持網頁版——一粒云測試)
2、cutter:一款免費開源的逆向工程平臺。
采用 Rizin 作為核心引擎并集成了 Ghidra 反編譯器,它界面簡潔功能強大,深受逆向工程師們的喜愛
- 支持多種語言和主題
- 二進制搜索
- 十六進制編輯器
- Python 腳本和插件
- 支持 Linux、macOS、Windows
3、heti:專為中文內容展示設計的排版樣式。它會讓你的中文網站變得好看
- 貼合網格的排版
- 全標簽樣式美化
- 預置多種排版樣式
- 簡/繁體中文支持
- 移動端支持
4、arco-design:基于 ArcoDesign 的 React/Vue UI 組件庫(字節跳動出品)。
包含 60 多個開箱即用的高質量組件,還提供了可視化的樣式配置平臺,可用于快速構建企業級管理后臺
import React from 'react';
import ReactDOM from 'react-dom';
import { Button } from '@arco-design/web-react';
import '@arco-design/web-react/dist/css/arco.css';
function App() {
return (
<Button type='secondary'>
Hello World
</Button>
);
}
ReactDOM.render(<App ></App>, document.getElementById('app'));
5、prisma:適用于 Node.js 和 TypeScript 的 ORM。
支持主流數據庫可用于開發 REST API、GraphQL API、gRPC API 等任何需要連接數據庫的程序,項目還包括了數據遷移工具和管理數據的 GUI 工具
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// A `main` function so that you can use async/await
async function main() {
const allUsers = await prisma.user.findMany({
include: { posts: true },
})
// use `console.dir` to print nested objects
console.dir(allUsers, { depth: null })
}
main()
.catch((e) => {
throw e
})
.finally(async () => {
await prisma.$disconnect()
})
6、PHPWord:提供了讀/寫多種文檔文件格式的 PHP 庫。
支持 Microsoft Office、富文本(RTF)等文檔格式
<?php
require_once 'bootstrap.php';
// 新建文檔
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Adding an empty Section to the document...
$section = $phpWord->addSection();
// Adding Text element to the Section having font styled by default...
$section->addText(
'"Learn from yesterday, live for today, hope for tomorrow. '
. 'The important thing is not to stop questioning." '
. '(Albert Einstein)'
);
7、 orjson :更快更強的 Python JSON 庫。
支持比如日期、numpy 數組等豐富的數據類型,而且速度更快
>>> import orjson, datetime, numpy
>>> data = {
"type": "job",
"created_at": datetime.datetime(1970, 1, 1),
"status": "",
"payload": numpy.array([[1, 2], [3, 4]]),
}
>>> orjson.dumps(data, option=orjson.OPT_NAIVE_UTC | orjson.OPT_SERIALIZE_NUMPY)
b'{"type":"job","created_at":"1970-01-01T00:00:00+00:00","status":"\xf0\x9f\x86\x97","payload":[[1,2],[3,4]]}'
>>> orjson.loads(_)
{'type': 'job', 'created_at': '1970-01-01T00:00:00+00:00', 'status': '', 'payload': [[1, 2], [3, 4]]}
8、tiler:將圖片轉化成各種較小圖塊拼接成的圖像工具。
馬賽克風格的圖片轉化工具,支持自定義拼接圖案和符號。工具實用方便、代碼簡單易懂,適合對圖像感興趣的小伙伴學習和上手
9、rumps:簡單的 macOS 狀態欄 Python 庫
import rumps
class AwesomeStatusBarApp(rumps.App):
@rumps.clicked("Preferences")
def prefs(self, _):
rumps.alert("jk! no preferences available!")
@rumps.clicked("Silly button")
def onoff(self, sender):
sender.state = not sender.state
@rumps.clicked("Say hi")
def sayhi(self, _):
rumps.notification("Awesome title", "amazing subtitle", "hi!!1")
if __name__ == "__main__":
AwesomeStatusBarApp("Awesome App").run()