从Promise的Then说起
曾经我一直在思考,为什么代码会比较难读。后来发现,我们平时要阅读的所有媒体:报纸、书、新闻,我们在阅读的时候,都是从上到下一直读下去的,然而,我们的在读代码的时候,经常要跳着去读,这种阅读方式其实是反人类的,如果我们能在读代码的时候,也可以从上往下一直读下去,那么,代码就会变得可读性提高很多。
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
曾经我一直在思考,为什么代码会比较难读。后来发现,我们平时要阅读的所有媒体:报纸、书、新闻,我们在阅读的时候,都是从上到下一直读下去的,然而,我们的在读代码的时候,经常要跳着去读,这种阅读方式其实是反人类的,如果我们能在读代码的时候,也可以从上往下一直读下去,那么,代码就会变得可读性提高很多。
Handler是什么:在Android中表示一种消息处理机制或者叫消息处理方法,用来循环处理应用程序主线程各种消息,比如UI的更新,按键、触摸消息事件等。
在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度。其中提高网页反应速度的一个方式就是使用缓存。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。那么下面我们就来看看服务器端缓存的原理。
最近ReactNative(以下简称RN)在前端的热度越来越高,不少同学开始在业务中尝试使用RN,这里着重介绍一下RN中动画的使用与实现原理。
在一个喜欢尝鲜的团队里面工作,总会碰到这种情况.前一个项目用的这个框架这种构建,下一个项目就变成新的框架那种构建,上来就blablabla先学一通,刚觉得安心,接到个另外需求,到手一看.又变了一套 T,T , 又要重复上述步骤..如果能在各种框架和开发思路里面游刃有余,当然是最好的,可是多少总会对开发同学产生一些影响,那么各个框架之间的差异到底有多大呢?切换来去又会影响到哪些开发体验呢?且看我边做示例边分解…
从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。
在网页布局中对字体的控制是非常重要的,因为他关系到用户的体验,也就是页面的美观。本文根据作者独特的 CSS 实线经验总结出来的。
最近收到的几封读者邮件,都是询问为什么在 Nginx 中无法开启 OCSP Stapling。具体现象是在 Nginx 中明明配置了 ssl_stapling on,但通过 SSL Labs 等工具查看,OCSP stapling 这一项并没有生效。本文就这个问题详细探讨下,如果你只关心结论,直接跳到最后一节即可。
作为一个横跨通信与互联网两大行业的从业者,前四年的核心网经验和后五年的互联网经验让我不得不感慨一个非常遗憾的现实:通信与互联网两大行业本来可以有珠联璧合的技术协同,为移动互联网提供近乎零耗电零流量的PUSH机制,但由于两个行业之间长期以来的价值观隔阂和互防心态,导致如今的手机PUSH技术不仅为用户增加了显著的电量消耗,还对移动运营商的基础设施造成了完全不必要的信令压力。微信与运营商的纷争正是这种冲突集中爆发的结果。
常规的客户端应用开发实践中,为了支持离线特性,往往需要引入本地数据存储并增加相应的『离线状态』逻辑分支。本地存 … 继续阅读基于HTTP缓存轻松实现客户端应用的离线支持及网络优化
认识我的人都知道我以前做装修的,然而一些人说这个经历有点“传奇”,其实我看并不是,我只是冲着我的爱好学习罢了,这里说下我的一些经历,为的是给以后老了留下丝丝的回忆~
在计算机科学中,多任务(multitasking)是指在同一个时间段内运行多个任务,现代计算机作为一个复杂的系统,运行的任务往往不止一个,所以多任务调度对于计算机来说尤为重要。现阶段多任务调度主要分为抢占式多任务和协作式多任务,抢占式多任务由操作系统决定进程的调度方案,而协作式多任务是当前任务主动放弃执行后,下一个任务继续进行。由于协作式任务管理受恶意程序的威胁更大,现阶段几乎所有的计算机都采用抢占式多任务管理。
什么是滚动定位,我认为是指滚动行为触发的某些定位展现就是滚动定们,比如觉见的一些nav,在默认的时候是显示在页面某个区域,而当滚动到这个区域的时候该元素会"吸附"在浏览器上。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 其实对于我们接触的web端开发而说,Api就是协商好的一种规范,大家都按这个规范做事,这里主要针对前&后端交互的接口进行说明~
ArchLinux是Linux的一个发行版,以简单,轻量为其设计理念。Archlinux是针对特定处理器而优化过的,能够更好地利用CPU周期以提高性能。相比Debian/Ubuntu、SUSE、RedHat/Fedora等其他发行版,Archlinux属于轻量级选手,其简单的设计让它容易被轻松扩展和配置成为任何想要的系统类型。
被问到php的empty(0)、empty(0.0)、empty('0')、empty('0.0')和empty('00')分别返回什么,对于正常的empty()手册里描述自己也是非常清楚了: ""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 但就在empty('00')的时候疑惑了一下,因为在我的理解体系里,empty()把'0'转换成数字判断了,所以会返回true,那'00'也会转换吗?在没有实践的情况下,当时就机智的自己思考了一下觉得'00'返回是false,理由是'00'不会转换成数字,又是非空字符串,所以为false。
本文主要讲在Android中实现推送方式的底层原理与推送的知识及相关解决方案。
有时候我们会遇到这些的问题: 在不给TextView或者Button中的文字设置默认颜色时,改变Application或者Activity的主题会同时改变文字的颜色; 想改变Toast弹出时的文字大小,除了重写Toast似乎没有其它办法。
应用除了有内存占用、内存泄露、内存抖动等看不见的性能问题外,还有很多看得见的性能问题,比如进入界面慢、点击反应慢、页面卡顿等等,这些看得见的体验问题会严重影响用户使用APP心情,但用户的情绪又无法通过异常采集、数据分析来发现,尽早优化APP的性能体验问题非常重要,会在一定程度上提升用户的留存率。
为了程序能够编译通过和在设备中正常运行,主工程除了依赖第三方的工程和jar包之外,还需要依赖安卓系统本身的代码,也就是我们在sdk的每个版本中看到的android.jar,这里面集成了android的所有API,随着android sdk的升级,高版本的sdk中会增加很多新的API,比如ActionBar、Fragment、RecyclerView等,如果在低版本的sdk中需要使用高版本新增的API怎么办?不可能去更新移动设备中的android.jar吧,因为硬件设备集成的sdk版本是固定的,android.jar也是固定的,设备中的一些参数、硬件选型也是根据当前sdk版本来定的,所以最好的方式是将新增的API以依赖包的形式集成到需要使用高版本API的应用程序中。