Select2的一些使用问题

好久没写技术文章了,先写个简单的凑凑数。

HTML中的select控件只能选择,不能通过输入的方式快速筛选选项,基于jQuery的select2很好的实现了该功能。除此之外,它还支持远程加载数据和多选,是一个不错的第三方扩展。

Select2是兼容于原生select的,我们只需通过jQuery获得select对象,然后调用select2()方法,便能动态创建一些辅助元素(如input控件),从而改变select的外观和响应方式。

Select2的网址是:http://select2.github.io,上面有详细的使用说明和示例。 继续阅读“Select2的一些使用问题”

选择开源代码还是自己发明轮子?从Laravel说起

在软件开发领域,要实现某个系统或功能,经常需要一些基础设施(Infrastructure),这些基础设施或是库(Library),或是框架(Framework),或是独立的应用(Application)。有了这些基础设施,开发者就能把工作重心放在业务逻辑上,快速的进行开发。而基础设施可以是来自于第三方的开源代码,也可以是自己发明的轮子,在项目中,我们应该选择开源代码还是自己发明轮子呢?这是开发人员经常争论的一个话题。 继续阅读“选择开源代码还是自己发明轮子?从Laravel说起”

WordPress的几大核心要素

每个系统都有那么几个核心概念,理解了这些核心概念及其关系也就从很大程度上理解了整个系统。

WordPress也是如此。WordPress管理后台的大部分功能都很直观易用,对于初学者,几乎不用借助任何帮助就能发表博文。但对于第一次接触WordPress的人还是会有几个疑问,比如:文章和页面有什么区别?应该如何对文章进行分类管理?怎样创建菜单?等等。

只要了解了文章、页面、分类、标签、菜单这几个WordPress的核心要素,这些问题也就迎刃而解。 继续阅读“WordPress的几大核心要素”

别人的域名解析到我的网站怎么办

很多时候,不去亲自动手做一件事情,就不会遇到各种稀奇古怪的问题。

就像今天,在搜索我的域名时,居然发现搜索引擎收录的是一个第三方的域名,而点击这个域名也能正常访问我的网站。

显然,这是第三方将他的域名解析到了我的主机IP上。造成这种情况的原因有可能是因为我这个IP以前是他的,后来他的主机到期了然后IP分配给了我,也可能是他在域名解析设置时写错了IP地址,当然还可能是他故意写错IP地址。这当中,第一种可能性更大一些。

由于我们无法阻止他人将域名解析指向自己的网站,就跟无法阻止他人给自己的邮箱发邮件一样。我们只能在自己的网站收到来自第三方的请求时进行处理。

其中一个方法是接受第三方域名的访问,但将地址改写为我们的域名。这就用到的URL rewrite功能,以Apache为例,修改站点目录下的.htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^第三方域名$ [NC]
RewriteRule ^(.*)$ http://自己的域名/$1 [L,R=301]
</IfModule>

其中R=301表示执行301重定向,用户通过第三方域名访问后,地址栏的域名会自动变成我们自己的。

也可以将R=301换成F,这样服务器会产生一个403 Forbidden错误。

当然,还有一些其它做法,这里不一一列出。

Ubuntu下WordPress的安装

WordPress、Joomla和Drupal号称三大PHP开源CMS系统。之前简单接触过Joomla,这是我第一次使用WordPress,感觉作为博客系统而言,WordPress确实非常简洁,很易上手。

Ubuntu下安装WordPress比较容易,不过也有一些值得注意的地方,这里简要记录一下过程。 继续阅读“Ubuntu下WordPress的安装”

Windows下Apache与PHP的安装与配置

Windows下Apache+PHP开发环境的搭建主要包括三种方式,第一种是直接采用集成化的安装包,如XAMPP,第二种是Apache采用官方提供的msi安装包,PHP手动安装,第三种是Apache和PHP均手动安装。显然,第一种方式是最简单的,但相应的限制也比较大,第三种方式最麻烦,但可以灵活的选择自己所需的版本进行安装。本文主要记录了第三种方式的安装过程。

“授之以鱼,不如授之以渔”,本文不想单纯提供几个下载链接(因为随着版本升级,这些链接很容易失效),而是记录了从官方网站寻找相关资源的过程,这样即使情况发生了变化,也能“按图索骥”找到新的资源。 继续阅读“Windows下Apache与PHP的安装与配置”