那些年我做的开源项目之web篇

Posted 太白技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那些年我做的开源项目之web篇相关的知识,希望对你有一定的参考价值。

你好,我是太白。

今天和你聊聊我做过的开源项目的那些事。本文是web篇。

如果觉得文章不错,记得点赞+关注。目前本公众号还没有评论功能,有问题请联系我。

本文将按照笔者开发的时间线分享给你,分别是Tastphp、Tastjava、Gorouter,他们分别是用PHP、Java、Go开发,也是笔者在不同时间段对不同语言的使用以及尝试。

本文是笔者对过去web方向做的开源项目的一个总结。

这个项目是Java开发的Web框架,是2017年8月开源的。

它是基于

gorouter[4]是Go开发的一个简单高性能的HTTP router。是在2018年1月开源的,当天就上了Github Go趋势榜。(项目情况:这个项目API稳定,已经很久没有更新)

下面截图是我自己blog上截取的:

开发动机

这个是我在项目的README中写的motivation(动机)

I wanted a simple and fast HTTP GO router, which supports regexp. I prefer to support regexp is because otherwise it will need the logic to check the URL parameter type, thus increasing the program complexity. So I did some searching on Github and found the wonderful julienschmidt/httprouter: it is very fast,unfortunately it does not support regexp. Later I found out about gorilla/mux: it is powerful as well,but a written benchmark shows me that it is somewhat slow. So I tried to develop a new router which both supports regexp and should be fast. Finally I did it and named xujiajun/gorouter. By the way, this is my first GO open source project. It may be the fastest GO HTTP router which supports regexp, and regarding its performance please refer to my latest Benchmarks.

大致意思:

我想要一个简单而快速并且支持regexp正则表达式的HTTP GO路由器。

我喜欢路由支持regexp,因为否则它将需要逻辑来检查URL参数类型,从而增加了程序的复杂性。

所以我在Github上做了一些搜索,发现了很棒的julienschmidt/httprouter[5]:它非常快,不幸的是它不支持regexp。后来我发现了gorilla/mux[6]:它也很强大,但是一个编写的基准测试显示它有点慢。

因此,我试图开发一个既支持regexp又应该速度很快的新路由器。最后我做到了,并命名为xujiajun/gorouter[7]。顺便说一下,这是我的第一个GO开源项目。它可能是最快的GO HTTP路由器支持regexp,关于它的性能,请参考我最新的基准。

支持的特性

基本上常用路由功能都实现了,包括参数匹配、路由组、反向路由等。(具体参考gorouter features)

设计思路

我发现"/" 作为分割,形成每一个段,正好可以当做树的一个节点,然后要支持正则,每个段也可以自定义规则类似压缩版本的 trie[8]标准版本的trie,每个字符都要存节点,比较浪费空间,而且分支比较多。还有一种作法是Radix_tree[9],又叫紧凑前缀树,也是一种压缩trie的实现。

下图摘自wiki百科,对trie的演示:

下面图帮大家演示路由的存储结构:

值得提的

1、首先感谢那些贡献者,来贡献这个项目

详见:https://github.com/xujiajun/gorouter/graphs/contributors,感谢

2、一些Issure:

特地来说一声感谢[10]

这位网友专门来感谢我,很开心


Benchmark is not (only) measuring the routing cost[11]

httprouter作者julienschmidt给我提了个issure关于benchmark的问题。关于这个我想到一个很好的标题,叫《万星大佬给我提了一个issue》,这个标题怎么样? 

3、外部发声

"Go夜读"做了分享。第 19 期 2018-11-08 如何开发一个简单高性能的 http router 及 gorouter 源码分析[12]

4、外界评价

Golang教科书般的web router框架[13]

我很怀疑这位同学是我的托,这个标题写的,给我的项目说的这么好。不过话说回来,做为练手项目gorouter还是比较适合学习的。

点击下方

那些年我的副业

这篇文章结合我做过的副业介绍下个人经历和心路历程。

我是一个程序员,作为一个程序员大家想到能做的副业都有什么?外包私活,自己开发网站和app,公众号,搬运视频,淘宝店P图,付费群,倒腾谷歌账号,额…这些就是我做过的副业,当然还有一些只停留在想法阶段,比如微信表情包制作,靠打赏盈利,微信p图小程序开发,靠功能付费盈利等等,其中我做过的副业大部分都赚到了钱,有多有少,接下来我主要介绍下这些经历以及我现在专注做的事情。

从外包私活开始说起把,这个是肯定会赚钱的,因为做一个活赚一份钱嘛,我是给别人做的app开发,当时赚的最多的一个app是给菜市场记账的应用,前前后后应该是赚了2万左右,但也做了挺久,原因是实在是不好调试,需要远程安装app并且测试,但由于给的不少还是一直在做。

