Interest is the best teacher, HelloGitHub gets you interested in programming!

Introduction to the

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

There are actual combat projects, introductory tutorials, black technology, open source books, Dachang open source projects, etc., covering a variety of programming languages Python, Java, Go, C/C++, Swift… Let you in a short time to feel the charm of open source programming interest!

Project address: github.com/521xueweiha…

Thank you for lighting up every Star ✨


The following is the content of this issue | updated every 28th month

C program

1. Cpufetch: a command line tool to obtain CPU information

C # project

AduSkin: A simple and beautiful WPF UI library

C + + project

Simdjson: a high-performance JSON parsing library that can parse gigabytes per second

Filament: A lightweight real-time physics rendering engine. It can be used as a game rendering engine or audio and video editing project. If you need to handle 3D rendering and don’t want to introduce a huge game engine, consider using it especially on Android

The CSS project

5. Devices. CSS: Use CSS only to realize the flat model of mobile and tablet devices. Models include iPhone, Android, Lumia and iPad

<div class="marvel-device iphone-x">
    <div class="notch">
        <div class="camera"></div>
        <div class="speaker"></div>
    </div>
    <div class="top-bar"></div>
    <div class="sleep"></div>
    <div class="bottom-bar"></div>
    <div class="volume"></div>
    <div class="overflow">
        <div class="shadow shadow--tr"></div>
        <div class="shadow shadow--tl"></div>
        <div class="shadow shadow--br"></div>
        <div class="shadow shadow--bl"></div>
    </div>
    <div class="inner-shadow"></div>
    <div class="screen">
        <! -- Content goes here -->
    </div>
</div>
Copy the code

Go project

6. Lindb: a scalable, high-performance distributed timing database that supports massive data storage and fast parallel queries and calculations. It has been used in Ele. me and stored the full amount of monitoring data. TB data is written in increments every day, totaling PB data

7. Learning_tools: a collection of Go code that the author practices in the process of learning Go. It contains the Go language practical tripartite library, microservices, databases, algorithms and other code fragments, which are rich in content but lack of classification and sorting. Even so, I recommend it to those who are looking for a better way to Go, because the content is really good

8. Sharingan: Traffic recording/playback tool based on Go. Under the premise of not affecting the online service, the offline test adopts the real online request and parameters. It is especially suitable for the regression test after the reconstruction of important online services. The test of real flow helps to find problems in advance and avoid major accidents

9. Gocron: Lightweight scheduled task management platform based on Go language. Function:

  • Web Management Interface
  • Timed tasks can be accurate to the second
  • If the task fails, you can retry
  • Account Permission Control
  • , etc.

Sealos: tool to rapidly deploy Kubernetes(K8S) clusters with one command

Java project

Android skin-support: convenient and easy to use Android skin framework

@Override
public void onCreate(a) {
    super.onCreate();
    SkinCompatManager.withoutActivity(this)                         // Base control skin initialization
            .addInflater(new SkinMaterialViewInflater())            // Material Design control skin initialization [optional]
            .addInflater(new SkinConstraintViewInflater())          // ConstraintLayout control skin initialization [optional]
            .addInflater(new SkinCardViewInflater())                // CardView v7 control skin initialization [optional]
            .setSkinStatusBarColorEnable(false)                     // Turn status bar peels off, default enabled [optional]
            .setSkinWindowBackgroundEnable(false)                   // Turn off windowBackground peels by default [optional]
            .loadSkin();
}
Copy the code

Author-core: a thread-safe advanced Java Redis client. Based on Netty to achieve non-blocking I/O, support synchronization, asynchronous, cluster, sentry, pipeline and other functions

RedisClient redisClient = RedisClient.create("redis://localhost/0");
StatefulRedisConnection<String, String> connection = redisClient.connect();

System.out.println("Connected to Redis");
connection.sync().set("key"."Hello World");

connection.close();
redisClient.shutdown(); 
Copy the code

JavaScript project

Didact: Teach you to write a React framework from scratch. Learn how to implement the React framework through a series of articles and code to better understand the React internals

14. IDataV: Large screen data visualization project collection.

15. Milkdown: A refreshing what-you-see Markdown editor. Unlike most Markdown editors it is plug-in driven, similar to the open source freely extensible Typora. The project is built with Prosemirror + Remark, from which starting developers can learn how to use Prosemirror to develop a rich text editor, and how to design a plug-in system for the editor

import { Editor } from '@milkdown/core';
import { commonmark } from '@milkdown/preset-commonmark';

import { history } from '@milkdown/plugin-history';

// import theme
import '@milkdown/theme-nord/lib/theme.css';

new Editor()
  .use(commonmark)
  .use(history)
  .create();
Copy the code

Flat: A fully open source, feature-rich online classroom project at the front and back ends. It can be used to quickly complete an online classroom that supports multi-person video, voice, whiteboard interaction, recording and playback

17, React-beautiful-dnd: a beautiful and easy-to-use react list drag-and-drop library

