摘要:
我要做的是一个命令行程序进程管理工具,集中展示多个进程的控制台输出内容,并且提供关闭终止进程的操作。由于是小工具,就不考虑tokio,async-std等大型异步运行时了,用原生的std::process::Child api来处理。由于原生的api都是同步的api,要同时读取常规输出和错误输出,必 阅读全文
摘要:
接触rust是在一个前端的群里,群主推荐的。混群很久都没有引起我的注意,直到有一次百度了解,才发现它的魅力。而且它是WebAssembly首推的编程语言,自然有它的独特之处。rust标榜内存安全和线程安全,并且并不是虚拟机语言,不存在垃圾回收。基本上就是可以兼顾虚拟机语言的自由和非虚拟机语言的速度, 阅读全文
摘要:
最小依赖原则:函数参数如果只需要一个对象的某一两个属性,绝不依赖整个对象。用最少的资源做最多的事,接口只依赖业务对象的主键,不依赖它的归属属性,详情都返回全部字段,而不是需要一个加一个。函数尽量少依赖上下文或全局变量,多用局部变量,提高函数纯度。对于网络资源(上传文件)的url依赖,数据库只保存资源 阅读全文
摘要:
一直不喜欢es6/7的promise、await、async之流对异步回调的解决方案,个人觉得类似lua里面协程的语法处理异步回调更顺眼,es6的generator虽然不完美,但是可以简单模拟一下协程。经过简单封装,完美解决异步回调的问题,要多个异步并行就并行,要串行就串行。直接上代码: 补充: 随 阅读全文
摘要:
使用场景:自己定义一个confirm函数来替代浏览器自己的confirm,这个confirm执行之后弹出一个弹层,并展示相关提示信息,弹层的dom结构事先由polymer自定义组件定义好,假定组件名为my-confirm,代码如下。 如果不嫌麻烦,可以在每个调用confirm函数的页面的body元素 阅读全文
摘要:
由于对lua语言非常喜欢,加上工作是做web开发,所以一直在关注lua的web服务器项目,包括xavante、aLiLua、openresty、tengine等xavante是我最早接触到的,当时还没有阻塞这个概念,现在知道它是阻塞的,在lua单线程下使用会有性能问题,而且没有文件上传、websoc 阅读全文
摘要:
了解web组件化开发是最初是从了解reactjs开始,但是一直对框架有抵触情绪,另外喜欢不走寻常路,喜欢简单好用的东西,越简单越好,进而开始研究web components。web components这个技术因为太新,浏览器的支持还不完善,还没流行,也没啥中文资料参考,就是官方英文网站貌似都没看到 阅读全文
摘要:
场景:排版任意多个图标,每一行摆放3个图标,每个图标的宽度恰好是行宽的1/3,行宽度不固定要支持缩放,每一个图标都是方形或者圆形。方法:由于图标高度决定于宽度,宽度又决定于容器宽度,所以指定高度的时候不好控制,这时候可以巧妙地利用块元素的内边距来设置,块元素的高度百分比是基于包含块的高度计算,但是块 阅读全文
摘要:
普通jQuery修改css的方法或者用dom.style.width="100px"的原生方法修改具有!important表示的样式都无效。查看了w3c标准之后,发现另外一个原生方法可以在修改的时候指定优先级,并且使用之后可行。代码如下: dom.style.setProperty("width", 阅读全文
摘要:
Promise是为了解决多层回调函数嵌套结构太深,代码逻辑不符合线性流程的问题。线性流程问题是解决了的,但是嵌套结构太深(每多一层回调就多一层缩进)感觉并没有解决。 在不提取函数的情况下,串行异步加载3张图片的传统代码如下: var img1 = new Image(); img1.onload=f 阅读全文