├── .github
├── FUNDING.yml
└── ISSUE_TEMPLATE
│ ├── config.yml
│ ├── submit-cn.yaml
│ └── submit-en.yaml
├── .gitignore
├── README.md
├── README_en.md
├── README_ja.md
├── content
├── HelloGitHub01.md
├── HelloGitHub02.md
├── HelloGitHub03.md
├── HelloGitHub04.md
├── HelloGitHub05.md
├── HelloGitHub06.md
├── HelloGitHub07.md
├── HelloGitHub08.md
├── HelloGitHub09.md
├── HelloGitHub10.md
├── HelloGitHub100.md
├── HelloGitHub101.md
├── HelloGitHub102.md
├── HelloGitHub103.md
├── HelloGitHub104.md
├── HelloGitHub105.md
├── HelloGitHub106.md
├── HelloGitHub107.md
├── HelloGitHub108.md
├── HelloGitHub109.md
├── HelloGitHub11.md
├── HelloGitHub110.md
├── HelloGitHub12.md
├── HelloGitHub13.md
├── HelloGitHub14.md
├── HelloGitHub15.md
├── HelloGitHub16.md
├── HelloGitHub17.md
├── HelloGitHub18.md
├── HelloGitHub19.md
├── HelloGitHub20.md
├── HelloGitHub21.md
├── HelloGitHub22.md
├── HelloGitHub23.md
├── HelloGitHub24.md
├── HelloGitHub25.md
├── HelloGitHub26.md
├── HelloGitHub27.md
├── HelloGitHub28.md
├── HelloGitHub29.md
├── HelloGitHub30.md
├── HelloGitHub31.md
├── HelloGitHub32.md
├── HelloGitHub33.md
├── HelloGitHub34.md
├── HelloGitHub35.md
├── HelloGitHub36.md
├── HelloGitHub37.md
├── HelloGitHub38.md
├── HelloGitHub39.md
├── HelloGitHub40.md
├── HelloGitHub41.md
├── HelloGitHub42.md
├── HelloGitHub43.md
├── HelloGitHub44.md
├── HelloGitHub45.md
├── HelloGitHub46.md
├── HelloGitHub47.md
├── HelloGitHub48.md
├── HelloGitHub49.md
├── HelloGitHub50.md
├── HelloGitHub51.md
├── HelloGitHub52.md
├── HelloGitHub53.md
├── HelloGitHub54.md
├── HelloGitHub55.md
├── HelloGitHub56.md
├── HelloGitHub57.md
├── HelloGitHub58.md
├── HelloGitHub59.md
├── HelloGitHub60.md
├── HelloGitHub61.md
├── HelloGitHub62.md
├── HelloGitHub63.md
├── HelloGitHub64.md
├── HelloGitHub65.md
├── HelloGitHub66.md
├── HelloGitHub67.md
├── HelloGitHub68.md
├── HelloGitHub69.md
├── HelloGitHub70.md
├── HelloGitHub71.md
├── HelloGitHub72.md
├── HelloGitHub73.md
├── HelloGitHub74.md
├── HelloGitHub75.md
├── HelloGitHub76.md
├── HelloGitHub77.md
├── HelloGitHub78.md
├── HelloGitHub79.md
├── HelloGitHub80.md
├── HelloGitHub81.md
├── HelloGitHub82.md
├── HelloGitHub83.md
├── HelloGitHub84.md
├── HelloGitHub85.md
├── HelloGitHub86.md
├── HelloGitHub87.md
├── HelloGitHub88.md
├── HelloGitHub89.md
├── HelloGitHub90.md
├── HelloGitHub91.md
├── HelloGitHub92.md
├── HelloGitHub93.md
├── HelloGitHub94.md
├── HelloGitHub95.md
├── HelloGitHub96.md
├── HelloGitHub97.md
├── HelloGitHub98.md
├── HelloGitHub99.md
├── contributors.md
└── en
│ ├── HelloGitHub01.md
│ ├── HelloGitHub02.md
│ ├── HelloGitHub03.md
│ ├── HelloGitHub04.md
│ ├── HelloGitHub05.md
│ ├── HelloGitHub06.md
│ ├── HelloGitHub07.md
│ ├── HelloGitHub08.md
│ ├── HelloGitHub09.md
│ ├── HelloGitHub10.md
│ ├── HelloGitHub100.md
│ ├── HelloGitHub101.md
│ ├── HelloGitHub102.md
│ ├── HelloGitHub103.md
│ ├── HelloGitHub104.md
│ ├── HelloGitHub105.md
│ ├── HelloGitHub106.md
│ ├── HelloGitHub107.md
│ ├── HelloGitHub108.md
│ ├── HelloGitHub109.md
│ ├── HelloGitHub11.md
│ ├── HelloGitHub110.md
│ ├── HelloGitHub12.md
│ ├── HelloGitHub13.md
│ ├── HelloGitHub14.md
│ ├── HelloGitHub15.md
│ ├── HelloGitHub16.md
│ ├── HelloGitHub17.md
│ ├── HelloGitHub18.md
│ ├── HelloGitHub19.md
│ ├── HelloGitHub20.md
│ ├── HelloGitHub21.md
│ ├── HelloGitHub22.md
│ ├── HelloGitHub23.md
│ ├── HelloGitHub24.md
│ ├── HelloGitHub25.md
│ ├── HelloGitHub26.md
│ ├── HelloGitHub27.md
│ ├── HelloGitHub28.md
│ ├── HelloGitHub29.md
│ ├── HelloGitHub30.md
│ ├── HelloGitHub31.md
│ ├── HelloGitHub32.md
│ ├── HelloGitHub33.md
│ ├── HelloGitHub34.md
│ ├── HelloGitHub35.md
│ ├── HelloGitHub36.md
│ ├── HelloGitHub37.md
│ ├── HelloGitHub38.md
│ ├── HelloGitHub39.md
│ ├── HelloGitHub40.md
│ ├── HelloGitHub41.md
│ ├── HelloGitHub42.md
│ ├── HelloGitHub43.md
│ ├── HelloGitHub44.md
│ ├── HelloGitHub45.md
│ ├── HelloGitHub46.md
│ ├── HelloGitHub47.md
│ ├── HelloGitHub48.md
│ ├── HelloGitHub49.md
│ ├── HelloGitHub50.md
│ ├── HelloGitHub51.md
│ ├── HelloGitHub52.md
│ ├── HelloGitHub53.md
│ ├── HelloGitHub54.md
│ ├── HelloGitHub55.md
│ ├── HelloGitHub56.md
│ ├── HelloGitHub57.md
│ ├── HelloGitHub58.md
│ ├── HelloGitHub59.md
│ ├── HelloGitHub60.md
│ ├── HelloGitHub61.md
│ ├── HelloGitHub62.md
│ ├── HelloGitHub63.md
│ ├── HelloGitHub64.md
│ ├── HelloGitHub65.md
│ ├── HelloGitHub66.md
│ ├── HelloGitHub67.md
│ ├── HelloGitHub68.md
│ ├── HelloGitHub69.md
│ ├── HelloGitHub70.md
│ ├── HelloGitHub71.md
│ ├── HelloGitHub72.md
│ ├── HelloGitHub73.md
│ ├── HelloGitHub74.md
│ ├── HelloGitHub75.md
│ ├── HelloGitHub76.md
│ ├── HelloGitHub77.md
│ ├── HelloGitHub78.md
│ ├── HelloGitHub79.md
│ ├── HelloGitHub80.md
│ ├── HelloGitHub81.md
│ ├── HelloGitHub82.md
│ ├── HelloGitHub83.md
│ ├── HelloGitHub84.md
│ ├── HelloGitHub85.md
│ ├── HelloGitHub86.md
│ ├── HelloGitHub87.md
│ ├── HelloGitHub88.md
│ ├── HelloGitHub89.md
│ ├── HelloGitHub90.md
│ ├── HelloGitHub91.md
│ ├── HelloGitHub92.md
│ ├── HelloGitHub93.md
│ ├── HelloGitHub94.md
│ ├── HelloGitHub95.md
│ ├── HelloGitHub96.md
│ ├── HelloGitHub97.md
│ ├── HelloGitHub98.md
│ └── HelloGitHub99.md
└── script
├── github_bot
├── README.md
├── github_bot.py
└── requirements.txt
└── make_content
├── README.md
└── make_content.py
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: [521xueweihan]
4 | custom: ['https://hellogithub.com/', 'https://buymeacoffee.com/hellogithub']
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Website Submit Project
4 | url: https://hellogithub.com/
5 | about: Go website to submit an open-source project
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/submit-cn.yaml:
--------------------------------------------------------------------------------
1 | name: "提交项目"
2 | description: "提交一个开源项目"
3 | title: "[开源推荐] "
4 | assignees:
5 | - "521xueweihan"
6 |
7 | body:
8 | - type: markdown
9 | attributes:
10 | value: |
11 | ## 推荐项目
12 |
13 | 这里是 HelloGitHub 月刊推荐项目的入口,欢迎自荐和推荐开源项目,唯一要求:请按照下面的提示介绍项目。
14 |
15 | - type: input
16 | id: project_url
17 | attributes:
18 | label: "项目地址"
19 | description: "仅收录 GitHub 上的开源项目,请填写 GitHub 的项目地址"
20 | placeholder: "https://github.com/username/repo"
21 | validations:
22 | required: true
23 |
24 | - type: dropdown
25 | id: category
26 | attributes:
27 | label: "类别"
28 | description: "请选择项目的类别"
29 | options:
30 | - C
31 | - C#
32 | - C++
33 | - CSS
34 | - Go
35 | - Java
36 | - JS
37 | - Kotlin
38 | - Objective-C
39 | - PHP
40 | - Python
41 | - Ruby
42 | - Rust
43 | - Swift
44 | - 其它
45 | - 书籍
46 | - 人工智能
47 | validations:
48 | required: true
49 |
50 | - type: input
51 | id: project_title
52 | attributes:
53 | label: "项目标题"
54 | description: "请用 20 个左右的字描述它是做什么的,类似文章标题让人一目了然"
55 | placeholder: "例如:一个帮助初学者入门Python的教程项目"
56 | validations:
57 | required: true
58 | max_length: 50
59 |
60 | - type: textarea
61 | id: project_description
62 | attributes:
63 | label: "项目描述"
64 | description: "这是个什么项目、能用来干什么、有什么特点或解决了什么痛点,适用于什么场景、能够让初学者学到什么。长度 32-256 字符"
65 | placeholder: "例如:这是一个Python入门教程,帮助零基础的初学者快速学习Python基础语法和编程思维。"
66 | validations:
67 | required: true
68 | min_length: 32
69 | max_length: 256
70 |
71 | - type: textarea
72 | id: project_highlights
73 | attributes:
74 | label: "亮点"
75 | description: "令人眼前一亮的点是什么?类比同类型项目有什么特点!"
76 | placeholder: "例如:每个知识点都配备了生动的实例,降低了学习门槛。"
77 | validations:
78 | required: true
79 |
80 | - type: textarea
81 | id: example_code
82 | attributes:
83 | label: "示例代码"
84 | description: "可选,提供项目的示例代码"
85 | placeholder: "例如:\n```python\nprint('Hello, world!')\n```"
86 | render: markdown
87 | validations:
88 | required: false
89 |
90 | - type: textarea
91 | id: project_screenshot
92 | attributes:
93 | label: "截图或演示视频"
94 | description: "可选,请直接上传图片或演示视频文件,也可以粘贴外部链接"
95 | placeholder: "在此处粘贴图片或视频链接,或直接拖拽上传"
96 | validations:
97 | required: false
98 |
99 | - type: markdown
100 | attributes:
101 | value: |
102 | ## 提高项目收录的方法
103 |
104 | 1. **请勿使用复制的内容**作为项目描述提交!
105 |
106 | 2. 到 [HelloGitHub网站](https://hellogithub.com) 搜索要推荐的项目地址,查看准备推荐的项目**是否被推荐过**。
107 |
108 | 3. 根据 [项目审核标准说明](https://github.com/521xueweihan/HelloGitHub/issues/271) 修改项目。
109 |
110 | 如您推荐的项目收录到《HelloGitHub》月刊,您的 GitHub 帐号将展示在 [贡献人列表](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md),**同时会在本 issue 中通知您**。
111 |
112 | 最后,感谢您对 HelloGitHub 项目的支持!
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/submit-en.yaml:
--------------------------------------------------------------------------------
1 | name: "Submit Project"
2 | description: "Submit an open-source project"
3 | title: "[Open Source] "
4 | assignees:
5 | - "521xueweihan"
6 |
7 | body:
8 | - type: markdown
9 | attributes:
10 | value: |
11 | ## Project Recommendation
12 |
13 | This is the entry point for recommending open-source projects to HelloGitHub Monthly. You're welcome to recommend your own projects or other great open-source projects. Please follow the prompts below to describe your project.
14 |
15 | - type: input
16 | id: project_url
17 | attributes:
18 | label: "Project URL"
19 | description: "Only open-source projects hosted on GitHub are accepted. Please provide the GitHub repository URL."
20 | placeholder: "https://github.com/username/repo"
21 | validations:
22 | required: true
23 |
24 | - type: dropdown
25 | id: category
26 | attributes:
27 | label: "Category"
28 | description: "Please select the project's category"
29 | options:
30 | - C
31 | - C#
32 | - C++
33 | - CSS
34 | - Go
35 | - Java
36 | - JS
37 | - Kotlin
38 | - Objective-C
39 | - PHP
40 | - Python
41 | - Ruby
42 | - Rust
43 | - Swift
44 | - Other
45 | - Books
46 | - Machine Learning
47 | validations:
48 | required: true
49 |
50 | - type: input
51 | id: project_title
52 | attributes:
53 | label: "Project Title"
54 | description: "Briefly summarize the project in about 20 words, like a clear article headline."
55 | placeholder: "e.g., A tutorial project helping beginners learn Python"
56 | validations:
57 | required: true
58 | max_length: 50
59 |
60 | - type: textarea
61 | id: project_description
62 | attributes:
63 | label: "Project Description"
64 | description: "What is this project about? What can it do? What special features or pain points does it address? What scenarios is it suitable for, and what can beginners learn from it? (32-256 characters)"
65 | placeholder: "e.g., This is a beginner-friendly Python tutorial that helps people with zero programming experience quickly grasp basic Python syntax and programming concepts."
66 | validations:
67 | required: true
68 | min_length: 32
69 | max_length: 256
70 |
71 | - type: textarea
72 | id: project_highlights
73 | attributes:
74 | label: "Highlights"
75 | description: "What makes this project stand out? How does it differ from similar projects?"
76 | placeholder: "e.g., Each topic comes with vivid and easy-to-understand examples, lowering the learning barrier."
77 | validations:
78 | required: true
79 |
80 | - type: textarea
81 | id: example_code
82 | attributes:
83 | label: "Example Code"
84 | description: "Optional. Provide example code snippets from the project."
85 | placeholder: "e.g.,\n```python\nprint('Hello, world!')\n```"
86 | render: markdown
87 | validations:
88 | required: false
89 |
90 | - type: textarea
91 | id: project_screenshot
92 | attributes:
93 | label: "Screenshots or Demo Videos"
94 | description: "Optional. You can directly upload image or video files, or paste external links."
95 | placeholder: "Paste image or video links here, or drag files directly to upload."
96 | validations:
97 | required: false
98 |
99 | - type: markdown
100 | attributes:
101 | value: |
102 | ## Tips for Improving Project Acceptance
103 |
104 | 1. **Do not use copied content** as your project description.
105 |
106 | 2. Visit [HelloGitHub website](https://hellogithub.com) to search for the project URL you're recommending to verify if it has already been recommended.
107 |
108 | 3. Adjust your submission according to the [Project Review Guidelines](https://github.com/521xueweihan/HelloGitHub/issues/271).
109 |
110 | If your recommended project is included in HelloGitHub Monthly, your GitHub username will appear in the [contributors list](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md), **and you'll be notified in this issue**.
111 |
112 | Thank you for supporting the HelloGitHub project!
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # C extensions
6 | *.so
7 |
8 | # Distribution / packaging
9 | .Python
10 | env/
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | lib/
17 | lib64/
18 | parts/
19 | sdist/
20 | var/
21 | *.egg-info/
22 | .installed.cfg
23 | *.egg
24 |
25 | # PyInstaller
26 | # Usually these files are written by a python script from a template
27 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
28 | *.manifest
29 | *.spec
30 |
31 | # Installer logs
32 | pip-log.txt
33 | pip-delete-this-directory.txt
34 |
35 | # Unit test / coverage reports
36 | htmlcov/
37 | .tox/
38 | .coverage
39 | .cache
40 | nosetests.xml
41 | coverage.xml
42 |
43 | # Translations
44 | *.mo
45 | *.pot
46 |
47 | # Django stuff:
48 | *.log
49 |
50 | # Sphinx documentation
51 | docs/_build/
52 |
53 | # PyBuilder
54 | target/
55 |
56 |
57 | # Local settings
58 | local_settings.py
59 |
60 | # vim
61 | *.swp
62 |
63 | # pycharm
64 | .idea/
65 |
66 | # mac
67 | .DS_Store
68 |
69 | # hellogithub
70 | *.db
71 | content*.md
72 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
中文 | English | 日本語
4 |
分享 GitHub 上有趣、入门级的开源项目。
5 |
兴趣是最好的老师,HelloGitHub 帮你找到开源的乐趣!
6 |
7 |
8 |
9 | 
10 |
11 |
12 |
13 |
14 |
15 |
16 | ## 简介
17 |
18 | HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。**每月 28 号**以月刊的形式[更新发布](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzA5MzYyNzQ0MQ==&action=getalbum&album_id=1331197538447310849#wechat_redirect),内容包括:**有趣、入门级的开源项目**、**开源书籍**、**实战项目**、**企业级项目**等,让你用很短时间感受到开源的魅力,爱上开源!
19 |
20 | ## 内容
21 | 获得更好的阅读体验 [官网](https://hellogithub.com/) 或 [HelloGitHub 公众号](https://cdn.jsdelivr.net/gh/521xueweihan/img_logo@main/logo/weixin.png)
22 |
23 | | :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
24 | | ------- | ----- | ------------ | ------ | --------- |
25 | | [第 110 期](/content/HelloGitHub110.md) | [第 109 期](/content/HelloGitHub109.md) | [第 108 期](/content/HelloGitHub108.md) | [第 107 期](/content/HelloGitHub107.md) | [第 106 期](/content/HelloGitHub106.md) |
26 | | [第 105 期](/content/HelloGitHub105.md) | [第 104 期](/content/HelloGitHub104.md) | [第 103 期](/content/HelloGitHub103.md) | [第 102 期](/content/HelloGitHub102.md) | [第 101 期](/content/HelloGitHub101.md) |
27 | | [第 100 期](/content/HelloGitHub100.md) | [第 99 期](/content/HelloGitHub99.md) | [第 98 期](/content/HelloGitHub98.md) | [第 97 期](/content/HelloGitHub97.md) | [第 96 期](/content/HelloGitHub96.md) |
28 | | [第 95 期](/content/HelloGitHub95.md) | [第 94 期](/content/HelloGitHub94.md) | [第 93 期](/content/HelloGitHub93.md) | [第 92 期](/content/HelloGitHub92.md) | [第 91 期](/content/HelloGitHub91.md) |
29 | | [第 90 期](/content/HelloGitHub90.md) | [第 89 期](/content/HelloGitHub89.md) | [第 88 期](/content/HelloGitHub88.md) | [第 87 期](/content/HelloGitHub87.md) | [第 86 期](/content/HelloGitHub86.md) |
30 | | [第 85 期](/content/HelloGitHub85.md) | [第 84 期](/content/HelloGitHub84.md) | [第 83 期](/content/HelloGitHub83.md) | [第 82 期](/content/HelloGitHub82.md) | [第 81 期](/content/HelloGitHub81.md) |
31 | | [第 80 期](/content/HelloGitHub80.md) | [第 79 期](/content/HelloGitHub79.md) | [第 78 期](/content/HelloGitHub78.md) | [第 77 期](/content/HelloGitHub77.md) | [第 76 期](/content/HelloGitHub76.md) |
32 | | [第 75 期](/content/HelloGitHub75.md) | [第 74 期](/content/HelloGitHub74.md) | [第 73 期](/content/HelloGitHub73.md) | [第 72 期](/content/HelloGitHub72.md) | [第 71 期](/content/HelloGitHub71.md) |
33 |
34 |
35 | 欢迎[推荐或自荐](https://hellogithub.com/periodical)项目成为 **HelloGitHub** 的[贡献者](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md)
36 |
37 | ## 赞助
38 |
39 |
40 |
73 |
74 |
75 | ## 声明
76 |
77 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。联系我
78 |
--------------------------------------------------------------------------------
/README_en.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
中文 | English | 日本語
4 |
Sharing interesting, beginner-friendly open-source projects from GitHub.
5 |
Interest is the best teacher—HelloGitHub helps you discover the joy of open source!
6 |
7 |
8 |
9 | 
10 |
11 |
12 |
13 |
14 |
15 | ## Introduction
16 |
17 | This is a project for **novice programmers**, **programming lovers**, and **open-source community lovers**. And the content will be updated and published as a **monthly** magazine. The contents include: **popular projects**, **entry-level projects**, **tools to make life better**, **books**, **learning notes**, **enterprise projects**, etc. Most of these open source projects are very easy to start, very cool and can make you feel the pleasure and the magic of programming in a very short time. So that we can feel the joy of programming, and begin to program.
18 |
19 | It is hoped that through this project, more and more people will join the **open-source community** and contribute to the community. Let these interesting and valuable projects be discovered, concerned, participated and contributed by more people. In the process of participating in these projects, you will learn more programming knowledge 📚, improve programming skills 💻, and find the pleasure of programming 🎮.
20 |
21 | ## Content
22 |
23 | Will be released on the **28th of each month**. [Website](https://hellogithub.com/en) | [Contributors](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md)
24 |
25 | | :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
26 | | ------- | ----- | ------------ | ------ | --------- |
27 | | [NO.110](/content/en/HelloGitHub110.md) | [NO.109](/content/en/HelloGitHub109.md) | [NO.108](/content/en/HelloGitHub108.md) | [NO.107](/content/en/HelloGitHub107.md) | [NO.106](/content/en/HelloGitHub106.md) |
28 | | [NO.105](/content/en/HelloGitHub105.md) | [NO.104](/content/en/HelloGitHub104.md) | [NO.103](/content/en/HelloGitHub103.md) | [NO.102](/content/en/HelloGitHub102.md) | [NO.101](/content/en/HelloGitHub101.md) |
29 | | [NO.100](/content/en/HelloGitHub100.md) | [NO.99](/content/en/HelloGitHub99.md) | [NO.98](/content/en/HelloGitHub98.md) | [NO.97](/content/en/HelloGitHub97.md) | [NO.96](/content/en/HelloGitHub96.md) |
30 | | [NO.95](/content/en/HelloGitHub95.md) | [NO.94](/content/en/HelloGitHub94.md) | [NO.93](/content/en/HelloGitHub93.md) | [NO.92](/content/en/HelloGitHub92.md) | [NO.91](/content/en/HelloGitHub91.md) |
31 | | [NO.90](/content/en/HelloGitHub90.md) | [NO.89](/content/en/HelloGitHub89.md) | [NO.88](/content/en/HelloGitHub88.md) | [NO.87](/content/en/HelloGitHub87.md) | [NO.86](/content/en/HelloGitHub86.md) |
32 | | [NO.85](/content/en/HelloGitHub85.md) | [NO.84](/content/en/HelloGitHub84.md) | [NO.83](/content/en/HelloGitHub83.md) | [NO.82](/content/en/HelloGitHub82.md) | [NO.81](/content/en/HelloGitHub81.md) |
33 | | [NO.80](/content/en/HelloGitHub80.md) | [NO.79](/content/en/HelloGitHub79.md) | [NO.78](/content/en/HelloGitHub78.md) | [NO.77](/content/en/HelloGitHub77.md) | [NO.76](/content/en/HelloGitHub76.md) |
34 | | [NO.75](/content/en/HelloGitHub75.md) | [NO.74](/content/en/HelloGitHub74.md) | [NO.73](/content/en/HelloGitHub73.md) | [NO.72](/content/en/HelloGitHub72.md) | [NO.71](/content/en/HelloGitHub71.md) |
35 |
36 |
37 | ## Licence
38 |
39 | 
This work is under the CC BY-NC-ND 4.0 Lisence.
40 |
--------------------------------------------------------------------------------
/README_ja.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
中文 | English | 日本語
4 |
GitHub上の面白くて初心者向けのオープンソースプロジェクトを紹介します。
5 |
興味は最高の先生です。HelloGitHubが、あなたのオープンソースの楽しさを見つけるお手伝いをします!
6 |
7 |
8 |
9 | 
10 |
11 |
12 |
13 |
14 |
15 | ## イントロ
16 |
17 | これは、**初心者プログラマー**、**プログラミング愛好家**、**オープンソースコミュニティ愛好家** のためのプロジェクトです。また、コンテンツは **月刊** マガジンとして更新・発行されます。内容は以下の通りです: **人気プロジェクト**、**エントリーレベルプロジェクト**、**生活をより良くするツール**、**書籍**、**学習ノート**、**エンタープライズプロジェクト** などです。これらのオープンソースプロジェクトのほとんどは、とても簡単に始めることができ、とてもクールで、プログラミングの楽しさと魔法を短時間で感じることができます。プログラミングの楽しさを感じ、プログラミングを始めてください。
18 |
19 | このプロジェクトを通じて、より多くの人々が **オープンソースコミュニティ** に参加し、コミュニティに貢献することを望んでいます。これらの興味深く価値のあるプロジェクトが、より多くの人々によって発見され、関心を持たれ、参加され、コントリビュートされるようにしましょう。これらのプロジェクトに参加する過程で、あなたはより多くのプログラミングの知識を学び📚、プログラミングのスキルを向上させ💻、プログラミングの楽しさを見つけるでしょう🎮。
20 |
21 | ## コンテンツ
22 |
23 | **毎月28日** にリリースされます| [コントリビューター](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md) | [Web サイト](https://hellogithub.com)
24 |
25 | | :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
26 | | ------- | ----- | ------------ | ------ | --------- |
27 | | [第 110 号](/content/HelloGitHub110.md) | [第 109 号](/content/HelloGitHub109.md) | [第 108 号](/content/HelloGitHub108.md) | [第 107 号](/content/HelloGitHub107.md) | [第 106 号](/content/HelloGitHub106.md) |
28 | | [第 105 号](/content/HelloGitHub105.md) | [第 104 号](/content/HelloGitHub104.md) | [第 103 号](/content/HelloGitHub103.md) | [第 102 号](/content/HelloGitHub102.md) | [第 101 号](/content/HelloGitHub101.md) |
29 | | [第 100 号](/content/HelloGitHub100.md) | [第 99 号](/content/HelloGitHub99.md) | [第 98 号](/content/HelloGitHub98.md) | [第 97 号](/content/HelloGitHub97.md) | [第 96 号](/content/HelloGitHub96.md) |
30 | | [第 95 号](/content/HelloGitHub95.md) | [第 94 号](/content/HelloGitHub94.md) | [第 93 号](/content/HelloGitHub93.md) | [第 92 号](/content/HelloGitHub92.md) | [第 91 号](/content/HelloGitHub91.md) |
31 | | [第 90 号](/content/HelloGitHub90.md) | [第 89 号](/content/HelloGitHub89.md) | [第 88 号](/content/HelloGitHub88.md) | [第 87 号](/content/HelloGitHub87.md) | [第 86 号](/content/HelloGitHub86.md) |
32 | | [第 85 号](/content/HelloGitHub85.md) | [第 84 号](/content/HelloGitHub84.md) | [第 83 号](/content/HelloGitHub83.md) | [第 82 号](/content/HelloGitHub82.md) | [第 81 号](/content/HelloGitHub81.md) |
33 | | [第 80 号](/content/HelloGitHub80.md) | [第 79 号](/content/HelloGitHub79.md) | [第 78 号](/content/HelloGitHub78.md) | [第 77 号](/content/HelloGitHub77.md) | [第 76 号](/content/HelloGitHub76.md) |
34 | | [第 75 号](/content/HelloGitHub75.md) | [第 74 号](/content/HelloGitHub74.md) | [第 73 号](/content/HelloGitHub73.md) | [第 72 号](/content/HelloGitHub72.md) | [第 71 号](/content/HelloGitHub71.md) |
35 |
36 |
37 | ## ライセンス
38 |
39 | 
この作品は CC BY-NC-ND 4.0 のライセンスに基づいています。
40 |
--------------------------------------------------------------------------------
/content/HelloGitHub01.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 01 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/01) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### CSS 项目
24 | 1、[typo.css](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sofish/typo.css):中文网页重设与排版,为了一致化浏览器排版效果,构建最适合中文阅读的网页排版。包括桌面和移动平台,[预览](http://typo.sofi.sh/)
25 |
26 |
27 | 
28 |
29 | ### JavaScript 项目
30 | 2、[activate-power-mode](https://hellogithub.com/periodical/statistics/click?target=https://github.com/disjukr/activate-power-mode):爆炸输入效果,[在线演示](http://0xabcdef.com/activate-power-mode/)
31 |
32 |
33 |
34 | 
35 |
36 | 3、[ant-design](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ant-design/ant-design):阿里开源的一套企业级的 UI 设计语言和 React 实现。[中文文档](https://ant.design/docs/react/introduce-cn),样式偏向于后端,展示效果十分漂亮
37 |
38 |
39 | 
40 |
41 | 4、[VeryNginx](https://hellogithub.com/periodical/statistics/click?target=https://github.com/alexazhou/VeryNginx):一个功能强大而对人类友好的 Nginx 扩展程序。[VeryNginx 文档](https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md)
42 |
43 |
44 |
45 | 
46 |
47 | ### Python 项目
48 | 5、[awesome-python-webapp](https://hellogithub.com/periodical/statistics/click?target=https://github.com/michaelliao/awesome-python-webapp):廖老师的 Python 入门教程中的实践项目的代码,[教程在线阅读](http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397616003925a3d157284cd24bc0952d6c4a7c9d8c55000)
49 |
50 |
51 | 6、[beijing_bus](https://hellogithub.com/periodical/statistics/click?target=https://github.com/wong2/beijing_bus):北京实时公交,可以显示查询的公交到达某站还需多久
52 |
53 |
54 |
55 | 
56 |
57 | 7、[Minos](https://hellogithub.com/periodical/statistics/click?target=https://github.com/phith0n/Minos):一个基于 Tornado/MongoDB/Redis 的社区系统
58 |
59 |
60 | 8、[tushare](https://hellogithub.com/periodical/statistics/click?target=https://github.com/waditu/tushare):TuShare 是一个免费、开源的 Python 财经数据接口包,[TuShare 文档](http://tushare.org/index.html)
61 |
62 |
63 |
64 | 
65 |
66 | ### 其它
67 | 9、[archey-osx](https://hellogithub.com/periodical/statistics/click?target=https://github.com/obihann/archey-osx):命令行中显示 Mac OS X 计算机的基本信息
68 |
69 |
70 |
71 | 
72 |
73 | 10、[awesome-python-cn](https://hellogithub.com/periodical/statistics/click?target=https://github.com/jobbole/awesome-python-cn):awesome-python 中文版
74 |
75 |
76 | 11、[github](https://hellogithub.com/periodical/statistics/click?target=https://github.com/phodal/github):《GitHub 漫游指南》该指南能够让新手学会如何使用 GitHub 网站,从而加入到开源社区。phodal 从他和 GitHub 的青涩故事写起,全方位地介绍了 GitHub 这个网站,以及如何合理地使用这个网站
77 |
78 |
79 | 12、[Learning-SICP](https://hellogithub.com/periodical/statistics/click?target=https://github.com/DeathKing/Learning-SICP):《计算机程序的构造和解释》公开课
80 |
81 |
82 | 
83 |
84 | ### 开源书籍
85 | 13、[design_patterns](https://hellogithub.com/periodical/statistics/click?target=https://github.com/me115/design_patterns):《图说设计模式》,[在线阅读](https://design-patterns.readthedocs.io/zh_CN/latest/index.html#)
86 |
87 |
88 | 14、[intermediatePython](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yasoob/intermediatePython):《Intermediate Python》Python 进阶。这是本很薄的 Python 入门级书籍,每篇内容花个五分钟就能看完、看懂、有收获的那种。
89 |
90 | 15、[linuxtools_rst](https://hellogithub.com/periodical/statistics/click?target=https://github.com/me115/linuxtools_rst):《Linux 工具快速教程》,[在线阅读](http://linuxtools-rst.readthedocs.io/zh_CN/latest/)
91 |
92 |
93 | 16、[python3-cookbook](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yidao620c/python3-cookbook):《Python Cookbook 3rd 中文版》,[在线阅读](http://python3-cookbook.readthedocs.org/zh_CN/latest/)
94 |
95 |
96 | 17、[the_new_world_linux](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yangyangwithgnu/the_new_world_linux):《Linux 下的惬意生活》,[在线阅读](https://github.com/yangyangwithgnu/the_new_world_linux#目录)
97 |
98 |
99 |
100 |
101 |
102 | 『上一期』 | 反馈和建议 | 『下一期』
103 |
104 |
105 | ---
106 |
107 | 👉 来!推荐开源项目 👈
108 | 微信中搜:HelloGitHub 关注公众号
109 | 不仅能第一时间收到推送,还有回馈粉丝的活动
110 | 如果文中的图刷不出来,可以点击 这里。
111 |
112 |
113 | ## 赞助
114 |
115 |
116 |
149 |
150 |
151 | ## 声明
152 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
153 |
--------------------------------------------------------------------------------
/content/HelloGitHub02.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 02 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/02) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### CSS 项目
24 | 1、[github-markdown-css](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sindresorhus/github-markdown-css):仿 GitHub 的 Markdown 的样式,就是使用了这个 CSS 后,Markdown 展示效果和 GitHub 的大致一样。[示例](https://sindresorhus.com/github-markdown-css/)
25 |
26 |
27 | 
28 |
29 | ### JavaScript 项目
30 | 2、[ant-motion](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ant-design/ant-motion):阿里开源的项目,一套 React 框架动效解决方案,可以帮助开发者,更容易的在项目中使用动效。同时可以方便快捷地制作一个公司的介绍页,[在线演示](https://motion.ant.design/)
31 |
32 |
33 | 3、[jquery-weui](https://hellogithub.com/periodical/statistics/click?target=https://github.com/lihongxun945/jquery-weui):可能是最好用 WeUI 版本,展示效果如下:
34 |
35 |
36 |
37 | 
38 |
39 | 4、[listen1_desktop](https://hellogithub.com/periodical/statistics/click?target=https://github.com/listen1/listen1_desktop):Listen 1 让你用一个网页就能听到多个网站的在线音乐,支持各种平台。如图:
40 |
41 |
42 |
43 | 
44 |
45 | 5、[ssbc](https://hellogithub.com/periodical/statistics/click?target=https://github.com/78/ssbc):Python Django 写的种子搜索网站——手撕包菜,如图:
46 |
47 |
48 |
49 | 
50 |
51 | 6、[waitForImages](https://hellogithub.com/periodical/statistics/click?target=https://github.com/alexanderdickson/waitForImages):背景加载完事件,示例代码:
52 | ```html
53 |
54 |
61 | ```
62 |
63 |
64 | 7、[wechat-h5-boilerplate](https://hellogithub.com/periodical/statistics/click?target=https://github.com/panteng/wechat-h5-boilerplate):为腾讯微信优化的 HTML5 动效模板,帮助你快速构建全屏滚动型 HTML5 页面,[示例](https://panteng.github.io/wechat-h5-boilerplate/)
65 |
66 |
67 | 
68 |
69 | ### Python 项目
70 | 8、[algorithm](https://hellogithub.com/periodical/statistics/click?target=https://github.com/qiwsir/algorithm):老齐的 Python 算法教程
71 |
72 |
73 | 9、[mincss](https://hellogithub.com/periodical/statistics/click?target=https://github.com/peterbe/mincss):Python 写的用来找到 CSS 中没有用到的代码片段,并删除。适用于:想要做一个页面,但是不会写 CSS 人。示例代码如下:
74 | ```python
75 | #coding:utf-8
76 | #!/usr/bin/env python
77 | from __future__ import print_function
78 | import sys, os
79 | sys.path.insert(0, os.path.abspath('.'))
80 | from mincss.processor import Processor
81 |
82 | # 这里改成想要参考的页面
83 | URL = 'http://localhost:9000/page.html'
84 |
85 | def run():
86 | p = Processor()
87 | p.process(URL)
88 |
89 | # 输出INlink的css的简化前和简化后的css代码
90 | print("INLINES ".ljust(79, '-'))
91 | for each in p.inlines:
92 | print("On line %s" % each.line)
93 | print('- ' * 40)
94 | print("BEFORE")
95 | print(each.before)
96 | print('- ' * 40)
97 | print("AFTER:")
98 | print(each.after)
99 |
100 | # 输出link引用的css的简化前和简化后的css代码
101 | print("LINKS ".ljust(79, '-'))
102 | for each in p.links:
103 | print("On href %s" % each.href)
104 | print('- ' * 40)
105 | print("BEFORE")
106 | print(each.before)
107 | print('- ' * 40)
108 | print("AFTER:")
109 | print(each.after)
110 |
111 | if __name__ == '__main__':
112 | run()
113 | ```
114 |
115 |
116 | 10、[python-gems](https://hellogithub.com/periodical/statistics/click?target=https://github.com/RealHacker/python-gems):有趣的 Pyhton 代码片段集合
117 |
118 |
119 | 11、[python-goose](https://hellogithub.com/periodical/statistics/click?target=https://github.com/grangier/python-goose):Goose 用于文章提取器,提取中文内容的示例代码:
120 | ```python
121 | >>> from goose import Goose
122 | >>> from goose.text import StopWordsChinese
123 | >>> url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
124 | >>> g = Goose({'stopwords_class': StopWordsChinese})
125 | >>> article = g.extract(url=url)
126 | >>> print article.cleaned_text[:150]
127 | 香港行政长官梁振英在各方压力下就其大宅的违章建筑(僭建)问题到立法会接受质询,并向香港民众道歉。
128 |
129 | 梁振英在星期二(12月10日)的答问大会开始之际在其演说中道歉,但强调他在违章建筑问题上没有隐瞒的意图和动机。
130 |
131 | 一些亲北京阵营议员欢迎梁振英道歉,且认为应能获得香港民众接受,但这些议员也质问梁振英有
132 | ```
133 |
134 |
135 | ### 其它
136 | 12、[leetcode-solutions](https://hellogithub.com/periodical/statistics/click?target=https://github.com/RealHacker/leetcode-solutions):Leetcode OJ 的 Python 算法实现
137 |
138 |
139 |
140 |
141 |
142 | 『上一期』 | 反馈和建议 | 『下一期』
143 |
144 |
145 | ---
146 |
147 | 👉 来!推荐开源项目 👈
148 | 微信中搜:HelloGitHub 关注公众号
149 | 不仅能第一时间收到推送,还有回馈粉丝的活动
150 | 如果文中的图刷不出来,可以点击 这里。
151 |
152 |
153 | ## 赞助
154 |
155 |
156 |
189 |
190 |
191 | ## 声明
192 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
193 |
--------------------------------------------------------------------------------
/content/HelloGitHub03.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 03 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/03) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### CSS 项目
24 | 1、[animate.css](https://hellogithub.com/periodical/statistics/click?target=https://github.com/animate-css/animate.css):提供炫酷动画效果,同时方便、易用、跨浏览器的 CSS 库。[在线演示](https://daneden.github.io/animate.css/)
25 |
26 |
27 | 2、[mui](https://hellogithub.com/periodical/statistics/click?target=https://github.com/dcloudio/mui):最接近原生 APP 体验的高性能框架。性能和体验的差距,一直是 mobile App 开发者放弃 HTML5 的首要原因。mui 框架有效的解决了这些问题,这是一个可以方便开发出高性能 App 的框架,也是目前最接近原生 App 效果的框架。[mui 官网](http://dev.dcloud.net.cn/mui/)
28 |
29 |
30 | ### Go 项目
31 | 3、[pholcus](https://hellogithub.com/periodical/statistics/click?target=https://github.com/andeya/pholcus):Pholcus 是 Go 写的重量级爬虫,纯 Go 语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有 Web、GUI、命令行三种操作界面,功能齐全、强大。[使用手册](https://pholcus.gitbooks.io/docs/content/),使用展示如图:
32 |
33 |
34 |
35 | 
36 |
37 | ### Java 项目
38 | 4、[greys-anatomy](https://hellogithub.com/periodical/statistics/click?target=https://github.com/oldmanpushcart/greys-anatomy):Greys 是 Java 在线问题诊断工具。
39 |
40 |
41 | ### JavaScript 项目
42 | 5、[editor.md](https://hellogithub.com/periodical/statistics/click?target=https://github.com/pandao/editor.md):是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。[在线尝试](http://lab.lepture.com/editor/),使用展示如图:
43 |
44 |
45 |
46 | 
47 |
48 | 6、[OS.js](https://hellogithub.com/periodical/statistics/click?target=https://github.com/os-js/OS.js):JavaScript 写的基于浏览器上的桌面操作系统。[在线演示](https://demo.os-js.org/),使用展示如图:
49 |
50 |
51 |
52 | 
53 |
54 | ### Python 项目
55 | 7、[KindleEar](https://hellogithub.com/periodical/statistics/click?target=https://github.com/cdhigh/KindleEar):这是一个运行在 Google App Engine(GAE) 上的 Kindle 个人推送服务应用,生成排版精美的杂志模式 `mobi/epub` 格式自动每天推送至您的 Kindle 或其他邮箱。
56 |
57 |
58 | 8、[walle-web](https://hellogithub.com/periodical/statistics/click?target=https://github.com/meolu/walle-web):Walle(瓦力) 一个 Web 部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用!支持 git、svn 版本管理,支持各种 Web 代码发布,静态的 HTML,动态 PHP,需要编译的 Java 等。[中文介绍](https://github.com/meolu/walle-web/blob/master/docs/README-zh.md),使用展示如图:
59 |
60 |
61 |
62 | 
63 |
64 | ### 其它
65 | 9、[css-creating](https://hellogithub.com/periodical/statistics/click?target=https://github.com/cssdream/css-creating):CSS 创作指南
66 |
67 |
68 |
69 |
70 |
71 | 『上一期』 | 反馈和建议 | 『下一期』
72 |
73 |
74 | ---
75 |
76 | 👉 来!推荐开源项目 👈
77 | 微信中搜:HelloGitHub 关注公众号
78 | 不仅能第一时间收到推送,还有回馈粉丝的活动
79 | 如果文中的图刷不出来,可以点击 这里。
80 |
81 |
82 | ## 赞助
83 |
84 |
85 |
118 |
119 |
120 | ## 声明
121 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
122 |
--------------------------------------------------------------------------------
/content/HelloGitHub04.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 04 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/04) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### Java 项目
24 | 1、[cachecloud](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sohutv/cachecloud):搜狐视频开源的 CacheCloud 项目,提供了一个 Redis 云管理平台,功能强大,教程详细(有视频教程),文档齐全,**企业级开源项目**
25 |
26 |
27 |
28 | 
29 |
30 | ### JavaScript 项目
31 | 2、[zhihudaily-vue](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yatessss/zhihudaily-vue):用 Vue.js 写的知乎日报手机 Web 版,需打开 chrome 浏览器的手机模拟功能,来获得比较好的浏览效果。访问展示图如下:
32 |
33 |
34 |
35 | 
36 |
37 | 3、[zingtouch](https://hellogithub.com/periodical/statistics/click?target=https://github.com/zingchart/zingtouch):支持移动端各种触摸动作包含:转动、挥动、滑动等动作的库,[官方网站](https://zingchart.github.io/zingtouch/),展示图如下:
38 |
39 |
40 |
41 | 
42 |
43 | ### Python 项目
44 | 4、[flask-admin](https://hellogithub.com/periodical/statistics/click?target=https://github.com/pallets-eco/flask-admin):我工作中需要写一个微型的管理系统,用的就是这个框架。简直快餐型,页面都写好了,只要设置好相关配置就可以跑起来了。唯一缺点就是文档中的例子少,开发一些特定的需求需要自己看源码,才能知道如何改。[文档](https://flask-admin.readthedocs.io/en/latest/),下面是我跑起来之后的样子:
45 |
46 |
47 |
48 | 
49 |
50 | 5、[python-guide](https://hellogithub.com/periodical/statistics/click?target=https://github.com/realpython/python-guide):Requests 库的作者——kennethreitz,写的 Python 入门教程。不单单是语法层面的,涵盖项目结构、代码风格,进阶、工具等方方面面。虽然是**英文版**([中文翻译版](http://pythonguidecn.readthedocs.io/zh/latest/)),但我这个英语渣都能看懂,你肯定也可以,快去看看吧,开卷有益。[在线阅读](http://docs.python-guide.org/en/latest/)
51 |
52 |
53 | 
54 |
55 | 6、[python-sdk](https://hellogithub.com/periodical/statistics/click?target=https://github.com/qiniu/python-sdk):七牛云存储 SDK。我自己在用他家的服务,上手简单、有免费额度,可以用来做‘图床’,同时,有了这个 SDK 可以写一些好用的小工具。**注意**:图床不能随便用,我曾经就用超了,账户的钱能扣成**负数**!
56 |
57 |
58 | ### 其它
59 | 7、[AndroidInterview-Q-A](https://hellogithub.com/periodical/statistics/click?target=https://github.com/JackyAndroid/AndroidInterview-Q-A):这个项目主要是国内一线互联网公司的 Java 和 Android 方面的内部面试题。
60 |
61 |
62 | 8、[awesome-mac](https://hellogithub.com/periodical/statistics/click?target=https://github.com/jaywcjlove/awesome-mac):排版相当好的一个 awesome 系列文章,文中介绍了很多 Mac 上好用的工具。
63 |
64 |
65 | 9、[Front-end-Web-Development-Interview-Question](https://hellogithub.com/periodical/statistics/click?target=https://github.com/paddingme/Front-end-Web-Development-Interview-Question):前端开发面试题大收集
66 |
67 |
68 | 10、[interview](https://hellogithub.com/periodical/statistics/click?target=https://github.com/HIT-Alibaba/interview):笔试面试知识整理(涵盖:IOS、Android、计算机基础),[在线阅读](https://hit-alibaba.github.io/interview/index.html)
69 |
70 |
71 | 11、[interview_python](https://hellogithub.com/periodical/statistics/click?target=https://github.com/taizilongxu/interview_python):关于 Python 的面试题
72 |
73 |
74 | 12、[neural-networks-and-deep-learning](https://hellogithub.com/periodical/statistics/click?target=https://github.com/mnielsen/neural-networks-and-deep-learning):《神经网络与深度学习》相关代码 Python 实现,[神经网络与深度学习-中文在线阅读](https://tigerneil.gitbooks.io/neural-networks-and-deep-learning-zh/content/chapter1.html),该书中的相关理论的 Python 代码实现
75 |
76 |
77 | 13、[PyZh](https://hellogithub.com/periodical/statistics/click?target=https://github.com/MrKiven/PyZh):Python 经典的技术文章的翻译和收集,[在线阅读](http://pyzh.readthedocs.io/en/latest/)
78 |
79 |
80 |
81 |
82 |
83 | 『上一期』 | 反馈和建议 | 『下一期』
84 |
85 |
86 | ---
87 |
88 | 👉 来!推荐开源项目 👈
89 | 微信中搜:HelloGitHub 关注公众号
90 | 不仅能第一时间收到推送,还有回馈粉丝的活动
91 | 如果文中的图刷不出来,可以点击 这里。
92 |
93 |
94 | ## 赞助
95 |
96 |
97 |
130 |
131 |
132 | ## 声明
133 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
134 |
--------------------------------------------------------------------------------
/content/HelloGitHub05.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 05 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/05) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C# 项目
24 | 1、[WeiXinMPSDK](https://hellogithub.com/periodical/statistics/click?target=https://github.com/JeffreySu/WeiXinMPSDK):微信公众平台 SDK,支持 .NET Framework 及 .NET Core。已支持微信公众号、企业号、开放平台、微信支付、JSSDK。此项目开源、免费、持续维护。
25 |
26 |
27 | ### Go 项目
28 | 2、[gh-ost](https://hellogithub.com/periodical/statistics/click?target=https://github.com/github/gh-ost):GitHub 开源的在线修改表结构工具。目的是解决一个经常碰到的问题:不断变化的产品需求会不断要求更改 MySQL 表结构。gh-ost 通过一种影响小、可控制、可审计、操作简单而且安全的方式来改变线上表结构。[中文简介](http://www.infoq.com/cn/news/2016/08/GitHub-MySQL-gh-ost?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global)
29 |
30 |
31 |
32 | 
33 |
34 | 3、[gogs](https://hellogithub.com/periodical/statistics/click?target=https://github.com/gogs/gogs):用 Go 写的一款极易搭建的自助 Git 服务,支持所有平台。就像 GitLab 一样的服务,但是 GitLab 是基于 ruby 语言的。另外:完善的中文文档、支持 Go 语言支持的所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。[中文介绍](https://github.com/gogits/gogs/blob/master/README_ZH.md)
35 |
36 |
37 |
38 | 
39 |
40 | ### JavaScript 项目
41 | 4、[share.js](https://hellogithub.com/periodical/statistics/click?target=https://github.com/overtrue/share.js):一键分享到微博、QQ 空间、QQ 好友、微信、腾讯微博、豆瓣等社交网站的 JavaScript 项目。[在线演示](http://overtrue.me/share.js/)
42 |
43 |
44 |
45 | 
46 |
47 | ### PHP 项目
48 | 5、[pinyin](https://hellogithub.com/periodical/statistics/click?target=https://github.com/overtrue/pinyin):基于 CC-CEDICT 词典的中文转拼音工具,更准确的支持多音字的汉字转拼音解决方案,示例代码:
49 | ```php
50 | use OvertruePinyinPinyin;
51 |
52 | $pinyin = new Pinyin();
53 |
54 | $pinyin->convert('带着希望去旅行,比到达终点更美好');
55 | // ["dai", "zhe", "xi", "wang", "qu", "lv", "xing", "bi", "dao", "da", "zhong", "dian", "geng", "mei", "hao"]
56 |
57 | $pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_UNICODE);
58 | // ["dài","zhe","xī","wàng","qù","lǚ","xíng","bǐ","dào","dá","zhōng","diǎn","gèng","měi","hǎo"]
59 |
60 | $pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_ASCII);
61 | //["dai4","zhe","xi1","wang4","qu4","lv3","xing2","bi3","dao4","da2","zhong1","dian3","geng4","mei3","hao3"]
62 | ```
63 |
64 |
65 | ### Python 项目
66 | 6、[flaskbb](https://hellogithub.com/periodical/statistics/click?target=https://github.com/flaskbb/flaskbb):基于 Flask 框架做的论坛,功能有限,轻量级的论坛应用[在线文档](https://flaskbb.readthedocs.io/en/latest/index.html),可以在这个项目上进行二次开发,实现更加复杂的功能。[在线预览](https://forums.flaskbb.org)
67 |
68 |
69 |
70 | 
71 |
72 | 7、[fuck-login](https://hellogithub.com/periodical/statistics/click?target=https://github.com/xchaoinfo/fuck-login):模拟登录一些知名的网站,为了方便爬取需要登录的网站。**注意**:控制爬虫的爬取频率!
73 |
74 |
75 | 8、[superset](https://hellogithub.com/periodical/statistics/click?target=https://github.com/apache/superset):企业级的数据探索、展示平台。功能很强大,可以用来做数据分析、展示。如下图:
76 |
77 |
78 |
79 | 
80 |
81 | ### 其它
82 | 9、[bytesize-icons](https://hellogithub.com/periodical/statistics/click?target=https://github.com/danklammer/bytesize-icons):极小、极简的 SVG 图标集合,[在线演示](http://danklammer.com/articles/svg-stroke-ftw/#give-it-a-spin)。
83 |
84 |
85 |
86 | 
87 |
88 | 10、[gitignore](https://hellogithub.com/periodical/statistics/click?target=https://github.com/github/gitignore):各种 `gitignore` 模版,特别全,应该能找到你需要的。[什么是 gitignore 文件](http://gitbook.liuhui998.com/4_1.html)。
89 |
90 |
91 | 11、[security-guide-for-developers](https://hellogithub.com/periodical/statistics/click?target=https://github.com/FallibleInc/security-guide-for-developers):这是一个实际工作中会用到的安全 checklist。作为一个 real world web developer 你应该在实际工作中不断地谨慎使用这套列表,减少安全隐患。[中文翻译版](https://github.com/FallibleInc/security-guide-for-developers/blob/master/README-zh.md)
92 |
93 |
94 | 12、[Solve-App-Store-Review-Problem](https://hellogithub.com/periodical/statistics/click?target=https://github.com/zhichengfalv/Solve-App-Store-Review-Problem):App Store 审核未通过的解决方案。
95 |
96 |
97 |
98 |
99 |
100 | 『上一期』 | 反馈和建议 | 『下一期』
101 |
102 |
103 | ---
104 |
105 | 👉 来!推荐开源项目 👈
106 | 微信中搜:HelloGitHub 关注公众号
107 | 不仅能第一时间收到推送,还有回馈粉丝的活动
108 | 如果文中的图刷不出来,可以点击 这里。
109 |
110 |
111 | ## 赞助
112 |
113 |
114 |
147 |
148 |
149 | ## 声明
150 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
151 |
--------------------------------------------------------------------------------
/content/HelloGitHub06.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 06 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/06) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C# 项目
24 | 1、[Cowboy](https://hellogithub.com/periodical/statistics/click?target=https://github.com/gaochundong/Cowboy):一个基于 .NET/C# 实现的开源 WebSocket 网络库。[详细介绍](http://www.cnblogs.com/gaochundong/p/cowboy_websockets.html)
25 |
26 |
27 | ### Go 项目
28 | 2、[wukong](https://hellogithub.com/periodical/statistics/click?target=https://github.com/huichen/wukong):悟空引擎是一个高度可定制的全文搜索引擎,[为什么要有悟空引擎](https://github.com/huichen/wukong/blob/master/docs/why_wukong.md),[入门教程](https://github.com/huichen/wukong/blob/master/docs/codelab.md),这个项目的搜索引擎原理如下:
29 |
30 |
31 |
32 | 
33 |
34 | ### Java 项目
35 | 3、[disconf](https://hellogithub.com/periodical/statistics/click?target=https://github.com/knightliao/disconf):一个企业级的分布式配置管理平台,专注于各种分布式系统配置管理的通用平台,提供统一的配置管理服务。核心目标:一个 jar 包,到处运行。[在线文档](http://disconf.readthedocs.io/zh_CN/latest/index.html)
36 |
37 |
38 | 4、[moco](https://hellogithub.com/periodical/statistics/click?target=https://github.com/dreamhead/moco):开发过程中需要依赖一些接口,这些接口要么是搭建环境困难,要么是还没有实现,要么是交互比较复杂。这种情况下,使用 mock server 来 mock(模拟)这些接口,以便开发和测试能够正常进行。快速上手步骤:
39 | ```
40 | 1. 下载 Moco:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-runner-0.11.0-standalone.jar
41 |
42 | 2. 写需要返回的reponse数据格式如下:
43 | [
44 | {
45 | "response" :
46 | {
47 | "text" : "Hello, Moco"
48 | }
49 | }
50 | ]
51 | (文件名:foo.json)
52 |
53 | 3.运行
54 | java -jar moco-runner--standalone.jar http -p 12306 -c foo.json
55 |
56 | 4. 访问 http://localhost:12306,你将会看到 “Hello, Moco”
57 | ```
58 |
59 |
60 | ### JavaScript 项目
61 | 5、[nodeppt](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ksky521/nodeppt):这可能是迄今为止最好的网页版演示库,[在线演示](http://qdemo.sinaapp.com/)
62 |
63 |
64 | 6、[vue-sui-demo](https://hellogithub.com/periodical/statistics/click?target=https://github.com/eteplus/vue-sui-demo):这是一个用 Vue 和 SUI-Mobile 写的移动端 Demo,可以用来学习 Vue.js。[项目线上预览](https://eteplus.github.io/vue-sui-demo/),效果图如下:
65 |
66 |
67 |
68 | 
69 |
70 | ### Python 项目
71 | 7、[amazing-qr](https://hellogithub.com/periodical/statistics/click?target=https://github.com/x-hw/amazing-qr):Python 写的生成动态、彩色、各式各样的二维码,详细的[中文文档](https://github.com/sylnsfar/qrcode/blob/master/README-cn.md),通过 `qrcode` 生成的二维码样式如下:
72 |
73 |
74 |
75 | 
76 |
77 | 8、[Young](https://hellogithub.com/periodical/statistics/click?target=https://github.com/shiyanhui/Young):基于 Tornado 框架、MongoDB 数据库,写的功能丰富的社区项目。详细的[安装步骤](https://github.com/shiyanhui/Young/blob/master/README_CN.md),适合学习如何创建社区类 Web App。[在线预览](http://beyoung.io/),项目运行效果图:
78 |
79 |
80 |
81 | 
82 |
83 | ### Swift 项目
84 | 9、[12306ForMac](https://hellogithub.com/periodical/statistics/click?target=https://github.com/fancymax/12306ForMac):非官方的 12306 购票,Mac OS 客户端
85 |
86 |
87 |
88 | 
89 |
90 | ### 其它
91 | 10、[Apollo-11](https://hellogithub.com/periodical/statistics/click?target=https://github.com/chrislgarry/Apollo-11):阿波罗 11 号代码,[中文介绍](https://github.com/chrislgarry/Apollo-11/blob/master/README.zh_cn.md)
92 |
93 |
94 | 11、[gvm](https://hellogithub.com/periodical/statistics/click?target=https://github.com/moovweb/gvm):Go 版本管理工具,可以通过命令,无痛切换不同的 Go 版本,示例指令:
95 | ```
96 | 1. 安装gvm:bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
97 |
98 | 2. 根据提示,在shell配置中加入:source /PATH/.gvm/scripts/gvm
99 |
100 | 3. 以下为常用命令:
101 | gvm install go1.4 # 安装制定版本的GO
102 | gvm use go1.4 # 使用制定版本的GO
103 |
104 | 4. Mac下安装Go时如果出现错误,就安装依赖的库:
105 | xcode-select --install
106 | brew update
107 | brew install mercurial
108 |
109 | 5. 我在使用中发现的问题:
110 | 安装Go时没有进度条
111 | ```
112 |
113 |
114 | 12、[LearningNotes](https://hellogithub.com/periodical/statistics/click?target=https://github.com/francistao/LearningNotes):很全面的学习笔记,偏向 Android 和 Java
115 |
116 |
117 | 13、[weapp-ide-crack](https://hellogithub.com/periodical/statistics/click?target=https://github.com/gavinkwoe/weapp-ide-crack):【应用号】IDE + 破解 + Demo
118 |
119 |
120 |
121 |
122 |
123 | 『上一期』 | 反馈和建议 | 『下一期』
124 |
125 |
126 | ---
127 |
128 | 👉 来!推荐开源项目 👈
129 | 微信中搜:HelloGitHub 关注公众号
130 | 不仅能第一时间收到推送,还有回馈粉丝的活动
131 | 如果文中的图刷不出来,可以点击 这里。
132 |
133 |
134 | ## 赞助
135 |
136 |
137 |
170 |
171 |
172 | ## 声明
173 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
174 |
--------------------------------------------------------------------------------
/content/HelloGitHub09.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 09 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/09) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C++ 项目
24 | 1、[json](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nlohmann/json):C++ 的 JSON 库
25 |
26 |
27 |
28 | 
29 |
30 | ### Go 项目
31 | 2、[vim-go](https://hellogithub.com/periodical/statistics/click?target=https://github.com/fatih/vim-go):Go 的 vim 配置
32 |
33 |
34 | ### Java 项目
35 | 3、[android](https://hellogithub.com/periodical/statistics/click?target=https://github.com/SmartisanTech/android):锤子开源的 One Step 项目,一步(one step)是通过拖拽完成将信息发送至应用或联系人的动作,节省了在不同应用之间切换的诸多步骤,第一次打通了手持设备中应用间的边界,[One Step](http://www.smartisan.com/m1/#/os?section=onestep)
36 |
37 |
38 | 4、[android-open-project](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Trinea/android-open-project):Android 开源项目分类汇总
39 |
40 |
41 | 5、[MSEC](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Tencent/MSEC):腾讯开源的毫秒服务引擎(Mass Service Engine in Cluster)。它是一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引擎集 RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、key-value 存储于一体,[官网介绍](http://haomiao.qq.com/index.html#documents)
42 |
43 |
44 | ### JavaScript 项目
45 | 6、[N-blog](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nswbmw/N-blog):面向新手的 Node.js 教程,该教程讲述了 Node.js 基本知识点,同时结合搭建一个多人博客的实战,从零基础到实际开发,由浅到深帮助新手入门 Node.js 这门语言
46 |
47 |
48 | 7、[pomelo](https://hellogithub.com/periodical/statistics/click?target=https://github.com/NetEase/pomelo):Pomelo 网易开源的一个 Node.js 游戏服务器框架,[Demo](http://pomelo.netease.com/demo.html)
49 |
50 |
51 | 8、[vue-hackernews-2.0](https://hellogithub.com/periodical/statistics/click?target=https://github.com/vuejs/vue-hackernews-2.0):这是一个 Vue2.0 示例,克隆 [Hacker News](https://news.ycombinator.com/) 网站(我感觉比原站好看多了😅)
52 |
53 |
54 |
55 | 
56 |
57 | ### PHP 项目
58 | 9、[VulApps](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Medicean/VulApps):用于快速搭建各种漏洞环境,可用来学习、理解常见的漏洞,增强自己在开发过程的安全意识
59 |
60 |
61 | ### Python 项目
62 | 10、[flask-limiter](https://hellogithub.com/periodical/statistics/click?target=https://github.com/alisaifee/flask-limiter):一个 Flask 的扩展库,它可以根据访问者的 IP 限制其访问频率、次数等。示例代码如下:
63 | ```python
64 | from flask import Flask
65 | from flask_limiter import Limiter
66 | from flask_limiter.util import get_remote_address
67 |
68 | app = Flask(__name__)
69 | limiter = Limiter(
70 | app,
71 | key_func=get_remote_address,
72 | global_limits=["2 per minute", "1 per second"],
73 | )
74 |
75 | @app.route("/slow")
76 | @limiter.limit("1 per day")
77 | def slow():
78 | return "24"
79 |
80 | @app.route("/fast")
81 | def fast():
82 | return "42"
83 |
84 | @app.route("/ping")
85 | @limiter.exempt
86 | def ping():
87 | return 'PONG'
88 |
89 | app.run()
90 | ```
91 |
92 |
93 | 11、[glances](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nicolargo/glances):一个可以让你**一目了然**你的系统情况(类 (h)top)的工具,它界面友好,安装方便:`pip install glances`
94 |
95 |
96 |
97 | 
98 |
99 | 12、[ngrok](https://hellogithub.com/periodical/statistics/click?target=https://github.com/inconshreveable/ngrok):一个十分方便、好用的内网穿透工具,它可以把本地某个端口的服务,通过一个安全隧道,映射到公网的一个地址。同时它提供了一个 Web 页面,展示了每个请求、响应的所有信息,便于调试本地的程序。基本的使用方法如下:
100 | ```
101 | ngrok 协议 本地服务监听的端口
102 | ngrok http 8000
103 |
104 | 创建成功会返回公网地址,然后通过该地址就可以访问到本地的服务。
105 | 本地访问 http://localhost:4040,就可以查看关于每个请求、响应的相关数据
106 | ```
107 |
108 |
109 |
110 | 
111 |
112 | ### Swift 项目
113 | 13、[Kingfisher](https://hellogithub.com/periodical/statistics/click?target=https://github.com/onevcat/Kingfisher):Kingfisher 是一个异步下载和缓存图片的库,你可以把它看做 SDWebImage 的纯 Swift 实现和替代。它可以帮助简单地实现像是用户头像或者 table view 里面的图片的下载和缓存这样的工作,以提高 app 速度和帮助开发者节省时间,[作者的中文博客](http://project.onevcat.com/)
114 |
115 |
116 | ### 人工智能
117 | 14、[machine-learning-for-software-engineers](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ZuzooVn/machine-learning-for-software-engineers):自上而下的学习路线,软件工程师的机器学习,[中文版](https://github.com/ZuzooVn/machine-learning-for-software-engineers/blob/master/README-zh-CN.md)
118 |
119 |
120 | ### 其它
121 | 15、[best-chinese-front-end-blogs](https://hellogithub.com/periodical/statistics/click?target=https://github.com/FrankFang/best-chinese-front-end-blogs):该项目是收集优质的中文前端博客
122 |
123 |
124 | 16、[freecodecamp.cn](https://hellogithub.com/periodical/statistics/click?target=https://github.com/FreeCodeCampChina/freecodecamp.cn):freecodecamp 是一个自由的开源编程社区,[freecodecamp 中文社区](https://freecodecamp.cn)
125 |
126 |
127 | 17、[golang-open-source-projects](https://hellogithub.com/periodical/statistics/click?target=https://github.com/hackstoic/golang-open-source-projects):中文版 awesome-go
128 |
129 |
130 | 18、[Learn-Algorithms](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nonstriater/Learn-Algorithms):算法数据结构学习,C 语言实现
131 |
132 |
133 | ### 开源书籍
134 | 19、[the-way-to-go_ZH_CN](https://hellogithub.com/periodical/statistics/click?target=https://github.com/unknwon/the-way-to-go_ZH_CN):《The Way to Go》中文译本,中文正式名《Go 入门指南》
135 |
136 |
137 |
138 |
139 |
140 | 『上一期』 | 反馈和建议 | 『下一期』
141 |
142 |
143 | ---
144 |
145 | 👉 来!推荐开源项目 👈
146 | 微信中搜:HelloGitHub 关注公众号
147 | 不仅能第一时间收到推送,还有回馈粉丝的活动
148 | 如果文中的图刷不出来,可以点击 这里。
149 |
150 |
151 | ## 赞助
152 |
153 |
154 |
187 |
188 |
189 | ## 声明
190 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
191 |
--------------------------------------------------------------------------------
/content/HelloGitHub11.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 11 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/11) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C 项目
24 | 1、[wrk](https://hellogithub.com/periodical/statistics/click?target=https://github.com/wg/wrk):现代 HTTP 基准测试(实现对一类测试对象的某项性能指标进行定量的和可对比的测试)工具,使用示例:
25 | ```sh
26 | # 输入命令
27 | wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html
28 |
29 | # 输出
30 | Running 30s test @ http://127.0.0.1:8080/index.html
31 | 12 threads and 400 connections
32 | Thread Stats Avg Stdev Max +/- Stdev
33 | Latency 635.91us 0.89ms 12.92ms 93.69%
34 | Req/Sec 56.20k 8.07k 62.00k 86.54%
35 | 22464657 requests in 30.00s, 17.76GB read
36 | Requests/sec: 748868.53
37 | Transfer/sec: 606.33MB
38 | ```
39 |
40 |
41 | ### Go 项目
42 | 2、[baetyl](https://hellogithub.com/periodical/statistics/click?target=https://github.com/baetyl/baetyl):百度云开源的边缘计算平台,可将云计算能力拓展至用户现场,提供临时离线、低延时的计算服务,包括设备接入、消息路由、消息远程同步、函数计算、视频接入预处理、AI推断等功能
43 |
44 |
45 | 3、[negroni](https://hellogithub.com/periodical/statistics/click?target=https://github.com/urfave/negroni):Negroni 是一个很地道的 Web 中间件,它不是一个框架,是为了方便使用 net/http 而设计的一个库而已。[中文介绍](https://github.com/urfave/negroni/blob/master/translations/README_zh_cn.md)
46 |
47 |
48 | ### Java 项目
49 | 4、[GitClub](https://hellogithub.com/periodical/statistics/click?target=https://github.com/TellH/GitClub):GitClub 不仅仅是一个 GitHub 客户端,还是一个发现优秀 GitHub 开源项目的 App
50 |
51 |
52 | 5、[jvm-mon](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ajermakovics/jvm-mon):命令行模式的 JVM 监控
53 |
54 |
55 |
56 | 
57 |
58 | 6、[tale](https://hellogithub.com/periodical/statistics/click?target=https://github.com/otale/tale):简洁、漂亮、轻量级、Java 博客,[在线预览](https://tale.biezhi.me/)。特性:
59 | - 设计简洁,界面美观
60 | - Markdown 文章发布
61 | - 自定义文章链接
62 | - 支持多主题
63 | - 支持 Emoji 表情
64 | - 支持网易云音乐播放
65 | - 支持附件和数据库备份
66 | - 部署简单,不依赖 Tomcat
67 |
68 |
69 |
70 | 
71 |
72 | ### JavaScript 项目
73 | 7、[react-tetris](https://hellogithub.com/periodical/statistics/click?target=https://github.com/chvin/react-tetris):逼真的俄罗斯方块(非常逼真、强大!),详细的技术介绍,[在线试玩](https://chvin.github.io/react-tetris/?lan=zh)
74 |
75 |
76 |
77 | 
78 |
79 | ### Python 项目
80 | 8、[fastText](https://hellogithub.com/periodical/statistics/click?target=https://github.com/facebookresearch/fastText):fastText 简而言之,就是把文档中所有词通过 lookup table 变成向量,取平均后直接用线性分类器得到分类结果。[fastText 的实现](https://www.zybuluo.com/Wayne-Z/note/460881)
81 |
82 |
83 | 9、[mongoaudit](https://hellogithub.com/periodical/statistics/click?target=https://github.com/stampery/mongoaudit):强大的 MongoDB 渗透测试工具,用于发掘 MongoDB 漏洞、并提出改善方法。
84 | - 安装:`pip install mongoaudit`
85 | - 运行:`python mongoaudit`
86 |
87 |
88 | 10、[sh](https://hellogithub.com/periodical/statistics/click?target=https://github.com/amoffat/sh):sh 是一个成熟,用于替代 subprocess,它允许你调用任何程序,就像它是一个函数,支持 Python2.6 - 3.5
89 |
90 | ```python
91 | from sh import ifconfig
92 | print ifconfig("eth0")
93 | ```
94 |
95 |
96 | ### Swift 项目
97 | 11、[Swift-30-Projects](https://hellogithub.com/periodical/statistics/click?target=https://github.com/soapyigu/Swift-30-Projects):30 个小型 Swift Apps,可以用来上手学习、练习移动开发。
98 |
99 |
100 |
101 | 
102 |
103 | ### 其它
104 | 12、[chinese-programmer-wrong-pronunciation](https://hellogithub.com/periodical/statistics/click?target=https://github.com/shimohq/chinese-programmer-wrong-pronunciation):中国程序员容易发音错误的单词
105 |
106 |
107 | 13、[golang-cheat-sheet](https://hellogithub.com/periodical/statistics/click?target=https://github.com/a8m/golang-cheat-sheet):(英文)Go 语法特性集合
108 |
109 |
110 | 14、[linux-command](https://hellogithub.com/periodical/statistics/click?target=https://github.com/jaywcjlove/linux-command):Linux 命令大全搜索工具,内容包含 Linux 命令手册、详解、学习、搜集
111 |
112 |
113 | ### 开源书籍
114 | 15、[book](https://hellogithub.com/periodical/statistics/click?target=https://github.com/qyuhen/book):雨痕大神写的学习笔记
115 |
116 |
117 | 16、[docker_practice](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yeasy/docker_practice):Docker 从入门到实践
118 |
119 |
120 | 17、[nginx-book](https://hellogithub.com/periodical/statistics/click?target=https://github.com/taobao/nginx-book):Nginx 开发从入门到精通——本书的作者为淘宝核心系统服务器平台组的成员
121 |
122 |
123 | 18、[open-shell-book](https://hellogithub.com/periodical/statistics/click?target=https://github.com/tinyclub/open-shell-book):《Shell 编程范例》,面向操作对象学 Shell!
124 |
125 |
126 | 19、[python-data-structure-cn](https://hellogithub.com/periodical/statistics/click?target=https://github.com/facert/python-data-structure-cn):《Problem Solving with Algorithms and Data Structures using Python》中文版
127 |
128 |
129 | 20、[react-cookbook](https://hellogithub.com/periodical/statistics/click?target=https://github.com/shimohq/react-cookbook):编写简洁漂亮,可维护的 React 应用
130 |
131 |
132 | 21、[real-world-haskell-cn](https://hellogithub.com/periodical/statistics/click?target=https://github.com/huangzworks/real-world-haskell-cn):《Real World Haskell》中文翻译项目
133 |
134 |
135 | 22、[rust-book-chinese](https://hellogithub.com/periodical/statistics/click?target=https://github.com/KaiserY/rust-book-chinese):Rust 程序设计语言 中文版
136 |
137 |
138 |
139 |
140 |
141 | 『上一期』 | 反馈和建议 | 『下一期』
142 |
143 |
144 | ---
145 |
146 | 👉 来!推荐开源项目 👈
147 | 微信中搜:HelloGitHub 关注公众号
148 | 不仅能第一时间收到推送,还有回馈粉丝的活动
149 | 如果文中的图刷不出来,可以点击 这里。
150 |
151 |
152 | ## 赞助
153 |
154 |
155 |
188 |
189 |
190 | ## 声明
191 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
192 |
--------------------------------------------------------------------------------
/content/HelloGitHub12.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 12 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/12) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C 项目
24 | 1、[tbox](https://hellogithub.com/periodical/statistics/click?target=https://github.com/tboox/tbox):一个用 C 语言实现的跨平台开发库,用于解决不同操作系统的兼容问题,并且充分利用了各个平台独有的一些特性进行优化。[中文说明](https://github.com/tboox/tbox/blob/master/README_zh.md)
25 |
26 |
27 |
28 | ### C# 项目
29 | 2、[ScreenToGif](https://hellogithub.com/periodical/statistics/click?target=https://github.com/NickeManarin/ScreenToGif):此工具可以记录屏幕的选定区域、网络摄像头的实时图像和绘图板上的实时图像。可以编辑并将动画保存为 GIF 或视频
30 |
31 |
32 |
33 | 
34 |
35 | ### Go 项目
36 | 3、[sshtron](https://hellogithub.com/periodical/statistics/click?target=https://github.com/zachlatta/sshtron):sshtron 是通过 SSH 运行的多人贪吃蛇游戏,命令行输入:`ssh sshtron.zachlatta.com`,无需安装等待几秒即可进行游戏(因为服务器在国外,很卡😅)
37 |
38 |
39 |
40 | 
41 |
42 | 4、[wuzz](https://hellogithub.com/periodical/statistics/click?target=https://github.com/asciimoo/wuzz):wuzz 是用于调试 HTTP 请求的交互式命令行工具,可以用来检查和修改请求。常用操作如下:
43 |
44 | | Keybinding | Description |
45 | | :--------- | :------ |
46 | | Ctrl+R | 发送请求 |
47 | | Ctrl+C | 退出 |
48 | | Ctrl+K,Shift+Tab | 前视图 |
49 | | Ctlr+J,Tab | 下一个视图 |
50 | | Ctrl+H,Alt+H | 打开/关闭历史 |
51 | | Down | 向下移动一条视图线 |
52 | | Up | 向上移动一条视图线 |
53 | | Page down | 向下移动一个视图页 |
54 | | Page up | 向下移动一个视图页 |
55 | | F2 | 跳转到 URL |
56 | | F3 | 跳转到查询参数 |
57 | | F4 | 跳转到 HTTP 方法 |
58 | | F5 | 跳转到请求体 |
59 | | F6 | 跳转到 header |
60 | | F7 | 跳转到搜索 |
61 | | F8 | 跳转到响应 header |
62 | | F9 | 跳转到响应体 |
63 |
64 |
65 |
66 | 
67 |
68 | 5、[xbar](https://hellogithub.com/periodical/statistics/click?target=https://github.com/matryer/xbar):Bitbar 是可以将任何(自己或别人写好的)脚本的**输出**到 Mac OS 的状态栏上。同时,支持自定义更新频率。例如:定时获取比特币的价格、HelloGitHub 项目的 star 数量,使用步骤如下:
69 |
70 | 1. 运行该程序,选择脚本所在目录
71 | 2. 确保脚本的有执行权限,赋予执行权限的命令:`chmod +x script.sh`
72 | 3. 选择 `Refresh all`,刷新使之生效
73 |
74 |
75 |
76 | 
77 |
78 | ### Java 项目
79 | 6、[fresco](https://hellogithub.com/periodical/statistics/click?target=https://github.com/facebook/fresco):Facebook 开源的 Android 管理图片的库,[中文文档](https://www.fresco-cn.org/docs/index.html)。包含功能如下:
80 | - 显示占位图直到加载完成
81 | - 下载图片
82 | - 缓存图片
83 | - 图片不再显示时,从内存中移除
84 | - 等等
85 |
86 |
87 | ### JavaScript 项目
88 | 7、[octotree](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ovity/octotree):为 GitHub 和 GitLab 网站,提供直观地显示项目目录结构的浏览器插件,效果如下:
89 |
90 |
91 |
92 | 
93 |
94 | 8、[screenfull](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sindresorhus/screenfull):极小、跨平台的 JavaScript 全屏插件,[在线 demo](https://sindresorhus.com/screenfull.js/)
95 |
96 |
97 | 9、[standard](https://hellogithub.com/periodical/statistics/click?target=https://github.com/standard/standard):统一 JavaScript,只需一种样式,[中文](https://github.com/feross/standard/blob/master/docs/README-zhtw.md)
98 |
99 |
100 | 10、[vue2-elm](https://hellogithub.com/periodical/statistics/click?target=https://github.com/bailicangdu/vue2-elm):基于 vue2 + vuex 构建一个大型单页面应用,此项目大大小小共 45 个页面,涉及注册、登录、商品展示、购物车、下单等等,是一个完整的流程,
101 |
102 |
103 |
104 | 
105 |
106 | ### Python 项目
107 | 11、[mycli](https://hellogithub.com/periodical/statistics/click?target=https://github.com/dbcli/mycli):mycli 是一个带语法高亮、自动补全的 MySQL 命令行客户端工具。例如,连接数据库方法:`mycli -h localhost -u 用户名 数据库`
108 |
109 |
110 |
111 | 
112 |
113 | 12、[python-fire](https://hellogithub.com/periodical/statistics/click?target=https://github.com/google/python-fire):Fire 是 Google 开源的 Python 库,可自动将您的代码转变成 CLI,无需您做任何额外工作。您不必定义参数,设置帮助信息,或者编写定义代码运行方式的 main 函数。相反,您只需从 main 模块调用“Fire”函数,其余工作全部交由 Python Fire 来完成。示例代码如下:
114 | ```python
115 | import fire
116 | class Example(object):
117 | def hello(self, name='world'):
118 | """Says hello to the specified name."""
119 | return 'Hello {name}!'.format(name=name)
120 |
121 | def main():
122 | fire.Fire(Example)
123 | if __name__ == '__main__':
124 | main()
125 |
126 | # 在终端中调用效果如下:
127 | $ ./example.py hello
128 | Hello world!
129 | $ ./example.py hello David
130 | Hello David!
131 | $ ./example.py hello --name=Google
132 | Hello Google!
133 | ```
134 |
135 |
136 | ### 其它
137 | 13、[gophers](https://hellogithub.com/periodical/statistics/click?target=https://github.com/egonelbre/gophers):Go 吉祥物的各种图片素材
138 |
139 |
140 | 
141 |
142 | 14、[node-interview](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ElemeFE/node-interview):如何通过饿了么 Node.js 面试
143 |
144 |
145 | 15、[performance-column](https://hellogithub.com/periodical/statistics/click?target=https://github.com/barretlee/performance-column):[阿里胡子哥](https://github.com/barretlee)写的《性能专栏》,旨在提升 PC/H5/Native 等多个端上对性能的认知,[阅读地址](https://github.com/barretlee/performance-column/issues)
146 |
147 |
148 | ### 开源书籍
149 | 16、[explore-python](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ethan-funny/explore-python):《Python 之旅》,该书总结了 Python 相关的知识点,力求深入浅出、条理清晰
150 |
151 |
152 | 17、[react-naive-book](https://hellogithub.com/periodical/statistics/click?target=https://github.com/huzidaha/react-naive-book):开源、免费、专业、简单的 React.js 教程
153 |
154 |
155 | 18、[The-Art-Of-Programming-By-July-2nd](https://hellogithub.com/periodical/statistics/click?target=https://github.com/julycoding/The-Art-Of-Programming-By-July-2nd):《编程之法:面试和算法心得》
156 |
157 |
158 |
159 |
160 |
161 | 『上一期』 | 反馈和建议 | 『下一期』
162 |
163 |
164 | ---
165 |
166 | 👉 来!推荐开源项目 👈
167 | 微信中搜:HelloGitHub 关注公众号
168 | 不仅能第一时间收到推送,还有回馈粉丝的活动
169 | 如果文中的图刷不出来,可以点击 这里。
170 |
171 |
172 | ## 赞助
173 |
174 |
175 |
208 |
209 |
210 | ## 声明
211 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
212 |
--------------------------------------------------------------------------------
/content/HelloGitHub14.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 14 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/14) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C 项目
24 | 1、[ip2region](https://hellogithub.com/periodical/statistics/click?target=https://github.com/lionsoul2014/ip2region):IP 到地区的映射库,速度快(毫秒级)、准确性高(99.9%),妈妈再也不用担心我的 IP 地址定位,示例代码:
25 | ```
26 | cd binding/c/
27 | gcc -g -O2 testSearcher.c ip2region.c
28 | ./a.out ../../data/ip2region.db
29 | ```
30 |
31 |
32 | ### C++ 项目
33 | 2、[bfs](https://hellogithub.com/periodical/statistics/click?target=https://github.com/baidu/bfs):百度文件系统,架构图如下:
34 |
35 |
36 | 
37 |
38 | 3、[SQLAdvisor](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Meituan-Dianping/SQLAdvisor):美团点评公司 DBA 团队开源的一个分析 SQL 并给出索引优化建议的工具,开源内容和内部使用保持一致,文档齐全
39 |
40 |
41 | ### Go 项目
42 | 4、[fsql](https://hellogithub.com/periodical/statistics/click?target=https://github.com/kashav/fsql):用 SQL 的语法搜索文件,酷吧
43 |
44 |
45 |
46 | 
47 |
48 | 5、[go.uuid](https://hellogithub.com/periodical/statistics/click?target=https://github.com/satori/go.uuid):Go 的 [UUID](http://baike.baidu.com/item/UUID) 包
49 |
50 |
51 | 6、[poseidon](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Qihoo360/poseidon):Poseidon 系统是奇虎 360 开源的一个日志搜索平台,可以在数百万亿条、数百 PB 大小的日志数据中快速分析和检索特定字符串。
52 |
53 |
54 | ### Java 项目
55 | 7、[druid](https://hellogithub.com/periodical/statistics/click?target=https://github.com/alibaba/druid):一个 JDBC 组件库,包括数据库连接池、SQL Parser 等组件,同时能够提供强大的监控和扩展功能
56 |
57 |
58 | 8、[packer-ng-plugin](https://hellogithub.com/periodical/statistics/click?target=https://github.com/mcxiaoke/packer-ng-plugin):Android 打包工具,支持极速打包,速度奇快
59 |
60 |
61 | 9、[symphony](https://hellogithub.com/periodical/statistics/click?target=https://github.com/88250/symphony):用 Java 实现的现代化社区(论坛/社交网络/博客)平台,功能众多,[访问该社区](https://hacpai.com/tag/Sym)
62 |
63 |
64 | ### JavaScript 项目
65 | 10、[BrowserQuest](https://hellogithub.com/periodical/statistics/click?target=https://github.com/mozilla/BrowserQuest):Mozilla 开源的多人在线角色扮演游戏项目
66 |
67 |
68 |
69 | 
70 |
71 | 11、[deep-into-node](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yjhjstz/deep-into-node):深入理解 Node.js 的核心思想与源码分析
72 |
73 |
74 | 12、[Rental](https://hellogithub.com/periodical/statistics/click?target=https://github.com/answershuto/Rental):一款租房 APP,基于 Node.js 爬虫,爬取 58 同城租房信息,并用地图进行可视化展示,方便用户获取周围租房信息
75 |
76 |
77 |
78 | 
79 |
80 | ### Objective-C 项目
81 | 13、[iTerm2](https://hellogithub.com/periodical/statistics/click?target=https://github.com/gnachman/iTerm2):Mac 上超好用的终端软件
82 |
83 |
84 |
85 | 
86 |
87 | ### PHP 项目
88 | 14、[server](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nextcloud/server):开源云存储平台,功能齐全,可以用于搭建公司内部的云存储平台
89 |
90 |
91 |
92 | 
93 |
94 | ### Python 项目
95 | 15、[certbot](https://hellogithub.com/periodical/statistics/click?target=https://github.com/certbot/certbot):免费的自动启用和部署 HTTPS 的工具,让你的网站开启 HTTPS 变得简单快捷。在部署教程页面选择服务器的操作系统和 Web 服务器,之后根据给出的步骤一步步的执行命令就行了,[部署教程](https://certbot.eff.org/)
96 |
97 |
98 |
99 | 
100 |
101 | 16、[explainshell](https://hellogithub.com/periodical/statistics/click?target=https://github.com/idank/explainshell):一个可以解析 Linux 命令的网站,它可以给出命令的解释和其参数的解释,例如:`ps -aux|grep python`,[在线演示](https://www.explainshell.com/)
102 |
103 |
104 |
105 | 
106 |
107 | 17、[pdir2](https://hellogithub.com/periodical/statistics/click?target=https://github.com/laike9m/pdir2):Python 程序员需要一个更好的 `dir()` —— 以更加友好的显示 `dir()` 输出的结果
108 |
109 |
110 |
111 | 
112 |
113 | ### Swift 项目
114 | 18、[EmojiIntelligence](https://hellogithub.com/periodical/statistics/click?target=https://github.com/BilalReffas/EmojiIntelligence):完全用 Swift 实现神经网络的 Demo
115 | - 第一步设置 emoji 对应的图形
116 | - 使用神经网络识别图形,返回 emoji 表情
117 |
118 |
119 |
120 | 
121 |
122 | ### 其它
123 | 19、[chinese-copywriting-guidelines](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sparanoid/chinese-copywriting-guidelines):中文文案排版指南
124 |
125 |
126 | 20、[CodeGuide](https://hellogithub.com/periodical/statistics/click?target=https://github.com/AlloyTeam/CodeGuide):腾讯前端团队代码规范
127 |
128 |
129 | 21、[ohmyzsh](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ohmyzsh/ohmyzsh):一个能够让你快速上手,史称 “终极 Shell” zsh 的工具,让你感觉终端前所未有的好用。详细介绍 —— [MacTalk 之终极 Shell](http://macshuo.com/?p=676)
130 |
131 |
132 | 
133 |
134 | 22、[ResumeSample](https://hellogithub.com/periodical/statistics/click?target=https://github.com/geekcompany/ResumeSample):程序员简历模板系列(Markdown)
135 |
136 |
137 | 23、[security-101-for-saas-startups](https://hellogithub.com/periodical/statistics/click?target=https://github.com/forter/security-101-for-saas-startups):归纳总结了一个初创企业在各个阶段所期待的安全建议,初创企业所掌握的资金和数据越多,那么对于安全的投资也要越多,[中文翻译版](https://github.com/forter/security-101-for-saas-startups/blob/chinese/readme.md)
138 |
139 |
140 |
141 |
142 |
143 | 『上一期』 | 反馈和建议 | 『下一期』
144 |
145 |
146 | ---
147 |
148 | 👉 来!推荐开源项目 👈
149 | 微信中搜:HelloGitHub 关注公众号
150 | 不仅能第一时间收到推送,还有回馈粉丝的活动
151 | 如果文中的图刷不出来,可以点击 这里。
152 |
153 |
154 | ## 赞助
155 |
156 |
157 |
190 |
191 |
192 | ## 声明
193 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
194 |
--------------------------------------------------------------------------------
/content/HelloGitHub22.md:
--------------------------------------------------------------------------------
1 | # 《HelloGitHub》第 22 期
2 | > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!
3 |
4 |
5 |
6 |
7 | ## 目录
8 |
9 | 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。
10 |
11 | 
12 |
13 | **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/22) 换一种浏览方式。
14 |
15 |
16 | 
17 | 关注「HelloGitHub」公众号,第一时间收到推送
18 |
19 |
20 | ## 内容
21 | > **以下为本期内容**|每个月 **28** 号更新
22 |
23 | ### C++ 项目
24 | 1、[albert](https://hellogithub.com/periodical/statistics/click?target=https://github.com/albertlauncher/albert):Linux 平台下类似于 Mac Alfred 效率神器。支持开机自启动、自定义快捷键等功能
25 |
26 |
27 | 
28 |
29 | ### Go 项目
30 | 2、[rainbond](https://hellogithub.com/periodical/statistics/click?target=https://github.com/goodrain/rainbond):[好雨](http://www.rainbond.com/)开源的生产级无服务器 PaaS。用于为云原生应用的整个交付流程提供生产级支持,包括基础设施管理、容器化改造、微服务架构转型、DevOps 工作流落地、混合云多云管理等
31 |
32 |
33 | 
34 |
35 | ### Java 项目
36 | 3、[anychat](https://hellogithub.com/periodical/statistics/click?target=https://github.com/dianbaer/anychat):纯净的 WebSocket 聊天插件。服务器绝对控制权的推送机制,合理的线程设计,[在线 Demo](https://www.threecss.com/AnyChatClient/third-embed-demo.html)。功能如下:
37 | - 对接任何身份系统
38 | - 个人聊天、群聊天
39 | - 查看聊天记录
40 | - 离线消息推送
41 | - 支持嵌入式,通过 iframe 即可进行嵌入
42 | - 等等
43 |
44 |
45 | 
46 |
47 | 4、[awesome-java-leetcode](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Blankj/awesome-java-leetcode):[LeetCode](https://leetcode.com/) 上面主要收集了各大 IT 公司的笔试面试题。该项目为 LeetCode Java 语言的题解集合
48 |
49 |
50 | 5、[FloatWindow](https://hellogithub.com/periodical/statistics/click?target=https://github.com/yhaolpz/FloatWindow):Andorid 任意界面悬浮窗组件,功能丰富,使用简单。特性如下:
51 | - 支持拖动、自动贴边等动画
52 | - 内部自动进行权限申请操作
53 | - 应用退到后台时,悬浮窗会自动隐藏
54 | - 等等
55 |
56 |
57 | 
58 |
59 | 6、[GSYVideoPlayer](https://hellogithub.com/periodical/statistics/click?target=https://github.com/CarGuo/GSYVideoPlayer):Android 视频播放器。支持弹幕、滤镜、水印、截图、边播边缓存、重力旋转与手动旋转的同步等多种功能
60 |
61 |
62 | 
63 |
64 | ### JavaScript 项目
65 | 7、[handsontable](https://hellogithub.com/periodical/statistics/click?target=https://github.com/handsontable/handsontable):强大的开源 HTML5 表格处理工具,适用于中后台的很多业务场景。API 方便、扩展性好、可操作性强,与Execl 等表格处理程序兼容好。并支持非常丰富的操作,如数据绑定、验证、排序及强大的上下文菜单。示例代码如下:
66 | ```js
67 | var data = [
68 | ["", "Tesla", "Volvo", "Toyota", "Honda"],
69 | ["2017", 10, 11, 12, 13],
70 | ["2018", 20, 11, 14, 13],
71 | ["2019", 30, 15, 12, 13]
72 | ];
73 |
74 | var container = document.getElementById('example');
75 | var hot = new Handsontable(container, {
76 | data: data,
77 | rowHeaders: true,
78 | colHeaders: true,
79 | filters: true,
80 | dropdownMenu: true
81 | });
82 | ```
83 |
84 |
85 | 
86 |
87 | 8、[learnVue](https://hellogithub.com/periodical/statistics/click?target=https://github.com/answershuto/learnVue):该项目记录了[染陌](https://github.com/answershuto)学习 Vue.js 源码的过程中的心得、收获。以及对于Vue 框架周边库的个人见解。可以帮助开发人员深入地理解 Vue.js 源码
88 |
89 |
90 | 9、[webpack-component-loader](https://hellogithub.com/periodical/statistics/click?target=https://github.com/nicholaslee119/webpack-component-loader):在不借助框架的情况下,实现 Web component 的标准。该项目对于理解组件化的概念很有帮助
91 |
92 |
93 | 
94 |
95 | ### Python 项目
96 | 10、[shell-functools](https://hellogithub.com/periodical/statistics/click?target=https://github.com/sharkdp/shell-functools):把函数式的编程带入 shell,从而让很多事情变得简单。通过 Python 的高阶函数和内置模块 os.path 与命令的管道结合,达到了强大、高效的功效。相比于单纯的命令实现更加的直观和容易理解,示例代码如下:
97 | ```
98 | 示例 1
99 | # ls 查看当前目录下的文件
100 | > ls
101 | document.txt
102 | folder
103 | image.jpg
104 |
105 | # 通过 map abspath 展示这些文件的绝对路径
106 | > ls | map abspath
107 | /tmp/demo/document.txt
108 | /tmp/demo/folder
109 | /tmp/demo/image.jpg
110 |
111 | 示例 2
112 | # find 命令找到的文件和目录
113 | > find
114 | .
115 | ./folder
116 | ./folder/me.jpg
117 | ./folder/subdirectory
118 | ./folder/subdirectory/song.mp3
119 | ./document.txt
120 | ./image.jpg
121 |
122 | # 把找到的结果中的文件,重命名在末尾追加 .bak (备份文件)
123 | > find | filter is_file | map basename | map append ".bak"
124 | me.jpg.bak
125 | song.mp3.bak
126 | document.txt.bak
127 | image.jpg.bak
128 | ```
129 |
130 |
131 | 11、[tqdm](https://hellogithub.com/periodical/statistics/click?target=https://github.com/tqdm/tqdm):强大、快速、易扩展的 Python 进度条库。我想通过下面的示例代码和效果展示图,你会跑去给这个项目来个 Star 的
132 | ```python
133 | from tqdm import tqdm
134 | for i in tqdm(range(10000)):
135 | pass
136 | # 输出结果:
137 | # 76%|████████████████████████████ | 7568/10000 [00:33<00:10, 229.00it/s]
138 | ```
139 |
140 |
141 | 
142 |
143 | ### 其它
144 | 12、[API-Security-Checklist](https://hellogithub.com/periodical/statistics/click?target=https://github.com/shieldfy/API-Security-Checklist):开发安全的 API 所需要核对的清单,[中文](https://github.com/shieldfy/API-Security-Checklist/blob/master/README-zh.md)
145 |
146 |
147 | 13、[document-style-guide](https://hellogithub.com/periodical/statistics/click?target=https://github.com/ruanyf/document-style-guide):《中文技术文档的写作规范》
148 |
149 |
150 | 14、[http2-explained](https://hellogithub.com/periodical/statistics/click?target=https://github.com/bagder/http2-explained):这是一篇详细讲解 HTTP/2([RFC 7540](http://httpwg.org/specs/rfc7540.html))的文档,主要内容包括该协议的背景、思想、协议本身的内容、对一些现有实现的探讨与对协议未来的展望。[中文](https://bagder.gitbooks.io/http2-explained/zh/)
151 |
152 |
153 |
154 |
155 |
156 | 『上一期』 | 反馈和建议 | 『下一期』
157 |
158 |
159 | ---
160 |
161 | 👉 来!推荐开源项目 👈
162 | 微信中搜:HelloGitHub 关注公众号
163 | 不仅能第一时间收到推送,还有回馈粉丝的活动
164 | 如果文中的图刷不出来,可以点击 这里。
165 |
166 |
167 | ## 赞助
168 |
169 |
170 |
203 |
204 |
205 | ## 声明
206 | 
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
207 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub01.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.01
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### CSS
17 | 1、[typo.css](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sofish/typo.css):中文网页重设与排版,为了一致化浏览器排版效果,构建最适合中文阅读的网页排版。包括桌面和移动平台,[预览](http://typo.sofi.sh/)
18 |
19 |
20 | 
21 |
22 | ### JavaScript
23 | 2、[activate-power-mode](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/disjukr/activate-power-mode):爆炸输入效果,[在线演示](http://0xabcdef.com/activate-power-mode/)
24 |
25 |
26 |
27 | 
28 |
29 | 3、[ant-design](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ant-design/ant-design):阿里开源的一套企业级的 UI 设计语言和 React 实现。[中文文档](https://ant.design/docs/react/introduce-cn),样式偏向于后端,展示效果十分漂亮
30 |
31 |
32 | 
33 |
34 | 4、[VeryNginx](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/alexazhou/VeryNginx):一个功能强大而对人类友好的 Nginx 扩展程序。[VeryNginx 文档](https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md)
35 |
36 |
37 |
38 | 
39 |
40 | ### Python
41 | 5、[awesome-python-webapp](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/michaelliao/awesome-python-webapp):廖老师的 Python 入门教程中的实践项目的代码,[教程在线阅读](http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397616003925a3d157284cd24bc0952d6c4a7c9d8c55000)
42 |
43 |
44 | 6、[beijing_bus](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/wong2/beijing_bus):北京实时公交,可以显示查询的公交到达某站还需多久
45 |
46 |
47 |
48 | 
49 |
50 | 7、[Minos](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/phith0n/Minos):一个基于 Tornado/MongoDB/Redis 的社区系统
51 |
52 |
53 | 8、[tushare](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/waditu/tushare):TuShare 是一个免费、开源的 Python 财经数据接口包,[TuShare 文档](http://tushare.org/index.html)
54 |
55 |
56 |
57 | 
58 |
59 | ### Other
60 | 9、[archey-osx](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/obihann/archey-osx):命令行中显示 Mac OS X 计算机的基本信息
61 |
62 |
63 |
64 | 
65 |
66 | 10、[awesome-python-cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/jobbole/awesome-python-cn):awesome-python 中文版
67 |
68 |
69 | 11、[github](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/phodal/github):《GitHub 漫游指南》该指南能够让新手学会如何使用 GitHub 网站,从而加入到开源社区。phodal 从他和 GitHub 的青涩故事写起,全方位地介绍了 GitHub 这个网站,以及如何合理地使用这个网站
70 |
71 |
72 | 12、[Learning-SICP](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/DeathKing/Learning-SICP):《计算机程序的构造和解释》公开课
73 |
74 |
75 | 
76 |
77 | ### Book
78 | 13、[design_patterns](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/me115/design_patterns):《图说设计模式》,[在线阅读](https://design-patterns.readthedocs.io/zh_CN/latest/index.html#)
79 |
80 |
81 | 14、[intermediatePython](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yasoob/intermediatePython):《Intermediate Python》Python 进阶。这是本很薄的 Python 入门级书籍,每篇内容花个五分钟就能看完、看懂、有收获的那种。
82 |
83 | 15、[linuxtools_rst](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/me115/linuxtools_rst):《Linux 工具快速教程》,[在线阅读](http://linuxtools-rst.readthedocs.io/zh_CN/latest/)
84 |
85 |
86 | 16、[python3-cookbook](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yidao620c/python3-cookbook):《Python Cookbook 3rd 中文版》,[在线阅读](http://python3-cookbook.readthedocs.org/zh_CN/latest/)
87 |
88 |
89 | 17、[the_new_world_linux](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yangyangwithgnu/the_new_world_linux):《Linux 下的惬意生活》,[在线阅读](https://github.com/yangyangwithgnu/the_new_world_linux#目录)
90 |
91 |
92 |
93 |
94 |
95 | 『Previous』 | Feedback | 『Next』
96 |
97 |
98 | ---
99 |
100 | 👉 Submit open-source project! 👈
101 |
102 |
103 | ## Sponsor
104 |
105 |
106 |
139 |
140 |
141 | ## Disclaimer
142 | 
143 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
144 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub02.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.02
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### CSS
17 | 1、[github-markdown-css](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sindresorhus/github-markdown-css):仿 GitHub 的 Markdown 的样式,就是使用了这个 CSS 后,Markdown 展示效果和 GitHub 的大致一样。[示例](https://sindresorhus.com/github-markdown-css/)
18 |
19 |
20 | 
21 |
22 | ### JavaScript
23 | 2、[ant-motion](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ant-design/ant-motion):阿里开源的项目,一套 React 框架动效解决方案,可以帮助开发者,更容易的在项目中使用动效。同时可以方便快捷地制作一个公司的介绍页,[在线演示](https://motion.ant.design/)
24 |
25 |
26 | 3、[jquery-weui](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/lihongxun945/jquery-weui):可能是最好用 WeUI 版本,展示效果如下:
27 |
28 |
29 |
30 | 
31 |
32 | 4、[listen1_desktop](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/listen1/listen1_desktop):Listen 1 让你用一个网页就能听到多个网站的在线音乐,支持各种平台。如图:
33 |
34 |
35 |
36 | 
37 |
38 | 5、[ssbc](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/78/ssbc):Python Django 写的种子搜索网站——手撕包菜,如图:
39 |
40 |
41 |
42 | 
43 |
44 | 6、[waitForImages](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/alexanderdickson/waitForImages):背景加载完事件,示例代码:
45 | ```html
46 |
47 |
54 | ```
55 |
56 |
57 | 7、[wechat-h5-boilerplate](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/panteng/wechat-h5-boilerplate):为腾讯微信优化的 HTML5 动效模板,帮助你快速构建全屏滚动型 HTML5 页面,[示例](https://panteng.github.io/wechat-h5-boilerplate/)
58 |
59 |
60 | 
61 |
62 | ### Python
63 | 8、[algorithm](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/qiwsir/algorithm):老齐的 Python 算法教程
64 |
65 |
66 | 9、[mincss](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/peterbe/mincss):Python 写的用来找到 CSS 中没有用到的代码片段,并删除。适用于:想要做一个页面,但是不会写 CSS 人。示例代码如下:
67 | ```python
68 | #coding:utf-8
69 | #!/usr/bin/env python
70 | from __future__ import print_function
71 | import sys, os
72 | sys.path.insert(0, os.path.abspath('.'))
73 | from mincss.processor import Processor
74 |
75 | # 这里改成想要参考的页面
76 | URL = 'http://localhost:9000/page.html'
77 |
78 | def run():
79 | p = Processor()
80 | p.process(URL)
81 |
82 | # 输出INlink的css的简化前和简化后的css代码
83 | print("INLINES ".ljust(79, '-'))
84 | for each in p.inlines:
85 | print("On line %s" % each.line)
86 | print('- ' * 40)
87 | print("BEFORE")
88 | print(each.before)
89 | print('- ' * 40)
90 | print("AFTER:")
91 | print(each.after)
92 |
93 | # 输出link引用的css的简化前和简化后的css代码
94 | print("LINKS ".ljust(79, '-'))
95 | for each in p.links:
96 | print("On href %s" % each.href)
97 | print('- ' * 40)
98 | print("BEFORE")
99 | print(each.before)
100 | print('- ' * 40)
101 | print("AFTER:")
102 | print(each.after)
103 |
104 | if __name__ == '__main__':
105 | run()
106 | ```
107 |
108 |
109 | 10、[python-gems](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/RealHacker/python-gems):有趣的 Pyhton 代码片段集合
110 |
111 |
112 | 11、[python-goose](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/grangier/python-goose):Goose 用于文章提取器,提取中文内容的示例代码:
113 | ```python
114 | >>> from goose import Goose
115 | >>> from goose.text import StopWordsChinese
116 | >>> url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
117 | >>> g = Goose({'stopwords_class': StopWordsChinese})
118 | >>> article = g.extract(url=url)
119 | >>> print article.cleaned_text[:150]
120 | 香港行政长官梁振英在各方压力下就其大宅的违章建筑(僭建)问题到立法会接受质询,并向香港民众道歉。
121 |
122 | 梁振英在星期二(12月10日)的答问大会开始之际在其演说中道歉,但强调他在违章建筑问题上没有隐瞒的意图和动机。
123 |
124 | 一些亲北京阵营议员欢迎梁振英道歉,且认为应能获得香港民众接受,但这些议员也质问梁振英有
125 | ```
126 |
127 |
128 | ### Other
129 | 12、[leetcode-solutions](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/RealHacker/leetcode-solutions):Leetcode OJ 的 Python 算法实现
130 |
131 |
132 |
133 |
134 |
135 | 『Previous』 | Feedback | 『Next』
136 |
137 |
138 | ---
139 |
140 | 👉 Submit open-source project! 👈
141 |
142 |
143 | ## Sponsor
144 |
145 |
146 |
179 |
180 |
181 | ## Disclaimer
182 | 
183 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
184 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub03.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.03
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### CSS
17 | 1、[animate.css](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/animate-css/animate.css):提供炫酷动画效果,同时方便、易用、跨浏览器的 CSS 库。[在线演示](https://daneden.github.io/animate.css/)
18 |
19 |
20 | 2、[mui](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/dcloudio/mui):最接近原生 APP 体验的高性能框架。性能和体验的差距,一直是 mobile App 开发者放弃 HTML5 的首要原因。mui 框架有效的解决了这些问题,这是一个可以方便开发出高性能 App 的框架,也是目前最接近原生 App 效果的框架。[mui 官网](http://dev.dcloud.net.cn/mui/)
21 |
22 |
23 | ### Go
24 | 3、[pholcus](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/andeya/pholcus):Pholcus 是 Go 写的重量级爬虫,纯 Go 语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有 Web、GUI、命令行三种操作界面,功能齐全、强大。[使用手册](https://pholcus.gitbooks.io/docs/content/),使用展示如图:
25 |
26 |
27 |
28 | 
29 |
30 | ### Java
31 | 4、[greys-anatomy](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/oldmanpushcart/greys-anatomy):Greys 是 Java 在线问题诊断工具。
32 |
33 |
34 | ### JavaScript
35 | 5、[editor.md](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/pandao/editor.md):是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。[在线尝试](http://lab.lepture.com/editor/),使用展示如图:
36 |
37 |
38 |
39 | 
40 |
41 | 6、[OS.js](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/os-js/OS.js):JavaScript 写的基于浏览器上的桌面操作系统。[在线演示](https://demo.os-js.org/),使用展示如图:
42 |
43 |
44 |
45 | 
46 |
47 | ### Python
48 | 7、[KindleEar](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/cdhigh/KindleEar):这是一个运行在 Google App Engine(GAE) 上的 Kindle 个人推送服务应用,生成排版精美的杂志模式 `mobi/epub` 格式自动每天推送至您的 Kindle 或其他邮箱。
49 |
50 |
51 | 8、[walle-web](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/meolu/walle-web):Walle(瓦力) 一个 Web 部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用!支持 git、svn 版本管理,支持各种 Web 代码发布,静态的 HTML,动态 PHP,需要编译的 Java 等。[中文介绍](https://github.com/meolu/walle-web/blob/master/docs/README-zh.md),使用展示如图:
52 |
53 |
54 |
55 | 
56 |
57 | ### Other
58 | 9、[css-creating](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/cssdream/css-creating):CSS 创作指南
59 |
60 |
61 |
62 |
63 |
64 | 『Previous』 | Feedback | 『Next』
65 |
66 |
67 | ---
68 |
69 | 👉 Submit open-source project! 👈
70 |
71 |
72 | ## Sponsor
73 |
74 |
75 |
108 |
109 |
110 | ## Disclaimer
111 | 
112 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
113 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub04.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.04
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### Java
17 | 1、[cachecloud](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sohutv/cachecloud):Sohu's Open Source Redis Private Cloud Platform. This is an enterprise-level online management platform for Redis, supporting various architectures such as Cluster and Sentinel, which can effectively reduce the operational costs of Redis at a large scale.
18 |
19 | 
20 |
21 | ### JavaScript
22 | 2、[zhihudaily-vue](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yatessss/zhihudaily-vue):用 Vue.js 写的知乎日报手机 Web 版,需打开 chrome 浏览器的手机模拟功能,来获得比较好的浏览效果。访问展示图如下:
23 |
24 |
25 |
26 | 
27 |
28 | 3、[zingtouch](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/zingchart/zingtouch):支持移动端各种触摸动作包含:转动、挥动、滑动等动作的库,[官方网站](https://zingchart.github.io/zingtouch/),展示图如下:
29 |
30 |
31 |
32 | 
33 |
34 | ### Python
35 | 4、[flask-admin](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/pallets-eco/flask-admin):我工作中需要写一个微型的管理系统,用的就是这个框架。简直快餐型,页面都写好了,只要设置好相关配置就可以跑起来了。唯一缺点就是文档中的例子少,开发一些特定的需求需要自己看源码,才能知道如何改。[文档](https://flask-admin.readthedocs.io/en/latest/),下面是我跑起来之后的样子:
36 |
37 |
38 |
39 | 
40 |
41 | 5、[python-guide](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/realpython/python-guide):Requests 库的作者——kennethreitz,写的 Python 入门教程。不单单是语法层面的,涵盖项目结构、代码风格,进阶、工具等方方面面。虽然是**英文版**([中文翻译版](http://pythonguidecn.readthedocs.io/zh/latest/)),但我这个英语渣都能看懂,你肯定也可以,快去看看吧,开卷有益。[在线阅读](http://docs.python-guide.org/en/latest/)
42 |
43 |
44 | 
45 |
46 | 6、[python-sdk](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/qiniu/python-sdk):七牛云存储 SDK。我自己在用他家的服务,上手简单、有免费额度,可以用来做‘图床’,同时,有了这个 SDK 可以写一些好用的小工具。**注意**:图床不能随便用,我曾经就用超了,账户的钱能扣成**负数**!
47 |
48 |
49 | ### Other
50 | 7、[AndroidInterview-Q-A](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/JackyAndroid/AndroidInterview-Q-A):这个项目主要是国内一线互联网公司的 Java 和 Android 方面的内部面试题。
51 |
52 |
53 | 8、[awesome-mac](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/jaywcjlove/awesome-mac):排版相当好的一个 awesome 系列文章,文中介绍了很多 Mac 上好用的工具。
54 |
55 |
56 | 9、[Front-end-Web-Development-Interview-Question](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/paddingme/Front-end-Web-Development-Interview-Question):前端开发面试题大收集
57 |
58 |
59 | 10、[interview](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/HIT-Alibaba/interview):笔试面试知识整理(涵盖:IOS、Android、计算机基础),[在线阅读](https://hit-alibaba.github.io/interview/index.html)
60 |
61 |
62 | 11、[interview_python](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/taizilongxu/interview_python):关于 Python 的面试题
63 |
64 |
65 | 12、[neural-networks-and-deep-learning](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/mnielsen/neural-networks-and-deep-learning):《神经网络与深度学习》相关代码 Python 实现,[神经网络与深度学习-中文在线阅读](https://tigerneil.gitbooks.io/neural-networks-and-deep-learning-zh/content/chapter1.html),该书中的相关理论的 Python 代码实现
66 |
67 |
68 | 13、[PyZh](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/MrKiven/PyZh):Python 经典的技术文章的翻译和收集,[在线阅读](http://pyzh.readthedocs.io/en/latest/)
69 |
70 |
71 |
72 |
73 |
74 | 『Previous』 | Feedback | 『Next』
75 |
76 |
77 | ---
78 |
79 | 👉 Submit open-source project! 👈
80 |
81 |
82 | ## Sponsor
83 |
84 |
85 |
118 |
119 |
120 | ## Disclaimer
121 | 
122 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
123 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub05.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.05
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C#
17 | 1、[WeiXinMPSDK](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/JeffreySu/WeiXinMPSDK):微信公众平台 SDK,支持 .NET Framework 及 .NET Core。已支持微信公众号、企业号、开放平台、微信支付、JSSDK。此项目开源、免费、持续维护。
18 |
19 |
20 | ### Go
21 | 2、[gh-ost](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/github/gh-ost):GitHub 开源的在线修改表结构工具。目的是解决一个经常碰到的问题:不断变化的产品需求会不断要求更改 MySQL 表结构。gh-ost 通过一种影响小、可控制、可审计、操作简单而且安全的方式来改变线上表结构。[中文简介](http://www.infoq.com/cn/news/2016/08/GitHub-MySQL-gh-ost?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global)
22 |
23 |
24 |
25 | 
26 |
27 | 3、[gogs](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/gogs/gogs):用 Go 写的一款极易搭建的自助 Git 服务,支持所有平台。就像 GitLab 一样的服务,但是 GitLab 是基于 ruby 语言的。另外:完善的中文文档、支持 Go 语言支持的所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。[中文介绍](https://github.com/gogits/gogs/blob/master/README_ZH.md)
28 |
29 |
30 |
31 | 
32 |
33 | ### JavaScript
34 | 4、[share.js](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/overtrue/share.js):一键分享到微博、QQ 空间、QQ 好友、微信、腾讯微博、豆瓣等社交网站的 JavaScript 项目。[在线演示](http://overtrue.me/share.js/)
35 |
36 |
37 |
38 | 
39 |
40 | ### PHP
41 | 5、[pinyin](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/overtrue/pinyin):基于 CC-CEDICT 词典的中文转拼音工具,更准确的支持多音字的汉字转拼音解决方案,示例代码:
42 | ```php
43 | use OvertruePinyinPinyin;
44 |
45 | $pinyin = new Pinyin();
46 |
47 | $pinyin->convert('带着希望去旅行,比到达终点更美好');
48 | // ["dai", "zhe", "xi", "wang", "qu", "lv", "xing", "bi", "dao", "da", "zhong", "dian", "geng", "mei", "hao"]
49 |
50 | $pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_UNICODE);
51 | // ["dài","zhe","xī","wàng","qù","lǚ","xíng","bǐ","dào","dá","zhōng","diǎn","gèng","měi","hǎo"]
52 |
53 | $pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_ASCII);
54 | //["dai4","zhe","xi1","wang4","qu4","lv3","xing2","bi3","dao4","da2","zhong1","dian3","geng4","mei3","hao3"]
55 | ```
56 |
57 |
58 | ### Python
59 | 6、[flaskbb](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/flaskbb/flaskbb):基于 Flask 框架做的论坛,功能有限,轻量级的论坛应用[在线文档](https://flaskbb.readthedocs.io/en/latest/index.html),可以在这个项目上进行二次开发,实现更加复杂的功能。[在线预览](https://forums.flaskbb.org)
60 |
61 |
62 |
63 | 
64 |
65 | 7、[fuck-login](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/xchaoinfo/fuck-login):模拟登录一些知名的网站,为了方便爬取需要登录的网站。**注意**:控制爬虫的爬取频率!
66 |
67 |
68 | 8、[superset](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/apache/superset):企业级的数据探索、展示平台。功能很强大,可以用来做数据分析、展示。如下图:
69 |
70 |
71 |
72 | 
73 |
74 | ### Other
75 | 9、[bytesize-icons](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/danklammer/bytesize-icons):极小、极简的 SVG 图标集合,[在线演示](http://danklammer.com/articles/svg-stroke-ftw/#give-it-a-spin)。
76 |
77 |
78 |
79 | 
80 |
81 | 10、[gitignore](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/github/gitignore):各种 `gitignore` 模版,特别全,应该能找到你需要的。[什么是 gitignore 文件](http://gitbook.liuhui998.com/4_1.html)。
82 |
83 |
84 | 11、[security-guide-for-developers](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/FallibleInc/security-guide-for-developers):这是一个实际工作中会用到的安全 checklist。作为一个 real world web developer 你应该在实际工作中不断地谨慎使用这套列表,减少安全隐患。[中文翻译版](https://github.com/FallibleInc/security-guide-for-developers/blob/master/README-zh.md)
85 |
86 |
87 | 12、[Solve-App-Store-Review-Problem](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/zhichengfalv/Solve-App-Store-Review-Problem):App Store 审核未通过的解决方案。
88 |
89 |
90 |
91 |
92 |
93 | 『Previous』 | Feedback | 『Next』
94 |
95 |
96 | ---
97 |
98 | 👉 Submit open-source project! 👈
99 |
100 |
101 | ## Sponsor
102 |
103 |
104 |
137 |
138 |
139 | ## Disclaimer
140 | 
141 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
142 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub06.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.06
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C#
17 | 1、[Cowboy](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/gaochundong/Cowboy):一个基于 .NET/C# 实现的开源 WebSocket 网络库。[详细介绍](http://www.cnblogs.com/gaochundong/p/cowboy_websockets.html)
18 |
19 |
20 | ### Go
21 | 2、[wukong](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/huichen/wukong):悟空引擎是一个高度可定制的全文搜索引擎,[为什么要有悟空引擎](https://github.com/huichen/wukong/blob/master/docs/why_wukong.md),[入门教程](https://github.com/huichen/wukong/blob/master/docs/codelab.md),这个项目的搜索引擎原理如下:
22 |
23 |
24 |
25 | 
26 |
27 | ### Java
28 | 3、[disconf](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/knightliao/disconf):一个企业级的分布式配置管理平台,专注于各种分布式系统配置管理的通用平台,提供统一的配置管理服务。核心目标:一个 jar 包,到处运行。[在线文档](http://disconf.readthedocs.io/zh_CN/latest/index.html)
29 |
30 |
31 | 4、[moco](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/dreamhead/moco):开发过程中需要依赖一些接口,这些接口要么是搭建环境困难,要么是还没有实现,要么是交互比较复杂。这种情况下,使用 mock server 来 mock(模拟)这些接口,以便开发和测试能够正常进行。快速上手步骤:
32 | ```
33 | 1. 下载 Moco:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-runner-0.11.0-standalone.jar
34 |
35 | 2. 写需要返回的reponse数据格式如下:
36 | [
37 | {
38 | "response" :
39 | {
40 | "text" : "Hello, Moco"
41 | }
42 | }
43 | ]
44 | (文件名:foo.json)
45 |
46 | 3.运行
47 | java -jar moco-runner--standalone.jar http -p 12306 -c foo.json
48 |
49 | 4. 访问 http://localhost:12306,你将会看到 “Hello, Moco”
50 | ```
51 |
52 |
53 | ### JavaScript
54 | 5、[nodeppt](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ksky521/nodeppt):这可能是迄今为止最好的网页版演示库,[在线演示](http://qdemo.sinaapp.com/)
55 |
56 |
57 | 6、[vue-sui-demo](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/eteplus/vue-sui-demo):这是一个用 Vue 和 SUI-Mobile 写的移动端 Demo,可以用来学习 Vue.js。[项目线上预览](https://eteplus.github.io/vue-sui-demo/),效果图如下:
58 |
59 |
60 |
61 | 
62 |
63 | ### Python
64 | 7、[amazing-qr](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/x-hw/amazing-qr):Python 写的生成动态、彩色、各式各样的二维码,详细的[中文文档](https://github.com/sylnsfar/qrcode/blob/master/README-cn.md),通过 `qrcode` 生成的二维码样式如下:
65 |
66 |
67 |
68 | 
69 |
70 | 8、[Young](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/shiyanhui/Young):基于 Tornado 框架、MongoDB 数据库,写的功能丰富的社区项目。详细的[安装步骤](https://github.com/shiyanhui/Young/blob/master/README_CN.md),适合学习如何创建社区类 Web App。[在线预览](http://beyoung.io/),项目运行效果图:
71 |
72 |
73 |
74 | 
75 |
76 | ### Swift
77 | 9、[12306ForMac](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/fancymax/12306ForMac):非官方的 12306 购票,Mac OS 客户端
78 |
79 |
80 |
81 | 
82 |
83 | ### Other
84 | 10、[Apollo-11](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/chrislgarry/Apollo-11):阿波罗 11 号代码,[中文介绍](https://github.com/chrislgarry/Apollo-11/blob/master/README.zh_cn.md)
85 |
86 |
87 | 11、[gvm](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/moovweb/gvm):Go 版本管理工具,可以通过命令,无痛切换不同的 Go 版本,示例指令:
88 | ```
89 | 1. 安装gvm:bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
90 |
91 | 2. 根据提示,在shell配置中加入:source /PATH/.gvm/scripts/gvm
92 |
93 | 3. 以下为常用命令:
94 | gvm install go1.4 # 安装制定版本的GO
95 | gvm use go1.4 # 使用制定版本的GO
96 |
97 | 4. Mac下安装Go时如果出现错误,就安装依赖的库:
98 | xcode-select --install
99 | brew update
100 | brew install mercurial
101 |
102 | 5. 我在使用中发现的问题:
103 | 安装Go时没有进度条
104 | ```
105 |
106 |
107 | 12、[LearningNotes](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/francistao/LearningNotes):很全面的学习笔记,偏向 Android 和 Java
108 |
109 |
110 | 13、[weapp-ide-crack](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/gavinkwoe/weapp-ide-crack):【应用号】IDE + 破解 + Demo
111 |
112 |
113 |
114 |
115 |
116 | 『Previous』 | Feedback | 『Next』
117 |
118 |
119 | ---
120 |
121 | 👉 Submit open-source project! 👈
122 |
123 |
124 | ## Sponsor
125 |
126 |
127 |
160 |
161 |
162 | ## Disclaimer
163 | 
164 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
165 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub09.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.09
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C++
17 | 1、[json](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nlohmann/json):C++ 的 JSON 库
18 |
19 |
20 |
21 | 
22 |
23 | ### Go
24 | 2、[vim-go](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/fatih/vim-go):Go 的 vim 配置
25 |
26 |
27 | ### Java
28 | 3、[android](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/SmartisanTech/android):锤子开源的 One Step 项目,一步(one step)是通过拖拽完成将信息发送至应用或联系人的动作,节省了在不同应用之间切换的诸多步骤,第一次打通了手持设备中应用间的边界,[One Step](http://www.smartisan.com/m1/#/os?section=onestep)
29 |
30 |
31 | 4、[android-open-project](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Trinea/android-open-project):Android 开源项目分类汇总
32 |
33 |
34 | 5、[MSEC](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Tencent/MSEC):腾讯开源的毫秒服务引擎(Mass Service Engine in Cluster)。它是一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引擎集 RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、key-value 存储于一体,[官网介绍](http://haomiao.qq.com/index.html#documents)
35 |
36 |
37 | ### JavaScript
38 | 6、[N-blog](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nswbmw/N-blog):面向新手的 Node.js 教程,该教程讲述了 Node.js 基本知识点,同时结合搭建一个多人博客的实战,从零基础到实际开发,由浅到深帮助新手入门 Node.js 这门语言
39 |
40 |
41 | 7、[pomelo](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/NetEase/pomelo):Pomelo 网易开源的一个 Node.js 游戏服务器框架,[Demo](http://pomelo.netease.com/demo.html)
42 |
43 |
44 | 8、[vue-hackernews-2.0](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/vuejs/vue-hackernews-2.0):这是一个 Vue2.0 示例,克隆 [Hacker News](https://news.ycombinator.com/) 网站(我感觉比原站好看多了😅)
45 |
46 |
47 |
48 | 
49 |
50 | ### PHP
51 | 9、[VulApps](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Medicean/VulApps):用于快速搭建各种漏洞环境,可用来学习、理解常见的漏洞,增强自己在开发过程的安全意识
52 |
53 |
54 | ### Python
55 | 10、[flask-limiter](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/alisaifee/flask-limiter):一个 Flask 的扩展库,它可以根据访问者的 IP 限制其访问频率、次数等。示例代码如下:
56 | ```python
57 | from flask import Flask
58 | from flask_limiter import Limiter
59 | from flask_limiter.util import get_remote_address
60 |
61 | app = Flask(__name__)
62 | limiter = Limiter(
63 | app,
64 | key_func=get_remote_address,
65 | global_limits=["2 per minute", "1 per second"],
66 | )
67 |
68 | @app.route("/slow")
69 | @limiter.limit("1 per day")
70 | def slow():
71 | return "24"
72 |
73 | @app.route("/fast")
74 | def fast():
75 | return "42"
76 |
77 | @app.route("/ping")
78 | @limiter.exempt
79 | def ping():
80 | return 'PONG'
81 |
82 | app.run()
83 | ```
84 |
85 |
86 | 11、[glances](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nicolargo/glances):一个可以让你**一目了然**你的系统情况(类 (h)top)的工具,它界面友好,安装方便:`pip install glances`
87 |
88 |
89 |
90 | 
91 |
92 | 12、[ngrok](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/inconshreveable/ngrok):一个十分方便、好用的内网穿透工具,它可以把本地某个端口的服务,通过一个安全隧道,映射到公网的一个地址。同时它提供了一个 Web 页面,展示了每个请求、响应的所有信息,便于调试本地的程序。基本的使用方法如下:
93 | ```
94 | ngrok 协议 本地服务监听的端口
95 | ngrok http 8000
96 |
97 | 创建成功会返回公网地址,然后通过该地址就可以访问到本地的服务。
98 | 本地访问 http://localhost:4040,就可以查看关于每个请求、响应的相关数据
99 | ```
100 |
101 |
102 |
103 | 
104 |
105 | ### Swift
106 | 13、[Kingfisher](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/onevcat/Kingfisher):Kingfisher 是一个异步下载和缓存图片的库,你可以把它看做 SDWebImage 的纯 Swift 实现和替代。它可以帮助简单地实现像是用户头像或者 table view 里面的图片的下载和缓存这样的工作,以提高 app 速度和帮助开发者节省时间,[作者的中文博客](http://project.onevcat.com/)
107 |
108 |
109 | ### AI
110 | 14、[machine-learning-for-software-engineers](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ZuzooVn/machine-learning-for-software-engineers):自上而下的学习路线,软件工程师的机器学习,[中文版](https://github.com/ZuzooVn/machine-learning-for-software-engineers/blob/master/README-zh-CN.md)
111 |
112 |
113 | ### Other
114 | 15、[best-chinese-front-end-blogs](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/FrankFang/best-chinese-front-end-blogs):该项目是收集优质的中文前端博客
115 |
116 |
117 | 16、[freecodecamp.cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/FreeCodeCampChina/freecodecamp.cn):freecodecamp 是一个自由的开源编程社区,[freecodecamp 中文社区](https://freecodecamp.cn)
118 |
119 |
120 | 17、[golang-open-source-projects](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/hackstoic/golang-open-source-projects):中文版 awesome-go
121 |
122 |
123 | 18、[Learn-Algorithms](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nonstriater/Learn-Algorithms):算法数据结构学习,C 语言实现
124 |
125 |
126 | ### Book
127 | 19、[the-way-to-go_ZH_CN](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/unknwon/the-way-to-go_ZH_CN):《The Way to Go》中文译本,中文正式名《Go 入门指南》
128 |
129 |
130 |
131 |
132 |
133 | 『Previous』 | Feedback | 『Next』
134 |
135 |
136 | ---
137 |
138 | 👉 Submit open-source project! 👈
139 |
140 |
141 | ## Sponsor
142 |
143 |
144 |
177 |
178 |
179 | ## Disclaimer
180 | 
181 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
182 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub11.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.11
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C
17 | 1、[wrk](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/wg/wrk):现代 HTTP 基准测试(实现对一类测试对象的某项性能指标进行定量的和可对比的测试)工具,使用示例:
18 | ```sh
19 | # 输入命令
20 | wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html
21 |
22 | # 输出
23 | Running 30s test @ http://127.0.0.1:8080/index.html
24 | 12 threads and 400 connections
25 | Thread Stats Avg Stdev Max +/- Stdev
26 | Latency 635.91us 0.89ms 12.92ms 93.69%
27 | Req/Sec 56.20k 8.07k 62.00k 86.54%
28 | 22464657 requests in 30.00s, 17.76GB read
29 | Requests/sec: 748868.53
30 | Transfer/sec: 606.33MB
31 | ```
32 |
33 |
34 | ### Go
35 | 2、[baetyl](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/baetyl/baetyl):百度云开源的边缘计算平台,可将云计算能力拓展至用户现场,提供临时离线、低延时的计算服务,包括设备接入、消息路由、消息远程同步、函数计算、视频接入预处理、AI推断等功能
36 |
37 |
38 | 3、[negroni](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/urfave/negroni):Negroni 是一个很地道的 Web 中间件,它不是一个框架,是为了方便使用 net/http 而设计的一个库而已。[中文介绍](https://github.com/urfave/negroni/blob/master/translations/README_zh_cn.md)
39 |
40 |
41 | ### Java
42 | 4、[GitClub](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/TellH/GitClub):GitClub 不仅仅是一个 GitHub 客户端,还是一个发现优秀 GitHub 开源项目的 App
43 |
44 |
45 | 5、[jvm-mon](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ajermakovics/jvm-mon):命令行模式的 JVM 监控
46 |
47 |
48 |
49 | 
50 |
51 | 6、[tale](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/otale/tale):简洁、漂亮、轻量级、Java 博客,[在线预览](https://tale.biezhi.me/)。特性:
52 | - 设计简洁,界面美观
53 | - Markdown 文章发布
54 | - 自定义文章链接
55 | - 支持多主题
56 | - 支持 Emoji 表情
57 | - 支持网易云音乐播放
58 | - 支持附件和数据库备份
59 | - 部署简单,不依赖 Tomcat
60 |
61 |
62 |
63 | 
64 |
65 | ### JavaScript
66 | 7、[react-tetris](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/chvin/react-tetris):逼真的俄罗斯方块(非常逼真、强大!),详细的技术介绍,[在线试玩](https://chvin.github.io/react-tetris/?lan=zh)
67 |
68 |
69 |
70 | 
71 |
72 | ### Python
73 | 8、[fastText](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/facebookresearch/fastText):fastText 简而言之,就是把文档中所有词通过 lookup table 变成向量,取平均后直接用线性分类器得到分类结果。[fastText 的实现](https://www.zybuluo.com/Wayne-Z/note/460881)
74 |
75 |
76 | 9、[mongoaudit](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/stampery/mongoaudit):强大的 MongoDB 渗透测试工具,用于发掘 MongoDB 漏洞、并提出改善方法。
77 | - 安装:`pip install mongoaudit`
78 | - 运行:`python mongoaudit`
79 |
80 |
81 | 10、[sh](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/amoffat/sh):sh 是一个成熟,用于替代 subprocess,它允许你调用任何程序,就像它是一个函数,支持 Python2.6 - 3.5
82 |
83 | ```python
84 | from sh import ifconfig
85 | print ifconfig("eth0")
86 | ```
87 |
88 |
89 | ### Swift
90 | 11、[Swift-30-Projects](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/soapyigu/Swift-30-Projects):30 个小型 Swift Apps,可以用来上手学习、练习移动开发。
91 |
92 |
93 |
94 | 
95 |
96 | ### Other
97 | 12、[chinese-programmer-wrong-pronunciation](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/shimohq/chinese-programmer-wrong-pronunciation):中国程序员容易发音错误的单词
98 |
99 |
100 | 13、[golang-cheat-sheet](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/a8m/golang-cheat-sheet):(英文)Go 语法特性集合
101 |
102 |
103 | 14、[linux-command](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/jaywcjlove/linux-command):Linux 命令大全搜索工具,内容包含 Linux 命令手册、详解、学习、搜集
104 |
105 |
106 | ### Book
107 | 15、[book](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/qyuhen/book):雨痕大神写的学习笔记
108 |
109 |
110 | 16、[docker_practice](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yeasy/docker_practice):Docker 从入门到实践
111 |
112 |
113 | 17、[nginx-book](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/taobao/nginx-book):Nginx 开发从入门到精通——本书的作者为淘宝核心系统服务器平台组的成员
114 |
115 |
116 | 18、[open-shell-book](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/tinyclub/open-shell-book):《Shell 编程范例》,面向操作对象学 Shell!
117 |
118 |
119 | 19、[python-data-structure-cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/facert/python-data-structure-cn):《Problem Solving with Algorithms and Data Structures using Python》中文版
120 |
121 |
122 | 20、[react-cookbook](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/shimohq/react-cookbook):编写简洁漂亮,可维护的 React 应用
123 |
124 |
125 | 21、[real-world-haskell-cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/huangzworks/real-world-haskell-cn):《Real World Haskell》中文翻译项目
126 |
127 |
128 | 22、[rust-book-chinese](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/KaiserY/rust-book-chinese):Rust 程序设计语言 中文版
129 |
130 |
131 |
132 |
133 |
134 | 『Previous』 | Feedback | 『Next』
135 |
136 |
137 | ---
138 |
139 | 👉 Submit open-source project! 👈
140 |
141 |
142 | ## Sponsor
143 |
144 |
145 |
178 |
179 |
180 | ## Disclaimer
181 | 
182 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
183 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub12.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.12
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C
17 | 1、[tbox](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/tboox/tbox):一个用 C 语言实现的跨平台开发库,用于解决不同操作系统的兼容问题,并且充分利用了各个平台独有的一些特性进行优化。[中文说明](https://github.com/tboox/tbox/blob/master/README_zh.md)
18 |
19 |
20 |
21 | ### C#
22 | 2、[ScreenToGif](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/NickeManarin/ScreenToGif):此工具可以记录屏幕的选定区域、网络摄像头的实时图像和绘图板上的实时图像。可以编辑并将动画保存为 GIF 或视频
23 |
24 |
25 |
26 | 
27 |
28 | ### Go
29 | 3、[sshtron](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/zachlatta/sshtron):sshtron 是通过 SSH 运行的多人贪吃蛇游戏,命令行输入:`ssh sshtron.zachlatta.com`,无需安装等待几秒即可进行游戏(因为服务器在国外,很卡😅)
30 |
31 |
32 |
33 | 
34 |
35 | 4、[wuzz](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/asciimoo/wuzz):wuzz 是用于调试 HTTP 请求的交互式命令行工具,可以用来检查和修改请求。常用操作如下:
36 |
37 | | Keybinding | Description |
38 | | :--------- | :------ |
39 | | Ctrl+R | 发送请求 |
40 | | Ctrl+C | 退出 |
41 | | Ctrl+K,Shift+Tab | 前视图 |
42 | | Ctlr+J,Tab | 下一个视图 |
43 | | Ctrl+H,Alt+H | 打开/关闭历史 |
44 | | Down | 向下移动一条视图线 |
45 | | Up | 向上移动一条视图线 |
46 | | Page down | 向下移动一个视图页 |
47 | | Page up | 向下移动一个视图页 |
48 | | F2 | 跳转到 URL |
49 | | F3 | 跳转到查询参数 |
50 | | F4 | 跳转到 HTTP 方法 |
51 | | F5 | 跳转到请求体 |
52 | | F6 | 跳转到 header |
53 | | F7 | 跳转到搜索 |
54 | | F8 | 跳转到响应 header |
55 | | F9 | 跳转到响应体 |
56 |
57 |
58 |
59 | 
60 |
61 | 5、[xbar](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/matryer/xbar):Bitbar 是可以将任何(自己或别人写好的)脚本的**输出**到 Mac OS 的状态栏上。同时,支持自定义更新频率。例如:定时获取比特币的价格、HelloGitHub 项目的 star 数量,使用步骤如下:
62 |
63 | 1. 运行该程序,选择脚本所在目录
64 | 2. 确保脚本的有执行权限,赋予执行权限的命令:`chmod +x script.sh`
65 | 3. 选择 `Refresh all`,刷新使之生效
66 |
67 |
68 |
69 | 
70 |
71 | ### Java
72 | 6、[fresco](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/facebook/fresco):Facebook 开源的 Android 管理图片的库,[中文文档](https://www.fresco-cn.org/docs/index.html)。包含功能如下:
73 | - 显示占位图直到加载完成
74 | - 下载图片
75 | - 缓存图片
76 | - 图片不再显示时,从内存中移除
77 | - 等等
78 |
79 |
80 | ### JavaScript
81 | 7、[octotree](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ovity/octotree):为 GitHub 和 GitLab 网站,提供直观地显示项目目录结构的浏览器插件,效果如下:
82 |
83 |
84 |
85 | 
86 |
87 | 8、[screenfull](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sindresorhus/screenfull):极小、跨平台的 JavaScript 全屏插件,[在线 demo](https://sindresorhus.com/screenfull.js/)
88 |
89 |
90 | 9、[standard](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/standard/standard):统一 JavaScript,只需一种样式,[中文](https://github.com/feross/standard/blob/master/docs/README-zhtw.md)
91 |
92 |
93 | 10、[vue2-elm](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/bailicangdu/vue2-elm):基于 vue2 + vuex 构建一个大型单页面应用,此项目大大小小共 45 个页面,涉及注册、登录、商品展示、购物车、下单等等,是一个完整的流程,
94 |
95 |
96 |
97 | 
98 |
99 | ### Python
100 | 11、[mycli](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/dbcli/mycli):mycli 是一个带语法高亮、自动补全的 MySQL 命令行客户端工具。例如,连接数据库方法:`mycli -h localhost -u 用户名 数据库`
101 |
102 |
103 |
104 | 
105 |
106 | 12、[python-fire](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/google/python-fire):Fire 是 Google 开源的 Python 库,可自动将您的代码转变成 CLI,无需您做任何额外工作。您不必定义参数,设置帮助信息,或者编写定义代码运行方式的 main 函数。相反,您只需从 main 模块调用“Fire”函数,其余工作全部交由 Python Fire 来完成。示例代码如下:
107 | ```python
108 | import fire
109 | class Example(object):
110 | def hello(self, name='world'):
111 | """Says hello to the specified name."""
112 | return 'Hello {name}!'.format(name=name)
113 |
114 | def main():
115 | fire.Fire(Example)
116 | if __name__ == '__main__':
117 | main()
118 |
119 | # 在终端中调用效果如下:
120 | $ ./example.py hello
121 | Hello world!
122 | $ ./example.py hello David
123 | Hello David!
124 | $ ./example.py hello --name=Google
125 | Hello Google!
126 | ```
127 |
128 |
129 | ### Other
130 | 13、[gophers](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/egonelbre/gophers):Go 吉祥物的各种图片素材
131 |
132 |
133 | 
134 |
135 | 14、[node-interview](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ElemeFE/node-interview):如何通过饿了么 Node.js 面试
136 |
137 |
138 | 15、[performance-column](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/barretlee/performance-column):[阿里胡子哥](https://github.com/barretlee)写的《性能专栏》,旨在提升 PC/H5/Native 等多个端上对性能的认知,[阅读地址](https://github.com/barretlee/performance-column/issues)
139 |
140 |
141 | ### Book
142 | 16、[explore-python](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ethan-funny/explore-python):《Python 之旅》,该书总结了 Python 相关的知识点,力求深入浅出、条理清晰
143 |
144 |
145 | 17、[react-naive-book](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/huzidaha/react-naive-book):开源、免费、专业、简单的 React.js 教程
146 |
147 |
148 | 18、[The-Art-Of-Programming-By-July-2nd](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/julycoding/The-Art-Of-Programming-By-July-2nd):《编程之法:面试和算法心得》
149 |
150 |
151 |
152 |
153 |
154 | 『Previous』 | Feedback | 『Next』
155 |
156 |
157 | ---
158 |
159 | 👉 Submit open-source project! 👈
160 |
161 |
162 | ## Sponsor
163 |
164 |
165 |
198 |
199 |
200 | ## Disclaimer
201 | 
202 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
203 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub14.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.14
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C
17 | 1、[ip2region](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/lionsoul2014/ip2region):IP 到地区的映射库,速度快(毫秒级)、准确性高(99.9%),妈妈再也不用担心我的 IP 地址定位,示例代码:
18 | ```
19 | cd binding/c/
20 | gcc -g -O2 testSearcher.c ip2region.c
21 | ./a.out ../../data/ip2region.db
22 | ```
23 |
24 |
25 | ### C++
26 | 2、[bfs](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/baidu/bfs):百度文件系统,架构图如下:
27 |
28 |
29 | 
30 |
31 | 3、[SQLAdvisor](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Meituan-Dianping/SQLAdvisor):美团点评公司 DBA 团队开源的一个分析 SQL 并给出索引优化建议的工具,开源内容和内部使用保持一致,文档齐全
32 |
33 |
34 | ### Go
35 | 4、[fsql](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/kashav/fsql):用 SQL 的语法搜索文件,酷吧
36 |
37 |
38 |
39 | 
40 |
41 | 5、[go.uuid](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/satori/go.uuid):Go 的 [UUID](http://baike.baidu.com/item/UUID) 包
42 |
43 |
44 | 6、[poseidon](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Qihoo360/poseidon):Poseidon 系统是奇虎 360 开源的一个日志搜索平台,可以在数百万亿条、数百 PB 大小的日志数据中快速分析和检索特定字符串。
45 |
46 |
47 | ### Java
48 | 7、[druid](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/alibaba/druid):一个 JDBC 组件库,包括数据库连接池、SQL Parser 等组件,同时能够提供强大的监控和扩展功能
49 |
50 |
51 | 8、[packer-ng-plugin](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/mcxiaoke/packer-ng-plugin):Android 打包工具,支持极速打包,速度奇快
52 |
53 |
54 | 9、[symphony](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/88250/symphony):用 Java 实现的现代化社区(论坛/社交网络/博客)平台,功能众多,[访问该社区](https://hacpai.com/tag/Sym)
55 |
56 |
57 | ### JavaScript
58 | 10、[BrowserQuest](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/mozilla/BrowserQuest):Mozilla 开源的多人在线角色扮演游戏项目
59 |
60 |
61 |
62 | 
63 |
64 | 11、[deep-into-node](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yjhjstz/deep-into-node):深入理解 Node.js 的核心思想与源码分析
65 |
66 |
67 | 12、[Rental](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/answershuto/Rental):一款租房 APP,基于 Node.js 爬虫,爬取 58 同城租房信息,并用地图进行可视化展示,方便用户获取周围租房信息
68 |
69 |
70 |
71 | 
72 |
73 | ### Objective-C
74 | 13、[iTerm2](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/gnachman/iTerm2):Mac 上超好用的终端软件
75 |
76 |
77 |
78 | 
79 |
80 | ### PHP
81 | 14、[server](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nextcloud/server):开源云存储平台,功能齐全,可以用于搭建公司内部的云存储平台
82 |
83 |
84 |
85 | 
86 |
87 | ### Python
88 | 15、[certbot](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/certbot/certbot):免费的自动启用和部署 HTTPS 的工具,让你的网站开启 HTTPS 变得简单快捷。在部署教程页面选择服务器的操作系统和 Web 服务器,之后根据给出的步骤一步步的执行命令就行了,[部署教程](https://certbot.eff.org/)
89 |
90 |
91 |
92 | 
93 |
94 | 16、[explainshell](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/idank/explainshell):一个可以解析 Linux 命令的网站,它可以给出命令的解释和其参数的解释,例如:`ps -aux|grep python`,[在线演示](https://www.explainshell.com/)
95 |
96 |
97 |
98 | 
99 |
100 | 17、[pdir2](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/laike9m/pdir2):Python 程序员需要一个更好的 `dir()` —— 以更加友好的显示 `dir()` 输出的结果
101 |
102 |
103 |
104 | 
105 |
106 | ### Swift
107 | 18、[EmojiIntelligence](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/BilalReffas/EmojiIntelligence):完全用 Swift 实现神经网络的 Demo
108 | - 第一步设置 emoji 对应的图形
109 | - 使用神经网络识别图形,返回 emoji 表情
110 |
111 |
112 |
113 | 
114 |
115 | ### Other
116 | 19、[chinese-copywriting-guidelines](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sparanoid/chinese-copywriting-guidelines):中文文案排版指南
117 |
118 |
119 | 20、[CodeGuide](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/AlloyTeam/CodeGuide):腾讯前端团队代码规范
120 |
121 |
122 | 21、[ohmyzsh](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ohmyzsh/ohmyzsh):一个能够让你快速上手,史称 “终极 Shell” zsh 的工具,让你感觉终端前所未有的好用。详细介绍 —— [MacTalk 之终极 Shell](http://macshuo.com/?p=676)
123 |
124 |
125 | 
126 |
127 | 22、[ResumeSample](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/geekcompany/ResumeSample):程序员简历模板系列(Markdown)
128 |
129 |
130 | 23、[security-101-for-saas-startups](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/forter/security-101-for-saas-startups):归纳总结了一个初创企业在各个阶段所期待的安全建议,初创企业所掌握的资金和数据越多,那么对于安全的投资也要越多,[中文翻译版](https://github.com/forter/security-101-for-saas-startups/blob/chinese/readme.md)
131 |
132 |
133 |
134 |
135 |
136 | 『Previous』 | Feedback | 『Next』
137 |
138 |
139 | ---
140 |
141 | 👉 Submit open-source project! 👈
142 |
143 |
144 | ## Sponsor
145 |
146 |
147 |
180 |
181 |
182 | ## Disclaimer
183 | 
184 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
185 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub22.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.22
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C++
17 | 1、[albert](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/albertlauncher/albert):Linux 平台下类似于 Mac Alfred 效率神器。支持开机自启动、自定义快捷键等功能
18 |
19 |
20 | 
21 |
22 | ### Go
23 | 2、[rainbond](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/goodrain/rainbond):[好雨](http://www.rainbond.com/)开源的生产级无服务器 PaaS。用于为云原生应用的整个交付流程提供生产级支持,包括基础设施管理、容器化改造、微服务架构转型、DevOps 工作流落地、混合云多云管理等
24 |
25 |
26 | 
27 |
28 | ### Java
29 | 3、[anychat](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/dianbaer/anychat):纯净的 WebSocket 聊天插件。服务器绝对控制权的推送机制,合理的线程设计,[在线 Demo](https://www.threecss.com/AnyChatClient/third-embed-demo.html)。功能如下:
30 | - 对接任何身份系统
31 | - 个人聊天、群聊天
32 | - 查看聊天记录
33 | - 离线消息推送
34 | - 支持嵌入式,通过 iframe 即可进行嵌入
35 | - 等等
36 |
37 |
38 | 
39 |
40 | 4、[awesome-java-leetcode](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/Blankj/awesome-java-leetcode):[LeetCode](https://leetcode.com/) 上面主要收集了各大 IT 公司的笔试面试题。该项目为 LeetCode Java 语言的题解集合
41 |
42 |
43 | 5、[FloatWindow](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/yhaolpz/FloatWindow):Andorid 任意界面悬浮窗组件,功能丰富,使用简单。特性如下:
44 | - 支持拖动、自动贴边等动画
45 | - 内部自动进行权限申请操作
46 | - 应用退到后台时,悬浮窗会自动隐藏
47 | - 等等
48 |
49 |
50 | 
51 |
52 | 6、[GSYVideoPlayer](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/CarGuo/GSYVideoPlayer):Android 视频播放器。支持弹幕、滤镜、水印、截图、边播边缓存、重力旋转与手动旋转的同步等多种功能
53 |
54 |
55 | 
56 |
57 | ### JavaScript
58 | 7、[handsontable](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/handsontable/handsontable):强大的开源 HTML5 表格处理工具,适用于中后台的很多业务场景。API 方便、扩展性好、可操作性强,与Execl 等表格处理程序兼容好。并支持非常丰富的操作,如数据绑定、验证、排序及强大的上下文菜单。示例代码如下:
59 | ```js
60 | var data = [
61 | ["", "Tesla", "Volvo", "Toyota", "Honda"],
62 | ["2017", 10, 11, 12, 13],
63 | ["2018", 20, 11, 14, 13],
64 | ["2019", 30, 15, 12, 13]
65 | ];
66 |
67 | var container = document.getElementById('example');
68 | var hot = new Handsontable(container, {
69 | data: data,
70 | rowHeaders: true,
71 | colHeaders: true,
72 | filters: true,
73 | dropdownMenu: true
74 | });
75 | ```
76 |
77 |
78 | 
79 |
80 | 8、[learnVue](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/answershuto/learnVue):该项目记录了[染陌](https://github.com/answershuto)学习 Vue.js 源码的过程中的心得、收获。以及对于Vue 框架周边库的个人见解。可以帮助开发人员深入地理解 Vue.js 源码
81 |
82 |
83 | 9、[webpack-component-loader](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/nicholaslee119/webpack-component-loader):在不借助框架的情况下,实现 Web component 的标准。该项目对于理解组件化的概念很有帮助
84 |
85 |
86 | 
87 |
88 | ### Python
89 | 10、[shell-functools](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/sharkdp/shell-functools):把函数式的编程带入 shell,从而让很多事情变得简单。通过 Python 的高阶函数和内置模块 os.path 与命令的管道结合,达到了强大、高效的功效。相比于单纯的命令实现更加的直观和容易理解,示例代码如下:
90 | ```
91 | 示例 1
92 | # ls 查看当前目录下的文件
93 | > ls
94 | document.txt
95 | folder
96 | image.jpg
97 |
98 | # 通过 map abspath 展示这些文件的绝对路径
99 | > ls | map abspath
100 | /tmp/demo/document.txt
101 | /tmp/demo/folder
102 | /tmp/demo/image.jpg
103 |
104 | 示例 2
105 | # find 命令找到的文件和目录
106 | > find
107 | .
108 | ./folder
109 | ./folder/me.jpg
110 | ./folder/subdirectory
111 | ./folder/subdirectory/song.mp3
112 | ./document.txt
113 | ./image.jpg
114 |
115 | # 把找到的结果中的文件,重命名在末尾追加 .bak (备份文件)
116 | > find | filter is_file | map basename | map append ".bak"
117 | me.jpg.bak
118 | song.mp3.bak
119 | document.txt.bak
120 | image.jpg.bak
121 | ```
122 |
123 |
124 | 11、[tqdm](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/tqdm/tqdm):强大、快速、易扩展的 Python 进度条库。我想通过下面的示例代码和效果展示图,你会跑去给这个项目来个 Star 的
125 | ```python
126 | from tqdm import tqdm
127 | for i in tqdm(range(10000)):
128 | pass
129 | # 输出结果:
130 | # 76%|████████████████████████████ | 7568/10000 [00:33<00:10, 229.00it/s]
131 | ```
132 |
133 |
134 | 
135 |
136 | ### Other
137 | 12、[API-Security-Checklist](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/shieldfy/API-Security-Checklist):开发安全的 API 所需要核对的清单,[中文](https://github.com/shieldfy/API-Security-Checklist/blob/master/README-zh.md)
138 |
139 |
140 | 13、[document-style-guide](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ruanyf/document-style-guide):《中文技术文档的写作规范》
141 |
142 |
143 | 14、[http2-explained](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/bagder/http2-explained):这是一篇详细讲解 HTTP/2([RFC 7540](http://httpwg.org/specs/rfc7540.html))的文档,主要内容包括该协议的背景、思想、协议本身的内容、对一些现有实现的探讨与对协议未来的展望。[中文](https://bagder.gitbooks.io/http2-explained/zh/)
144 |
145 |
146 |
147 |
148 |
149 | 『Previous』 | Feedback | 『Next』
150 |
151 |
152 | ---
153 |
154 | 👉 Submit open-source project! 👈
155 |
156 |
157 | ## Sponsor
158 |
159 |
160 |
193 |
194 |
195 | ## Disclaimer
196 | 
197 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
198 |
--------------------------------------------------------------------------------
/content/en/HelloGitHub23.md:
--------------------------------------------------------------------------------
1 | # HelloGitHub Vol.23
2 | > Passion is the best teacher. **HelloGitHub** inspires your interest in open-source!
3 |
4 |
5 |
6 |
7 | ## Table of Contents
8 |
9 | Click the **「Table of Contents」** icon at the top-right corner to open the navigation and enjoy a better reading experience.
10 |
11 | 
12 |
13 | ## Content
14 | > **The content of this issue is as follows**|Updated on the **28th** of each month
15 |
16 | ### C
17 | 1、[ffmpeg-libav-tutorial](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/leandromoreira/ffmpeg-libav-tutorial):《笨方法学 FFmpeg libav》(英文)
18 |
19 |
20 | 
21 |
22 | ### Java
23 | 2、[CC](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/luckybilly/CC):使用简单、功能丰富的 Android 组件化框架。适用于几乎所有的组件化开发需求,可进行组件层面的 AOP 编程。[项目 wiki](https://github.com/luckybilly/CC/wiki)
24 |
25 |
26 | 
27 |
28 | 3、[WxJava](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/binarywang/WxJava):开源、非官方、功能全面的微信开发 Java SDK,支持包括微信支付、开放平台、小程序、企业号和公众号等功能的开发。[示例 Demo 索引](https://github.com/Wechat-Group/weixin-java-tools/blob/master/demo.md),以及详细的[开发文档](https://github.com/wechat-group/weixin-java-tools/wiki)
29 |
30 |
31 | ### JavaScript
32 | 4、[node-fetch](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/node-fetch/node-fetch):将 fetch 引入了 node 环境,配合了 node 强大的 http 模块。做到了在不同的 JS 环境中使用一致的API。fetch API 是代替 XMLHttpRequest 的一种全新的解决方案,其简化了 XHR 的复杂步骤,采用了 Promise。示例代码如下:
33 | ```javascript
34 | fetch('/url').then(res => {}).catch(err => {})
35 | ```
36 |
37 |
38 | 5、[prettier](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/prettier/prettier):十分方便的代码格式化库。支持如:JavaScript、Flow、TypeScript、CSS、SCSS等编程语言。同时提供了编辑插件,在使用 vscode 开发 Vue 项目时候,使用此插件可以让代码更具有可读性
39 | ```javascript
40 | /**
41 | * 格式化之前
42 | */
43 | foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());
44 |
45 | /**
46 | * 格式化之后
47 | */
48 | foo(
49 | reallyLongArg(),
50 | omgSoManyParameters(),
51 | IShouldRefactorThis(),
52 | isThereSeriouslyAnotherOne()
53 | );
54 | ```
55 |
56 |
57 | 
58 |
59 | 6、[wiki](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/requarks/wiki):NodeJS+Git+Markdown 实现轻松搭建 wiki。对于团队内部的知识分享是一个不错的选择。[在线预览](https://docs.requarks.io/wiki)
60 |
61 |
62 | 
63 |
64 | ### Objective-C
65 | 7、[iOS-Performance-Optimization](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/skyming/iOS-Performance-Optimization):关于 iOS 性能优化梳理。包含基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等
66 |
67 |
68 | ### PHP
69 | 8、[arithmetic-php](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/pushaowei/arithmetic-php):PHP 语言实现的各类算法合集
70 |
71 |
72 | ### Python
73 | 9、[python-console-snake](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/tancredi/python-console-snake):命令行贪吃蛇
74 |
75 |
76 | 
77 |
78 | 10、[redash](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/getredash/redash):开源的数据可视化 Web 项目,提供了数据库查询和数据可视化功能。只提供的数据可视化最要的功能,使得简单易用且容易上手。可以直观地将一个 SQL 查询的结果可视化出来。同时提供 SQL 代码片段存储,减少重复编写 SQL 的问题
79 |
80 |
81 | 
82 |
83 | 11、[rq](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/rq/rq):基于 redis 的简单、轻量级任务队列库。可以帮助理解简单的任务队列模式和设计。使用简单、文档健全,适用于小型项目或简单的场景。
84 | ```shell
85 | # Tip:job 需要通过模块引用加入到任务队列中
86 | 23:46:59 Cleaning registries for queue: default
87 | 23:47:47 default: snap1.count_words_at_url('https://hellogithub.com') (c4f96606-c833-4057-8ac4-b35bc60dfec9)
88 | 23:47:47 default: Job OK (c4f96606-c833-4057-8ac4-b35bc60dfec9)
89 | 23:47:47 Result is kept for 500 seconds
90 | ```
91 |
92 |
93 | 12、[toapi](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/elliotgao2/toapi):该项目做的事儿是通过简单的配置把目标网页的内容爬下来,缓存结果后提供成 API 的一条龙服务。
94 |
95 |
96 | 
97 |
98 | ### Swift
99 | 13、[LyricsX](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ddddxxx/LyricsX):一个为 iTunes、Spotify、Vox 播放器提供自动下载歌词,并在桌面和任务栏显示的插件
100 |
101 |
102 | 
103 |
104 | ### AI
105 | 14、[captcha_break](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/ypwhs/captcha_break):使用深度学习来破解 captcha(python 生成验证码的库)验证码。该项目会通过 Keras 搭建一个深度卷积神经网络来识别 captcha 生成的图片验证码,建议使用显卡来运行该项目。可视化代码都是在 jupyter notebook 中完成的,如果你希望写成 python 脚本,稍加修改即可正常运行
106 |
107 |
108 | ### Other
109 | 15、[awesome-blockchain-cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/chaozh/awesome-blockchain-cn):区块链技术开发相关资料
110 |
111 |
112 | 16、[Back-End-Developer-Interview-Questions](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/monklof/Back-End-Developer-Interview-Questions):后端面试问题集合
113 |
114 |
115 | 17、[hangzhou_house_knowledge](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/houshanren/hangzhou_house_knowledge):《杭州房产知识扫盲》,作者 2017 年总结出来的买房购房知识,希望可以帮助到要在杭州买房的朋友
116 |
117 |
118 | 18、[http-api-design](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/interagent/http-api-design):HTTP API 设计指南。这篇指南介绍描述了 HTTP+JSON API 的一种设计模式,最初摘录整理自 Heroku 平台的 API 设计指南。[中文翻译版](https://github.com/ZhangBohan/http-api-design-ZH_CN)
119 |
120 |
121 | 19、[vim-galore](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/mhinz/vim-galore):Vim 从入门到精通,[中文](https://github.com/wsdjeg/vim-galore-zh_cn)
122 |
123 |
124 | ### Book
125 | 20、[yast-cn](https://hellogithub.com/en/periodical/statistics/click?target=https://github.com/DeathKing/yast-cn):《Scheme入门教程》中译版,[在线阅读](http://deathking.github.io/yast-cn/)
126 |
127 |
128 |
129 |
130 |
131 | 『Previous』 | Feedback | 『Next』
132 |
133 |
134 | ---
135 |
136 | 👉 Submit open-source project! 👈
137 |
138 |
139 | ## Sponsor
140 |
141 |
142 |
175 |
176 |
177 | ## Disclaimer
178 | 
179 | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
180 |
--------------------------------------------------------------------------------
/script/github_bot/README.md:
--------------------------------------------------------------------------------
1 | # GitHub Bot
2 | >兴趣是最好的老师,[HelloGitHub](https://github.com/521xueweihan/HelloGitHub) 就是帮你找到兴趣!
3 |
4 |
5 |
6 |
7 |
8 | ## 运行步骤
9 | 这个脚本主要用于收集 GitHub 上优秀的项目,用于编写[《HelloGitHub 月刊》](https://github.com/521xueweihan/HelloGitHub),后面还会持续开发~
10 |
11 | 1. **安装依赖**:`pip install -r requirements.txt`
12 | 2. **配置脚本中相关参数**:
13 | ```
14 | # github帐号
15 | ACCOUNT = {
16 | 'username': '',
17 | 'password': ''
18 | }
19 |
20 | # 发送邮件,邮箱的信息
21 | MAIL = {
22 | 'mail': '', # 发送邮件的邮箱地址
23 | 'username': '',
24 | 'password': '',
25 | 'host': 'smtp.qq.com',
26 | 'port': 465
27 | }
28 |
29 | # 接收邮件的邮箱地址
30 | RECEIVERS = []
31 | # qq邮件服务文档:http://service.mail.qq.com/cgi-bin/help?id=28
32 | ```
33 |
34 | 3.**运行脚本**:`python github_bot.py`
35 |
36 | ## 开发日志
37 | #### 2017-04-06
38 | 1. GitHub Api 更新,event 最多获取 300 条
39 | 2. 新注册帐号 521hellogithub 用于获取每天的数据
40 |
41 | #### 2017-03-28
42 | 增加收集项目 star 临界值
43 |
44 | #### 2016-09-29
45 | - GitHub 今日热点项目不统计自己的项目
46 | - 错误日志放到脚本的同目录下
47 |
48 | #### 2016-09-24
49 | 实现根据 star 数量,从高到低展示。
50 |
51 | #### 2016-09-05
52 | 实现请求 GitHub Api 获取关注的用户 star 的项目、过滤内容、定时发邮件
53 |
54 | ## Todo
55 | 1. 获取 explore 页的数据
56 | 2. 异步请求获取 star 数
57 | 3. 自己项目的数据统计
58 |
--------------------------------------------------------------------------------
/script/github_bot/github_bot.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding:utf-8 -*-
3 | #
4 | # Author : XueWeiHan
5 | # E-mail : 595666367@qq.com
6 | # Date : 16/8/30 下午10:43
7 | # Desc : Github Bot
8 | import os
9 | import logging
10 | import smtplib
11 | import datetime
12 | from operator import itemgetter
13 | from email.mime.text import MIMEText
14 | from email.header import Header
15 |
16 | import requests
17 |
18 | logging.basicConfig(
19 | level=logging.WARNING,
20 | filename=os.path.join(os.path.dirname(__file__), 'bot_log.txt'),
21 | filemode='a',
22 | format='%(name)s %(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
23 | )
24 | logger = logging.getLogger('Bot') # 设置log名称
25 | # github帐号
26 | ACCOUNT = {
27 | 'username': '',
28 | 'password': ''
29 | }
30 |
31 | API = {
32 | 'events': 'https://api.github.com/users/{username}/received_events'.format(username=ACCOUNT['username'])
33 | }
34 |
35 | # 发送邮件,邮箱的信息
36 | MAIL = {
37 | 'mail': '', # 发送邮件的邮箱地址
38 | 'username': '',
39 | 'password': '',
40 | 'host': 'smtp.qq.com',
41 | 'port': 465
42 | }
43 |
44 | # 接收邮件的邮箱地址
45 | RECEIVERS = []
46 |
47 | # 几天前
48 | DAY = 1
49 |
50 | # 项目stars临界值
51 | STARS = 100
52 |
53 | # qq邮件服务文档:http://service.mail.qq.com/cgi-bin/help?id=28
54 |
55 |
56 | CONTENT_FORMAT = """
57 |
58 |
59 | 头像 |
60 | 用户名 |
61 | 项目名 |
62 | starred 日期 |
63 | 项目 star 数量 |
64 |
65 | {project_info_string}
66 |
67 | """
68 |
69 |
70 | def get_data(page=1):
71 | """
72 | 从目标源获取数据
73 | https://developer.github.com/v3/activity/events/
74 | GitHub 规定:默认每页 30 条,最多 300 条目
75 | """
76 |
77 | args = '?page={page}'.format(page=page)
78 |
79 | response = requests.get(API['events']+args,
80 | auth=(ACCOUNT['username'], ACCOUNT['password']))
81 | status_code = response.status_code
82 | if status_code == 200:
83 | resp_json = response.json()
84 | return resp_json
85 | else:
86 | logging.error('请求 event api 失败:', status_code)
87 | return []
88 |
89 |
90 | def get_all_data():
91 | """
92 | 获取全部 300 条的数据
93 | https://developer.github.com/v3/activity/events/
94 | GitHub 规定:默认每页 30 条,最多 300 条目
95 | """
96 | all_data_list = []
97 | for i in range(10):
98 | response_json = get_data(i+1)
99 | if response_json:
100 | all_data_list.extend(response_json)
101 | return all_data_list
102 |
103 |
104 | def check_condition(data):
105 | """
106 | 过滤条件
107 | """
108 | create_time = datetime.datetime.strptime(
109 | data['created_at'], "%Y-%m-%dT%H:%M:%SZ") + datetime.timedelta(hours=8)
110 | date_condition = create_time >= (datetime.datetime.now()
111 | - datetime.timedelta(days=DAY))
112 | if (data['type'] == 'WatchEvent') and date_condition:
113 | # 不统计自己项目的star事件
114 | if data['payload']['action'] == 'started' and \
115 | ACCOUNT['username'] not in data['repo']['name']:
116 | data['date_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
117 | return True
118 | else:
119 | return False
120 |
121 |
122 | def analyze(json_data):
123 | """
124 | 分析获取的数据
125 | :return 符合过滤条件的数据
126 | """
127 | result_data = []
128 | for fi_data in json_data:
129 | if check_condition(fi_data):
130 | result_data.append(fi_data)
131 | return result_data
132 |
133 |
134 | def get_stars(data):
135 | """
136 | 获取stars数量,同时过滤掉stars数量少的项目
137 | """
138 | project_info_list = []
139 | for fi_data in data:
140 | project_info = dict()
141 | project_info['user'] = fi_data['actor']['login']
142 | project_info['user_url'] = 'https://github.com/' + project_info['user']
143 | project_info['avatar_url'] = fi_data['actor']['avatar_url']
144 | project_info['repo_name'] = fi_data['repo']['name']
145 | project_info['repo_url'] = 'https://github.com/' + project_info['repo_name']
146 | project_info['date_time'] = fi_data['date_time']
147 | try:
148 | repo_stars = requests.get(fi_data['repo']['url'], timeout=2).json()
149 | if repo_stars:
150 | project_info['repo_stars'] = int(repo_stars['stargazers_count'])
151 | else:
152 | project_info['repo_stars'] = -1
153 | except Exception as e:
154 | project_info['repo_stars'] = -1
155 | logger.warning(u'获取:{} 项目星数失败——{}'.format(
156 | project_info['repo_name'], e))
157 | finally:
158 | if project_info['repo_stars'] >= STARS or project_info['repo_stars'] == -1:
159 | # 过滤掉star数量低于临界值的项目
160 | project_info_list.append(project_info)
161 | project_info_list = sorted(project_info_list, key=itemgetter('repo_stars'), reverse=True)
162 | return project_info_list
163 |
164 |
165 | def make_content():
166 | """
167 | 生成发布邮件的内容
168 | """
169 | json_data = get_all_data()
170 | data = analyze(json_data)
171 | content = []
172 | project_info_list = get_stars(data)
173 | for project_info in project_info_list:
174 | project_info_string = """
175 |  |
176 | {user} |
177 | {repo_name} |
178 | {date_time} |
179 | {repo_stars} |
180 |
181 | """.format(**project_info)
182 | content.append(project_info_string)
183 | return content
184 |
185 |
186 | def send_email(receivers, email_content):
187 | """
188 | 发送邮件
189 | """
190 | sender = MAIL['mail'] # 发送邮件的邮箱
191 | receivers = receivers # 接收邮件的邮箱,可设置多个
192 |
193 | # 三个参数:第一个为文本内容,第二个 html 设置文本格式,第三个 utf-8 设置编码
194 | message = MIMEText(
195 | CONTENT_FORMAT.format(project_info_string=''.join(email_content)),
196 | 'html', 'utf-8'
197 | )
198 | message['From'] = Header(u'GitHub 机器人', 'utf-8')
199 | message['To'] = Header(u'削微寒', 'utf-8')
200 |
201 | subject = u'今日 GitHub 热点' # 设置邮件主题
202 | message['Subject'] = Header(subject, 'utf-8')
203 | try:
204 | smtp_obj = smtplib.SMTP_SSL() # qq邮箱要求是https连接,所以需要用SMTP_SSL
205 | smtp_obj.connect(MAIL['host'], MAIL['port']) # 设置SMTP地址和端口号
206 | smtp_obj.login(MAIL['username'], MAIL['password'])
207 | smtp_obj.sendmail(sender, receivers, message.as_string())
208 | except smtplib.SMTPException as e:
209 | logger.error(u"无法发送邮件: {}".format(e))
210 |
211 | if __name__ == '__main__':
212 | content = make_content()
213 | send_email(RECEIVERS, content)
214 |
--------------------------------------------------------------------------------
/script/github_bot/requirements.txt:
--------------------------------------------------------------------------------
1 | requests
2 |
--------------------------------------------------------------------------------
/script/make_content/README.md:
--------------------------------------------------------------------------------
1 | # GitHub MakeContent
2 | >兴趣是最好的老师,[《HelloGitHub》](https://github.com/521xueweihan/HelloGitHub)就是帮你找到兴趣!
3 |
4 | 
5 |
6 |
7 | ## 运行步骤
8 | 后面的月刊都通过这个脚本生成,这样如果通用内容部分需要修改,就只需要使用脚本重新生成月刊,而不需
9 | 要手动修改已发布的所有期的内容。后面还会持续开发~
10 |
11 | ```
12 | python make_content.py 期数/all(重新生成所有期)
13 | ```
14 | 注意:需要放在本项目的根目录下运行该脚本
15 |
16 | ## TODO
17 | - 自动生成 README
18 |
--------------------------------------------------------------------------------
/script/make_content/make_content.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding:utf-8 -*-
3 | #
4 | # Author : XueWeiHan
5 | # E-mail : 595666367@qq.com
6 | # Date : 16/10/21 下午1:41
7 | # Desc : HelloGitHub项目——生成月刊脚本
8 | """
9 | 该脚本主要用于:生成月刊
10 |
11 | 《HelloGitHub》月刊每期内容都遵循统一格式,如果需要对通用部分的内容进行修改,需要手动修改每一
12 | 期的内容,这是不优雅的。
13 |
14 | 所以,我打算写个脚本,用于生成月刊,这样如果修改了通用内容部分,就只需要重新生成月刊,而不需要
15 | 手动修改已发布的所有期的内容。
16 | """
17 | from __future__ import print_function
18 | import sys
19 | import os
20 |
21 | CONTENT_FLAG = '{{ hello_github_content }}'
22 | NUM_FLAG = '{{ hello_github_num }}'
23 |
24 |
25 | class InputError(Exception):
26 | def __init__(self, message):
27 | self.message = message
28 |
29 | def __str__(self):
30 | return repr(self.message)
31 |
32 |
33 | def check_path(path):
34 | """
35 | 检查路径是否存在
36 | """
37 | if not os.path.exists(path):
38 | print('not exist: {path}'.format(path=path))
39 | return False
40 | else:
41 | return True
42 |
43 |
44 | def read_file(input_path):
45 | with open(input_path, 'r') as fb:
46 | return fb.read()
47 |
48 |
49 | def write_file(output_path, output_data):
50 | with open(output_path, 'w') as fb:
51 | fb.write(output_data)
52 |
53 |
54 | def make_content(num):
55 | template_path = os.path.join(os.path.abspath(os.curdir), 'template.md')
56 | output_path = os.path.join(os.path.abspath(os.curdir), num)
57 | content_path = os.path.join(output_path, 'content'+num+'.md')
58 | if not (check_path(content_path) and check_path(template_path)):
59 | # 如果 content 和 template 文件不存在
60 | return None
61 | temple_data = read_file(template_path).replace(NUM_FLAG, num)
62 |
63 | content_data = read_file(content_path)
64 |
65 | output_data = temple_data.replace(CONTENT_FLAG, content_data)
66 |
67 | write_file(os.path.join(output_path, 'HelloGitHub{num}.md'.format(num=num)), output_data)
68 | print('Make 《GitHub月刊{num}》 successful!'.format(num=num))
69 |
70 |
71 | def make_all_content():
72 | dir_list = os.listdir(os.path.abspath(os.curdir))
73 | for fi_dir in dir_list:
74 | # 忽略‘script’的目录
75 | if os.path.isdir(fi_dir) and 'script' not in fi_dir:
76 | make_content(fi_dir)
77 |
78 |
79 | def main():
80 | """
81 | 入口方法
82 | """
83 | input_list = sys.argv # 获取输入的参数
84 |
85 | if len(input_list) != 2:
86 | raise InputError('Input error: Need a param')
87 | else:
88 | try:
89 | input_arg = input_list[1]
90 | except Exception:
91 | raise InputError('Input error: Must be number')
92 | if len(input_arg) == 1:
93 | make_content('0' + input_arg)
94 | elif input_arg == 'all':
95 | make_all_content()
96 | else:
97 | make_content(input_arg)
98 |
99 | if __name__ == '__main__':
100 | main()
101 |
--------------------------------------------------------------------------------