linux检查端口占用

Linux启动服务时如果遇到端口占用问题时,一般有以下两种解决方案:

  1. 新启动的服务更改端口号启动

移动端实时检测输入框

PC浏览器的话由于有blur和focus事件,可以在失去焦点时进行一次验证,但是移动端有点麻烦,点击其他地方才可以,这种的话体验不是很好。
利用input事件可以解决这个问题。

1
2
3
$(document).on('input','#username',function(){
//验证逻辑
});

测试之后问题确实来了,每输入一个字符就会触发,浪费很多网络请求,接下来使用一个定时器的技术来进行处理。

nginx服务器启用SSL访问

HTTP和HTTPS的区别

  1. https协议需要到ca申请证书,一般免费证书很少,需要交费。  
  2. http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。   

ng-repeat获取父级INDEX

angularjs的循环嵌套我就不多说了,无非是ng-repeat的嵌套而已,如果需要获取索引请使用$index。

那么问题来了,$index只能获取当前循环的索引,如果需要获取父级的索引怎么办?

原理其实也不难,在父级ng-repeat时利用ng-init写入一个变量即可,子循环是可以访问到的。

html5新属性data api

以往在做列表程序的时候,需要做类似“删除”功能的时候,往往是组装一个URL,类似于这个

index.php?m=news&a=delete&id=10

这是最普通的url方式来进行删除。

PHP二进制方法存储图片

大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除。
请注意:这样的话数据库大小会激增,请酌情使用,且RDBMS对于二进制数据的处理并不是很理想。

表结构(只做简单演示,故字段有限)

1
2
3
4
5
6
CREATE TABLE `upload` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(20) NOT NULL,
`data` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

上传表单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!doctype html>
<html>
<head>
<title>
Post-Image
</title>
</head>
<body>
<form action="post.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"/>
<input type="submit" value="OK"/>
</form>
</body>
</html>

Angularjs动态表单项

后台业务系统中有很多CURD操作,一个很简单的例子是OA系统中为员工添加帐号信息,传统的做法是添加完一个就跳转并提示“成功”,后来高级一点的做法是利用jquery来做。

但是一个比较麻烦的问题是需要手动拼接HTML并且插入文档树。

然而,现在有了跨时代神器–angularjs,就是这么炫,强大的双向绑定功能可以帮到我们。

Yii1.x单点登录

背景

Web迅速发展的今天,往往一个产品拥有很多个子站点,SSO技术显得很重要。Yii作为我常用的框架,发现Yii的SSO配置其实是非常简单的。

代码

在所有站点中直接打开 protected/config/main.php 在 components 中加入以下代码,并且把protected/runtime/state.bin文件复制到各个具体的子站点中就可以实现SSO了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'user' => array(
'identityCookie' => array(
'domain' => '.ddhigh.com',
'path' => '/'
),
// enable cookie-based authentication
'allowAutoLogin' => true,
'stateKeyPrefix' => 'ddhigh',
'loginUrl' => array('user/login')
),
'session' => array(
'cookieParams' => array(
'domain' => '.ddhigh.com',
'lifetime' => 0,
'timeout' => 3600
),
),
'statePersister' => array(
'class' => 'CStatePersister',
'stateFile' => './protected/runtime/state.bin'
),

PHP遍历文件

遍历文件夹主要用到 opendir readdir closedir 三个函数,有两个要注意的地方

要排除 ‘.’ 和 ‘..’ 两个目录

需要用到递归

highchats曲线不显示

highchats是什么就不介绍了。一个JS绘图工具库,基于JQ,使用简单方便,但是不注意的话会坑人。

今天兴致满满的去绘图,后端数据也返回了。可是一个纠结的问题困扰了我一下午!

后端数据返回的JSON是

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×