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 program

1. Goaccess: real-time Web log analysis tool


U6a: A simple implementation of the functional programming language Unlambda that contains a bytecode compiler and interpreter. This project helps beginners understand the idea of functional programming and provides some naive ideas for implementing functional programming language interpreters.

  • Excellent performance: Performance is much higher than the official implementation and better than most existing open source implementations
  • Stable and reliable: It is supported by abundant test samples and has high reliability
  • Simple and unsophisticated: The code is simple and easy to read, and provides implementation documentation, which is very friendly for beginners or those who have not learned the principles of compilation at all

C # project

Netch is an open-source game acceleration tool for Windows


4. ScheduleMasterCore: A distributed task scheduling system based on.NET Core. Supports various scheduling types, flexible and controllable system parameters, simple UI operations, multi-node high availability, and service API integration. At the same time support a variety of deployment modes, easy to use


5, HandyControl: A set of WPF control library. It rewrites almost all native styles and includes more than 70 custom controls. Support cross-platform, internationalization, suitable for MVVM architecture development, flat design, support dynamic change of theme and background color. Rich custom controls to solve the pain point of View design, so that programmers more focused on the development of business logic


C + + project

6. CnC_Remastered_Collection: EA released the source code for Red Alert and Tiberian Dawn


7, chinessChess: Based on Qt5 development of Chinese chess online battle platform, support single player and network battle


Go project

Grmon: Command line monitoring tool for Goroutine


9, HackChrome: Go language implementation from Chrome to automatically save the user name and password tool. For now, only passwords stored in Windows Chrome are supported, but it’s fun to learn how to use Go to call DLL dynamic link library gestures


Seaweedfs: A distributed file system based on Go that is easy to deploy, simple to use, and powerful


Fate: Chinese name tool, go! Calculate a Mr.

Java project

JApiDocs: an out-of-the-box documentation tool for SpringBoot interfaces that requires no additional annotations. Features:

  • Code is documentation
  • Support for exporting HTML
  • Synchronously export the client Model code
  • , etc.

13. PowerJob: A new generation distributed task scheduling and computing framework based on Akka architecture. Supports CRON, API, fixed frequency, fixed delay and other scheduling strategies, supports multiple execution modes such as single machine, broadcast, and MapReduce, supports online task governance and operation and maintenance, provides Shell, Python, Java and other functional task processors, provides workflow to arrange tasks and solve dependencies, and is easy to use. Powerful and well-documented. Comparison of similar products:


JavaScript project

14. React-trello: Task status management panel component Manage task state by drag and drop, click to edit task content


15. Perfume. Js: library for measuring the time the first DOM was generated, the earliest time the user could manipulate it, and the lifecycle performance of the component. Sample code:

perfume.start('fibonacci');
fibonacci(400);
perfume.end('fibonacci');
// Perfume.js: fibonacci 0.14 ms
Copy the code

16. Mongood: MongoDB graphical management tool Features:

  • Based on Microsoft Fluent UI, support automatic dark mode
  • Full support for Mongo-shell data types and query syntax, automatic query and sorting using indexes
  • Support Json database mode, can be used for both Server and Client

TimeCat: a JS web page recording tool. Reference to the principle of video game rendering engine, generated video files only one percent of the traditional video! In addition, subtitles can be automatically generated while recording voice, and exported video files can be played cross-end. It has been under development for some time now, and more interesting features will be implemented in the future. Welcome to continue to pay attention. The online preview

React-visual-editor is a code generation tool based on the React component for visual drag and drop. What you see is what you get, perfect UI design can be restored, and support multiple models of mobile phone (configurable) and PC effect display, template function allows you to share your page or any part of the page component combination, reduce the repetition of similar pages. The effect is as follows:


Cutly. js: a back to top plug-in that returns to the top. As its name suggests, the page moves up like an elevator on its way back to the top, and when the page returns to the top, there is an elevator “arrived” sound. Ding ~ page has reached the top


PHP project

Code6: A GitHub code leak monitoring system that detects code leaks by scanning GitHub periodically. Features:

  • Full visual interface, easy operation and deployment
  • Supports GitHub token management and intelligent scheduling
  • Scan results are rich in information and can be performed in batches
  • Flexible task configuration allows you to configure task scanning parameters independently
  • Whitelisted mode is supported and whitelisted warehouses are actively ignored

