检测无向图有没有闭环

这篇文章来自工作中的一个实际问题:电子工程师在进行电路设计时,一般不用画出有闭环的导线,否则就短路了,这个是没有意义的。为了避免电子工程师的误操作,需要做这么一个防呆的工作。这是一个实际的场景,为了解决这个问题,可以转换成一个图的问题。

先来解释几个概念。

继续阅读“检测无向图有没有闭环”

Shadowsocks 安装教程

我一开始并不知道 shadowsocks(简称 ss)是由一位中国的女程序员写的,后来,她受到了当局的压力,现在的她在 github 上并不怎么活跃,真是可惜。

搭一个 ss 服务不难,以安装一个 Python 包为例。先检查一下我的环境:

cat /etc/centos-release
#CentOS Linux release 7.7.1908 (Core)
继续阅读“Shadowsocks 安装教程”

股票的各种参数学习

我们买股票的时候,有一些参数,随着交易的时间累积,可以逐渐明白代表的是什么意思,比如“今开”、“昨收”。每日的增长下跌百分比的公式是:

(实价 – 昨收) / 昨收 * 100%

但是有一些统计学参数不太理解,需要特意学习一下,比如“量比”、“振幅”、“市盈率”等等,我特意查了一下,放在这里,方便我自己回顾。

继续阅读“股票的各种参数学习”

web 动画与动量守恒

在系统不受外力下,物体的质量(m)与它速度(v)的乘积就是动量,用字母 `p` 来表示。

$$ p=m·v $$

动量是矢量,有大小,有方向。

还有一个动能公式:

$$ KE = { {1 \over 2} mv^2 }$$

通过上面两个公式,我们可以推导出两个物体相撞后的速度,以此来实现封闭空间的碰撞动画。

继续阅读“web 动画与动量守恒”

我的 2019

2019 年是真的过的很快,就像短期的一天一样,我可以迅速的回顾整年,记得大部分日子的细节。

四月清明节回家;五月桂林自驾游;六月香港大屿山;七月女票回了一趟家;八月追剧《长安十二时辰》;九月和女票吵架;你看,时间就是那么快,一年才 12 个月,稍微回忆,大半年过去了,直到春节期间的今天我打开博客写总结。

我想时间就是那么快,我都来不及做些什么就到了总结的时候。为了让总结有东西,我不得不提一些细小的事情,否则我可能什么也没干。

继续阅读“我的 2019”

如何自制 json 解析器

这个文章缘起自同事兼朋友的一个技术分享,他介绍了 json 的 parse 和 stringify 的实现等等具体知识,我主要是学习他的代码和编程思路。同时,我也对比了 douglas crockford 的实现,他是 json 格式的发明者和布道者,他的实现代码也非常的酷,非常值得学习。

作为 web 开发者,我们把 json 当成了水和空气,没认认真真的研究她,今天我们就来拨开她的面纱看看她的实现原理吧。

继续阅读“如何自制 json 解析器”

衡山一日一夜游计划

前言

又到一年过年时,这次选择出游衡山,之前去过衡山一次,这次带上家人一起。我做了一个简单的规划,大家帮忙看看有什么问题,帮我改进一下。

2020-01-20(农历 12 月 26)

中餐

我们在山下吃中饭,吃饭地址在丽君饭店,已经加了老板的微信,预定了包厢。

饭店离衡山入口比较近,方便。吃完饭,我们可以直接开始爬山之旅。

丽君饭店的饭菜还是不错的,在美团上的当地排名第一,老板热情,服务周到(此处应该给我一笔广告费)。吃了饭,民宿的老板就开车接我们上山了。

上面是规划,实际情况是这样的
继续阅读“衡山一日一夜游计划”

forin 和 Object.entries 运行效率对比

我们从一个很简单的问题出发,怎么遍历一个 js 对象?第一种使用 forin,但是会遍历到原型链上的属性,这个不是我们想要的。

forin 存在的问题

var s = {a:1}
s.__proto__ = {b:2}
for(var i in s) {console.log(i)}

所以我们要这样判断一下。

var s = {a:1}
s.__proto__ = {b:2}
for(var i in s) { if(s.hasOwnProperty(i)) console.log(i)}
继续阅读“forin 和 Object.entries 运行效率对比”

父子页面的 iframe 如何通信?

写这篇文章的原因是跟同事讨论了这个问题,我们持有不同的看法,他坚持在一个 iframe 里调用另一个 iframe 的方法,也可能触及 dom 操作;我认为简单传数据过去就好,隔离一下运行环境。跨 iframe 执行代码会有一些坑,比如使用 instanceof 操作符的时候,数组不是一个数组的实例,用 Array.isArray 不会有这个问题。

demo

See the Pen frame-out by zeng (@zengxiaoluan) on CodePen.

继续阅读“父子页面的 iframe 如何通信?”