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.

The lastHelloGitHubThe project was born


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. KCP: a fast and reliable protocol implemented by pure algorithms. The average latency can be reduced by 30%-40% and the maximum latency can be reduced by three times at the cost of 10%-20% bandwidth waste compared to TCP

C + + project

2. OpenCC: Open source project of Chinese simplified and complex transformation, tried online

  • Strictly distinguish between “one simple versus many complex” and “one simple versus many different”
  • Fully compatible with different characters, can achieve dynamic replacement
  • Strict review of a simple to multiple entries, the principle of “can be divided is not compatible”
  • Supports the conversion of different characters and regional idioms, such as “li”, “li”, “mouse” and “mouse”.
  • Thesaurus and function library completely separate, can modify freely, import, expand
  • Supports C++, Python, PHP, Java, Ruby, node.js, etc
  • Compatible with Windows, Linux, and Mac platforms

Go project

3. Mattermost Server: a team communication service project developed by Go language, which can be used to build services by itself. Bring the team across PC and mobile devices messaging, file sharing, search and other functions of the communication service platform

Java project

4. Android-material-design-icon-generator-plugin: IntelliJ/Android Studio generates and designs icon plug-ins, which are easy to install and use. As shown below:

Blade: A lightweight, efficient, simple and elegant Java Web framework dedicated to facilitating the development of Web applications by individual developers. Detailed Chinese documentation and introductory video. Sample code:

public static void main(String[] args) {
    Blade.me().get("/", (req, res) -> {
        res.text("Hello Blade");
    }).start();
}Copy the code

Canal: Incremental subscription and consumption component of MySQL database binlog. MySQL salve is simulated to implement master/slave synchronization of MySQL, and incremental log parsing is added. The original primary/secondary mechanism of MySQL is shown as follows:

7, RxGalleryFinal: Android picture, video file selector, support multiple selection, single selection, shooting and cropping, etc

Grain: Minimalist, component RPC framework, flexible and suitable for learning. It includes system universal multithreaded model and message communication, many-to-many distributed lock, Websocket framework based on system universal multithreaded model, multithreaded lock supporting row-level lock and other components

JavaScript project

9, numeric-keyboard: includes a pure keyboard UI and input box kit. There are three versions: pure JavaScript, React and Vue

10. Git-point: An unofficial open source GitHub client developed based on React Native with rich functions, including viewing project and user information, receiving notifications, managing Issues and PR. Supports Android and iOS. Select the corresponding client to download and use

11. Wepy: The official open source project of wechat, which is a framework for enabling small programs to support componentized development. The features are as follows:

  • Class Vue development style
  • Support custom component development
  • Supports importing NPM packages
  • , etc.

Webster: a distributed crawler framework that crawls asynchronous AJAX content from web pages

Anyupload: This project is an upload plug-in, which is convenient and simple to use. Supports multiple file upload, upload rate dynamic control, real progress monitoring KB /s, block generation MD5, block upload, MD5 verification, pause, and cancel. Online experience

Kotlin project

14,github-profile-summary: GitHub account data visualization service, very novel to add star visible (reply visible)

Python project

15, thefuck: in Linux command line, when you enter an error command, directly enter thefuck command can automatically execute the repaired command, the effect picture is as follows:

Youtub-dl: a powerful video download tool, supporting hundreds of mainstream video websites at home and abroad. As the name suggests, it was originally developed for downloading videos from YouTube. If you have friends with foreign servers, you can make full use of this tool, download YouTube videos, not too cool speed. Commands for installing and downloading videos are described as follows:

Sudo PIP install YouTube -dl Installing COLLECTED packages: Youtube-dl Successfully installed youtube-dl 2017.12.14 # 2. View URL supported formats: Mp4 490x360 DASH Video 449K, AVC 1.4d4015, Mp4 490x360 DASH Video 449K, AVC 1.4d4015 25fps, video only 17 3gp 176x144 small, mp4V.20.3, mp4a.40.2 @24k 36 3gp 300x240 small, mp4v.20.3 40.2 @96k 43 webm 640x360 Medium, VP8.0, vorbis@128k (best) # 3. Select the format to download the video: Youtube - dl - 18 f URL (18 to 450 x360 mp4 format) [youtube: playlist] Downloading playlist PLF90USSyuoYzPhhFG7XFBRn63Zvs - lNP - add  --no-playlist to just download video JyLducMVYVg [youtube:playlist] PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP: Downloading webpage [download] Downloading playlist: complete Downloading 42 videos [download] Downloading video 1 of 42 ... # 4. When the download is complete, the final use https://github.com/houtianze/bypy library to download video synchronization network location to baiduCopy the code

17, jieba: powerful Python thesaurus, just use directly. Example code is as follows:

# encoding= utF-8 import jieba seg_list = jieba.cut(" I come to Beijing Qinghua University ", cut_all=True) print("Full Mode: Join (seg_list) # Jieba. cut(" I come to Beijing Qinghua University ", cut_all=False) print("Default Mode: Join (seg_list)) # Jieba.cut (" he came to netease Hangjian Building ") # default is jieba.cut(", ". Join (seg_list)) Seg_list = jieba.cut_for_search(" Xiao Ming graduated from the Institute of Computing, Chinese Academy of Sciences, Print (", ".join(seg_list)) print(", ".seg_list) I/come/Beijing/Tsinghua University: He, come, netease, Hang Yan, mansion (here, hang yan is not in the dictionary, but also recognized by Viterbi) Xiao Ming, master, graduated from the Institute of Science, Academy of Sciences, Chinese Academy of Sciences, Institute of Computing, later studied in Kyoto University, JapanCopy the code

18. Pydu: This library includes commonly used data structures and tools for daily development, and is convenient for learning and reference. Rich documents can help novice better understand and use it. These useful modules are from the wisdom of the open source project and contributors, come and join the project to make it more useful and rich

other

19, Visual Studio Code: Visual Studio Code is a multi-platform open source editor produced by Microsoft. It is small in size, rich in functions, powerful in performance and strong in scalability. I do enjoy it, writing code snippets, articles and documents right out of the box. Personally, IDE is more convenient for writing medium-sized projects and debugging code, so I recommend downloading and using it. Download address

Hello-comic: a collection of comics about programmers. I hope more people can join the project and share interesting comics about programmers

21, Android training-course-in- Chinese: Android official training course Chinese, online reading

22, Go-advices: Chinese version of go

Git-flight-rules are very detailed standard procedures for a particular situation. This project records the use of Git process, if encountered the solution and steps, Chinese

24. Coding-interinterview – University: a complete set of learning manuals designed by the project sponsor to pass the interview with Google. Finally, he went to Amazon. Thanks to the Nuggets for the Chinese translation

Open source books

25, PyData-notebook: Data Analysis with Python 2017 2nd Edition


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.