自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

临江之阁

滴水穿石,汇集成海.

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 设置一个顺手的终端

作为一个整天跟日志和数据库打交道的程序员,动手稍微设置一下自己的终端将其改造为一个顺手好用的工具是一个态度问题.iterm2安装iterm2 这个不用多说,贼好用,比自带的终端更强大配置将iTem2设置为默认终端:// 设置默认终端iTerm2 -> Make iTerm2 Default Term// 设置全局 唤起/最小化 热键偏好...

2018-05-10 19:39:00 330

转载 两种字符串匹配方法 KMP 与 Boyer-Moore算法

Kmp 算法https://blog.csdn.net/a345017062/article/details/52452667 这篇博客说的很好.boyer-moore 算法http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html 构思奇巧的字符串匹配算法...

2018-03-28 15:56:57 504

原创 AWK 使用技巧

AWK 双引号awk '{print " \" "}'AWK 单引号awk '{print " ' \ ' ' " }'

2017-12-07 20:26:38 630

转载 转:正则表达式进阶(资料整理)

正则表达式进阶整理一 、正则的几种引擎正则引擎主基本可以分为两大类:DFA (确定性有穷自动机)NFA (非确定性有穷自动机) DFA和NFA都有很长的历史,NFA的历史更长一些,两者在二十多年的发展中产生了许多不必要的变体。而POSIX标准的出台是为了规范这种现象。POSIX标准不但清楚地规定了引擎应该支持的元字符和特性,还明确规定了使用者期望由表达式获得的准确结果。DFA已经符合新

2017-11-16 17:35:01 418

原创 MarkDown 流程图 Flow 语法

Created with Raphaël 2.1.0index申请检查登录查询本地记录检测状态查询本地结果页End填写个人信息风控审核bid入库登录yesnoyesnoyesnoyes代码st=>start: indexop=>operation: 申请op2=>operation: 结果页op3=>operation: 查询本地i1=>inputoutput: bid入库i2=>inpu

2017-09-21 14:51:52 15558 1

转载 互联网协议入门

互联网协议入门互联网协议入门分层实体层链路层以太网协议MAC地址网络层ipv4 协议子网掩码传输层应用层分层 每层叫什么名字其实不重要,只需要知道互联网分成若干层就可以。实体层 组件网络第一件事情就是要把电脑连接起来,可以用多种方式实现:光缆,电缆,双绞线,无线电波等; 实体层就是把电脑连接起来的物理手段,负责传输 0 和 1 的信号。链路层单纯的 0 和 1 没

2017-09-14 15:03:17 256

原创 ubuntu17.04 使用 steam 玩游戏时字体无显示解决办法

sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑sudo apt-get install ttf-wqy-zenhei #文泉驿-正黑sudo apt-get install xfonts-wqy #文泉驿-点阵宋体少字体所致 安装即可

2017-08-19 03:32:56 2924

原创 laravel ide-helper安装

laravel ide-helper安装引入此包,该命令会自动修改 composer.json 文件composer require barryvdh/laravel-ide-helper 下载完成后加入 config/app.php 中的 providers 数组中Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,仅在开发系统中安

2017-07-26 02:38:11 5237

原创 PHP 扩展开发 : 编写一个hello world !

安装PHP1 安装 php包 与 phpizeapt-get install php7.0 php-dev 2 下载 php 源码包wget http://php.net/distributions/php-7.1.5.tar.gz3 解压并进入ext文件夹tar -zxvf php-7.1.5.tar.gzcd php-7.1.5/ext4.使用 ext_skel 创建骨架 ext_skel -

2017-05-15 15:39:47 457

原创 按位异或 ^

