
基础
CC_小硕
这个作者很懒,什么都没留下…
展开
-
正则验证数字
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\原创 2017-02-04 16:30:54 · 285 阅读 · 0 评论 -
全网把Map中的hash()分析的最透彻的文章,别无二家
你知道HashMap中hash方法的具体实现吗?你知道HashTable、ConcurrentHashMap中hash方法的实现以及原因吗?你知道为什么要这么实现吗?你知道为什么JDK 7和JDK 8中hash方法实现的不同以及区别吗?如果你不能很好的回答这些问题,那么你需要好好看看这篇文章。文中涉及到大量代码和计算机底层原理知识。绝对的干货满满。整个互联网,把hash()分析的如此透彻的,别无二...转载 2018-05-22 11:22:31 · 327 阅读 · 0 评论 -
git 不弹出输入密码
各位,如果能弹出来,一定是你账号密码搞错了,就别继续看了。切换命令行:image.png依然报错,说到这个问题,又可以长篇大论了, 我使用的是tortoisegit,window电脑平常都是用ppk文件组合 _netrc文件进行登录的,这样设置之后基本上只需要输入密码,不再需要输入用户名就可以上传更新,要节省不少时间_netrc文件可以自己搜索在C:\Users\Administrator\%us...转载 2018-06-04 18:37:32 · 14554 阅读 · 0 评论 -
PHP正则匹配汉字
这个方法亲测可用,代码如下:匹配中文 字母数字/^[\x80-\xffa-zA-Z0-9]{1,20}/<?phpheader('content-type:text/html;charset=utf-8');$input = "^_^,PHP is the best programming language in the world!";if (preg_matc...转载 2018-07-24 17:54:59 · 1231 阅读 · 0 评论 -
PHP程序员必须知道的两种日志
目录1 前言 2 php-fpm 慢日志 2.1 开启慢查询日志 3 php-error 错误日志 3.1 开启错误日志 4 致谢前言作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。php-fpm 慢日志php慢日志需要在php-fpm.conf设置,如果使用源码包安装默认请执行下面命令cp php-fp...转载 2018-09-09 12:10:59 · 528 阅读 · 0 评论 -
PHP多进程初探 --- 开篇
PHP多进程初探 --- 开篇实际上PHP是有多线程的,只是很多人不常用。使用PHP的多线程首先需要下载安装一个线程安全版本(ZTS版本)的PHP,然后再安装pecl的pthread扩展。实际上PHP是有多进程的,有一些人再用,总体来说php的多进程还算凑合,只需要在安装PHP的时候开启pcntl模块(是不是跟UNIX中的fcntl有点儿…. ….)即可。在*NIX下,在终端命令行下使用p...转载 2018-09-09 13:05:32 · 388 阅读 · 0 评论 -
PHP 的 uniqid 函数产生的 id 真的是唯一的么?
PHP 的 uniqid 函数产生的 id 真的是唯一的么?最近使用到了 uniqid,就产生了疑问?uniqid 生成的 id 由什么组成?真的是唯一的么?什么情况下会产生冲突?从文档中看到 uniqid 函数有两个参数uniqid 的结构看源码:PHP_FUNCTION(uniqid){ ... gettimeofday((struct timeva...转载 2018-09-09 13:43:21 · 571 阅读 · 0 评论 -
浅谈API的设计及其安全性
浅谈API的设计及其安全性看起来好像前后端分离是个浪潮,原来只有APP客户端会考虑这些,现在连Web都要考虑前后端分离 。这里面不得不谈的就是API的设计和安全性,这些个问题不解决好,将会给服务器安全和性能带来很大威胁 。下面我也是根据自己的一些经历和经验说下自己的一些心得 。API的设计中,主要考虑两大方面的问题 :防止API被恶意调用 API通信中数据加密的问题由于HTTP协...转载 2018-09-09 15:53:41 · 2592 阅读 · 0 评论 -
如何理解高性能网络模型
服务端处理网络请求首先看看服务端处理网络请求的典型过程: 由上图可以看到,主要处理步骤包括:获取请求数据,客户端与服务器建立连接发出请求,服务器接受请求(1-3)。 构建响应,当服务器接收完请求,并在用户空间处理客户端的请求,直到构建响应完成(4)。 返回数据,服务器将已构建好的响应再通过内核空间的网络 I/O 发还给客户端(5-7)。设计服务端并发模型时,主要有如...转载 2018-09-06 12:01:58 · 610 阅读 · 0 评论 -
面向对象编程(设计模式)需要遵循的 6 个基本原则
在讨论面向对象编程和模式(具体一点来说,设计模式)的时候,我们需要一些标准来对设计的好还进行判断,或者说应该遵循怎样的原则和指导方针。现在,我们就来了解下这些原则:单一职责原则(S) 开闭原则(O) 里氏替换原则(L) 接口隔离原则(I) 依赖倒置原则(D) 合成复用原则 及迪米特法则(最少知道原则)本文将涵盖 SOLID + 合成复用原则的讲解及示例,迪米特法则以扩展阅读形...转载 2018-09-07 16:51:49 · 1361 阅读 · 0 评论 -
PHP 开发者该知道的 5 个 Composer 小技巧
Composer是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。1. 仅更新单个库只想更新某个特定的库,不想更新它的所有依赖,很简单:composer update foo/bar此外,这个技巧还可以用来解决“警告信息问题”。你一定见过这样的警告信息:Warning: ...转载 2018-03-02 17:14:20 · 163 阅读 · 0 评论 -
TCP协议与UDP协议的区别
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,转载 2017-12-14 18:32:01 · 378 阅读 · 1 评论 -
HTTP 状态吗详解
HTTP,HTTP状态吗,HTTP协议转载 2016-11-22 21:58:43 · 370 阅读 · 0 评论 -
基于 Token 的身份验证
最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。传统身份验证的方法HTTP 是一种没转载 2016-11-19 10:41:38 · 492 阅读 · 0 评论 -
.htaccess 的正则规则
为了方便 htaccess 编写正则,这里整理了一下 htaccess 的正则规则。# —— 位于行首时表示注释。[F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器[L] —— Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL[N] —— Next(下一条规则): 告诉服务器继续重写,指导所转载 2017-03-09 17:21:48 · 505 阅读 · 0 评论 -
jsonp 跨域通信的实现
jsonp 跨域通信的实现 在js中,让 s1.example.com (s1) 可以于 s2.example.com (s2) 通信 js跨域发送消息是没有权限的,也没有办法从其他域名获取返回的数据 如: (在 s1 下) $.ajax({ url:'http://s2.example.com/get转载 2017-03-31 09:35:25 · 362 阅读 · 0 评论 -
常见通信协议区别——tcp、udp、rpc、http、socket
TCP/IPTCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。tcp和udptcp和udp都是传输协议,主要区别是tcp协议连接需要3次握手,断开需要四次握手,是通过流来传输的,就是确定连接后,一直发送信息,传完后断开。udp不需要进行连接,直接把信息原创 2017-03-31 16:45:01 · 2021 阅读 · 0 评论 -
自己对设计模式的理解:工厂模式和单例模式
一、工厂模式:个人总结class Factory{static function createObject($par){if ($par == 1) {$test1 = new Object1();} elseif ($par == 2) {$test2 = new Object2();} else {$test3 = new Object3();}原创 2017-03-31 17:08:40 · 288 阅读 · 0 评论 -
linux下的nginx/mysql/php启动、停止、重启命令操作
/usr/local/nginx/sbin/nginx/etc/init.d/mysql start/usr/local/php/sbin/php-fpm start #nginx命令 start: /usr/local/nginx/sbin/nginx stop: /usr/local/nginx/sbin/n转载 2017-04-10 18:13:56 · 257 阅读 · 0 评论 -
异步图片上传
Document 上传照片 function doUpload() { var formDat原创 2017-06-22 18:02:52 · 269 阅读 · 0 评论 -
在PHP中获取网站根目录物理路径
在PHP中获取网站根目录物理路径。在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用。下面介绍几种常用的获取网站根目录的方法。php获取网站根目录方法一:?1234define("WWWROOT",str_ireplac原创 2017-06-23 10:31:10 · 1922 阅读 · 0 评论 -
Git查看与修改用户名、邮箱
用户名和邮箱的作用: 用户名和邮箱地址相当于你的身份标识,是本地Git客户端的一个变量,不会随着Git库而改变。 每次commit都会用用户名和邮箱纪录。 github的contributions跟你的邮箱是有关联的。 查看自己的用户名和邮箱地址: $ git config user.name $ git config user.email 修...转载 2018-09-18 17:41:00 · 462 阅读 · 0 评论