Golang其实非常之怪异的。
好,废话不多说,我终于搞明白这些问题:

  • GOROOT: 这个就是Golang的安装路径,UNIX-like系统,一般是/usr/local/go,Windows一般就是C:\Go。 一般不需要设置。
  • GOPATH : 这个就是你的workspace,比如你放在D盘,比如哈,D:\goworks或者/home/yumin/goworks。那么,这个目录下,会有三个目录,src, bin, pkg。那么呢,你需要在环境变量里设置export GOPATH=/home/yumin/goworks,以及export PATH=$PATH:$GOROOT/bin:$GOPATH/bin。Windows同样道理,自己手动设置环境变量GOPATHD:\goworks, PATH环境变量要添加2个:C:\GO\bin(这个一般是安装golang的时候已经帮你设置了),D:\goworks\bin(需自己手动设置)。

-- 阅读剩余部分 --

这里有以下几个注意点:
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这样的基础设施软件如此之重要,所以肯定没法成为某一个人、某一个公司私有,必须有成为公器的觉悟,所以肯定是成立基金会的形式了,比如著名的Li......

-- 阅读剩余部分 --

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

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

以Telegram Bot为例:

-- 阅读剩余部分 --