<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • Fork me on GitHub

    《HelloGitHub》第 75 期

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

    簡介

    HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。

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

    這里有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!


    以下為本期內容|每個月 28 號更新

    C 項目

    1、fontforge:免費開源的字體編輯器。適用于 Windows、macOS、Linux 的編輯字體桌面工具,支持創建和編輯多種格式的字體,可用來構建自己的字體。

    2、TencentOS-tiny:騰訊開源的物聯網終端操作系統。精簡的實時操作系統(RTOS)內核,可移植到多種主流單片機,內部集成了多種物聯網協議棧,具有占用資源少、低功耗、模塊化、易移植、安全等特點。

    3、micropython:可運行在單片機上的 Python。眾所周知 Python 是一門語法非常簡單的編程語言,如果能用 Python 操控硬件豈不美哉!該項目就是單片機上的“迷你” Python,通過它就可以用 Python3 進行單片機開發了,大大地降低了硬件開發的入門門檻。

    C# 項目

    4、lively:Windows 動態桌面壁紙工具。支持 Windows 用戶設置多種動畫文件為桌面壁紙的工具,不僅安裝簡單效果炫酷,而且完全免費。

    C++ 項目

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

    AtomicHashMap.h:高性能原子數據結構
    Bits.h:處理各種位操作的工具
    Conv.h:處理各種數據類型的轉換
    dynamic.h:動態類型的對象,可用來處理 json-> map
    ...
    

    6、async_simple:阿里開源的輕量級 C++ 異步框架。提供了基于 C++20 無棧協程(Lazy)、有棧協程(Uthread) 以及 Future/Promise 等異步組件,能夠輕松完成 C++ 異步的開發,廣泛應用于阿里的圖計算引擎、時序數據庫、搜索引擎等系統。

    template <class T>
    using Lazy = async_simple::coro::Lazy<T>;
    
    Lazy<int> bar() {
      // ...
      int r = co_await read_some();
      // ...
      co_return r;
    }
    
    Lazy<int> read_some() {
      // ...
      int r = co_await read_coro();
      // ...
      co_return r;
    }
    

    CSS 項目

    7、NES.css:NES 風格的 CSS 框架。NES 就是我們小時候玩的“紅白機”,如果你喜歡這種像素風格的畫面,該項目可以讓你輕松實現類似“紅白機”復古游戲風格的網頁。

    <head>
        <link href="fonts_url" rel="stylesheet">
        <link href="nes.css_url" rel="stylesheet" />
    
        <style>
          html, body, pre, code, kbd, samp {
              font-family: "font-family you want to use";
          }
        </style>
    </head>
    

    Go 項目

    8、navidrome:Go 寫的開源音樂服務器。該項目可以用來搭建自己的音樂網站,功能豐富支持中文界面、專輯封面、多用戶、各種音頻格式、播放列表等功能,而且硬件要求低即使是在樹莓派上也能流暢地運行。

    9、natpass:多功能主機管理平臺。Go 寫的主機管理 Web 平臺,支持 shell 和遠程桌面管理 Linux、Windows 和 macOS 系統的主機。

    10、paopao-ce:一個 Go 寫的輕量級社區。采用 Gin+Vue 實現的微社區,界面清爽擁有話題、發布短內容、評論等功能。

    11、server:多用戶的屏幕分享服務。它可以快速啟動一個在線共享屏幕的服務,讓用戶無需安裝任何軟件,僅使用瀏覽器就能分享自己的屏幕畫面。項目基于網頁實時通信(WebRTC) 實現,由 STUN/TURN 協議完成內網穿透和瀏覽器端對端的連接,既實用又有源碼可以學習。

    12、go-best-practice:編寫可維護 Go 代碼的建議。《Go 語言最佳實踐》一文的中文翻譯版。

    Java 項目

    13、concurrency-limits:奈飛開源的自適應限流庫。當服務在面對高并發處理不過來的時候,通常會采用限流的方式來保證服務可以正常運行,但限流的閾值很難精準把控,設置小了會損失流量、大了又容易搞掛服務。該項目基于 TCP 擁塞控制算法,實現了自適應并發限制,即自動設置最佳限流閾值,從而能夠在保證服務穩定的前提下,盡可能多地處理請求。

    // 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();
    
        ));
    

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

    15、cat:Java 開發的實時應用監控平臺。美團開源的實時監控告警服務,能夠幫助開發者快速定位線上的問題。功能豐富包括全量采集指標數據、分布式跨機房部署、性能分析報表等,還支持多種編程語言客戶端。

    Cat-client:提供給業務以及中間層埋點的底層 SDK
    Cat-consumer:用于實時分析從客戶端提供的數據
    Cat-home:作為用戶給用戶提供展示的控制端
    

    16、DataX:高效的離線數據同步工具。阿里開源的數據同步框架,可用于解決各種主流關系數據庫、HDFS、HBase 等數據源之間的數據同步問題。

    JavaScript 項目

    17、dicebear:供設計師和開發者使用的頭像庫。可根據傳入的字符串,自動生成對應用戶頭像的庫,還有免費的接口服務。支持多種不同的風格,比如:像素、冒險家、標識等。

    // 安裝: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
    });
    

    18、type-challenges:在線挑戰 TypeScript 類型問題。該項目包含了不同難度的關于 TypeScript 類型的問題以及答案,通過這些挑戰可以更好地理解 TypeScript 的類型系統。

    19、react-illustration-series:圖解 React 源碼。作者從 React 項目結構和運行機制入手,先介紹 React 的整體結構,然后講解運行核心、數據管理以及用到的高頻算法。篇篇到“肉”干貨滿滿,推薦給想要深入學習 React 源碼的小伙伴。

    20、visual-drag-demo:教你做低代碼平臺的項目。低代碼平臺的核心功能就是拖拽組件生成頁面,該項目用 Vue 實現了一個可視化拖拽組件庫,不僅如此還有配套講解技術要點和原理分析的文章。

    21、FFCreator:輕量級的視頻加工庫。完全基于 Node.js 實現的快速制作視頻的工具,能夠根據添加的圖片、視頻和音樂,輕松地制作出新的視頻。

    22、payload:完全由 TypeScript 編寫的“無頭” CMS 系統。該項目采用 TypeScript +Node.js+React+MongoDB 構建而成,提供了完整的內容管理功能。相較于傳統的 CMS 系統 Django,它沒有前臺部分和模版引擎(無頭 headless)僅通過接口為前端提供數據,從而可以輕松地實現前后端分離,讓后端程序員可以更加專注于接口開發。

    Kotlin 項目

    23、SmsForwarder:Android 上的消息轉發應用。可以監控 Android 手機上的短信、來電和應用通知,并根據配置好的規則自動轉發給其它手機,以及包括釘釘、飛書、企業微信在內的多種主流消息平臺。

    PHP 項目

    24、freenom:免費域名自動續期工具。因為頂級免費域名供應商 Freenom,提供的免費域名需要每年續期,該項目可以自動完成域名續期,讓你輕松擁有免費的頂級域名。

    Python 項目

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

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

    26、DearPyGui:強大的 Python GUI 庫。底層采用 GPU 渲染提供了卓越的性能,內置多種現成的部件和樣式控制,文檔詳細包含豐富的示例,可以輕松上手。

    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()
    

    27、sqlfluff:SQL 代碼風格檢查工具。編程語言的 linter 工具隨處可見,但是少有 SQL 的工具。該項目就是用來檢查、統一 SQL 代碼風格的工具,支持 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.
    

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

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

    Ruby 項目

    29、gollum:基于 Git 的輕量級 wiki 系統。后端采用 Ruby 編寫,然后 Git 作為文件存儲的 wiki 系統。功能夠用部署簡單,但界面比較“簡樸”。

    Rust 項目

    30、lapce:純 Rust 編寫的代碼編輯器。基于 Rust 的 Druid 和 Xi-Editor 構建的輕快代碼編輯器,內置終端、LSP 協議支持、遠程開發、VIM 模式,支持 Windows、Linux、macOS。

    Swift 項目

    31、SwiftFormat:用于格式化 Swift 代碼的工具。當多人合作開發項目的時候,一致的代碼風格就變得至關重要。該項目可以自動統一 Swift 代碼風格,支持多種編輯器和命令行方式調用,適用于 macOS 和 Linux,讓 Swift 代碼風格統一變得十分簡單和方便。

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

    32、WhatsNewKit:輕松展示應用新功能的 Swift 組件。當開發者為應用增加了新功能,就需要在用戶更新后告知新功能和內容。通過該組件可以輕松展示新功能,支持高度自定義、SwiftUI、iOS 和 macOS 系統。

    import SwiftUI
    import WhatsNewKit
    
    struct ContentView: View {
        
        var body: some View {
            NavigationView {
                // ...
            }
            .whatsNewSheet()
        }
        
    }
    

    33、Runestone:適用于 iOS 的高亮文本編輯器。基于 Tree-sitter 實現的高性能 iOS 文本編輯器,支持多種編程語言的語法高亮,以及行數、顯示不可見字符、插入符號對等功能。

    其它

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

    35、IoT-For-Beginners:微軟開源的物聯網入門教程。如果你想學習物聯網但不知道如何開始,這有一份微軟制作和開源的物聯網教程,課程循序漸進制作精良,包含文字、插圖、視頻、課后練習和邊學邊做的項目,非常適合初學者。

    36、live2d-widget:網頁的 Live2D 看板娘。通過該項目可以輕松地在網頁上,添加可愛的“看板娘”。

    37、Ventoy:制作可啟動 U 盤的工具。重裝系統時不用再格式化 U 盤,該項目支持直接將系統鏡像拷貝進 U 盤就能啟動,無需其它操作。

    38、jiffyreader.com:仿生閱讀英文的瀏覽器插件。通過加粗單詞的首字母部分提高閱讀效率,實現更輕松、快速地瀏覽英文網站、文章等內容的功能。

    39、checkchan-dist:網頁內容監控工具。能監測網頁內容變化,并發送異動通知,可用來跟蹤網站內容、追番劇和小說。

    開源書籍

    40、cpp-game-engine-book:《游戲引擎淺入淺出》。該書介紹了如何從零制作一個完整的游戲引擎,內容包含從基礎的環境搭建,到后面的骨骼動畫、多線程渲染、陰影實現等方面。

    機器學習

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

    42、shap:解釋機器學習模型輸出的庫。它基于博弈論中的 Shapley Value 理論,將所有特征視為貢獻者,然后計算每個特征對于模型輸出結果的貢獻。

    最后

    如果你發現了 GitHub 上有趣的項目,就點擊分享給大家伙吧。

    以上就是本期的所有內容了,往期內容點擊閱讀

    感謝您的閱讀,如果覺得本期內容還不錯的話 求贊、求分享 ??

    posted @ 2022-06-28 08:37  削微寒  閱讀(1279)  評論(9編輯  收藏  舉報
    国产美女a做受大片观看