1. PHP
a.读取一个文件,将其Base64编码,每76个字符加一个换行
b.写一个函数,参数为$n,生成一个数组,其元素为1~$n,各元素位置随机排列,不得重复
1. PHP
a.读取一个文件,将其Base64编码,每76个字符加一个换行
b.写一个函数,参数为$n,生成一个数组,其元素为1~$n,各元素位置随机排列,不得重复
IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。例如:某台计算机IP地址为10.11.44.100。
分析IP地址的组成特点:250-255、200-249、0-199。
这三种情况可以分开考虑,
1. 250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5]
2. 200-249:特点:三位数,百位是2,十位是0~4,个位是0~9,用正则表达式可以写成:2[0-4]\d
3. 0-199:这个可以继续分拆,这样写起来更加简单明了.
3.1. 0-9: 特点:一位数,个位是0~9,用正则表达式可以写成:\d
3.2. 10-99: 特点:二位数,十位是1~9,个位是0~9,用正则表达式可以写成:[1-9]\d
3.3. 100-199:特点:三位数,百位是1,十位是0~9,个位是0~9,用正则表达式可以写成:1\d{2}
于是0-99的正则表达式可以合写为[1-9]?\d,那么0-199用正则表达式就可以写成(1\d{2})|([1-9]?\d),这样0~255的正则表达式就可以写成(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))
最后,前面3段加上句点.可以使用{3}重复得到,第4段再来一次同样的匹配,得到IP地址的正则表达式:
((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))
与大家互动一下:
1. 为什么三位数的匹配放在二位数/一位数的前面?因为正则表达式规则之一:最先开始的匹配拥有最高的优先权。
2. 0.0.0.0和255.255.255.255是合法存在的IP地址,你知道是为什么吗?
3. 192.169.01.108这种数字前面多带了个0的类型的,在这里不是合法的,为什么要这样?
4. 为什么前面在最前面要有?:呢?它在这里有什么用?
5. 如果您发现本表达式有错误,也请留言指正!
我使用的正则表达式验证工具,The Regulator 下载地址:http://sourceforge.net/projects/regulator/
SingleTon::getInstance();
SingleTon::getInstance();
SingleTon::getInstance();
class SingleTon{
private static $instance;
public function __clone(){
}
protected function __construct(){
}
public static function getInstance(){
if( ! self::$instance || !(self::$instance instanceof SingleTon) ){
self::$instance = new self();
echo 'this is a new instance.' . PHP_EOL;
}else{
echo 'this is a old instance.' . PHP_EOL;
}
return self::$instance;
}
}
http://yorker.blog.51cto.com/8038263/1365276
http://blog.csdn.net/djvc/article/details/31379155
http://www.huyanping.cn/php%E5%BC%82%E6%AD%A5%E5%B9%B6%E5%8F%91%E8%AE%BF%E9%97%AEmysql%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0/
1、可以发布文章、页面
2、分类,应用于文章、页面
3、日志系统,包括管理员操作日志,系统异常错误日志
4、系统参数配置,如管理员个人信息、系统信息
5、缓存,opcache、静态文件缓存
6、权限控制
7、单元测试,这个为后续扩展功能,已经回归测试提供重要依据
8、路由功能,自定义路径
9、文章评论
10、多语言切换
11、系统主题切换
12、定时任务调度
13、文章、页面搜索
14、图片及文件上传
⌘:command ⌃:control ⌥:option ⇧:shift ↩:enter ⌫:delete 打开/关闭/前往 快捷键 功能 ⌘⇧N 打开一个新的sublime窗口 ⌘N 新建文件 ⌘⇧W 关闭sublime,关闭所有文件 ⌘W 关闭当前文件 ⌘P 跳转、前往文件、前往项目、命令提示、前往method等等(Goto anything) ⌘⇧T 重新打开最近关闭的文件 ⌘T 前往文件 ⌘⌃P 前往项目 ⌘R 前往method ⌘⇧P 命令提示 ⌃G 前往行 ⌘KB 开关侧栏 ⌃` 打开控制台 ⌃- 光标跳回上一个位置 ⌃⇧- 光标恢复位置 编辑 快捷键 功能 ⌘A 全选 ⌘L 选择行(重复按下将下一行加入选择) ⌘D 选择词(重复按下时多重选择相同的词进行多重编辑) ⌃⇧M 选择括号的内容 ⌘⇧↩ 在当前行前插入新行 ⌘↩ 在当前行后插入新行 ⌃⇧K 删除行 ⌘KK 从光标处删除至行尾 ⌘K⌫ 从光标处删除至行首 ⌘⇧D 复制(多)行 ⌘J 合并(多)行 ⌘KU 改为大写 ⌘KL 改为小写 ⌘C 复制 ⌘X 剪切 ⌘V 粘贴 ⌘/ 注释 ⌘⌥/ 块注释 ⌘Z 撤销 ⌘Y 恢复撤销 ⌘⇧V 粘贴并自动缩进 ⌘⌥V 从历史中选择粘贴 ⌃M 跳转至对应的括号 ⌘U 软撤销(可撤销光标移动) ⌘⇧U 软重做(可重做光标移动) ⌘⇧S 保存所有文件 ⌘] 向右缩进 ⌘[ 向左缩进 ⌘⌥T 特殊符号集 ⌘⇧L 将选区转换成多个单行选区 查找/替换 快捷键 功能 ⌘f 查找 ⌘⌥f 查找并替换 ⌘⌥g 查找下一个符合当前所选的内容 ⌘⌃g 查找所有符合当前选择的内容进行多重编辑 ⌘⇧F 在所有打开的文件中进行查找 拆分窗口/标签页 快捷键 功能 ⌘⌥[1,2,3,4] 单列、双列、三列、四列 ⌘⌥5 网格(4组) ⌃[1,2,3,4] 焦点移动到相应的组(分屏编号) ⌃⇧[1,2,3,4] 将当前文件移动到相应的组(分屏编号) ⌘[1,2,3,4] 选择相应的标签页 快捷操作 快捷键 功能 ⌘⌃上下键 两行交换位置 ⌘KB 显示/隐藏侧边
在菜单栏中: Preferences -> Setting – User ,即可打开配置文件进行编辑,将 ignored_packages 项的[]里面内容清空:
“ignored_packages”:
[
]
这样就启用了 Vim 模式,按 Esc 退出编辑模式,即进入了 Vim 模式。
mac下将localhost改成127.0.0.1就OK了。
mysql 5.7版本安装后,首次操作,总是报错:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决办法:
mysql> SET PASSWORD = PASSWORD(‘root’);
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> ALTER USER ‘root’@'localhost’ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)