guiyumin 发布的文章

这里有以下几个注意点:
1、这个validation只是在Model层面,而不是在Migration,因为Migration是对数据库进行操作,而Model层是对数据本身进行校验;所以其实db:seed是绕开了validation。这是个坑。
2、seeder里写的东西,直接写入数据库,不经过Model层的validation
3、 sequelize真的不行

其实这是因为mysql这个数据库User表里的root User,不是用密码链接的

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

解决方案:

- 阅读剩余部分 -

继上篇讨论开源软件的程序员怎么赚钱之后,我又总结了一下,开源软件无非以下几种盈利模式,当然,这和这个具体的开源软件本身是什么、面向的客户群体也有关系,而且一般不是仅仅一个盈利点,而是多种多样的盈利模式混合在一起的。

1、Linux Kernel等基础设施类open source project:

由于类似Linux Kernel这样的基础设施软件如此之重要,所以肯定没法成为某一个人、某一个公司私有,必须有成为公器的觉悟,所以肯定是成立基金会的形式了,比如著名的Linux Foundation。

想一下,如果这个Linux Kernel是阿里巴巴或者腾讯或者百度私有,他们来维护和运营,你敢用吗?

这种情况下,没所谓盈利不盈利了,基金会嘛,不以盈利为目的,但对于参与的个人,待遇肯定不错了。比如Linus Torvalds,Linux Foundation在2016年支付给他1.6M美元(160万美元),而且很多公司都赠送给他股票的,比如Redhat。据说现在他的身家已经达到1.5亿美元了。虽然比不上盖茨乔布斯什么的,但已经非常可以了。他自己也对此非常满意。

这一类也显然也包括Apache Software Foundation, OpenSSL, OpenBSD等,都属于核心基础设施。除了接受各种捐款,或者邀请企业成为会员(会员费),也没什么好办法了。

2、 Vuejs,Vuetify等热门开源软件:

这也可以归结于基础设施类,毕竟很多公司的产品都是基于这些东西来开发的。因此,他们需要这样的好东西能持续改进、持续运营下去。所以会捐款。
所以Evan You能够成为独立开发者,拿到各种捐款,比如公开的数据是,2018年时,Evan的Patreon账号每月获得16K美元的赞助。
而且Evan出席很多会议,在会议上演讲,我相信是有演讲费的。
当然了,给他们赞助了,也会在网站上显示出自己的logo,也是很划算的。

这些优秀的独立开发者们,显然也会提供商业支持的,只要你给钱,都OK的。比如Vuetify在README里就搞了一个badge,要雇佣他们,150美元一小时。

当然,对于财大气粗的Reactjs和Angular,是不需要搞外块赚钱的。然而,正是因为Reactjs和Angular后面有Facebook、Google等大公司,那么其他大公司在使用这俩库的时候,也不是没有顾虑的。上次Reactjs闹出来的license事件,可以说明这个问题。

3、Freemium模式:适用于很多不是那么热门,但也足够实用的开源软件

这一类已经不算基础设施了,可以理解为重要的实用功能,

  • 例如wildfire Chat这个开源IM软件,
  • 或者某些开源的电子商务软件,
  • 某些开源Blog程序等

这一类,基本上就是利用开源吸引人气,卖商业支持服务,面向business卖license,或者卖生态周边,比如theme,plugin等。不是大热门,但能够让开发者生活得很好了。

开源版本,提供基本的功能;Pro版本,提供高级功能。 Nginx、OpenResty也是这样的,你可以用开源免费版本,他们也有商业公司,提供收费的商业支持服务。然而这里有个矛盾,就是你的开源版本,到底做到什么程度。比如Nginx由于开源版本做的如此之好,以至于只有很少人购买他们的商业服务。虽然最终卖身成功,但显然Nginx Inc不是一个成功的商业公司。

显然,如果你开源版本提供了太少的功能,也就没人愿意去尝试了。

Jekyll Pay目前属于这一类,暂时考虑定位于这个层次,也面临类似的问题。

4、本身自己不开发开源软件,但基于热门开源软件的周边生态来开发

  • 最著名的显然是Redhat了,Linux Kernel是免费的啊,可以随便用,但你不会维护啊,所以我来帮你啊,这就是卖subscription,卖的是服务。
  • 再比如说,Wordpress那么流行,你就可以开发一套主题,一个插件,而且是freemium的模式,就是说这主题或者插件免费给你用,但也提供pro版本,要收费的。
  • Vuetify其实就是Vuejs的周边生态
  • 其实VueMastery也是Vuejs的周边,似乎和Evan You关系不错,应该大概率是有参股的
  • WordPress的host服务,其实这个属于云服务范畴了,但现在似乎开源软件和云服务供应商之间的矛盾越来额越多了

5、混的比较惨的开源项目也不少。

  • OpenSSL,在HeartBleed漏洞爆出来之前,其实混得挺惨的,当初几个核心维护者甚至日常还是给别人做IT咨询赚钱,都快经营不下去了。后来这个漏洞让他们终于在业界引发了一些讨论,再加上来自罗永浩的捐款,还是让他们好过了很多。
  • 所以技术和钱之间没有必然关系。而且如果不能通过技术赚钱,这个技术其实就很难继续投入资源去改进。

我其实想做一个非常简单的通知机器人,就是说,OK,我这边呢,服务器发生任何事了,我都会发送一个通知给我的Telegram,好及时获取最新状态。

那么,一般来说就要用队列了,比如发邮件啊,比如发微信、短信、Telegram Bot等。

以Telegram Bot为例:

- 阅读剩余部分 -

首先因为要去洛杉矶中国大使馆取新换的护照,所以就决定开车去LA。然后一切OK,然后就继续开车出发,前往拉斯维加斯。

事实证明,这是一个极其错误的决定。

从LA出发的时候,Google Maps显示只要4个半小时即可,但显然时间越拉越长。先就不说路上要停下来休息一下,加个油,喝个水,上个厕所什么的。就说堵车吧,显然我们在15号上堵了很久。终于花了6个小时才开到拉斯维加斯。

办理入住,休息一会,然后去餐馆吃饭,纪念10周年。然后继续出门逛街。真的累坏了。

第二天早上多睡了一会,去吃了一个brunch,吃到1点,然后继续逛,把附近的几个酒店都逛了。然后回去休息。然后晚上出来吃饭,吃了一个Luke's lobster,吃完了继续逛。

回家睡觉。

起床后出发。又花了6个半小时。

累坏了。