标签: 技术

  • WKWebView微信适配

    WKWebView

    背景是微信webview将要从UIWebView切换成WKWebView,前端的web页面需要进行适配。

    (更多…)

  • h5实现iPhone横屏下的双页模式

    背景

    feeds流在横屏下的体验非常糟糕,内容可视区域小,内容被拉长,导致用户体验很差。

    (更多…)

  • 移动端JavaScript拉起软键盘

    先上图来镇楼

    Alt text

    大家都知道在移动端,软键盘给我们带来了很多的坑。坑了这次还有下次,真是让人刻骨铭心。这次就来扒一扒JavaScript拉起键盘的坑。

    (更多…)

  • 【折腾不止】前端工程与性能优化

    作为开发,不仅仅是前端,优化总是你绕不开的事,我们的目标就是要产品变得更快。优化的对象不仅仅指产品本身,还有我们日常的开发流程。从加入团队到现在,大概有一半左右的时间花在了优化上,期间遇到了很多问题,回过头看,优化这件事情并不是那么简单,也是些很琐碎的事情,要打造一个无痛的开发流程,并且能够相对轻松的对产品持续优化真的不轻松。没有银弹,任何项目都要花很多时间和精力。但任何值得改善的地方能够有所提升都让我们觉得努力没白费。有时候只想懒一点,从枯燥的重复中解放出来。

    (更多…)

  • IOS Javascript Date的坑

    Date对象是JavaScript提供的日期和时间的操作接口,它有多种用法。手册上或者网上也有很多文章介绍,这里就不再次复述了。

    上次遇到一个坑,这里总结下,也不是什么大问题,若是如果有经验,就不会花费很长时间去定位问题了。说下背景,一个早已经开发好的页面,在android的机器上运行的很正常,没出一点问题。某一天,产品狗跑来问我,为啥IOS上这个页面是空白的,为啥呢?到底是为啥呢?在需求忙不停的时候我还得抽空看这个外网bug,这哪算bug,要上IOS平台也没经过测试啊,什么时候被放到IOS的APP里面去了,简直不想吐槽。

    (更多…)

  • 聊聊前端自动化

    先来说说为什么要自动化。凡是要考虑到自动化时,你所做的工作必然是存在很多重复乏味的劳作,很有必要通过程序来完成这些任务。这样一来就可以解放生产力,将更多的精力和时间投入到更多有意义的事情上。随着前端开发不再是简单的作坊式作业,而成为一个复杂的工程时,还涉及到性能优化一系列工作等等,这时自动化已然是迫切的需求。

    (更多…)

  • [译文]更快的javascript memoization

    memoization虽然并不是什么新鲜事,但确实是一个非常有用的技术手段来缓存函数的计算结果,例如冗长的查找或昂贵的递归计算。

    基本的原理是,如果你可以判断在一次运算之前,程序已经完成依赖一组特定的输入值的计算,那么计算结果可以直接返回,而不需重复计算一次。

    memoization可以帮助优化的一些问题包括:递归、高速缓存的canvas动画和更一般意义上的重复计算。

    (更多…)

  • 减少重复劳动:node之初体验

    自node横空出世来,业界充满了各种流言,众说纷纭。在性能、高并发方面如数家珍的对node称赞不已。但公司的业务在node上的尝试却很少,一来是新的东西,需要探索,稳定性有待考验;二来,既然已经有成熟的框架,而且能够轻车路熟的用起来,为何就要选择node。而node对大多数后台的开发来说语法上就是一道屏障,虽然屏障浅显,但习惯C++不愿去尝试新的东西,况且node没让他们觉得多牛逼。 (更多…)

  • SVN hooks(钩子)- 简单入门

    在做版本的时候,需要SVN做一些自动化的事情,比如提交前自动更新;提交一些文件后关联着提交另一些。所以需要写一点自动化脚本。

    什么是SVN钩子

    官方说法:

    钩子是通过版本库事件触发,例如新版本的创建或一个未版本化属性的修改。一些钩子(叫做“pre hooks”)在事件发生前运行,可以用来报告发生了什么以及防止它发生。还有一些钩子(“post hooks”)在版本库事件之后发生,只是用来报告。每个钩子能够获得事件的足够信息,例如提出的(或完成的)版本库修改细节,还有触发事件的用户名。 (更多…)

  • 再谈javascript 数据类型

    理解好数据的类型非常重要,这也是一种语言本身最为基础的知识。只有牢固的掌握了基础,才能编写出健壮的代码。 javascript有5种简单的数据类型:Undefined、Null、Boolean、Number、String,和一种复杂的数据类型:Object。判断数据类型可用typeof操作符。 (更多…)