加入字节的极致体验:入职一周,人间三周

“字节一年,人间三年”,这是我入职前看到的一句话,恰逢当时网上爆出的实习生段子,对此我是有些顾忌的。直到入职后以后,我开始有了一些第一视角的认识,“字节一周,人间三周”,短短10个工作日,我获得的是3倍的成长。

阅读全文
爱情三角理论与CAP原则

昨天和朋友聊到爱情三角理论,下来专门查看了书面的说法。

美国心理学家斯腾伯格提出的爱情理论,认为爱情由三个基本成分组成:激情、亲密和承诺。
激情是爱情中的性欲成分,是情绪上的着迷;亲密是指在爱情关系中能够引起的温暖体验;承诺指维持关系的决定期许或担保。
这三种成分构成了喜欢式爱情、迷恋式爱情、空洞式爱情、浪漫式爱情、伴侣式爱情、愚蠢式爱情、完美式爱情等七种类型。
这个理论认为爱情是由三个基本组成部分所构成的,这三个部分分别是:激情,亲密以及承诺。这三个组成部分就好象三角形的三条边,所以,这个理论就被称为爱情的三角理论。

1.迷恋:这种爱情仅仅包含激情部分;
2.喜欢:这种爱情仅仅包含亲密成分;
3.空爱:这种爱情仅仅有承诺成分;
4.浪漫之爱:这种爱情将亲密与激情结合在一起;
5.友谊之爱:这种爱情将亲密和承诺结合在一起;
6.愚蠢的爱:这种爱情将激情和承诺结合在一起;
7.没有爱:这里三种成分都没有;
8.完整的爱:这里三种成分都具备。

阅读全文
《凡乐Java开发手册(莲花山版)》

PDF 版本

点击下载最新PDF版《凡乐Java开发手册》

前 言

《凡乐Java开发手册》是凡乐服务端团队经过一年的Code Review总结而来的的一些内部编码经验。自去年疫情好转回公司办公以后,我组织了每周一次的跨项目 Code Review。做这件事的初衷与团队的考核无关,而是从公司的实际情况出发——小项目居多,大家各自负责自己手中的代码,太少有机会去阅读他人的代码了。每周一个多小时的代码走读,从最开始我来讲解,到后来每个人轮流主导讲解,代码中一些或漂亮或别扭的地方渐渐得到了大家的共识,录入这本手册中的条目,是我们讨论后一致认可的。

阅读全文
i=i++问题在各语言中的呈现和我的一些深入思考

以Java为例,下面的代码会输出几?

1
2
3
4
5
6
7
public class Main {
public static void main() {
int i = 1;
i = i++;
System.out.println(i);
}
}

如果把第4行的i = i++;换成i = ++i;结果又是如何?
我做了实验并查阅了一些资料,结果呈现如下:

语言 i=i++ i=++i 说明
Java 1 2 在JDK 8下执行实验
JavaScript 1 2 在Blink、WebKit内核解释执行结果
C++ 2 2 查阅资料,i=i++在C++17前为未定义行为,i=++i在C++11前为未定义行为(UB:Undefined Behaviour)
Go 语法错误 语法错误 i++只有一种用法,即作为「语句」单独放一行,没有++i的写法,也不能进行赋值操作,“++”不是「操作符」
Python 没有++操作符 没有++操作符
Scala 没有++操作符 没有++操作符 与Java同为JVM上执行的语言,但语法层面没有“++”操作符

答案都列出来了,这个问题是不是就到此为止了呢?其实问题的答案并不重要,因为不会真有人这么写代码。如果出选择题来考这个问题,我也会对出题人的水品表示怀疑。
单从语义层面讲,i++++i都是在i原本的值之上自增1,区别在于i++表示“先取值,后自增”,而++i表示“先自增,后取值”。不管是哪种操作,都自带了对i值变化的语义,所以i=i++的赋值操作本身在逻辑上就不成立,使用者想表达的语义应该是i+=1或者i=i+1。如果要扣字眼,我是比较倾向于C++的答案2的,虽然还是有点奇怪,但相比1来说至少不会令人惊讶。
这个例子的执行结果并不重要,但是我们换个角度,通过这个例子去探究代码内部执行过程,对学习更底层的原理会有很直观的帮助。多问一个为什么,知其所以然,就能发现这个问题背后的一些价值。
下面先以Java为例,来探究一下为什么会出现执行i=i++后值不变的现象。

阅读全文
Hexo使用Gitalk评论系统偶现403问题解决