PHP project

18. Icon-workshop: Mobile app icon generation tool. Generate iOS/Android APP ICONS and APP launch images in multiple sizes with one click

Python project

Moviepy: A Python library for video editing, custom effects, video composition, formatting, text insertion, and more. Dedicated to video but not limited to this, also supports audio processing and GIF images. There are a lot of tools available for video editing, but if you want to batch process videos, you can save time by writing a script using Python+ Moviepy

20, weiboSpider: Python written micro blog crawler, command line directly start. Supports the acquisition of microblog users and rich content fields. Although there are many actual crawler projects, few of them can be updated all the time, because crawler has to follow up the iteration as long as the data source changes. It is not easy for this project to update and respond to problems in a timely manner. I hope you can enjoy the convenience brought by this project and also support Star

# $git clone https://github.com/dataabc/weiboSpider.git $CD installation weiboSpider $PIP install - r requirements. TXT $# started python3 -m weibo_spiderCopy the code

Pyinstrument: Easy to use Python code performance analysis library, optimize Python code tools. Support for Python 3.7+ enables you to analyze asynchronous code, display the time specific to the function with a single command, quickly point out where the code performance is affected, help improve code performance and make your code faster

Pyinstrument [options] scriptfile [arg]... # From pyinstrument Import Profiler = Profiler() Profiler. Start () # Profiler. Stop () Profiler.print () # Also supports Web frameworks such as FlaskCopy the code

22. Termpair: Remote browser + real-time command line tool. A secure real-time sharing terminal for developers, especially suitable for server environments other than desktop systems. Next time you have a problem with it, it will be much easier to ask the big man for help remotely

Install termpair. Install termpair. Install termpairCopy the code

23. Ray: Distributed computing framework based on Python, using dynamic graph computing model. It’s very easy to use, with decorators that require very little code modification, making distributed computing easy for Python code that runs on a single machine. It is currently used in machine learning

import ray
ray.init()

@ray.remote
def f(x) :
    return x * x

futures = [f.remote(i) for i in range(4)]
print(ray.get(futures))
Copy the code

Rust project

Toydb: Distributed SQL database project written by Rust. As a learning project, it is not suitable for production environments, but you can learn how to implement Raft protocol with Rust, acid-compliant things engine, SQL parsing, data persistence, etc. It is suitable for those who are interested in the basic operation principle of database

Swift project

FlappySwift: A Flappy Bird game written with Swfit

NetNewsWire: RSS reader for macOS and iOS

other

Insomnia: Debug tool based on Electron to support GraphQL, REST, gRPC, request desktop application of network interface. Not only has a simple and beautiful interface, but also supports Windows, Linux, macOS mainstream operating systems

28. Keframe: Flutter fluency optimization component. Solve build lag by framing rendering, suitable for complex list or page switching scenarios

Authpass: a password manager for all platforms based on Flutter. You can use cloud services such as Dropbox to synchronize data and automatically fill passwords

30, Unity3DTraining: Unity game development training project Collection. Contains imitation bubble dragon, parkour, cut fruit and other games source code, as well as the author’s collection of game effect source code and related articles

31. QASystemOnMedicalKG: Build an open source project of medical knowledge map from scratch. It includes information collection, cleaning, atlas design, etc., and realizes the service of automatically answering medical related questions based on atlas

Macos-virtualbox: a tool to help you install macOS on VirtualBox. This tool is a Bash script that you run to install by simply pressing Enter. It supports multiple mainstream operating systems, including Linux, Windows, and macOS, and supports multiple versions of Apple operating systems, including Catalina (10.15), Mojave (10.14), and High Sierra (10.13)

Canvas-special: a collection of classic Canvas instances. Including backgammon, tank battles, dynamic backgrounds, animated particle effects and more

Brave-browser: fast, clean, open source web browser. Built by JavaScript creator Brandon Ek based on the Chromium Web browser and Blink typography engine, it has features that block website tracking and has an AD blocker built in. Support Android, Linux, macOS, iOS, Windows operating system, you can import bookmarks, browsing history, passwords, plug-ins, etc., no burden to enjoy this “pure land”

Open source books

Learnopengl-cn: Chinese translation for LearnOpenGL tutorials. OpenGL is a graphics API that contains a series of functions for manipulating graphics and images. It requires a programming language to work, and the sample code in the tutorial is in the C++ programming language. Read online

36, Learning-Web-hacking: Web security learning Notes, online reading

Machine learning

Chineseocr_lite: Lightweight Chinese OCR project that provides the function of converting Chinese characters on pictures into strings

38, ASRT_SpeechRecognition: Deep learning based Chinese speech recognition system


If you find something interesting on GitHub, share it with the big guys.

That’s all for this episode. Did you enjoy it?

Follow the HelloGitHub public account to receive not only the first updates. Click on the menu bar -> Past -> Monthly

To the period of all the contents of a fundus look fun! There are more open source projects and treasure projects waiting to be discovered.