《HelloGitHub》第 24 期(两周年)

公告

今天是《HelloGitHub》月刊 两周年。当时发布第一期的时候,根本没有想到可以走到现在。

这两年,HelloGitHub 项目有过辉煌的时刻:连续 3 天 GitHub 趋势首页、Python 分类名列前茅;一天飙升 300 stars,我的整个首页都被 star 信息填满,往下滑了好几页;截止到我写这篇文章,HelloGitHub 项目共有 4k 的 stars、《HelloGitHub》月刊系列博文共 4万 阅读量;

当然也有想要放弃,断刊的时候。那段时间工作中的项目严重延期几乎天天加班,但是我没有断过一次刊。不管搞到多晚,第二天爬起来看到我的文章被大家喜欢和认可。一切都是值得的。起初也有被人质疑的时候、调侃的时候,但是我还是坚持下来了。

记得有一次,我开发 HelloGitHub.com 网站,开发完成抬头一看天都亮了。看着初升的太阳,心里一阵满足。各种上线的琐事弄完,看着自己的网站上线,哗哗的请求日志,那个画面真的让人陶醉啊。

在做 HelloGitHub 项目过程中,收获了很多的知识、拓展了自己的视野。发现牛人太多,自己要走的路还有很长。随着内容的逐渐的增多,不断的通过技术去优化发刊的过程、信息的获取途径。真正感受到程序带来的益处和方便,算是学以致用吧。各种小伙伴的鼎力支持,不管怎么说这个项目能走到现在不是我一个人的功劳,再次谢谢各位 ?? 。

最后,我会一直把这个项目做下去,分享更多即收获更多。我希望让更多人发现编程的乐趣,让好的项目被更多人发现、使用并参与到其中。

《HelloGitHub》第 24 期

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!

简介

分享 GitHub 上有趣、入门级的开源项目。

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。

  • 会编程的可以贡献代码
  • 不会编程的可以反馈使用这些工具中的 Bug
  • 帮着宣传你觉得优秀的项目
  • Star 项目??

在浏览、参与这些项目的过程中,你将学习到更多编程知识提高编程技巧找到编程的乐趣

?? 最后 HelloGitHub 这个项目就诞生了 ??


以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容

C 项目

1、reading-code-of-nginx-1.9.2:nginx-1.9.2 源码通读分析注释,带详尽函数中文分析注释以及相关函数流程调用注释

Go 项目

2、annie:Go 编写的快速、简单、干净的视频下载程序。支持哔哩哔哩、YouTube 视频网站

$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/

 Site:      哔哩哔哩 bilibili.com
 Title:     【2018拜年祭单品】相遇day by day
 Type:      video
 Stream:
     [default]  -------------------
     Quality:         高清 1080P60
     Size:            220.65 MiB (231363071 Bytes)
     # download with: annie -f default "URL"

 16.03 MiB / 220.65 MiB [==>----------------------------]   7.26% 9.65 MiB/s 19s

3、knowledge:Go 知识图谱

Java 项目

4、PreLoader:Android 页面在打开后需要在 UI 初始化完成后才能发起网络请求,以免网络请求返回后展示到 UI 时出现错误。但这种串行的做法导致页面的整个初始化时间变长。使用该工具可以在打开页面之前预加载数据,然后在页面 UI 初始化完成后提取预加载好的数据进行展示,从而缩短页面初始化时间,提升用户体验。示例代码如下:

// 开启预加载任务
int preLoaderId = PreLoader.preLoad(new Loader());
Intent intent = new Intent(this, PreLoadBeforeLaunchActivity.class);
intent.putExtra("preLoaderId", preLoaderId);
startActivity(intent);
// 预加载任务:模拟网络接口请求获取数据
class Loader implements DataLoader<String> {
    @Override
    public String loadData() {
        //此方法在线程池中运行,无需再开子线程去加载数据
        try {
            Thread.sleep(600);
        } catch (InterruptedException ignored) {
        }
        return "data from network server";
    }
}

// 在Activity(或Fragment)中UI初始化完成后开始监听预加载数据
PreLoader.listenData(preLoaderId, new Listener());

// 数据加载完成后,会调用DataListener.onDataArrived(...)来处理加载后的数据
class Listener implements DataListener<String> {
    @Override
    public void onDataArrived(String data) {
        //此方法在主线程中运行,无需使用Handler切换线程运行
        Toast.makeText(activity, data, Toast.LENGTH_SHORT).show();
    }
}

5、SuperLike:仿今日头条点赞喷射表情动画

JavaScript 项目

6、node-in-debugging:《Node.js 调试指南》作者整理了使用 Node.js 开发这几年的调试经验和思路

7、chrome-music-lab:Chrome 音乐实验室是一个网站,让学习音乐变得更加简单、好玩。完全基于Web端,国内可直接访问、老少皆宜、支持多种乐器,圆你一个音乐梦

