Interest is the best teacher, HelloGitHub is to help you find interest!

Introduction to the

Share interesting, entry-level open source projects on GitHub.

This is a monthly magazine for people who are new to programming, passionate about programming, and interested in the open source community. The contents of the monthly include: various programming language projects, tools to make life better, books, study notes, tutorials, etc. Most of these open source projects are very easy to use, and very Cool. The main hope is for you to get your hands dirty and join the open source community.

  • Those who can program can contribute code
  • Those who cannot program can report bugs in using these tools
  • Help promote projects that you think are great
  • Star project ⭐ ️

As you browse and participate in these projects, you will learn more about programming, improve your programming skills, and find the fun of programming.

🎉 And the project HelloGitHub was born at 🎉


Below is the content of this issue | the latest issue will be published on the 28th of each month | click to view the content of previous issues

C # project

Admin: Free open source IdentityServer4 with Asp.Net Core Identity Manager This project is a good alternative to the official manager of IdentityServer4, and can easily manage authentication servers built using IdentityServer4

C + + project

FLIF: A free, novel lossless image format. The compression ratio is better than PNG, Lossless WebP, Lossless BPG, Lossless JPEG2000 and other formats

Go project

3. CDS: enterprise-level open source continuous integration system. Supports horizontal scaling, built-in UI, and continuous integration building

Docui: Docker management tool, with a terminal interface Using this tool, you can easily manage docker through the interface without remembering those commands. Installation command:

# 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
Copy the code

Go-echarts: Golang code generates corresponding Echarts visualizations. Example code:

// example.go
package main

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

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

var nameItems = []string{"Shirt"."Jeans"."Sweatpants."."Socks"."Storm jacket"."Cardigan"}
var seed = rand.NewSource(time.Now().UnixNano())

func randInt(a) []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(a) {
    bar := charts.NewBar()
    bar.SetGlobalOptions(charts.TitleOpts{Title: "Bar- Sample diagram"}, charts.ToolboxOpts{Show: true})
    bar.AddXAxis(nameItems).
        AddYAxis("Merchants A", randInt()).
        AddYAxis(Merchants "B", randInt())
    f, err := os.Create("bar.html")
    iferr ! =nil {
        log.Println(err)
    }
    bar.Render(f)
}
Copy the code

1M-GO-WebSockets: This project demonstrates how to write a server with GO that can provide over a million WebSockets connections and less than 1GB of running memory. Setup. sh is used to create the Websocket client and destroy.sh is used to destroy the client

Java project

7, Springboot-Learning: SpringBoot tutorial

Halo: Java blogging system. In the endless blog system, it is difficult to see a simple and elegant blog system written in Java. The project also has a light and powerful quality that sets it apart from other Java blogging systems. Installation command:

# installation Halo
$ yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
# update Halo
$ bash halo-cli.sh -u
Copy the code

APIJSON: a framework for rapid development of API services. For simple add, delete, change, search, complex query, simple transaction operations to provide a fully automated API. Most HTTP request backends no longer need to write interfaces or documents, suitable for small to medium sized projects with separate front and back ends

10. IQL: Implemented a set of AD hoc query services based on SparkSQL, with the following features:

  • Elegant interaction mode, support a variety of datasource/sink, multi-data source mixed calculation
  • Spark resident service, which is automatically discovered by the ZooKeeper-based engine
  • The multi-session mode implements parallel query
  • , etc.

JavaScript project

11. Gitter: GitHub applets client UI design beautiful, can be used as a small program and GitHub combined actual combat project learning

12, Motrix: desktop download tool, support HTTP, FTP, BT, magnetic chain, Baidu web disk and other resources. The interface is simple and easy to use, and the technical architecture of Vue + VueX + Element is suitable for learning desktop application development

Rainbow: Small, easy to use syntax highlighting plug-in that supports a variety of programming languages. The project works by filtering keywords through regex and then highlighting them. Code:

// JS keyword judgment
Rainbow.extend('javascript'[/** * matches $. or $( */
    {
        name: 'selector'.pattern: / \ $(? =\.|\()/g
    },
    {
        name: 'support'.pattern: /\b(window|document)\b/g}...Copy the code

Chart.js: Visual library based on Canvas. Can be used to build simple H5 diagrams that meet basic everyday visualization needs

15. Ant-design-vue: VUE implementation of Ant Design. This project has been officially approved by Ant Design

Objective – C project

16. IWeChat: Restore and explore wechat APP projects. Through this project, we can learn the relevant design and technology of wechat client development, and also learn how to analyze a third-party APP

Python project

17. Spug: An open source operation and maintenance platform implemented by Python+Vue. The separation of front and back ends facilitates secondary development. The project is distributed and deployed based on Docker images for easy installation and upgrade. Supports common O&M functions such as host management, task plan management, release and deployment, and alarm monitoring

Ruia: Python3 asynchronous crawler framework based on Asyncio and AIOHTTP. It is easy to use, non-blocking, scalability and other characteristics, example code:

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()
Copy the code

other

Devhub: GitHub management notification client for Android, iOS, Web and Desktop. GitHub lets you easily receive, view, and manage GitHub messages, updates, and more

20. Neovim: An editor dedicated to improving Vim’s maintenance and scalability. It is powerful, project development is active, community is active, “the new generation” of Vim

21, Micro8: immersion penetration attack written by the old bird, the content of a line of profound and simple, mainly Windows system scene. It is of great help to junior and intermediate security practitioners, Party B’s security test, Party A’s security self-inspection, network security enthusiasts and so on

22. Oi-wiki: a free, open, and constantly updated programming contest tutorial. It contains the basic knowledge of the contest, common question types, problem-solving ideas and common tools to help you learn the knowledge related to the programming contest more quickly and deeply

23. Ustc-cs-courses-resource: This warehouse contains many course resources of USTC. Including electronic textbooks, reference books, handouts, examination papers, learning experience, problem solving, etc. Computer school courses mainly, but also including public elective courses, free elective courses and other courses.

Open source books

24, youdont-know-js :(English) a book that delve deeply into the core mechanics of the JavaScript language, suitable for in-depth study of JavaScript. The book is published but is free to read online

25, D2L-zh: Dive into Deep Learning translation, namely, Hands-on Deep Learning. Read online

26, CPPwASM-book: C/C++ programming for WebAssembly, read online

Machine learning

Gpt-2: OpenAI released the 1.5 billion parameter general language model GPT-2, the largest model so far! Demonstrates a potential way to build language processing systems that perform tasks based on naturally occurring demonstration learning. Example code:

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
Copy the code

28, Deep-learning-drizzle: Open courses on deep learning, reinforcement learning, machine learning, computer vision, natural language processing, etc

Stanford NLP: Stanford NLP’s official Python library for a variety of human languages. Contains the latest full neural pipeline for running CoNLL 2018 shared tasks and packages for accessing Java Stanford CoreNLP servers. Example code:

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()
Copy the code

30, Tensorflow-Cookbook: Easy to learn and use Tensorflow tutorial


Read it another way

  • Web site: hellogithub.com
  • GitBook: gitbook.hellogithub.com

The statement

If you find interesting and meaningful open source projects click here to share the ones you find interesting.

Welcome to reprint, please indicate the source and author, and keep the statement.