我在搭建这个博客系统的时候,选择了Gitalk作为评论系统,看中其利用GitHub Issues来管理评论的机制,且需要使用GitHub账号登录,有一定门槛,方便管理。

搭建过程需要在GitHub创建一个公共仓库,以及一个OAuth Apps,参考相关资料按步骤操作即可,这里不做赘述。要注意的是Authorization callback URL这项要填写博客首页地址,我是把http强制定向到了https,这里完整地址也必须填写https,否则无法正常使用。

阅读全文
你好,李焕英

这是最近几年看过最好的贺岁电影。
每次回家过年,都会和父母一起看一部贺岁电影,回顾一下近几年每次的选择,2016「美人鱼」,2017「功夫瑜伽」,2018「捉妖记2」,2019「疯狂的外星人」,2020「囧妈」。看了这些片名,也许你会和我产生同感,和父母一起去看电影,大多数时候是陪伴大于欣赏,重在一个“陪”字,过年图个开心,一起笑笑就好。然而今年不一样,「你好,李焕英」这部电影不仅仅是“陪”,还有非常多的“赏”。
今天早上浏览了一下贺岁档的电影列表,第一名便是「你好,李焕英」。只看到简单的几句短评:贾玲自导自演的处女作、亲身经历改编、前面很欢乐后面很费纸巾。说起亲身经历改编,想起了韩寒导演的贺岁片「飞驰人生」,我想对于一个导演来讲,结合自己经历去创作的作品,无论如何观影的下限不会低。
我想就冲这亲身经历,选择这部电影肯定错不了,事实也是如此。

倍感亲切的时代记忆

故事的主要场景是在1981年的化工厂,比我大了整整十年。虽然没有处身于80年代的经历,但作为最早一批90后,电影里的工厂的环境,以及各式各样的“老物件”,让我倍感亲切。
和我最近正在看的「大江大河」一样,80年代初的国营工厂环境都和我小时外公外婆带我去城东二环路旁「刃具厂」里的景色差不多,高高的红砖烟囱、处处可见的红底大字标语、还有几层楼高的水泥水塔……然而人文环境和我的记忆就不太一样了。80年代时工人身上那种劳动光荣的骄傲姿态,在我小时已经变了样。成都有两座位于十字路口中间的雕塑存在于我儿时的记忆中,一座是位于「万年场」的「川军抗日解放碑」,现已迁于市中心「人民公园」,另一座便是以前位于「水碾河」的「建设者」。之所以提到这座雕塑,是因其独特的造型,它在成都还有个市民们家喻户晓的外号——“工人阶级等于零”。

阅读全文
老妈的抖音号

我老妈的抖音号,英英热爱生活,抖音ID:dyo8ta3gydoi欢迎关注。截至此刻粉丝已过百,涨个粉要高兴好几天。

阅读全文
贴春联

成都连续几天春风送暖,今天是大年三十,我在家里过新年。

千门万户瞳瞳日,总把新桃换旧符。

过年离不开贴春联,诗句中北宋年间的「桃符」就是今日的「春联」,「总把新桃换旧符」描绘了人们总是在除夕这天,以新换旧帖贴春联的景象。

我家也准备了一副春联,但不同于新桃换旧符,长这么大,我家还是第一次贴春联。由此诞生了如下三个问题,贴在哪?何时贴?怎么贴?为了解答这些问题,特地研究了下老祖宗的「传统」。

阅读全文
使用Hexo快速搭个人建博客并实现写作过程的CI/CD

最近想写点东西,谈谈技术中的一些沉淀,谈谈生活中的一些思考,包括一直想分享的Ingress经历,于是就有了这个用Hexo搭建的个人博客。

诉求

作为一个有(不)点(怕)追(折)求(腾)的Coder,建立个人空间这事儿一定是离不开一点极客精神的。以下几点都是对博客功能的基本诉求:

  • 写作方式要支持Markdown,专注内容而不是排版
  • 能用Git做文章的版本控制,方便归档、比对,以及多设备写作时的共享
  • 正式发布文章前要能够预览效果,确认后可以立即发布,所见即所得
  • 能够快速恢复博客版本至历史中的某个存档
  • 主题界面能够很方便的切换选择

Hexo + GitHub/GitLab 能够快速满足以上所有诉求。

效果

整个建站花费半天时间,最终实现了下图的写作过程的CI/CD,纵享丝滑。

至此,从一篇文章的写作到发布,仅仅需要做这3件事:

阅读全文