8、mpvue:小程序的前端框架。框架基于 Vue.js 核心,修改了 Vue.js 的 runtime 和 compiler 实现。使其可以运行在小程序环境中,为小程序开发引入了整套 Vue.js 开发体验。5 分钟上手视频

  • 彻底的组件化开发能力:提高代码复用性
  • 完整的 Vue.js 开发体验
  • 方便的 Vuex 数据管理方案:方便构建复杂应用
  • 快捷的 webpack 构建机制:自定义构建策略、开发阶段 hotReload
  • 支持使用 npm 外部依赖
  • 使用 Vue.js 命令行工具 vue-cli 快速初始化项目
  • H5 代码转换编译成小程序目标代码的能力

9、30-seconds-of-code:精选可以在 30秒 或更短的时间内理解的实用 JavaScript 代码片段集合

Objective-C 项目

10、WeChatPlugin-MacOS:Mac 版微信小助手,支持自动回复、消息防撤回、远程控制、微信多开、会话置底、免认证登录、通知快捷回复等功能

11、LSAnimator:通过使用 LSAnimator(Objective-C)或者 CoreAnimator(Swift)可以用少量的代码实现复杂而又易于维护的动画,并且弥补了 JHChainableAnimations 的致命缺陷。详细描述

PHP 项目

12、DzzOffice:一套开源办公套件,适用于企业、团队搭建自己的 类似 Google 企业应用套件、微软 Office365 的企业协同办公平台。在线演示

Python 项目

13、HAipproxy:使用 Scrapy+Redis 实现的高可用分布式 IP 代理池,为大型分布式爬虫提供高可用低延迟的代理 IP 资源。

from client.py_cli import ProxyFetcher
args = dict(host=‘127.0.0.1‘, port=6379, password=‘123456‘, db=0)
# 这里`zhihu`的意思是,去和`zhihu`相关的代理ip校验队列中获取ip
# 这么做的原因是同一个代理IP对不同网站代理效果不同
fetcher = ProxyFetcher(‘zhihu‘, strategy=‘greedy‘, redis_args=args)
# 获取一个可用代理
print(fetcher.get_proxy())
# 获取可用代理列表
print(fetcher.get_proxies()) # or print(fetcher.pool)

以知乎为目标抓取网站,该代理IP池的实际性能测试结果如下:

14、MovieHeavens:基于 Pyqt4 的电影天堂电影搜索工具,再也不用忍受各种广告和点击跳转了

15、WechatSogou:基于搜狗微信搜索的微信公众号爬虫库,极易上手。示例代码:

import wechatsogou

ws_api = wechatsogou.WechatSogouAPI()
ws_api.get_gzh_info(‘微信名称‘)

Swift 项目

16、iina:Mac 下开源多媒体播放器,支持多国语言、高逼格 UI。安装:brew cask install iina

其它

17、Interview-Notebook:该项目整理了技术面试中需要掌握的基础知识,包含了网络、操作系统、算法、数据库、Java、分布式等

18、blog:蚂蚁数据体验技术团队的博客

19、work-in-australia:介绍程序员如何申请到澳洲工作

20、front-end-interview-handbook:与典型的软件工程师面试不同,前端面试对算法的重视比较低。面试会更多考查错综复杂的前端知识,像 HTML、CSS、JavaScript 等等。这个项目整理了这些问题,并给出了答案以及参考连接。中文版

机器学习

21、MachineLearning:ApacheCN 制作的《机器学习实战》。配套视频:编码能力强,建议观看《机器学习实战 - 教学版》

编码能力弱,建议观看《机器学习实战 - 讨论版》

22、tensorflow-docs:TensorFlow Docs 是由掘金翻译计划实时维护的 TensorFlow 官方文档中文版,维护者为全球各大公司开发人员和各著名高校研究者及学生

23、DeepLeague:英雄联盟的机器学习项目,规模不大,适合研究一些 CV 和 ML 的算法应用


换种方式阅读

声明

如果你发现了好玩、有意义的开源项目 点击这里 分享你觉得有意思的项目。

欢迎转载,请注明出处和作者,同时保留声明。

原文地址:https://www.cnblogs.com/xueweihan/p/8668520.html

时间: 2024-10-14 17:01:15

《HelloGitHub》第 24 期(两周年)的相关文章

最新大数据24期 共十天高清视频教程 附课件源码

课程目录: 大数据24期-01-JavaSE基础-15天 第一天: 01.什么是计算机软件02.什么数据软件开发--利用编程语言来写剧本03.什么是jdk--怎么安装jdk03.什么是jdk--怎么安装jdk04.安装启动eclipse04.安装启动eclipse05.配置eclipse的字体和布局06.新建一个java的类的步骤07.第一个java编程作品--HelloWorld08.java中的变量定义和变量赋值语法09.第一个java程序中的知识点梳理--终端输入--终端输出10.第二个j

4星|《财经》2018年第24期:目前还没有哪个国家能扭转肥胖流行趋势

