技术学习生活分享

QiZhang's Blog


  • 首页

  • 标签

  • 分类

  • 归档

简单易懂的MVVM实现之数据驱动模板(三)

发表于 2019-08-16 | 更新于: 2019-11-18 | 分类于 前端技术 |

通过前面实现的Watcher和Compiler,我们已经能够监听数据的改动以及解析模板语法。现在就让我们将他们结合起来,实现数据驱动模板。

阅读全文 »

简单易懂的MVVM实现之Compiler(二)

发表于 2019-08-07 | 更新于: 2019-11-18 | 分类于 前端技术 |

上一篇我们已经可以捕获数据的更改,下面为了让将数据的更改与页面绑定,需要通过Compiler解析模板。

阅读全文 »

简单易懂的MVVM实现之Watcher(一)

发表于 2019-08-01 | 更新于: 2019-11-18 | 分类于 前端技术 |

MVVM 大家都不陌生了,它把前端开发者用复杂的 dom 操作中彻底解放了出来,从当年让人惊为天人的 Angularjs,到今天前端必备技能 React 和 Vue,始终贯彻着数据驱动UI这一模式,好处之多无需赘言。想要实现这一点有很多途径,我自己也尝试着做了一套,实现了一些基本功能。

阅读全文 »

理解javascript的数值精度

发表于 2019-07-16 | 更新于: 2019-11-18 | 分类于 前端技术 |

稍微接触前端比较久的同学,多多少少都听说过一个经典问题 0.1 + 0.2 !== 0.3,即计算精度丢失。其实不光 javascript,其他很多语言都有这个问题。造成这个问题的原因,还要从一些计算机知识开始说起。

阅读全文 »

TS装饰器和reflect-metadata

发表于 2019-07-10 | 更新于: 2019-11-18 |

目前 decorator 草案仍然处于 stage2 阶段,将来 API 可能会有破坏性改动,所以本文内容以目前的 ts 中的 decorator 定义为主。

阅读全文 »

一次CodePush热更失败的总结

发表于 2019-01-23 | 更新于: 2019-11-18 | 分类于 Bug总结 |

最近将codepush热更服务器替换成使用开源版本自建服务器后,更新速度和成功率都有不错的提升。

然而在推送某次热更新时,IOS端爆出了问题:在本地已经存在一次热更新时,二次更新会失败。

在sentry监控平台上查出如下错误

1
The update contents failed the data integrity check

经过查询 native 端的源码,发现当下载文件的 hash 校验失败时才会抛出这个错误,也就是说,服务器返回的文件和 hash 值不匹配。

阅读全文 »

Flow&React-天生一对

发表于 2018-10-25 | 更新于: 2019-11-18 | 分类于 前端技术 |

React作为facebook的亲儿子,flow自然会鼎力配合React的工作,不需要任何额外的配置,flow已经很完整地支持React的类型系统。

阅读全文 »

使用flow的工具类型

发表于 2018-10-16 | 更新于: 2019-11-18 | 分类于 前端技术 |

因为flow的类型本身是固定的,如果想要对类型进行转换和操作,就得借助于工具类型(Utility Types),有了它们,我们可以更加灵活地使用flow。

阅读全文 »

给JS添加静态检查-flowtype

发表于 2018-10-09 | 更新于: 2019-11-18 | 分类于 前端技术 |

flow是FB推出的代码静态检查工具,目的是让javascript开发者能“更快”,“更好”,“更有信心”地编写代码。在它出现之前,想要做JS的静态检查只能使用typescript,但是typescript相对javascript而言由于加入了很多新的语言特性,学习成本较高,而且对于旧项目基本上需要重写代码,在一定程度上增加了使用难度。当然两者各有优劣,使用两者之中的哪一个更多取决于团队的配置和成本。在现阶段javascript应用功能愈发复杂,工程量越来越庞大的背景下,加入静态检查也变得愈发重要。

阅读全文 »

逆波兰表示法简介

发表于 2018-09-25 | 更新于: 2019-11-18 | 分类于 数据结构和算法 |

逆波兰表示法俗称后缀表达式,是算术表达式的一种形式。

举个例子,我们常见的算术表达式3*4+5+6叫做中缀表达式,如果将其写成后缀表达试,就会变成34*5+6+,显然这样的运算符跑到操作数后面去了。

和中缀表达式想比,后缀表达式显得让人难以理解,但是对计算机而言却是非常友好的,因为它的计算模式和 栈 的数据结构非常吻合。例如,如果我们在计算器中输入一段表达式例如3*4+5+6,计算器就会把表达式转换成34*5+6+,然后再进行计算得出我们的值。

阅读全文 »
123
杨骐彰

杨骐彰

21 日志
5 分类
21 标签
GitHub E-Mail
BigOld
  • Suoxuejiyong
© 2022 杨骐彰
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
蜀ICP备2021011553号