《HelloGitHub》第 35 期

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!javascript

简介

分享 GitHub 上有趣、入门级的开源项目。css

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各类编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是很是容易上手,并且很是 Cool。主要是但愿你们能动手用起来,加入到开源社区中。html

  • 会编程的能够贡献代码
  • 不会编程的能够反馈使用这些工具中的 Bug
  • 帮着宣传你以为优秀的项目
  • Star 项目⭐️

在浏览、参与这些项目的过程当中,你将学习到更多编程知识提升编程技巧找到编程的乐趣vue

🎉 最后 HelloGitHub 这个项目就诞生了 🎉java


如下为本期内容|每月 28 号发布最新一期|点击查看往期内容python

C# 项目

一、IdentityServer4.Admin:免费开源的 IdentityServer4 与 Asp.Net Core Identity 管理器。IdentityServer4 官方的管理器是收费的,该项目很好的替代了官方管理器,能够方便的管理使用 IdentityServer4 所搭建的认证服务器git

C++ 项目

二、FLIF:免费、新颖的无损图像格式。压缩比方面优于 PNG、lossless WebP、lossless BPG、lossless JPEG2000 等格式github

Go 项目

三、cds:企业级开源持续集成系统。支持横向扩展、自带 UI、经常使用的持续集成构建等功能web

四、docui:终端 Docker 管理工具,自带一个终端界面。使用该工具能够方便的经过界面管理 docker 不用再记那些命令。安装命令:docker

# Homebrew
$ brew tap skanehira/docui
$ brew install docui

# go get
$ go get -d github.com/skanehira/docui
$ cd $GOPATH/src/github.com/skanehira/docui
$ GO111MODULE=on go install
复制代码

五、go-echarts:Golang 代码生成对应的 echarts 可视化图表。实例代码:

// example.go
package main

import (
    "log"
    "math/rand"
    "os"
    "time"

    "github.com/chenjiandongx/go-echarts/charts"
)

var nameItems = []string{"衬衫", "牛仔裤", "运动裤", "袜子", "冲锋衣", "羊毛衫"}
var seed = rand.NewSource(time.Now().UnixNano())

func randInt() []int {
    cnt := len(nameItems)
    r := make([]int, 0)
    for i := 0; i < cnt; i++ {
        r = append(r, int(seed.Int63()) % 50)
    }
    return r
}

func main() {
    bar := charts.NewBar()
    bar.SetGlobalOptions(charts.TitleOpts{Title: "Bar-示例图"}, charts.ToolboxOpts{Show: true})
    bar.AddXAxis(nameItems).
        AddYAxis("商家A", randInt()).
        AddYAxis("商家B", randInt())
    f, err := os.Create("bar.html")
    if err != nil {
        log.Println(err)
    }
    bar.Render(f)
}
复制代码

六、1m-go-websockets:该项目演示了如何用 Go 编写一个能够提供超过一百万个 websockets 链接、运行内存小于 1GB 的服务器。setup.sh 是用来建立 websocket 客户端的,destroy.sh 则用来销毁客户端

Java 项目

七、SpringBoot-Learning:Spring Boot 教程

八、halo:Java 博客系统。在层出不穷的博客系统中,很难看到使用 Java 编写的简洁优雅的博客系统。该项目还具有着轻快且功能强大的特色,这些特性使它从众多 Java 博客系统脱颖而出。安装命令:

# 安装 Halo
$ yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
# 更新 Halo
$ bash halo-cli.sh -u
复制代码

九、APIJSON:快速开发 API 服务的框架。为简单的增删改查、复杂的查询、简单的事务操做提供了彻底自动化的 API。大部分 HTTP 请求后端不再用写接口了,也不用写文档了,适合中小型先后端分离的项目

十、IQL:基于 SparkSQL 实现了一套即席查询服务,具备以下特性:

  • 优雅的交互方式,支持多种 datasource/sink、多数据源混算
  • Spark 常驻服务,基于 zookeeper 的引擎自动发现
  • 多 session 模式实现并行查询
  • 等等

JavaScript 项目

十一、Gitter:GitHub 的小程序客户端。UI 设计漂亮,可做为小程序和 GitHub 结合的实战项目学习

十二、Motrix:桌面下载工具,支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。界面简洁易用,采用 Vue + VueX + Element 的技术架构适合学习桌面应用开发

1三、rainbow:体积小、易于使用、支持各类编程语言的语法高亮插件。该项目原理是经过正则过滤关键字,而后进行高亮。代码:

