Jerry Bendy 发布于 03月08, 2016

12步创建高性能Web APP

现在,WebApp日益重视用户的交互体验,了解性能优化的方式则可以有效提高用户体验。阅读和实践下面的性能优化技巧,可以帮你改善应用的流畅度、渲染时间和其他方面的性能表现。概述对WebApp进行性能优化是一份冗杂沉重的工作,这不仅是因为构建一个WebApp需要前后端协作,而且需要多方面的技术栈:数据库、后端、前端,需要运行在多种平台:iOS,安卓,Chrome,Firefox,Edge。这太复杂了!不过,还是有一些历经实践的通用方式可以用来优化WebApp的性能。在接下来的小节中,我们将逐步介绍相关的细节。一份来自Bing的研究表明,页面加载时间每增加10ms,每年就会减少$250k的收入。————RobTrace...

阅读全文 »

Jerry Bendy 发布于 02月19, 2016

【分享】几个命令行小技巧

1.一步到位的Alt+点击我们经常要在命令行中输入非常类似的命令,仅做一点点修改。如果要修改的位置是开头或末尾还好,可以通过快捷键快速定位。但如果要修改的位置位于一个很长的命令的中间位置就比较讨厌了,使用Alt+左右箭头按单词跳跃也要按好多下,然后再按单个字符精确定位。解决方法:Alt+鼠标点击,一步到位!2.pbcopy和pbpaste:连接命令行管道与剪切板echo'helloworld'|pbcopyecho`pbpaste`pbcopy接收命令行中的标准输出作为剪切板的内容。pbpaste则将剪切版中的内容输出到标准输出。3.其它有用的快捷键Ctrl+A:光标移动到行首Ctrl+E:光标移动到行尾Ctrl...

阅读全文 »

Jerry Bendy 发布于 01月20, 2016

Javascript运算符中的一些小技巧

记下一些关于运算符的小技巧或容易出错的地方%运算符取余运算符运算结果的正负号由第一个运算子的正负号决定,比如:-1%2//-11%-2//1所以有时候对负数取余会出现错误,使用绝对值函数可以避免错误://会出错functionisOdd(n){returnn%2===1;}isOdd(-5)//falseisOdd(-4)//false//正确了functionisOdd(n){returnMath.abs(n%2)===1;}isOdd(-5)//trueisOdd(-4)//false+运算符+运算符与其他运算符不太一样,我们知道它可以用来连接字符串操作,是因为用+运算符的时候它通常会将其他类型的值转为字符串...

阅读全文 »

Jerry Bendy 发布于 12月20, 2015

仅用一个DIV和CSS绘制中国国旗

看了国外一个网站使用一个DIV绘制图形的例子,想到也试着用一个DIV画一面中国国旗吧,于是便动手试了下。当然因为文字投影没办法旋转的原因,四颗小星星不能做到指向中心的大星星,还是有些BUG的。以下是实现效果: 下面是使用的HTML代码,外层的DIV仅仅是后面的背景,请无视。<divid="flag"><div></div></div>CSS代码:#flag{width:600px;height:400px;background:#898989;margin:0auto;position:relative;}#flagdiv{position:absolut...

阅读全文 »

Jerry Bendy 发布于 12月02, 2015

【分享】PHP中的并发

今天看到一篇讲PHP并发的文章,感觉不错,于是便Copy了下来。原文如下:周末去北京面了两个公司,认识了几位技术牛人,面试中聊了很多,感觉收获颇丰。认识到了自己的不足之处,也坚定了自己对计算机学习的信心。本文是对其中一道面试题的总结。面试中有一个问题没有很好的回答出来,题目为:并发3个http请求,只要其中一个请求有结果,就返回,并中断其他两个。当时考虑的内容有些偏离题目原意,一直在考虑如何中断http请求,大概是在client->recv()之前去判断结果是否已经产生,所以回答的是用socket去发送一个http请求,把socket加入libevent循环监听,在callback中判断是否已经得到结果,如...

阅读全文 »

Jerry Bendy 发布于 11月28, 2015

mysqli使用localhost问题 Warning: mysqli::mysqli(): (HY000/2002): No such file or directory

今天在使用PHP的CLI方式访问mysql数据库时出现了一个Nosuchfileordirectory的错误,查找资料并在最终解决后记录一下。这个问题应该也会存在于非CLI方式访问,简单的代码是这样的:<?php$mysqli=newmysqli('localhost','root','root','test');如果上面的连接地址是localhost就会报此错误,改成127.0.0.1后正常。当主机填写为localhost时MySQL会采用unixdomainsocket连接,当主机填写为127.0.0.1时MySQL会采用TCP/IP的方式连接。使用Unixsocket的连接比TCP/IP的连接更加快速...

阅读全文 »

Jerry Bendy 发布于 09月10, 2015

MAMP PRO安装PHP扩展的方法

这几天因为需要使用MAC做PHP开发,安装了一个MAMPPRO的试用版,整体感觉非常好用,还可以自由选择PHP版本、Apache扩展、很方便的创建网站并自动修改系统hosts文件等。MAMP和MAMPPRO是两个独立软件,MAMP可以单独运行,支持简单的操作如PHP版本切换、Apache/Nginx切换、启动/停止服务等。MAMPPRO不能独立运行,它需要依赖MAMP软件,其实MAMPPRO就是MAMP的一个功能强大的控制面板,并提供了一些MAMP本身不支持的功能(如修改hosts、DDNS、方便的修改PHP运行方式以及Apache模块、方便的添加和管理虚拟网站等),售价不到400元,你值得拥有~因为我的项目很多...

阅读全文 »

Jerry Bendy 发布于 09月02, 2015

断网时本地连接MySQL速度慢-MySQL的DNS反向解析

今天由于意外情况公司断网,测试程序时跑在另一台虚拟机里面的mysql服务发现连接特别慢(在10秒左右),多方查找资料最终定位问题在MySQL的DNS反向解析上面。MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。想要临时关闭DNS反向解析也比较简单,可以有下面两种方法:一、命令行方式执行/usr/local/mysql/bin/mysqld_safe--skip-n...

阅读全文 »

Jerry Bendy 发布于 07月21, 2015

迁移服务器遇到的蛋疼问题:Nginx PHP “No input file specified”

昨天因为服务器到期把网站迁移到另一台服务器,使用的LNMP架构,网站各部分迁移完成后发现了一个蛋疼的问题:很多网页打开都提示”Noinputfilespecified”,甚至直接404,而且时好时坏。去网上搜了下资料,大概意思如下:任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回一个404,并带上一句”Noinputfilespecified”另外,还可能跟路径或者权限有关系,或者SCRIPT_FILENAME变量没有被正确的设置(这在nginx是最常见的原因)。因为Nginx的PATHINFO设置是直接复制的之前服务...

阅读全文 »

Jerry Bendy 发布于 07月13, 2015

使用jQuery/JS操作浏览器Cookie

以下代码演示如何使用jQuery操作浏览器Cookie(说是用jQuery,其实没用到jQuery的任何函数,所以只需要把外层封装的jQuery扩展函数去掉就可以应用在任何JavaScript环境中。/******************************扩展一个jQuery对象用于操作Cookie******************************/jQuery.extend({/***获取指定Cookie的内容*@paramsNameCookie的名称*@returns{string}*/getCookie:function(sName){varaCookie=document.cookie.s...

阅读全文 »