bootstrap3禁用响应式布局

IE8及以下版本的浏览器确实是心中的痛,不支持媒体查询和CSS3,导致bootstrap样式怪怪的。没办法,只能采取折中的办法–禁用响应式布局

  1. 移除 viewport 标签

Grunt快速上手

为什么要使用Grunt?

一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作。

怎么使用Grunt?

1.grunt是基于nodejs的,所以请先安装nodejs和npm安装grunt
2.新版本的grunt安装需要两步,终端执行

1
npm install grunt-cli -g

七牛云存储定义自定义变量返回数据

背景

七牛云存储也使用了这么久了。一直一来都只用了它的图片上传和处理功能。用的是客户端直传API,七牛给我返回一个key(一串随机的hash值,对人类无可读性)。

最近做的一个文件共享的项目,因为文件是客户端直传七牛的,那么我在后台PHP这边是拿不到原始文件名的,但是文件列表必须显示原始文件名,不能显示那个hash值。后来查找文件发现,七牛可以自定义返回的变量。

关键代码

1
2
3
4
5
6
7
8
9
10
<?php
Qiniu_SetKeys($this->accessKey, $this->secretKey);
$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$putPolicy->Expires = $expires;
$putPolicy->SaveKey = $filename;
$putPolicy->FsizeLimit = 20*1024*1024;
if($returnUrl != '')
putPolicy->ReturnUrl = $returnUrl;
$upToken = $putPolicy->Token(null);
return $upToken;

linux利用ssh公钥部署git代码

背景

阿里云的使用门槛降低,直接导致了很多人优先使用VPS而不是以前的虚拟主机,毕竟虚拟主机存在诸多限制。阿里云犹如一台全新的服务器,所有软件都要自己安装。作为一个写PHP的,代码部署就略麻烦了,以前使用FTP的时候很方便部署,但是不适合长期开发(因为没有版本控制),所以使用GIT会很方便。

问题

在windows开发机上使用https方式进行git操作是没问题的,但是在linux上进行git操作的时候就会出错误,会让你输入帐号密码,就算是对的帐号密码也不行。这种情况下需要使用 ssh 方式进行GIT。

解决方法

Linux删除乱码文件

shell终端中有时候中文文件名会出现乱码,导致很多操作都不能进行,一个最简单的就是删除了。

linux中每个文件有类似于ID的东西,使用以下命令查看

1
ll -i

MySQL联合主键

单字段主键

MySQL单字段主键相信大家都熟悉了。就是以一个字段主要数据行的主键,比如下面这个表

1
2
3
4
5
6
create table `user`(
user_id int(11) auto_increment,
username varchar(24),
password char(32),
primary key(user_id)
);

user_id作为单字段主键,说明任何用户的user_id都不能相同,一个user_id即标识一个用户。

PHP正则表达式匹配中文

正常的正则表达式匹配英文和数字以及一些常用字符还是很简单的,如

1
2
3
/^\w$/
/^[0-9]$/
/^[\-\_]$/

等等,但是匹配中文的话就有些麻烦了。UTF-8的中文根据unicode编码,所以我们需要手动构造UTF-8字符串

nginx url重写和pathinfo配置

nginx近年来的上涨趋势确实挺快的,但是apache作为老牌HTTP服务器,拥有的生态圈是nginx比不上的。一个最简单的例子,URL重写,apache的话利用无所不能的.htaccess文件就可以了。nginx还要改主配置文件。

URL重写配置

主配置文件

1
2
3
4
5
6
location /
{
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?$1 last;
}
}

if和(中间要有括号,url重写这里就配置完了。

php OOP中的__get和__set方法

get,set光看前面两个下划线就知道是魔术方法了,而且还是PHP OOP中比较重要的方法。

先看一段代码

1
2
3
4
5
6
7
8
9
10
<?php
class Account{
private $user = 1;
private $pwd = 2;
}
$a = new Account();
echo $a->user;
$a->name = 5;
echo $a->name;
echo $a->big;

摆脱jquery!angularjs利用指令简单实现滚动翻页

移动开发一个很重要的问题是翻页操作,而现在的主流都是滚动翻页,以往都是用jquery的插件进行实现。用了angularjs之后,要逐步减轻对jquery的依赖。

滚动翻页基本原理就是判断scrollTop和offsetHeight之和 大于等于 scrollHeight

代码

指令

1
2
3
4
5
6
7
8
9
10
app.directive('whenScrolled'function(
  return function(scope, elm, attr
    var raw = elm[0]; 
    elm.bind('scroll'function(
      if (raw.scrollTop+raw.offsetHeight &gt;= raw.scrollHeight) { 
        scope.$apply(attr.whenScrolled); 
      } 
    }); 
  }; 
});
Your browser is out-of-date!

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

×