📸 不会拍照的程序员不是一个合格的男朋友
技术不专业,构图也就凑活,但还是想把哪些打动我的瞬间留下来———生活中的美好刹那,工作外的山河湖海,辽阔草原。
就像陈奕迅《沙龙》里唱的那样:捉紧生命浓度 坦白流露 感情和态度 / 留下浮光 掠影 飞舞
📸 不会拍照的程序员不是一个合格的男朋友
技术不专业,构图也就凑活,但还是想把哪些打动我的瞬间留下来———生活中的美好刹那,工作外的山河湖海,辽阔草原。
就像陈奕迅《沙龙》里唱的那样:捉紧生命浓度 坦白流露 感情和态度 / 留下浮光 掠影 飞舞
context是Go语言的一个官方包,主要功能是跨 API 边界和进程间传递截止时间、取消信号和其他请求范围值。关于context的具体功能和原理本文不做过多介绍,本文主要是探讨context包的一个常用功能:超时机制。
context.WithTimeout 返回一个超时上下文及其退出函数,函数签名如下:
func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {
return WithDeadline(parent, time.Now().Add(timeout))
}
LeetCode
刷 LeetCode 防止老年痴呆。
我们组开发并维护的一个Linux上的服务,最近突然被隔壁团队测试同事发现会导致他们的业务进程启动不了。经过排查发现由于我们的服务是由systemd管理的,并且通过systemd的配置项来限制了服务整体的cpu和内存资源,这样在服务启动后会在 /sys/fs/cpu,cpuacct 目录下生成一个 system.slice 目录,这个目录下又会产生所有systemd管理的服务单元(service/unit)及其对应的cgroup文件,其中 cpu.rt_runtime_us 文件生成时会写入默认值0,这就导致限制了所有服务单元的实时进程无法分配到cpu时间,从而实时进程无法启动。
在数据库的日常使用中,我们总在追求两个看似矛盾的目标:高并发和数据一致性。多用户同时操作数据库时,既要让大家都能高效干活,又要避免数据乱掉,这背后的核心支撑就是事务隔离级别。PostgreSQL作为开源关系型数据库的标杆,对事务隔离的实现既遵循SQL标准,又有自己的独特优化。
事务的四大特性ACID里,隔离性(Isolation) 是最复杂的一个。如果没有隔离机制,多个事务并发执行时,会出现各种数据异常问题,PG里主要需要解决这三类:脏读、不可重复读、幻读。这三个问题是理解隔离级别的基础,先通过实际场景搞明白。

将你的个人介绍和档案放置在此处。
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
对于每个位置,维护当前可以到达的最远位置(边界),保存这个边界位置并继续遍历数组并更新每个位置可以到达的最远位置,如果遍历到了边界,则更新边界为当前可以到达的最远位置,并且步数+1。注意到只需要遍历到倒数第二个位置,因为如果最后一个位置可以到达,那么在倒数第二个位置的时候,边界一定是大于等于最后一个位置的。 这里就需要考虑末尾是否可以到达这个问题了,虽然题目说了假设总可以到达最后一个位置,但是多考虑一点肯定没坏处。代码中注释的很清楚了,如果遍历到某个边界位置,并且边界位置就是更新后的最远可到达位置,那么最远只能到达当前位置。
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。 示例1: 输入**: [2,3,1,1,4] 输出: true 解释: 位置0 -> 位置1 -> 末尾 示例2: 输入: [3,2,1,0,4] 输出: false 解释: 最远到达位置3,之后再无法向后跳
贪心算法的思路跟简单,从前向后遍历每个位置,若当前位置能达到,则更新可以到达的最远的位置,最后若能到达最后一个位置返回true。
SVD和PCA是两种常用的降维方法,在机器学习学习领域有很重要的应用例如数据压缩、去噪等,并且面试的时候可能时不时会被面试官问到,最近在补课的时候也顺便查资料总结了一下。
对于样本集Xm×n={x1;x2;…;xm},每一行表示一个n维样本。PCA将n维样本xi投影到一个低维空间中去从而实现降维。具体来说,可以从两个角度来约束投影:最大化方差和最小化投影误差。有意思的是,从这两个方向推导最后会得到相同的结果。