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

Introduction to the

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

Content includes: interesting, entry level open source projects, open source books, practical projects, enterprise projects, etc., so that you can feel the charm of open source in a short time, open source and programming interest!


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

C program

1, ACWJ: teach you to write C language compiler actual combat tutorial. How to write a C compiler that compiles itself and runs on real hardware

2, ZSTD: fast, lossless data compression algorithm Zstandard implementation. The compression ratio of Zstd is close to lZMA, LZHAM, and PPMX, and performs better than LZA or Bzip2. Under similar compression ratio, it decompresses faster than other algorithms. This algorithm is used in many well-known projects and games. Example code:

static void compress_orDie(const char* fname, const char* oname)
{
    size_t fSize;
    void* const fBuff = mallocAndLoadFile_orDie(fname, &fSize);
    size_t const cBuffSize = ZSTD_compressBound(fSize);
    void* const cBuff = malloc_orDie(cBuffSize);

    /* Compress. * If you are doing many compressions, you may want to reuse the context. * See the multiple_simple_compression.c example. */
    size_t const cSize = ZSTD_compress(cBuff, cBuffSize, fBuff, fSize, 1);
    CHECK_ZSTD(cSize);

    saveFile_orDie(oname, cBuff, cSize);

    /* success */
    printf("%25s : %6u -> %7u - %s \n", fname, (unsigned)fSize, (unsigned)cSize, oname);

    free(fBuff);
    free(cBuff);
}
Copy the code

C # project

Ravendb: a fast and reliable open source NoSQL database

Files: a brand new file manager. Fluent Design and the latest Windows PLATFORM API implementation, simple but not simple

Go project

5. JQL: JSON data query tool written with Go. The tool is easy to install, the syntax is simple and easy to use, a lot of practical example code, such as:

# query test.json file, All the name of the cat test. Json | JQL '(elem "countries" (elem (keys) (elem "name")))' [" Poland ", "United States", "Germany"]Copy the code

6. Chanify: A go-based service that pushes messages to iOS devices. After installing the supporting iOS APP on the phone and deploying the service in the way of Docker, you can push the specified message to the APP through a command, isn’t it convenient

# $curl send text messages - form - string text = "hello", "http:// < address > : < port > / v1 / sender / < token >" # text file $cat message. TXT | curl  -H "Content-Type: text/plain" --data-binary @- "http://<address>:<port>/v1/sender/<token>"Copy the code

7, algorithm-pattern: LeetCode brush problem set item. The project started from the Go language introduction, summarized a set of brush problem template and problem solving routines, sample code is Go language

8. Imaging: Image processing library of Go language. Support: adjust the size, rotation, shear, brightness adjustment and other functions, example code:

/ / adjust
dstImage128 := imaging.Resize(srcImage, 128.128, imaging.Lanczos)
/ / sharpening
dstImage := imaging.Sharpen(srcImage, 0.5)
Copy the code

Ebiten: 2D game engine library for Go. It makes it easy to create multi-platform 2D games in Go, and includes lots of sample code to help you get started

Java project

Flink-recommandsystem-demo: a real-time product recommendation system based on Flink. Through this project, we can understand and learn the design and process of the recommendation system, which processes logs and counts the popularity of goods through Flink and puts the processed data into Redis cache. Then, portrait labels and real-time records are placed in HBase. When a user requests to obtain recommendations, a hot list of commodities is generated based on the user’s image, and the final product recommendation list is returned by combining the collaborative filtering and label recommendation modules

11. OpenRefine: a desktop tool for cleaning up data. Analyze and sort data in a visual manner, supporting Windows, Linux, and Mac operating systems. With features like query, filtering, de-duplication, and analysis, you can turn cluttered data into “clean” spreadsheets and export results into files in a variety of formats. If you don’t know programming and SQL, you can easily analyze massive data.

Jacoco: Java code test coverage library

Kooder: An open source code search service. Provide source code, warehouse and Issue search service for code management system including GitLab and Gitea

JavaScript project

