发布于 08月13, 2016

表单form的研究

起因

最近经常在群里看到诸如以下这些问题:

  1. 怎么按键盘的Enter键提交表单呢?
  2. 移动端怎么聚焦时让键盘变成数字键呢?
  3. 移动端如何绑定键盘右下角【提交按钮】事件?
  4. 移动端键盘右下角【提交】如果换成【搜索】呢?

针对这些问题分享下我对使用表单的一些建议。

阅读全文 »

发布于 07月22, 2016

nginx配置url重写

url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等

rewrite

语法

在配置文件的server块中写,如:

server {
    rewrite 规则 定向路径 重写类型;
}
  • 规则:可以是字符串或者正则来表示想匹配的目标url
  • 定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组
  • 重写类型:
    • last :相当于Apache里德(L)标记,表示完成rewrite,浏览器地址栏URL地址不变
    • break;本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏URL地址不变
    • redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址
    • permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

阅读全文 »

发布于 06月25, 2016

网站架构-从无到有

注意:该文件比较长,写的是从没有项目起到项目上线的一些事,从大的方面约束规范到环境的配置、代码的模式、静态文件管理都有些概括,希望对你有帮助~

环境和域名

项目的开发基本是开发->测试->线上的流程,那么项目开发前,约定好环境和域名,首先我们已知如下条件:

  • 使用git版本控制,前、后端分2个仓库(repository),会有master线上develop开发release发布3大分支
  • 后端使用php语言,Yii2
  • 项目域名fe.com
  • 项目静态域名cdn-fe.com,线上启用CDN服务
  • 分本地开发、联调测试、线上3个环境,每个环境都能独立的运行,当然前端fe可以不装数据库,但后端环境得有一套
  • 后端代码目录:/home/wwwroot/fe.com/
  • 前端代码目录:/home/wwwroot/cdn-fe.com/
  • 全是本地开发,fe本地有静态服务开发,rd本地有后端服务+数据库服务

阅读全文 »

发布于 06月22, 2016

好搜移动端页面研究

首先声明,我并不是好搜员工,研究源码只是爱好,并没有别的意思,下面的代码是在pc-chrome模拟手机访问时截取的m.so.com,并自己适当的修改了些变量名(因为源码被混淆、压缩了),只是学习用,如果有冒犯贵司之处,还请 【联系我】 ,我会第一时间删除~

阅读全文 »

发布于 06月14, 2016

编写单元测试

之前在 06-10#邯郸技术交流会 分享的时候重点说过测试相关,这里就重点说下单元测试吧。

为什么要写单元测试

  1. 让代码更健壮
  2. 让bug的机率降低/提高代码稳定性
  3. 对代码的升级、迭代很有帮助
  4. 要比“说”你代码牛B来的实在
  5. 是一个比较有趣的事情

理论来说一些公用库必须具有完整的单元测试~

情深深雨蒙蒙,你写个测试行不行?

阅读全文 »

发布于 04月13, 2016

聊聊前端

此博文的所有观点都是我自己的看法,可能很不对~

最近(近半年)发现很多人跟我说想学前端、前端吃香不、前端挣钱不等之类的问题,在这个夜黑风高的夜晚我来说说前端吧~

阅读全文 »

发布于 03月30, 2016

使用node和nginx部署网站服务

在之前的asp时代我们网站通常是使用windows的iis来架设,后来php时代,一般是启动php的服务,然后使用http server服务来做转发(反向代理),然而如今使用node时候如何处理呢?

众所周知,一个域名的直接访问是解析ip的80端口(浏览器会默认隐藏80端口),然而每一个node的进程又只能占用一个端口,那么当一个服务器(是指承载这些网站的机器,可能是windows、linux或者mac)上搭建的网站超过一个时,端口不够用乍破?那么就使用http server来代理吧~

阅读全文 »