HarryBetter

好记性不如烂笔头

2019,我与手机摄影的故事

计划常常赶不上变化,快节奏的城市生活常常让我忘了自己是谁,就这样度过了 2019,庆幸的是我依旧拥有摄影,虽然我一度在很长的时间里对它不管不顾,但它依旧不离不弃,保留了我生活中那一份关于摄影的纯真。 一部手机(iPhone)加一个软件(VSCO),就可以行摄天下,每去一个新的地方,总会想为那个地方注入一些自己的理解以及想象,这种冲动弥足珍贵。 这一年很忙,也感受着各种各样的压力,尽管有些时候......

batch 脚本实战之互换文件夹名

背景今天做了一个功能,通过 batch 脚本回滚 Electron 客户端版本,需求转化为将客户端安装目录下的版本号文件夹互换名称,具体为什么就不在这里详细说明了。具体目标如下: 12345678910111213// 执行 rockback.bat 前,根目录结构|-- app-1.1.0 |-- app.exe(1.1.0)|-- app-1.1.1 |-- app.exe(......

入坑 React 16.3.1,项目迁移实践

背景我们公司前端组从 2017 年 1 月份全面转战 React 以来,使用 React 15 开发至今,随着业务地不断增加,项目体量也在不断升级,我们在性能方面碰到了一些瓶颈(比如展示非常多条记录的表格)。React 16 的推出以及它即将应用升级的全新的 fiber 架构使我们看到了一些很 hack 的解决方案(关于 fiber 架构就不在此篇文章当中进一步展开)。早在 2017 年 9......

JS 中 setTimeout 的第二个参数为 0

...

npm vs cnpm

前言在公司项目中,由于比较多地采用了 cnpm 来替换 npm 安装依赖包。使用过程中难免会出现一些关于 cnpm 和 npm 这两者依赖管理这一块各有什么不同的疑问。虽然很多时候并不需要我们去关心这个过程,因为我们一般的使用基本为 npm install [xxx] 这样的安装命令。但事实上,有时候出现的一些依赖包的混乱问题,如果我们不能很清楚地认识到这两者各自的安装原理是什么,势必会造成......

浏览器自带 PDF 预览功能实现(网页端+Electron 客户端)

背景因为业务需要,我们需要开发一个在线预览 PDF 文件的功能,在我们开发的第一版本当中采用的是后端转为 HTML 后传输到前端进行展示,但这种方式存在几点问题: 不够美观 用户体验不够友好 插入 HTML 存在 xss 注入风险因此需要利用浏览器自身能力来预览 PDF 文件,使用浏览器自身插件有以下优势: 用户体验更好,自带工具栏 美观度更好,百分百还原 避免代码注入 开发开发环境:......

React 16 中 Props 的只读性

从问题说起在上一篇文章入坑 React 16.3.1,项目迁移实践当中,我尝试着把公司项目升级到 React 16.3.1,总的来说升级算比较顺利,但在升级之后还是很小心地把所有页面过了一遍,然后便发现了如下错误:TypeError: Cannot assign to read only property 'children' of object '#<Obje......

在 Antd-From 组件表单域 onChange 回调中 setFieldsValue 修改自身表单域 value 无效的问题

现象与问题如题,我们先来看看以下两个例子。例子一:给 fieldKey 为 username 的输入框输入字母,将其转化成大写字母显示出来(通过 setFieldsValue)。实际操作的时候,我对另外一个 fieldKey 为 nickname 的输入框也进行了赋值,以验证仅对当前操作表单域赋值失败的问题。 输出结果证实:当通过 fieldKey 为 username 的输入框 onCh......

吾日三省吾身

现在的你常常不知道怎么写技术文章,你觉得无从下手。但当你在对所想做的事情不够了解的时候,是很难有入门的感觉的,就像软件测试里的黑盒、白盒,黑盒意味着你知道一件事会有怎样的结果,但却不知道过程,无法获取其中奥秘。『对于黑盒的理解是自上而下的,而对于白盒的理解其实是自下而上的。自上而下的意思就是,我们站在黑盒之上,通过黑盒的抽象从而了解其他事情。而白盒是自下而上的,因此我们需要从头开始去构建出逻......

中国油画院 · 京城七月

打卡中国油画院,附拍几张西单大悦城。 中国油画院 西单大悦城 ...