Taro: A Web lightweight 3D game engine. The underlying 3D rigid-body physics engine is supported based on three.js and Cannon-es

Kutt: free open source short link service. The service is implemented based on Node.js+Express+React, and supports link management, short link customization, link password setting, access statistics, and other functions

Nav: A static navigation site that supports SEO. Pure front-end projects that don’t rely on the back end are simple and clean out of the box

Drawio: a simple and powerful drawing tool. It is free and open source and can be deployed or used online, keeping up with Microsoft Visio in functionality. Support flow chart, sequence diagram, network topology diagram, Gantt diagram, mind map, model diagram, etc., can also export a variety of formats such as PNG, SVG, PDF, HTML and VSDX format (Microsoft Visio graphics format)

18, npkill: a tool for quickly finding and easily deleting node_modules folders. Still bothered by node_modules taking up a lot of disk space? Still manually finding the node_modules directory you don’t need? Try npkill! Easily delete the node_modules directory

PHP project

19. Question2answer: A free and open source q&A platform implemented by PHP+MySQL. Basically, q&A platform has all the functions it should have, so the question is whether to build zhihu or Stack Overflow?

  • Support answer polls, comments, best answers, concerns and close questions
  • Complete user and authority management
  • Multilingual support
  • Similar problem matching when searching
  • , etc.

Python project

Tomato-clock: a command line pomodoro timer written by Python. The code is just over 100 lines long and does not rely on other third-party libraries

🍅 tomato, 25 minutes. Ctrl + C to exit 🍅 🍅 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - "⏰ [8%]Copy the code

Vardbg: a debugging tool that can export the execution of Python programs as videos or giFs. It can be used for animation algorithm, making code to explain video and other scenes

22. Apkleaks: command line tool that scans APK files for sensitive information

// custom-rules.json
{
  "Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
  ...
}
$ apkleaks -f /path/to/file.apk -p rules.json -o ~/Documents/apkleaks-results.txt
Copy the code

Graphene-django: Lets you easily integrate GraphQL into your Django project’s library

Rust project

24, fSELECT: command line tool that uses SQL-like commands to find files

fselect size, path from /home/user where name = '*.cfg' or name = '*.tmp'
fselect size, abspath from ./tmp where size gt 2g
fselect hsize, abspath from ./tmp where size lt 8k
Copy the code

Swift project

Awesome -ios: a collection of awesome ios open source projects. It includes objective-C, Swift, networking, UI, JSON, database, audio and video, etc. It’s a great place for iOS beginners to find open source projects

26. Knot: an iOS packet capture tool. It implements HTTP(S) parsing, traffic parsing, multi-format export, certificate management and process analysis

27. SwiftUITodo: Todo tool made by SwiftUI. This is a sample project to help beginners master SwiftUI

other

28, LIII: free open source BT download tool. If you’re tired of ads and want to speed things up by buying VIPs and just want a simple, easy-to-use download tool, you can try this open source project

29, cloudmusic- VS Code: netease cloudmusic VS Code plug-in. Based on netease Cloud web API implementation, support:

  • Play, collect and like songs
  • Cardiac mode, private FM
  • Reviews (singles, playlists…)
  • The lyrics show
  • Search for (hot/singles/albums/artists…)
  • , etc.

Shapez. IO: the source code for Alien Factory, a Steam simulation building game. The game is to mine resources, place facilities, combine graphics, match with each other, and expand your alien factory on a boundless map. The game is easy but challenging, go and try it

Open source books

31, Probabilistic — Programming — and Bayesian — Methods-for-hackers: A Case Study of Python

32, The Design-and-implementation-of-a-64-bit OS: Design and Implementation of a 64-bit Operating System

33, TensorFlow – Handbook: The Concise TensorFlow 2 handbook, online reading

Machine learning

Real-time person-removal: Remove portrait in Real Time in Web browser. This project adopts JavaScript+ tensorflow.js to achieve “disappear into thin air”

35. Ai-expert-roadmap: AI learning Roadmap

The last

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.