guiyumin 发布的文章

Privacy is a privilege

Of course, privacy is a right, protected by the Constitution. But come on, don't be naive. Let's face the reality.

In the era of Internet, privacy is a privilege. Only a few can have it. You, one of the ordinary people, are transparent. You have no secret, no privacy, in front of the government. And even a junior networking engineer can see everything of your life. Basically, you are naked.

Before the era of Internet, it's a privilege to be online. But when everyone is online now, many people are willing to pay huge amount of money to be able to offline.

Privacy is a privilege and rich people can have it.

Yii2 Gii生成代码的bug

基本上都用会用Gii生成代码,省事嘛,但是,最近一个项目有点恶心。

比如,在MySQL里建了一张表,一个字段是status,设置为booleanMySQL其实是把这个字段设置为tinyint的。

但在Gii里生成的model代码里的rules里,就成了string

这个小破bug,让我浪费了1个多小时,当然,我在提issue的时候,说浪费了我3小时

具体可以看这个: issue地址

2018.5.25更新: 此issue被关闭了,因为有人提出了解决方案,比较容易修复。被关闭的时候,Yii的核心开发者说了一些莫名其妙的屁话,对于fix bug没有任何帮助。Yii社区的氛围很不好。我只能呵呵了。

还是抓紧学其他的框架吧。

复制操作符=,其实这个很简单的东西,但如果深究起来,那也还是需要一些精力去理解的。

C语言是有指针的,也就是pointer。但Java没有,JavaScript也没有,其实不是没有,而是很多高级语言是不允许你直接操作内存数据的,为了安全,也为了方便。

最近刷leetcode,遇到一个小问题,21. Merge Two Sorted Lists

解法比较简单,先设置一个变量,比如叫做dummy,let dummy = {val = 0, next= null},然后再把dummy赋值给另一个变量,比如叫做runner。然后,对这个runner进行各种操作,最后返回dummy.next

这个就比较费解了。

其实原因呢,就是dummy这个变量指向了一个内存里的地址,把dummy赋值给runner之后,runner也指向了内存中的这个地址。
但后来,操作runner这个变量名,改变了内存里变量的一个小小的属性,就是next,其实这时dummy.next也肯定是变了。
再后来,直接改变了runner,让它指向新的内存地址,最后反正是生成了一个新的linked list

所以最后返回dummy.next,其实就是runner第一次改变了next属性后,next指向的第一个新的node,也就是新生成的linked list的第一个node

完。

美国人民比较喜欢购买自己的域名,然后买office365或者g suite这样的办公套装服务。
最近遇到一个问题,我用的是office365的邮箱服务,用yiisoft/yii2-swiftmailer发邮件就会使用office365的smtp配置。
官方给的配置如下:

  • Server name: smtp.office365.com
  • Port: 587
  • Encryption: STARTTLS

好了,我发送无数次,都出现这个这个[Unable to find the socket transport "starttls" - did you forget to enable it when you configured PHP? #26792144]报错信息。

- 阅读剩余部分 -

内容创作的繁荣

所谓“百花齐放、百家争鸣”,也就是文无第一的意思了。
那么,谁可以垄断内容创作呢?当然是No One
所以,在内容创作领域,没有人可以成为一个垄断性的霸主,这一点非常重要。

多举几个例子吧:

  • 先说文学创作吧:显然整个世界有多种方面可以来歌颂的,有些人就忧愁困苦,例如杜甫;有人就闲得蛋疼,例如晏殊。你说他俩谁高谁低?显然没法比。陆游的《钗头凤》写他和唐琬之间被拆散的爱情,简直是千古名篇;秦观则见一个爱一个,却也留下了那句著名的两情若是久长时,又岂在朝朝暮暮,这谁比谁更高明呢?
  • 再说影视作品:有科幻类,玄幻类,复古类,历史类,暗黑类,宗教类,法律类,等等,不一而足。有人就不喜欢打打杀杀,有人则觉得卿卿我我太幼稚。

总之呢,内容消费是很个性化的,不可能有一部作品能吸引到所有人的关注,除非是内容生产极其稀缺的时代,例如当年的《渴望》,男女老少都爱看,那是因为当时就那么一部戏啊亲。

内容创作本身,其实也是一个专业的工作。我显然不擅长,就算我可以做,我也没法成为一个优秀的内容创作者。

所以做擅长的事。

No Documentation No Maintainance

没有文档,就没有维护

没有文档怎么维护啊,过几个月你自己都忘了吧?
我懂,写文档真是一个烦恼的事,太墨迹,太费劲
但好歹你给自己画个简略的地图吧,否则下次你登录进去了,你自己都找不到地方下手。