public static function swap ( &$a , &$b ) { // $a = $a + $b; // $b = $a - $b; // $a = $a - $b; $a = $a ^ $b; $b = $a ^ $b; $a = $a ^ $b; } public

2017-03-23 11:36:19 364

转载 百度代码规范 -- PHP

php编码规范php标准委员会([email protected]):许立强(TB-TD, 主席)贾春鑫(PS)廖慧琴(LBS RD)仇昊(VS)全伟(CS)王岩(KS)颜玉刚(music-PD)张东进(SUMERU) 张振平(CID)王伟冰(贴吧-技术部)参与规则制定:雷国强(GIS)李红亮(GPM)王霄池(SCloud)张健(CS)许鹏(GIS)鲁超伍(Mob

2017-03-16 15:13:20 3024 1

原创 常见攻击方式与加密方式

明天要去百度钱包面试,整理出一些关于安全的一些东西.常见攻击方法sql 注入string 型SQL注入string 型sql注入一般是由对特殊字符过滤不严格导致的. NULL ’ ” \int型 sql 注入int 型sql注入 在数字后面加入其它关键字$res = "1 union select";echo $res; // 1解决办法: 1.开启GPC 对 COOKIE, POST,GE

2017-03-09 20:37:47 1032

转载 MySQL InnoDB事务模型

InnoDB四种事务隔离级别事务的ACID特性:原子性、一致性、隔离性、持久性。这部分不多说了,任何一本讲数据库理论的书籍里边都会有讲。MySQL InnoDB通过锁来实现事务的一致性和隔离性,共实现了四种事务隔离级别:· READ UNCOMMITTED 读取未提交 某个session中的事务可以看到其他session的事务中尚未提交的更改,而该更改可能回滚,即会出现”脏读“;1:这种

2017-03-09 19:03:00 275

原创 git远程版本库 自动部署 与 github

免密码提交# 找个合适的位置 创建仓库git init --bare sample.git # 生成密串ssh-keygen -t rsa -C "[email protected]" # 进入.ssh,新建一个authorized_keys文件# 给600权限chmod 600 authorized_keys 将 id_rsa.pub 将加密串 复制到 authorized_key...

2017-02-16 11:13:27 358

转载 一些mysql数据库性能优化方法 (17/2/28整理)

一、MySQL 数据库性能优化之SQL优化优化目标 减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。 降低 CPU 计算 除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了。order by, g

2017-02-16 11:04:29 4928 1

原创 Ubuntu 16.04 安装 LAMP 及各种扩展

Apache2安装apt-get install apache2配置虚拟主机/etc/apache2/sites-available 目录下有 000-default.conf 文件 将000-default.conf 文件复制一份叫做 demo.conf 并修改以下几个参数ServerName demo.hd DocumentRoot /var/www/html/laravelapp/创建一个

2017-01-09 00:36:32 2833

转载 解决微信授权回调页面域名只能设置一个的问题

在做项目集成微信登录以及微信支付的时候,都需要进行用户授权。这个授权的流程可以简单描述为: 1. 用户从我们的应用触发需要授权的操作,比如点击微信登录; 2. 应用收到这种用户请求后,将用户重定向到微信提供的一个授权页面: 或 3. 用户通过微信扫码(PC端授权,上边左图)或者点击确认按钮(移动端授权,上边右图)告知微信,授权应用访问自己的微信账号信息; 4. 微信收到用户的授

2016-12-16 12:01:44 14153

转载 服务器基础:聊聊c10k问题及解决方法

1 C10K问题大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个Html页面,用户在浏览器中查看网页上的信息。这个时期也不存在C1

2016-10-10 16:43:34 1063

转载 服务器基础:IO多路复用之select、poll、epoll详解

select、poll、epoll详解IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用。当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。如果一个服务器即要处理TCP

2016-10-10 16:39:07 501

转载 服务器基础:聊聊Linux中的5种I/O模型

1 概念说明在进行解释之前,首先要说明几个概念:用户空间和内核空间进程切换进程的阻塞文件描述符缓存 IO1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的

2016-10-10 15:56:41 4354

转载 服务器基础:同步、异步、阻塞与非阻塞

1 同步与异步首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。也就是同步与异步主要是从消息通知机制角度来说的。1.1 概念描述同步所谓同步就是当一个任务的完成需要依赖另一个任务时,只有等待被依赖的任务完成后,才可进行,这是一种可靠的任务序列.要么都成功或都失败,两个任务的状态可以保持一致.异步所谓异步是不需要等待依赖的任务完成,只是通知依赖的任务要完成什么工作并且执行,只要自己完成了整个

2016-10-10 14:05:01 474

转载 memcache 的内存管理介绍和 php实现memcache一致性哈希分布式算法

1 网络IO模型       安装memcached需要先安装libevent  Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字 pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比

2016-10-08 18:50:43 428

转载 JSON Web Token - 在Web应用间安全地传递信息 JWT

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。让我们来假想一下一个场景。在A用户关注了B用户的时候,系统发邮件给B用户,并且附有一个链接“点此关注A用户”。链接的地址可以是这样的1https://your.awesome-app.com/make-friend/?from_us

2016-10-07 16:22:25 1522

转载 linux awk命令详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2016-09-29 09:04:02 218

转载 一道PHP面试题,求两个文件的相对路径

首先原题是这样子的:写一个函数,计算出两个文件的相对路径,如 $a = '/a/b/c/d/d.php',$b = '/a/b/1/2/c.php'计算出的$b相对于$a的相对路径应该是:../../c/d那么对于网上给出的答案,看了看貌似只能针对题目中给出的那个路径来计算,如果路径一变化,类似下面这样,那么那些程序好像没用了,当然有些是有用,但是还是报一些警告出来。。。。。例

2016-09-27 08:29:32 2075

转载 TCP/IP协议三次握手与四次握手流程解析

一、TCP报文格式  TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。  (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+

2016-09-26 15:33:56 191

转载 sql语句的内外左右连接(left join and right join)

1.内连接:取的两个表的(有能连接的字段)的交集,即字段相同的。利用内连接可获取两表的公共部分的记录, select * from A,B where A.id=B.id 与 Select * from A JOIN B ON A.id=Bid的运行结果是一样的。 2.外连接:左右连接。 外连接分为两种,一种是左连接(Left JOIN)和右连接(Right J

2016-09-24 09:41:37 588

原创 温故知新(六):排序介绍

排序方法这里扩展一下常用的排序方法,我认为排序是一个程序员的 基本功.基本概念 外部排序 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序.包括合并排序法 和 直接合并排序法. 内部排序 讲需处理数据加载到内存中进行排序.冒泡排序两两对比,进行交换,比较小的向左移; 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 1.对每一对相邻元素作同样的工作,从开始第一对到结

2016-09-22 12:00:24 261

转载 PHP开发框架浅析

PHP开发框架是什么开发框架的定义我没有找到很准确的描述,下面几句话基本概括了开发框架的的功能和用途框架是一种应用程序的半成品;框架就像是人的骨骼一样;框架是一组可复用的组件;框架是一个可复用的设计构件……简而言之,框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。或者说就是使用别人搭好的舞台,你来做表演。PHP开发框架有哪些优缺点

2016-09-17 07:47:07 1478 2

原创 深入理解Mysql读写分离

Mysql的 Replication 是一个异步复制的过程,从一个 Master复制到另一个 Slave。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程( Sql线程 和 IO线程 )在 Slave 端,另外一个线程(IO线程)在 Master 端。MySQL 复制的基本过程如下:Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指

2016-09-12 21:35:06 297

原创 PHP底层探索(五):Zend引擎简介

Zend引擎是PHP实现的核心,提供了语言实现上的基础设施,比如:PHP语法的实现,脚本的编译运行环境,扩展机制及内存管理等(较知名的还有fackbook的hiphop引擎);Zend引擎是什么?它为什么出现? Zend疫情为php解决了什么?Zend引擎的诞生: PHP的广泛使用,PHP显得力不从心,因为PHP3使用的是边解释边执行的运行方式,运行效率低下,Zend引擎便应运而生了;Zend的特性

2016-09-12 17:25:37 784 2

原创 PHP底层探索(四):SAPI的生命周期

CLI/CGI模式的PHP属于单进程的SAPI模式。这类的请求在处理一次请求后就关闭。也就是只会经过如下几个环节: 开始 - 请求开始 - 请求关闭 - 结束 SAPI接口实现就完成了其生命周期。 单进程多请求则如下图所示: 多进程的SAPI生命周期 通常PHP是编译为apache的一个模块来处理PHP请求。Apache一般会采用多进程模式, Apache启动后会fork出多个子进程,

2016-09-12 16:49:16 325

原创 PHP底层探索(三):一次请求生命周期

我们从未手动开启过PHP的相关进程,它是随着Apache的启动而永兴的.PHP通过mod_php5.so模块和Apache相连(具体说是SAPI) PHP总共有三个模块:内核 zend引擎 扩展层php内核用来处理请求,文件流,错误处理等相关操作;zend引擎(ZE) 用来将资源文件转换成机器语言,然后在虚拟机上运行扩展层是一组函数,类库,和流,php使用它们来进行一些特定的操作;比如

2016-09-12 15:34:18 668

原创 PHP底层探索(二):一次请求的开始与结束

PHP开始执行以后会经过两个主要阶段: 1.处理请求之前的开始阶段 2.请求之后的结束阶段开始阶段有两个过程: 1)过程是模块初始化阶段(MINIT),在整个SAPI声明周期内,该过程只执行一次. 2)过程是模块激活阶段(RINIT),该过程发生在请求阶段,例如请求某页面,则在每次请求之前都会进行模块激活(RINIT请求开始).例如PHP注册了一些扩展模块,则

2016-09-12 08:46:20 430

原创 PHP底层探索(一):几种常见的SAPI

SAPI: Server Application Programming Interface 服务器端引用编程端口.即php与其他应用交互的接口.常用的SAPI有:cgi fast-cgi cli apache的DLLCGI’ CGI即通用网关接口(Common Gateway Interface),他是一段程序,通俗的讲CGI就像是一座桥,把网页和web服务器中的执行程序连接起来,CG

2016-09-11 20:35:07 864

原创 OAuth2.0验证 和 SSO验证 详细

一、OAuth2.0授权协议一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源。由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的。图示:流程:1、获取未授权的Request Token。url:request token url。

2016-09-09 20:41:37 2027

转载 Jacascript 同步服务器时间与页面

将以下的代码  放置html页面中![html] view plain copy>  html xmlns="http://www.w3.org/1999/xhtml">  head>  meta http-equiv="Content-Type" content="text/html; charset=gb2312" /

2016-09-09 08:47:28 268

转载 Linux下配置 Keepalived(心跳检测部署)

首先呢,我想先给大家简单介绍一下什么是keepalived:Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器

2016-09-09 08:45:29 3148

翻译 MapReduce: 一种简化的大规模集群数据处理法

(只有文字没有图,图请参考http://research.google.com/archive/mapreduce.html)MapReduce: 一种简化的大规模集群数据处理法翻译:风里来雨里去原文:MapReduce: Simplified Data Processing on Large Clusters 作者:JeffreyDean and Sanjay G

2016-09-08 08:45:10 877

转载 单项散列加密

1.加密文件[php] view plain copy //sha1_en.php  header("content-type:text/html;charset=utf-8");  $str = "我是张三,能给我个人数据吗";  $salt="123456";//我是唯一不变的salt盐  $sha1=sha1($str.$s

2016-09-08 07:28:07 222

简单的MVC框架(PDO封装)

自己做的简单的MVC框架,内部代码有些凌乱,v层用的是smarty.重构了assion,display两个方法,内附数据库测试文件!

2016-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除