Python project

21. Rich: A tripartite library that makes your terminal output “fancy”. One of my predecessors told me not to bother with fancy themes and styles. But I can not do ah, so good-looking terminal output, let my mood are happy. Look at the sexy syntax highlighting, neat tables, comfortable colors, progress bars, etc. It’s all worth it


Poetry: Python virtual environment, dependency management tools. There are many dependency management tools out there, but I liked pyProject.toml for making it easy to differentiate between installation and formal environments in a single file, for easy rollback with version lock, and for a clean output interface. Of course, it is still a “newborn”, the risk of taste is still some, the choice must be careful


23. Free-python-games: a collection of true entry-level Python games. Are simple small games: snake, maze, Pong, guess the word, etc., easy to run, simple code to understand. Start your Python learning journey with the game, and have fun learning the source code after playing. Installation and operation:

pip install freegames
python -m freegames.snake # freegames
Copy the code

Py2sec is a lightweight cross-platform Python “encrypted”, accelerated scripting tool. The principle is based on Cython to compile.py into a run-time libraries file: so (Linux && Mac) or.pyd (Win), which partially implements “encryption” to protect the source code. Parameters are described as follows:

-v, --version Displays the PY2sec version-h,  --helpShow help menu-p, -- Pyth Python version, default is the Python version that your Python commands are bound to-d, --directory Python project path (the entire Python project will be compiled if the -d argument is used)-f, --file Python files (if -f is used, a single Python file will be compiled)-m, -- Maintain marks file or folder paths that you do not want to compile-x --nthread number of threads enabled by compilation-q --quiet Specifies the silent mode. The default value is False-r --release Release mode: clears all intermediate files except the encrypted result files. Default is Falsepython py2sec.py -f test.py python py2sec.py -f example/test1.py -r python py2sec.py -d example/ -m test1.py,bbb/ Copy the code

Oxfs: A FUSE network file system based on SFTP that is functionally similar to SSHFS. Features:

  • Asynchronous concurrent reading of remote files is introduced to improve the first read speed of files.
  • The cache is persisted to local disk for faster access the next time it is mounted.
  • Asynchronous tasks synchronize files to prevent low-speed network reads and writes from blocking upper-layer applications.

Swift project

26. Aerial: The cool Apple system screensaver. The screensaver video is taken from the Apple TV screensaver at the Apple store. The aerial quality is great, so try it out. Download the Aerial.Saver. zip file directly, unzip it, and double-click the file “Ready to eat”.


other

Shan-shui-inf: Automatically generates a landscape painting


28, Kuboard-Press: a microservice management interface based on Kubernetes. Includes documentation, tutorials, management interface and practice sharing


29, vscode-rainbow-fart: a vscode extension that compliments you when you program. Can be based on the code keywords, play close to the code meaning of the human voice, and a eye-catching project name “rainbow fart”


30, Flink-train-course: Flink video live tutorial playback collection

Raft – ZH_CN: Paper on Distributed Consistency Algorithm for Raft

32, GitHub Chinese-Top-Charts: GitHub Chinese Charts updated weekly

Open source books

33, Go-AST-Book: Getting Started with the Go Syntax Tree: A Journey into Homemade Programming Languages and Compilers


Machine learning

34. Surprise: An easy-to-use Python SciKit-based recommendation system. If you want to build a recommendation system in Python, you can try it out


DJL: Amazon open source deep learning framework based on Java language. For Java developers, native machine learning and deep learning models can be developed and applied in Java, while simplifying the difficulty of deep learning development. By providing an intuitive, high-level API, DJL allows Java developers to train their models or data scientists to reason with models pre-trained in Python. If you happen to be a Java developer interested in learning deep learning, then this project is perfect for you. The running effect is as follows:


Notebooks of Data-Science – Ipython – Notebooks of Data Science, specialization, specialization, specialization, specialization, specialization, specialization, specialization TensorFlow, Theano, Caffe, SciKit-Learn, Spark, Hadoop, MapReduce, Matplotlib, Pandas, SciPy, etc


The last

If you find something interesting on GitHub, feel free to mention issues at HelloGitHub.