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
1. KSFramework: a Unity 5 Asset Bundle game development framework that integrates KEngine, SLua and XLua. It provides an auxiliary tool set for programmers, art, planning, operation, many large games are used in the project, come to learn it
C + + project
FlowChar: a small tool for generating pure character flow diagrams from pseudocode. Let the user only need to write a simple pseudo code, can generate the corresponding flow chart. The project structure is clear, simple to use, less code for use and “play”. Here’s an example:
Notepanda: this is a notepad project developed with C++ and Qt. Support code highlighting, custom font styles, and command line call: Notepanda main. CPP for Windows, Linux, and MacOS. Can be used to learn Qt, how to do open source projects
Yuzu: A free open source Simulator for Nintendo Switch. Just open source project, currently only support Windows, Linux, some mainstream games: Legend of Zelda, Pokemon, Mario, etc
The CSS project
Css.gg: Open source icon UI library. Supports CSS, SVG, Figma, and NPM
Go project
Grpcui: gRPC Web page debugging tool. The project provides an interactive debugging interface that will help you develop gRPC
Uptoc: A Go – based static blog deployment tool for cloud storage. Static blogs, whether deployed on GitHubPages or Netlify and other platforms, have the problem of slow access in China. The best way to solve this problem is to deploy in domestic cloud storage, such as Tencent Cloud COS, Ali Cloud OSS, Qiuniuyun and so on. With this tool you can quickly upload to the above cloud storage platform and speed up your static blog access
# installation
curl -sSf http://uptoc.saltbo.cn/install.sh | sh
# use
uptoc --driver oss --region cn-beijing --access_key xxx --access_secret xxx --bucket demo-bucket /opt/blog/public
Copy the code
8, XLSX: read and write XLSX file Go library. Sample code:
//example type
type structTest struct {
IntVal int `xlsx:"0"`
StringVal string `xlsx:"1"`
FloatVal float64 `xlsx:"2"`
IgnoredVal int `xlsx:"-"` BoolVal bool `xlsx:"4"` } structVal := structTest{ IntVal: 16. StringVal: "heyheyhey :)!". FloatVal: 3.14159216. IgnoredVal: 7. BoolVal: true.} //create a new xlsx file and write a struct //in a new row f := NewFile() sheet, _ := f.AddSheet("TestRead") row := sheet.AddRow() row.WriteStruct(&structVal, - 1) //read the struct from the same row readStruct := &structTest{} err := row.ReadStruct(readStruct) iferr ! =nil { panic(err) } fmt.Println(readStruct) Copy the code
Reminiscent: Go written on a high level, open source SQL audit platform
Java project
Jbake: Java-based open source static website, blog generator. Common commands are as follows:
# quickly start $curl - "https://get.sdkman.io" s | bash $SDK install jbake $mkdir awesome - jbake && CD awesome - jbake $jbake - I $ jbake -b -sCopy the code
Jbake -h # View the help documentation jbake -i # Install depends on jbake -s # run the project
11. KkFileView: multi-type file online preview project based on Spring Boot. Support a variety of files such as doc, PPT, XLS, MP4, TXT, etc., powerful for rapid development and secondary development
12. Zfile: free and open source online cloud disk project. Features:
- Folder password
- Supports online viewing of text files, videos, pictures, and music
- File/directory QR code
- Global search
- , etc.
13. Schedulis: a workflow task scheduling system based on Azkaban. The scheduling system has high performance, high availability (decentralized multi-scheduling center and multi-executor) and multi-tenant resource isolation. Features:
- Regular Command Shell and Linkis (HadoopMR, Hive, Spark, Sqoop, Python) big data tasks
- Features data checking and workflow dependencies between tasks
- Complete alarm and workflow execution policies
- Provides multiple types of parameter Settings, dynamic global variables and an easy-to-use UI
JavaScript project
Typical: a zero-dependent, 400-byte input animation library. Sample code:
import {
type,
type as loop
};
const steps = [1000.'Ready'.1000.'Set'.1000.'Go']; type(element, ... steps, loop);Copy the code
HueJumper2k: a 2KB 3D racing game implemented with JS. Try online
Avataaars-generator: A cartoon avatar generator based on React. Try online
Jexcel: a lightweight, powerful spreadsheet library. Easy to achieve complex data table management, support JS array, JSON, CSV and other data, and can achieve excel files directly copy and paste. Sample code:
var data = [
['Jazz'.'Honda'.'2019-02-12'.' '.true.'at $2.000, 00'.'# 777700']. ['Civic'.'Honda'.'2018-07-11'.' '.true.'at $4.000, 01'.'# 007777'].];
jexcel(document.getElementById('spreadsheet'), { data:data, columns: [ { type: 'text'.title:'Car'.width:120 }, { type: 'dropdown'.title:'Make'.width:200.source: ["Alfa Romeo"."Audi"."Bmw"]}, { type: 'calendar'.title:'Available'.width:200 }, { type: 'image'.title:'Photo'.width:120 }, { type: 'checkbox'.title:'Stock'.width:80 }, { type: 'numeric'.title:'Price'.width:100.mask:'$# # #, 00'.decimal:', ' }, { type: 'color'.width:100.render:'square',} ] }); Copy the code
Form-create: a form generator that automatically generates dynamic rendering, data collection, validation, and submission using JSON. Easily handle complex forms with built-in common form components and custom components. Support for iView, Element-UI, and Design-vue
Python project
MrDoc: an online documentation system based on Python. Support Markdown grammar, corpus classification, scientific formula, flow chart, mind map and other content. Clean reading interface, you can also package and export content as Markdown files, EPUB files, PDF files. Suitable as a private document service for individuals and small teams
20, geek_crawler: geek time course (currently only supports audio, graphic) to download to your local Python scripts. You need to input your account password before you can save the specified Geek time column courses to your local computer, which is convenient for learning anytime and anywhere
Fastapi: a high-performance Web framework based on Python 3.6+. Writing with FastAPI is fast and easy to debug. Python is improving and it builds on those improvements to make Web development faster and stronger. Sample code:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root(a): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} Uvicorn main:app --reload Copy the code
Swift project
22. Vimr: macOS version of Neovim
23. SwiftUI: This project refers to the official SwiftUI example to record the code and show the effect
other
Winget-cli: Microsoft open source Windows package manager to help developers quickly install tools (preview). Winget install
winget install
Fullstackopen is a free and open source Web fullstack programming course. Learn React, Redux, Node.js, MongoDB, GraphQL, and TypeScript as a one-stop shop for modern Web programming techniques based on JavaScript. ReactJS lets you build single-page applications using REST apis developed with Node.js
26. Vim: ViM official warehouse
Play IDE overtime away from you, IntelliJ IDEA skills warehouse
28. GitHub520: Solve the problem of slow access to GitHub by modifying hosts. Based on GitHub Action, ipAddress automatically obtains and outputs the latest IP address corresponding to GitHub domain name, which is valid for a long time. Users do not need to install and run the code, but directly copy the contents of the project home page to take effect
Open source books
29, Thinking – in-Java-zh: Chinese version of Java Programming Ideas Read online
Machine learning
Posit-animator: a PoseNet and FaceMesh tool that animates your poses in 2D. Create animated characters that respond to your facial expressions and body movements, so try creating your own 2D mirror
31, real-world-masked – face-dataset: Masked Face Dataset
Scikit-opt: a Python code library that encapsulates seven heuristic algorithms. They are: differential evolution algorithm, genetic algorithm, particle swarm optimization, simulated annealing algorithm, ant colony algorithm, fish swarm algorithm, immune optimization algorithm, example code:
from sko.GA import GA_TSP
ga_tsp = GA_TSP(func=cal_total_distance, n_dim=num_points, size_pop=50, max_iter=500, prob_mut=1)
best_points, best_distance = ga_tsp.run()
Copy the code
33. Photo2cartoon: An open source project that transforms real photos into cartoons. The effect is as follows:
The last
If you find something interesting on GitHub, feel free to mention issues at HelloGitHub.