// JS关键字判断
Rainbow.extend('javascript', [

    /** * matches $. or $( */
    {
        name: 'selector',
        pattern: /\$(?=\.|\()/g
    },
    {
        name: 'support',
        pattern: /\b(window|document)\b/g
    }
...
复制代码

1四、Chart.js:基于 canvas 的可视化库。可用于构建简单的 H5 图表,知足基本的平常可视化需求

1五、ant-design-vue:Ant Design 的 Vue 实现,该项目已经获得 Ant Design 官方承认

Objective-C 项目

1六、iWeChat:还原、探索微信 APP 的项目。经过该项目借鉴、学习微信客户端开发的相关设计与技术,也能够学到如何分析一个第三方 APP 的方法

Python 项目

1七、spug:使用 Python+Vue 实现的开源运维平台,先后端分离方便二次开发。该项目基于 Docker 镜像发布部署,方便安装和升级。支持运维常见功能:主机管理、任务计划管理、发布部署、监控告警等

1八、ruia:基于 asyncio 和 aiohttp 的 Python3 异步爬虫框架。它具备容易上手、非阻塞、扩展性强等特色,实例代码:

from ruia import TextField, Item, Spider

class HackerNewsItem(Item):
    target_item = TextField(css_select='tr.athing')
    title = TextField(css_select='a.storylink')


class HackerNewsSpider(Spider):
    start_urls = ['https://news.ycombinator.com/news?p=1']

    async def parse(self, response):
        async for item in HackerNewsItem.get_items(html=response.html):
            yield item

if __name__ == '__main__':
    HackerNewsSpider.start()
复制代码

其它

1九、devhub:支持 Android、iOS、Web、Desktop 的 GitHub 管理通知客户端。可以帮你方便地接收、查看、管理 GitHub 消息、动态等

20、neovim:致力于改善 Vim 的维护、可扩展性等方面的编辑器。它功能强大、项目开发活跃、社区活跃,“新一代”的 Vim

2一、Micro8:浸淫渗透攻击的老鸟所写,内容一线深刻浅出,主要是 Windows 系统场景。对于初中级安全从业人员、乙方安全测试、甲方安全自检、网络安全爱好者等提升都有很大的帮助

2二、OI-WIKI:免费、开放、持续更新的编程竞赛相关知识教程。包含竞赛的基础知识、常见题型、解题思路以及经常使用工具等内容,帮助你们更快速、深刻地学习编程竞赛相关知识

2三、USTC-CS-Courses-Resource:该仓库收录中国科学技术大学众多课程资源。包括电子版教材、参考书、讲义、试卷、学习心得、习题解答等。以计算机学院课程为主,也包含公选课、自由选修等其余课程。

开源书籍

2四、You-Dont-Know-JS:(英文)深刻探讨 JavaScript 语言核心机制的书籍,适用于深刻学习 JS。该书已出版,但在线阅读免费

2五、d2l-zh:《Dive into Deep Learning 》翻译版,即《动手学深度学习》。在线阅读

2六、cppwasm-book:《C/C++ 面向 WebAssembly 编程》,在线阅读

机器学习

2七、gpt-2:OpenAI 发布的 15 亿参数量通用语言模型 GPT-2,迄今最大模型!展现了一种构建语言处理系统的潜在方式,即根据天然发生的演示学习执行任务。实例代码:

export PYTHONIOENCODING=UTF-8
python3 src/generate_unconditional_samples.py | tee samples
python3 src/generate_unconditional_samples.py --top_k 40 --temperature 0.7 | tee samples
python3 src/interactive_conditional_samples.py --top_k 40
复制代码

2八、deep-learning-drizzle:世界计算机名校的深度学习、强化学习、机器学习、计算机视觉、天然语言处理等方面的公开课

2九、stanfordnlp:适用于多种人类语言的 Stanford NLP 官方 Python 库。包含用于运行 CoNLL 2018 共享任务的最新彻底神经管道以及访问 Java Stanford CoreNLP 服务器的软件包。实例代码:

import stanfordnlp
stanfordnlp.download('en')   # This downloads the English models for the neural pipeline
nlp = stanfordnlp.Pipeline() # This sets up a default neural pipeline in English
doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")
doc.sentences[0].print_dependencies()
复制代码

30、Tensorflow-Cookbook:易学易用的 Tensorflow 教程


换种方式阅读

声明

若是你发现了好玩、有意义的开源项目 点击这里 分享你以为有意思的项目。

欢迎转载,请注明出处和做者,同时保留声明。

相关文章
相关标签/搜索