<财经>2018年第24期 总第541期 旬刊 高水平的中文财经杂志.本期我感兴趣的话题有:1:94年的分税制改革,未能完成中央地方事权划分:2:中国肥胖儿童数量多,是个大问题:3:AI业态中位于底层的数据标注公司: 总体评价4星,不错. 以下是书中一些内容的摘抄,#号后面是kindle电子版中的页码: 1:但这是一次重要的演讲,因为它更清楚地阐明了自2017年1月以来每个人都知道的事情——他的政府正在摧毁美国自第二次世界大战以来的立场.居于美国的领导下,自由的.基于规则的稳定世界,这一愿景已

51CTO两周年生日祝福

两年的光阴,八季的变换 .51cto学院就是每天清晨的第一缕阳光,和煦温润,不管你身处何方,不论你多么忙碌,51cto学院都在为我们守候,带给我们能量,指引我们前行. 在这里,需要对知识的渴望,在这里,也会有汗水,在这里,也需要辛勤,在这里,更会快速的成长,当你走出这里,收获的是满园欢笑,与广阔的未来. 至此51cto学院两周年之际,祝51cto学院越办越好.

写在弥勒宝贝两周年之际

写在弥勒宝贝两周年之际 粒子从宇宙诞生之初就存在世上,是它造就了我们,我常想那些原子,用140亿年穿越时间和空间来创造我们,好让我们能相遇-- 感谢你今生选择我做了你的父亲. 做了你的父亲,我才能完整地拥有你前半生的所有年华,让你拥有小公主般的童年,把你捧在手心里,看着你无忧无虑地长大. 也只有做你的父亲,我才能在你成长的每一个不快乐的时刻,第一时间来到你身边,帮你擦去所有的不快乐. 也只有做你的父亲,我才能在每一次你孤单迷茫受到伤害的时候,把你的小脑瓜搂紧怀里,告诉你,有我在. 我一定会成为这

关于东钿两周年庆

东钿两周年庆在7月28号从公司出发去桐庐举行两天半的形成.这次分到的房子,房号数字还是不错的2116,应该会比较顺利.但是整个周年庆前前后后真的不是很顺利,去的时候早上收拾东西,发现不见了一样东西,然后花了很长一段时间找也没找到,但是早上时间又来不及,匆匆忙忙出门了,上了地铁又发现忘了带手机充电器.而这只是一个不顺的开始.上了车,车上公司微信群还发了好多红包,手慢,运行也不是很佳,但是还是领150多,这个数字并不算多,因为有些人领一个包就有200.哈哈哈没好运气,手也不快.到桐庐就7:00多吃个

写在毕业后的两周年

2019年7月,这是毕业后两周年的日子.虽然是8月写的,但是不算晚,希望以后能坚持写下去.工作又过了一年,这一年来做了很多,也感触良多. 2018年国计民生最重要的事情就是税改了,说起税改不由得说起个税App.说起来也很荣幸能参与到这个项目中,当然也只是做了其中的一块小积木(技术上的),做的事情不多,但也学到了很多东西.随着项目上线,从朋友们反馈的情况来看都说设计体验还可以,是一个原生App(其实是Web App),说到这个,我只能在一旁笑笑不说话,体验上要感谢的交互设计师和设计妹纸(她们算是我

膝盖中了一箭之康复篇-两周年纪念

右膝盖前十字韧带在2014年12月份的一次踢球中不小心弄断.2015年5月份才确诊.2015年的7月1日做了十字韧带重建术.到现在刚好是术后两年. 术后一年的纪念文章在这里:膝盖中了一箭之康复篇-一周年纪念. 整个康复历程的文章在这里:https://www.google.com.hk/search?safe=active&q=site%3Awww.huangbowen.net+ACL&oq=site%3Awww.huangbowen.net+ACL 这一年总的基调就是稳步前进.右膝盖已经

病毒四度升级:安天AVL Team揭露一例跨期两年的电信诈骗进化史

自2014年9月起,安天AVL移动安全团队持续检测到一类基于Android移动平台的间谍类病毒,病毒样本大多伪装成名为"最高人民检察院"的应用.经过反编译逆向分析以及长期的跟踪调查,我们判断这可能是一起有组织的电信诈骗犯罪活动. 2014年9月至今,某诈骗组织持续以涉嫌犯罪为由恐吓受害者,并进行电信诈骗活动.整个诈骗流程大致如下:攻击者首先向受害者的手机发送含恶意应用下载链接的短信:攻击者通常以获取"案件号"."单位代号"."电子凭证&

落地生根两周年,微软Azure进入2.0时代

By: 申元庆 微软亚太科技有限公司董事长 微软亚太研发集团首席运营官 微软中国云计算与企业总经理 仿佛就在转眼间,微软Azure已经在中国落地生根两年了. 长风破浪会有时,直挂云帆济沧海.微软云技术入华恰逢其时,在"创新驱动发展"."互联网+"."中国制造2025"."大众创业.万众创新"的 "长风"下,由世纪互联运营的Microsoft Azure取得了健康快速的发展,如今已经服务于海尔.蒙牛.小米.乐