作者归档:tomheng

996

在谈论 996 之前,我们先明确下啥是996,百度百科的定义是这样的。

996 工作制是指早上9点上班、晚上9点下班,中午和傍晚休息1小时(或不到),总计10小时以上,并且一周工作6天的工作制度,代表着中国互联网企业盛行的加班文化,是一种违反《中华人民共和国劳动法》的工作制度。

临时的 996 在中国应该是普遍存在的。制度性的 996 在部分城市也是存在。我知道的二三线城市,很多周末都是单双休。这个问题要追踪的话,根源上其实是贸易战。因为贸易战,2018年下半年开始中国经济受到了不小的影响。部分企业开始规模化裁员,尤其是互联网企业。裁员一时爽,裁员之后企业还是要正常的运转,工作量没有变化,干活的人少了,自然要压榨现有的人员。2019年上班年开始有不少企业爆出了开始强制无尝性的 996 工作制。这种变态的制度一实行,自然大家都很反对。毕竟这是极不公平的事情,于是有了 996.icu。

制度性的无偿996是反人性的,也是违法的。这是社会的一种倒退,是对工人的一种压榨。996 开始被讨论后不久,各位大佬也是发表意见。无论是马云、刘强东还是谁,他们的论调都比较一致,基本把 996 等同于奋斗精神。在我看来这些资本家的观点完全站不住脚。工作本身是一种价值交换,大部分没有公司股权的员工,是用自己的时间和身体交换等价的报酬。996 从员工身上榨取了更多的剩余价值,但是员工却没有额外的报酬,这完全是不公平的。

制度性的无偿996一旦大规模被采用,那将是我们社会巨大的倒退。必将激发更大的社会矛盾,有些家庭也会爆发各种矛盾,从而带了更多社会问题。

第三方账号登录设计

现在很多应用都会提供第三方账号登录功能。我记得这个功能出现最早的时候大约是 twitter 兴起的时候。其实在这之前有  openid 的方案,不过没有推广开来,最终随着 twitter facebook 等网站用户量的暴涨顺手做了 openid 的事情。

第三方账号登录设计的初衷是要解决注册成本问题。这里面包含两方面,一是注册一般需要填写的内容比较多,比如用户名、邮箱、性别等等,有的甚至到了变态的地步。另一方面是密码管理的问题,就是用户每次注册都要填一个密码,所有网站用一个密码又要面临安全风险。

采用了第三方账号登录以后,用户无需填写繁琐的个人信息。只需要授权一下,应用方就可以获取到对应的必要注册信息,同时用户也无需设置密码。

刚开始的时候对用户和应用方来说一切都挺美好。但是用户不是绝对集中,也就是不存在一个平台包含所有用户。所以应用方不得不接入不同的第三方,比如微信、QQ、微博等。这样慢慢就产生了新的问题,用户很容易在同一应用方产生不止一个账号。

一般有以下几个解决方案

  1. 用户用第三方账号登录以后,让用户再绑定应用方的账号。这样用户就可以把不同的第三方账号绑定到同一应用账号,从而避免了多账号的问题。但是这样就违背了第一个初衷(简化注册流程)
  2. 折中的方案,不需要显示的绑定账号,但是需要绑定手机号。和第一种方法对比,没有本质的改变。
  3. 就是如下图QQ音乐这样,提示用户上次是用的那种登录方式,这种方案成本收益较高。

完美方案不存在,需要持续进化…

十一长假要结束了

今年国庆节没有出去玩,在家里做做饭,看看球,其实挺好的,比在景区看后脑勺好多了。

国庆期间发生了不少事:彭斯怼中国;美股大跌;学会了做红烧鱼。。。

Golang中空字符表示

空字符(Null character)又称结束符,缩写NUL,是一个数值为0的控制字符。在C语言中空字符用来表示字符串的结束。

在C语言中也可以直接插入空字符:

1
2
3
4
5
#include <stdio.h>
int main(void)
{
    puts("hello\0world");
}

但是在Go中,类似的代码是不行的:

1
2
3
4
5
6
package main
import "fmt"
func main(){
    fmt.Println("hello\0world")
}
//print: /tmp/g.go:4: non-octal character in escape sequence: w

查看文档:https://golang.org/ref/spec#String_literals

修改一下即可:

1
2
3
4
5
package main
import "fmt"
func main(){
    fmt.Println("hello\000world")
}