如何自制 json 解析器

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

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

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

衡山一日一夜游计划

前言

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

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

中餐

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

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

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

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

男士应该学会打温莎结

十二月大事记:深圳野生动物园游玩、老人与海发布会、华为李洪元事件

2019-12-31

万物并育而不相害,道并行而不相悖!和而不同,构建人类命运共同体!在世界上最优秀的中华优秀文化的指引下,在以习主席为首的中国共产党的领导下,不忘初心,砥砺前行,从我做起,人人负责,中华民族的伟大复兴指日可待!

https://v.youku.com/v_show/id_XNDQ4OTU1MzY0OA==.html?spm=a2h0k.11417342.soresults.dtitle&s=caebe60f2b6e4870bda7

继续阅读“男士应该学会打温莎结”

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 如何通信?”

小团独坐春风暖,不看花开看蝶飞

养猫、PDF 格式学习、topzio 西装定制

2019-11-30

想在 mac 里做点 wordpress 开发没有那么困难,安装 xampp 就行,而且是免费的。 但是在默认情况下,安装 wordpress 插件需要 ftp 账号的权限,怎么解决呢?于是就有了这个文章。因为我从网上找答案还是花了一些时间,所以有记录一下的必要。

标题:解决 mac 下 xampp 安装 WordPress 插件需要 ftp 账号

内容来自曾小乱的blog:https://zengxiaoluan.com/mac-xampp-wordpress-ftp/

2019-11-29

有谁定制过西装,topzio 怎么样?急,刷新等回答。

http://www.topzio.com/topzio/aboutus.html

2019-11-28

继续阅读“小团独坐春风暖,不看花开看蝶飞”

解决 mac 下 xampp 安装 WordPress 插件需要 ftp 账号

xampp、ftp、mac、wordpress

想在 mac 里做点 wordpress 开发没有那么困难,安装 xampp 就行,而且是免费的。

但是在默认情况下,安装 wordpress 插件需要 ftp 账号的权限,怎么解决呢?于是就有了这个文章。因为我从网上找答案还是花了一些时间,所以有记录一下的必要。

在 wp-config.php 中添加

define( 'FS_METHOD', 'direct' ); 
// 定义这个常量是做什么用的,我并没有深究。

更改文件的权限

sudo chmod -R 777 /Applications/XAMPP/xamppfiles/htdocs/

上面是更改对应目录下的权限,找到对应的目录,比如我的是:/Users/zengliaoliao/.bitnami/stackman/machines/xampp/volumes/root/htdocs/zengxiaoluan,这样就搞定了。

参考链接:https://www.youtube.com/watch?v=dn6_nYQFjok

养猫

养猫哲学、橘猫、人猫如何相处

之所以要养猫是家里来了老鼠,那些讨厌的老鼠从南面北面的窗户不时涌入,咬我的网线、大米、苹果、蔬菜,翻我的垃圾桶,在长达两年的斗争中,有多次的凌晨惊醒,打坏了一把伞,坏了无数美梦,向房东抱怨无法解决又不能立马搬家的情况下,一个偶然的想法出现在脑里:不如养一条猫。

说养就养,很快,就从网上免费领养了一只橘猫。前主人给他治猫癣就花了一万多,从她手里接过一件又一件的药品和猫用品,我的心里也终于做好了准备:养猫可不是仅仅多一份开支的问题,更是一份时间和精力,也是肩上的重担。

一只招财进宝喵送给大家
继续阅读“养猫”

入门 typescript

typescript、看房、体检

2019-10-31

并非所有的酸浆都能吃,而栽培最为广泛、市场上最常见的种类是灯笼果P. peruviana,原产哥伦比亚、厄瓜多尔和秘鲁的高海拔地区。这个种的果实成熟时是黄色的,灯笼的外衣在上市时通常已经有些枯萎,状如草纸。

https://www.guokr.com/post/708439/

乱语:小时候玩的一种植物和灯笼果极度相似,但是从来没有吃过,不知道是不是灯笼果?灯笼果吃起来有奶味。

2019-10-30

Top modern browsers already support ES6 modules. This is great news from the unit testing perspective. A browser can natively load and test project sources without transpiler.

https://medium.com/dailyjs/running-mocha-tests-as-native-es6-modules-in-a-browser-882373f2ecb0

乱语:直接在浏览器里就能运行 mocha,跑测试用例,这个有点酷哦。话说你们团队需要写测试用例吗?

继续阅读“入门 typescript”