还有就是给别人做过应用上架,当时是想在Google Play上架,因为谷歌有比较多的要求,不是随便写写就能上架的,客户一般是500元上架一个app,功能要求多的差不多2000一个,做了差不多7、8个把,赚了不到2万。

这里有人可能好奇怎么去接到项目,我有几个实操的方法,当时我就是这么做的,第一就是去正规网站注册账号,比如之前拉勾出过一个平台叫大鲲,或者猪八戒网等等网站平台,其次就是qq群,可以搜索专门做外包的群,除此之外就是利用搜索引擎,将自己想象成一个客户当你想去找人做项目的时候会去怎么搜索,那你就去这样搜索,然后在一些答案上留下信息。

除了外包之外重点说下自己开发的app,当时我开发的一个app半年左右从0做到了300万下载,通过广告平台盈利,后来因为Google Play开发者政策调整导致被下架了,总体盈利大约不到20万把,也是我做的副业里面赚的最多的了,基于这个经历我尝试去扩展争取最大收益,因为我已经完全了解Google Play的从上架应用到如何盈利的完整流程,以及其中的一些风险,那么我就可以把这些分享出来教那些还没踩过对应坑的人,能够创造价值就会有很多办法创收。

首先我搞了一个公众号分享我的经验,吸引了一些同样在做这些事情的伙伴,因为当时国内应用发展已经出现瓶颈,大家都开始搞海外市场,通过公众号一部分可以赚到公众号广告的收入,其次具备一定影响力之后经常有人找我开发app给上架,上架一个多少钱,这块确实也赚到了一些,当然我并没有止步就做这些,我通过公众号找合作开发者,关注我的有一些应用开发者,但他们并不了解如何上架到最终盈利的整个流程,但我是了解的,这就有了合作的机会。

通过我出idea,开发者来开发最后盈利一起分成,其中最好的一个应用做到了百万下载,大家也都赚到了一点零花钱,后续由于个人经历原因不再继续搞了,有了公众号的平台还有很多人想要已经注册好的谷歌开发者账号,这时候给了我一个赚差价的机会,有一些人是专门注册开发者帐号的,我通过批量拿到最低价,然后转卖给需要的人,因为我有资源,通过这种方式又赚了一些零花钱,这个赚的不多,几千。

我又没止步于此,我觉得我还能继续扩展,我的想法是把做所有Google Play相关的人都能关注到我,这样我通过合作开发、赚差价、公众号广告持续赚钱,除了这几点我还搞了一个付费群,进群价位大约是128左右,年付的,大约也赚到了小一万,当然群里的同学也受益了,除此之外接受付费咨询,回答关于应用开发到上架到盈利的一切问题,因为我有过完整的经历,能够提供价值,而价值就是金钱!

搞应用是我做的最长的一个副业,也是赚钱最多的,现在不做的原因是因为我自己不再开发应用上架了,所以我已经不能源源不断的去提供价值了,没有价值就赚不到钱了。

也说一下搬运视频和p图吧,搬运视频就是从一个平台搬运到另一个,比如从youtube到头条,当时大平台都有补贴,只要视频有播放量就给钱,当时搬运视频赚的钱不多,几百块把,还没P图赚的多,P图是客户需要一些娱乐的图,我用ps给p好,看似不应该付费的东西真的是有人付费的,当时我开了一个taobao店用来吸引客源,由于市场足够细分,没想到有很多人付费做图,作图因为便宜,最后赚了差不多2千。

副业就说到这把,大家看我做的感觉副业赚钱好像挺容易,但当你真正实操起来会发现难度还是很大的,大家如果有想搞副业的也可以和我聊聊,公众号后台或者文章下面留言即可。

通过以上的副业经历我的想法是除了赚点钱之外,更重要的是看下自己擅长什么,因为一旦发现自己的长处就可以无限发挥它的价值,通过长处才能比别人做的更好,最终我发现我做事情执行力很不错,能够长期坚持写文章,当时我那个公众号一年多写了100多篇文章,而持续的输出内容是这个时代普通人最大的利器,内容能够放大你的价值,发现这个长处之后我开始思考方向,我必须专注一个方向不断输出内容,直到地老天荒哈哈。

最后我选择了基金投资这个方向,理由是这个本身就是赚钱的,并且能研究一辈子,每一个上班族打工人都必须有理财计划,它既能帮你省钱又能帮你赚钱,我会在这个公众号 越哥投资笔记 持续输出相关内容,通过我自己的实操购买基金和不断学习理财知识,以工资为本金,通过时间的复利,实现打工人的财务自由!

以上是关于那些年我做的开源项目之web篇的主要内容,如果未能解决你的问题,请参考以下文章

那些年我的副业

那些年我的副业

那些年我的副业

开源接口测试框架之公司应用篇

那些年我遇到的ERP顾问

这些年我@yangbodong22011参与的开源