<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          《HelloGitHub》第 75 期

          共 11681字,需瀏覽 24分鐘

           ·

          2022-06-30 09:22

          興趣是最好的老師,HelloGitHub 讓你對(duì)編程感興趣!

          簡(jiǎn)介

          HelloGitHub 分享 GitHub 上有趣、入門(mén)級(jí)的開(kāi)源項(xiàng)目。

          https://github.com/521xueweihan/HelloGitHub

          這里有實(shí)戰(zhàn)項(xiàng)目、入門(mén)教程、黑科技、開(kāi)源書(shū)籍、大廠開(kāi)源項(xiàng)目等,涵蓋多種編程語(yǔ)言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開(kāi)源的魅力,對(duì)編程產(chǎn)生興趣!


          以下為本期內(nèi)容|每個(gè)月 28 號(hào)更新

          C 項(xiàng)目

          1、fontforge:免費(fèi)開(kāi)源的字體編輯器。適用于 Windows、macOS、Linux 的編輯字體桌面工具,支持創(chuàng)建和編輯多種格式的字體,可用來(lái)構(gòu)建自己的字體。

          地址:https://github.com/fontforge/fontforge

          2、TencentOS-tiny:騰訊開(kāi)源的物聯(lián)網(wǎng)終端操作系統(tǒng)。精簡(jiǎn)的實(shí)時(shí)操作系統(tǒng)(RTOS)內(nèi)核,可移植到多種主流單片機(jī),內(nèi)部集成了多種物聯(lián)網(wǎng)協(xié)議棧,具有占用資源少、低功耗、模塊化、易移植、安全等特點(diǎn)。

          地址:https://github.com/OpenAtomFoundation/TencentOS-tiny

          3、micropython:可運(yùn)行在單片機(jī)上的 Python。眾所周知 Python 是一門(mén)語(yǔ)法非常簡(jiǎn)單的編程語(yǔ)言,如果能用 Python 操控硬件豈不美哉!該項(xiàng)目就是單片機(jī)上的“迷你” Python,通過(guò)它就可以用 Python3 進(jìn)行單片機(jī)開(kāi)發(fā)了,大大地降低了硬件開(kāi)發(fā)的入門(mén)門(mén)檻。

          地址:https://github.com/micropython/micropython

          C# 項(xiàng)目

          4、lively:Windows 動(dòng)態(tài)桌面壁紙工具。支持 Windows 用戶(hù)設(shè)置多種動(dòng)畫(huà)文件為桌面壁紙的工具,不僅安裝簡(jiǎn)單效果炫酷,而且完全免費(fèi)。

          地址:https://github.com/rocksdanister/lively

          C++ 項(xiàng)目

          5、folly:Facebook 開(kāi)源的 C++ 工具庫(kù)。包含一系列高性能的 C++ 組件庫(kù),方便且高效在 Facebook 內(nèi)部被廣泛應(yīng)用。該項(xiàng)目不僅代碼規(guī)范測(cè)試用例充足,而且源碼中包含豐富的注釋。同樣功能的函數(shù)為什么別人寫(xiě)的性能好還健壯,這次終于可以一探究竟了。

          AtomicHashMap.h:高性能原子數(shù)據(jù)結(jié)構(gòu)
          Bits.h:處理各種位操作的工具
          Conv.h:處理各種數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
          dynamic.h:動(dòng)態(tài)類(lèi)型的對(duì)象,可用來(lái)處理 json-> map
          ...

          地址:https://github.com/facebook/folly

          6、async_simple:阿里開(kāi)源的輕量級(jí) C++ 異步框架。提供了基于 C++20 無(wú)棧協(xié)程(Lazy)、有棧協(xié)程(Uthread) 以及 Future/Promise 等異步組件,能夠輕松完成 C++ 異步的開(kāi)發(fā),廣泛應(yīng)用于阿里的圖計(jì)算引擎、時(shí)序數(shù)據(jù)庫(kù)、搜索引擎等系統(tǒng)。

          template <class T>
          using Lazy = async_simple:
          :coro::Lazy<T>;

          Lazy<intbar() {
            // ...
            int r = co_await read_some();
            // ...
            co_return r;
          }

          Lazy<intread_some() {
            // ...
            int r = co_await read_coro();
            // ...
            co_return r;
          }

          地址:https://github.com/alibaba/async_simple

          CSS 項(xiàng)目

          7、NES.css:NES 風(fēng)格的 CSS 框架。NES 就是我們小時(shí)候玩的“紅白機(jī)”,如果你喜歡這種像素風(fēng)格的畫(huà)面,該項(xiàng)目可以讓你輕松實(shí)現(xiàn)類(lèi)似“紅白機(jī)”復(fù)古游戲風(fēng)格的網(wǎng)頁(yè)。

          <head>
              <link href="fonts_url" rel="stylesheet">
              <link href="nes.css_url" rel="stylesheet" />

              <style>
                htmlbodyprecodekbdsamp {
                    font-family"font-family you want to use";
                }
              
          </style>
          </head>

          地址:https://github.com/nostalgic-css/NES.css

          Go 項(xiàng)目

          8、navidrome:Go 寫(xiě)的開(kāi)源音樂(lè)服務(wù)器。該項(xiàng)目可以用來(lái)搭建自己的音樂(lè)網(wǎng)站,功能豐富支持中文界面、專(zhuān)輯封面、多用戶(hù)、各種音頻格式、播放列表等功能,而且硬件要求低即使是在樹(shù)莓派上也能流暢地運(yùn)行。

          地址:https://github.com/navidrome/navidrome

          9、natpass:多功能主機(jī)管理平臺(tái)。Go 寫(xiě)的主機(jī)管理 Web 平臺(tái),支持 shell 和遠(yuǎn)程桌面管理 Linux、Windows 和 macOS 系統(tǒng)的主機(jī)。

          地址:https://github.com/lwch/natpass

          10、paopao-ce:一個(gè) Go 寫(xiě)的輕量級(jí)社區(qū)。采用 Gin+Vue 實(shí)現(xiàn)的微社區(qū),界面清爽擁有話(huà)題、發(fā)布短內(nèi)容、評(píng)論等功能。

          地址:https://github.com/rocboss/paopao-ce

          11、server:多用戶(hù)的屏幕分享服務(wù)。它可以快速啟動(dòng)一個(gè)在線(xiàn)共享屏幕的服務(wù),讓用戶(hù)無(wú)需安裝任何軟件,僅使用瀏覽器就能分享自己的屏幕畫(huà)面。項(xiàng)目基于網(wǎng)頁(yè)實(shí)時(shí)通信(WebRTC) 實(shí)現(xiàn),由 STUN/TURN 協(xié)議完成內(nèi)網(wǎng)穿透和瀏覽器端對(duì)端的連接,既實(shí)用又有源碼可以學(xué)習(xí)。

          地址:https://github.com/screego/server

          12、go-best-practice:編寫(xiě)可維護(hù) Go 代碼的建議。《Go 語(yǔ)言最佳實(shí)踐》一文的中文翻譯版。

          地址:https://github.com/llitfkitfk/go-best-practice

          Java 項(xiàng)目

          13、concurrency-limits:奈飛開(kāi)源的自適應(yīng)限流庫(kù)。當(dāng)服務(wù)在面對(duì)高并發(fā)處理不過(guò)來(lái)的時(shí)候,通常會(huì)采用限流的方式來(lái)保證服務(wù)可以正常運(yùn)行,但限流的閾值很難精準(zhǔn)把控,設(shè)置小了會(huì)損失流量、大了又容易搞掛服務(wù)。該項(xiàng)目基于 TCP 擁塞控制算法,實(shí)現(xiàn)了自適應(yīng)并發(fā)限制,即自動(dòng)設(shè)置最佳限流閾值,從而能夠在保證服務(wù)穩(wěn)定的前提下,盡可能多地處理請(qǐng)求。

          // Create and configure a server builder
          ServerBuilder builder = ...;

          builder.addService(ServerInterceptor.intercept(service,
              ConcurrencyLimitServerInterceptor.newBuilder(
                  new GrpcServerLimiterBuilder()
                      .partitionByHeader(GROUP_HEADER)
                      .partition("live"0.9)
                      .partition("batch"0.1)
                      .limit(WindowedLimit.newBuilder()
                              .build(Gradient2Limit.newBuilder()
                                      .build()))
                      .build();

              ));

          地址:https://github.com/Netflix/concurrency-limits

          14、baritone:Minecraft 游戲機(jī)器人 。它可以幫你自動(dòng)完成尋路、采集礦石等操作。

          ?

          地址:https://github.com/cabaletta/baritone

          15、cat:Java 開(kāi)發(fā)的實(shí)時(shí)應(yīng)用監(jiān)控平臺(tái)。美團(tuán)開(kāi)源的實(shí)時(shí)監(jiān)控告警服務(wù),能夠幫助開(kāi)發(fā)者快速定位線(xiàn)上的問(wèn)題。功能豐富包括全量采集指標(biāo)數(shù)據(jù)、分布式跨機(jī)房部署、性能分析報(bào)表等,還支持多種編程語(yǔ)言客戶(hù)端。

          Cat-client:提供給業(yè)務(wù)以及中間層埋點(diǎn)的底層 SDK
          Cat-consumer:用于實(shí)時(shí)分析從客戶(hù)端提供的數(shù)據(jù)
          Cat-home:作為用戶(hù)給用戶(hù)提供展示的控制端

          地址:https://github.com/dianping/cat

          16、DataX:高效的離線(xiàn)數(shù)據(jù)同步工具。阿里開(kāi)源的數(shù)據(jù)同步框架,可用于解決各種主流關(guān)系數(shù)據(jù)庫(kù)、HDFS、HBase 等數(shù)據(jù)源之間的數(shù)據(jù)同步問(wèn)題。

          地址:https://github.com/alibaba/DataX

          JavaScript 項(xiàng)目

          17、dicebear:供設(shè)計(jì)師和開(kāi)發(fā)者使用的頭像庫(kù)。可根據(jù)傳入的字符串,自動(dòng)生成對(duì)應(yīng)用戶(hù)頭像的庫(kù),還有免費(fèi)的接口服務(wù)。支持多種不同的風(fēng)格,比如:像素、冒險(xiǎn)家、標(biāo)識(shí)等。

          // 安裝:npm install --save @dicebear/avatars @dicebear/micah

          import { createAvatar } from '@dicebear/avatars';
          import * as style from '@dicebear/micah';

          let svg = createAvatar(style, {
            seed'custom-seed',
            // ... and other options
          });

          地址:https://github.com/dicebear/dicebear

          18、type-challenges:在線(xiàn)挑戰(zhàn) TypeScript 類(lèi)型問(wèn)題。該項(xiàng)目包含了不同難度的關(guān)于 TypeScript 類(lèi)型的問(wèn)題以及答案,通過(guò)這些挑戰(zhàn)可以更好地理解 TypeScript 的類(lèi)型系統(tǒng)。

          地址:https://github.com/type-challenges/type-challenges

          19、react-illustration-series:圖解 React 源碼。作者從 React 項(xiàng)目結(jié)構(gòu)和運(yùn)行機(jī)制入手,先介紹 React 的整體結(jié)構(gòu),然后講解運(yùn)行核心、數(shù)據(jù)管理以及用到的高頻算法。篇篇到“肉”干貨滿(mǎn)滿(mǎn),推薦給想要深入學(xué)習(xí) React 源碼的小伙伴。

          地址:https://github.com/7kms/react-illustration-series

          20、visual-drag-demo:教你做低代碼平臺(tái)的項(xiàng)目。低代碼平臺(tái)的核心功能就是拖拽組件生成頁(yè)面,該項(xiàng)目用 Vue 實(shí)現(xiàn)了一個(gè)可視化拖拽組件庫(kù),不僅如此還有配套講解技術(shù)要點(diǎn)和原理分析的文章。

          地址:https://github.com/woai3c/visual-drag-demo

          21、FFCreator:輕量級(jí)的視頻加工庫(kù)。完全基于 Node.js 實(shí)現(xiàn)的快速制作視頻的工具,能夠根據(jù)添加的圖片、視頻和音樂(lè),輕松地制作出新的視頻。

          地址:https://github.com/tnfe/FFCreator

          22、payload:完全由 TypeScript 編寫(xiě)的“無(wú)頭” CMS 系統(tǒng)。該項(xiàng)目采用 TypeScript +Node.js+React+MongoDB 構(gòu)建而成,提供了完整的內(nèi)容管理功能。相較于傳統(tǒng)的 CMS 系統(tǒng) Django,它沒(méi)有前臺(tái)部分和模版引擎(無(wú)頭 headless)僅通過(guò)接口為前端提供數(shù)據(jù),從而可以輕松地實(shí)現(xiàn)前后端分離,讓后端程序員可以更加專(zhuān)注于接口開(kāi)發(fā)。

          地址:https://github.com/payloadcms/payload

          Kotlin 項(xiàng)目

          23、SmsForwarder:Android 上的消息轉(zhuǎn)發(fā)應(yīng)用。可以監(jiān)控 Android 手機(jī)上的短信、來(lái)電和應(yīng)用通知,并根據(jù)配置好的規(guī)則自動(dòng)轉(zhuǎn)發(fā)給其它手機(jī),以及包括釘釘、飛書(shū)、企業(yè)微信在內(nèi)的多種主流消息平臺(tái)。

          地址:https://github.com/pppscn/SmsForwarder

          PHP 項(xiàng)目

          24、freenom:免費(fèi)域名自動(dòng)續(xù)期工具。因?yàn)轫敿?jí)免費(fèi)域名供應(yīng)商 Freenom,提供的免費(fèi)域名需要每年續(xù)期,該項(xiàng)目可以自動(dòng)完成域名續(xù)期,讓你輕松擁有免費(fèi)的頂級(jí)域名。

          地址:https://github.com/luolongfei/freenom

          Python 項(xiàng)目

          25、kopf:用 Python 操作 Kubernetes 的框架。Kubernetes(k8s) 是一個(gè)容器編排系統(tǒng),它本身提供了命令行工具(kubectl),但有時(shí)無(wú)法實(shí)現(xiàn)較為復(fù)雜的操作。通過(guò)該項(xiàng)目可以用 Python 輕松完成,需要條件判斷、事件觸發(fā)等復(fù)雜的 k8s 操作。

          import kopf

          @kopf.timer('kopfexamples', interval=1)
          def my_timer(spec, **kwargs):
              print(f"Object's spec: {spec}")

          地址:https://github.com/nolar/kopf

          26、DearPyGui:強(qiáng)大的 Python GUI 庫(kù)。底層采用 GPU 渲染提供了卓越的性能,內(nèi)置多種現(xiàn)成的部件和樣式控制,文檔詳細(xì)包含豐富的示例,可以輕松上手。

          import dearpygui.dearpygui as dpg

          def save_callback():
              print("Save Clicked")

          dpg.create_context()
          dpg.create_viewport()
          dpg.setup_dearpygui()

          with dpg.window(label="Example Window"):
              dpg.add_text("Hello world")
              dpg.add_button(label="Save", callback=save_callback)
              dpg.add_input_text(label="string")
              dpg.add_slider_float(label="float")

          dpg.show_viewport()
          dpg.start_dearpygui()
          dpg.destroy_context()

          地址:https://github.com/hoffstadt/DearPyGui

          27、sqlfluff:SQL 代碼風(fēng)格檢查工具。編程語(yǔ)言的 linter 工具隨處可見(jiàn),但是少有 SQL 的工具。該項(xiàng)目就是用來(lái)檢查、統(tǒng)一 SQL 代碼風(fēng)格的工具,支持 MySQL、BigQuery、Hive 等多種 SQL 方言。

          $ pip install sqlfluff
          $ echo "  SELECT a  +  b FROM tbl;  " > test.sql
          $ sqlfluff lint test.sql --dialect ansi
          == [test.sql] FAIL
          L:   1 | P:   1 | L050 | Files must not begin with newlines or whitespace.
          L:   1 | P:   3 | L003 | First line has unexpected indent
          L:   1 | P:  11 | L039 | Unnecessary whitespace found.
          L:   1 | P:  14 | L039 | Unnecessary whitespace found.
          L:   1 | P:  27 | L001 | Unnecessary trailing whitespace.

          地址:https://github.com/sqlfluff/sqlfluff

          28、nonebot2:Python 異步聊天機(jī)器人框架。該項(xiàng)目基于 Python 的異步特性,可以輕松處理大量的消息。提供命令行腳手架、支持多種 IM 平臺(tái),能夠快速構(gòu)建聊天機(jī)器人、消息通知等項(xiàng)目。

          $ pip install nb-cli
          $ nb
          [?] What do you want to do?
          ? Create a New Project
            Run the Bot in Current Folder
            Driver ->
            Adapter ->
            Plugin ->
            ...

          地址:https://github.com/nonebot/nonebot2

          Ruby 項(xiàng)目

          29、gollum:基于 Git 的輕量級(jí) wiki 系統(tǒng)。后端采用 Ruby 編寫(xiě),然后 Git 作為文件存儲(chǔ)的 wiki 系統(tǒng)。功能夠用部署簡(jiǎn)單,但界面比較“簡(jiǎn)樸”。

          地址:https://github.com/gollum/gollum

          Rust 項(xiàng)目

          30、lapce:純 Rust 編寫(xiě)的代碼編輯器。基于 Rust 的 Druid 和 Xi-Editor 構(gòu)建的輕快代碼編輯器,內(nèi)置終端、LSP 協(xié)議支持、遠(yuǎn)程開(kāi)發(fā)、VIM 模式,支持 Windows、Linux、macOS。

          地址:https://github.com/lapce/lapce

          Swift 項(xiàng)目

          31、SwiftFormat:用于格式化 Swift 代碼的工具。當(dāng)多人合作開(kāi)發(fā)項(xiàng)目的時(shí)候,一致的代碼風(fēng)格就變得至關(guān)重要。該項(xiàng)目可以自動(dòng)統(tǒng)一 Swift 代碼風(fēng)格,支持多種編輯器和命令行方式調(diào)用,適用于 macOS 和 Linux,讓 Swift 代碼風(fēng)格統(tǒng)一變得十分簡(jiǎn)單和方便。

          # macOS
          $ brew install swiftformat
          # Linux
          $ mint install nicklockwood/SwiftFormat

          地址:https://github.com/nicklockwood/SwiftFormat

          32、WhatsNewKit:輕松展示應(yīng)用新功能的 Swift 組件。當(dāng)開(kāi)發(fā)者為應(yīng)用增加了新功能,就需要在用戶(hù)更新后告知新功能和內(nèi)容。通過(guò)該組件可以輕松展示新功能,支持高度自定義、SwiftUI、iOS 和 macOS 系統(tǒng)。

          import SwiftUI
          import WhatsNewKit

          struct ContentViewView {
              
              var body: some View {
                  NavigationView {
                      // ...
                  }
                  .whatsNewSheet()
              }
              
          }

          地址:https://github.com/SvenTiigi/WhatsNewKit

          33、Runestone:適用于 iOS 的高亮文本編輯器。基于 Tree-sitter 實(shí)現(xiàn)的高性能 iOS 文本編輯器,支持多種編程語(yǔ)言的語(yǔ)法高亮,以及行數(shù)、顯示不可見(jiàn)字符、插入符號(hào)對(duì)等功能。

          地址:https://github.com/simonbs/Runestone

          其它

          34、codi.vim:顯示每一行代碼結(jié)果的 Vim 插件。在 Vim 編輯器里交互式展示,輸入的每一行代碼的運(yùn)行結(jié)果,支持如 Python、Ruby、PHP、JavaScript 等多種編程語(yǔ)言。

          地址:https://github.com/metakirby5/codi.vim

          35、IoT-For-Beginners:微軟開(kāi)源的物聯(lián)網(wǎng)入門(mén)教程。如果你想學(xué)習(xí)物聯(lián)網(wǎng)但不知道如何開(kāi)始,這有一份微軟制作和開(kāi)源的物聯(lián)網(wǎng)教程,課程循序漸進(jìn)制作精良,包含文字、插圖、視頻、課后練習(xí)和邊學(xué)邊做的項(xiàng)目,非常適合初學(xué)者。

          地址:https://github.com/microsoft/IoT-For-Beginners

          36、live2d-widget:網(wǎng)頁(yè)的 Live2D 看板娘。通過(guò)該項(xiàng)目可以輕松地在網(wǎng)頁(yè)上,添加可愛(ài)的“看板娘”。

          地址:https://github.com/stevenjoezhang/live2d-widget

          37、Ventoy:制作可啟動(dòng) U 盤(pán)的工具。重裝系統(tǒng)時(shí)不用再格式化 U 盤(pán),該項(xiàng)目支持直接將系統(tǒng)鏡像拷貝進(jìn) U 盤(pán)就能啟動(dòng),無(wú)需其它操作。

          地址:https://github.com/ventoy/Ventoy

          38、jiffyreader.com:仿生閱讀英文的瀏覽器插件。通過(guò)加粗單詞的首字母部分提高閱讀效率,實(shí)現(xiàn)更輕松、快速地瀏覽英文網(wǎng)站、文章等內(nèi)容的功能。

          地址:https://github.com/ansh/jiffyreader.com

          39、checkchan-dist:網(wǎng)頁(yè)內(nèi)容監(jiān)控工具。能監(jiān)測(cè)網(wǎng)頁(yè)內(nèi)容變化,并發(fā)送異動(dòng)通知,可用來(lái)跟蹤網(wǎng)站內(nèi)容、追番劇和小說(shuō)。

          地址:https://github.com/easychen/checkchan-dist

          開(kāi)源書(shū)籍

          40、cpp-game-engine-book:《游戲引擎淺入淺出》。該書(shū)介紹了如何從零制作一個(gè)完整的游戲引擎,內(nèi)容包含從基礎(chǔ)的環(huán)境搭建,到后面的骨骼動(dòng)畫(huà)、多線(xiàn)程渲染、陰影實(shí)現(xiàn)等方面。

          地址:https://github.com/ThisisGame/cpp-game-engine-book

          機(jī)器學(xué)習(xí)

          41、dalle-mini:根據(jù)文字生成圖片的 AI 模型。可以按照文字提示自動(dòng)生成圖片,我試了下感覺(jué)生成的圖片有些“抽象”。

          地址:https://github.com/borisdayma/dalle-mini

          42、shap:解釋機(jī)器學(xué)習(xí)模型輸出的庫(kù)。它基于博弈論中的 Shapley Value 理論,將所有特征視為貢獻(xiàn)者,然后計(jì)算每個(gè)特征對(duì)于模型輸出結(jié)果的貢獻(xiàn)。

          地址:https://github.com/slundberg/shap

          最后

          上就是本期的所有內(nèi)容,還沒(méi)看過(guò)癮?點(diǎn)擊閱讀往期內(nèi)容。

          找開(kāi)源項(xiàng)目就用 HelloGitHub 小程序,如果安裝或運(yùn)行開(kāi)源項(xiàng)目遇到問(wèn)題,就看這篇文章吧!

          如果您覺(jué)得本期內(nèi)容還不錯(cuò)的話(huà) 求贊、求分享,您的支持會(huì)讓 HelloGitHub 變得更好??

          - END -

          ?? 關(guān)注「HelloGitHub」收到第一時(shí)間的更新??

          瀏覽 114
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  影音成人 | 亚洲中文字幕在线观看免费视频 | 黄色片网站在线免费观看 | 北条麻妃中文字幕在线观看 | 香蕉视频乱伦 |