- 博客(107)
- 收藏
- 关注
原创 腾讯QQ、新浪微博第三方登录接口申请说明
这一段时间,公司一直要求在网站上加入第三方登录功能。昨天刚刚把接口申请的事项写成文档提交上去。今天趁热打铁,整理一下。并分享给大家。腾讯QQ第三方登录接口开发者注册1. 在QQ互联开放平台首页 http://connect.qq.com/ ,点击右上角的“登录”按钮,使用QQ账号登录,如下图所示:2. 登录成功后会跳转到开发者注册页
2016-12-03 11:57:22
3506
原创 第三方接口开发规范
第三方接口开发规范一、前言 最近公司业务需要希望能够连接东亚银行的接口直接对商家进行转账付款,但由于前期可行性研究的准备工作没有做好,导致在开发进入两周后才发现原先的设计存在重大安全漏洞,不得不停止项目开发。 接口开发是开发中经常遇到的问题,为避免此类问题再次发生,因而结合本次项目的经验及网上查找到的资料整理出本文,希望能够对以后的第三方接口开发交互提供指导。
2016-12-03 10:09:34
1835
原创 常用的正则表达式
1 . 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$2. 校验中文字符串仅能是中文。^[\\u4e00-\\u9fa5]{0,}$3. 由数字、26个英文字母或下划线组成的字符串^\\w+$
2016-11-16 16:30:08
529
原创 WebRTC:最有希望统一即时音视频服务的技术标准
原文来自:开发者头条✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦2011年Google发起了WebTRC开源项目和标准化工作,WebRTC已经成为未来最有希望的统一互联网即时音视频服务的技术标准。WebRTC将帮助更多的人更简单的搭建实时音视频通信功能。01-WebRTC历史2010年5月,Google以6820
2016-11-16 16:29:21
819
原创 正向代理与反向代理
Nginx作为时下最流行的HTTP服务器之一,同时它是一个反向代理服务器,提到反向代理服务器,有同学可能觉得这个概念很模糊,如果说到代理,他可能明白,但是再引出一个正向代理,估计懵了,笔者将尝试用浅显易懂的比方把这两个概念解释清楚。nginx is an HTTP and reverse proxy server, a mail proxy server, and a generic
2016-11-16 16:28:40
418
原创 一次完整的 HTTP 请求过程
一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准来实现的话,那么它一定是通用的。HTTP 请求格式HTTP请求格式主要有四部分组
2016-11-16 16:28:09
500
原创 PHP 中 16 个魔术方法详解
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用静态方式中调用一个不可访问方法时调用__get(),获得一个类的成员变量时调用__set(
2016-11-16 16:27:16
766
原创 浅谈秒杀系统架构设计
秒杀是电子商务网站常见的一种营销手段。原则不要整个系统宕机。即使系统故障,也不要将错误数据展示出来。尽量保持公平公正。实现效果秒杀开始前,抢购按钮为活动未开始。秒杀开始时,抢购按钮可以点击下单。秒杀结束后,按钮按钮变成秒杀已结束。技术攻关短时间内的大访问量对现有网站业务造成的冲击。秒杀是一个网站营销的一个附加活
2016-11-16 16:26:23
545
原创 nodejs 的群聊及私聊
今天我们来学习一下使用nodejs实现及时的群聊及私聊。 首先我们得在Linux或Windows下安装我们的nodejs。具体安装步骤见菜鸟教程|nodejs。 下面我们直接进行代码部分 首先是server.js部分,也是我们开启服务的文件,通过监听83端口实现接收、发送消息。开启服务命令node server.jsvar app = require('http').createS
2016-11-16 16:25:47
520
原创 php异步操作(实现简单聊天功能)
这里主要运用swoole实现简单的聊天功能首先我们安装swoole 目前仅支持Linux,FreeBSD,MacOS,3类操作系统Linux内核版本2.3.32以上PHP5.3.10以上版本,包括PHP7gcc4.4以上版本或者clangcmake2.4+,编译为libswoole.so作为C/C++库时需要使用cmakeswoole仅支持PHP5.3.10或更高版
2016-11-16 16:23:57
854
原创 前段框架Bootstrap介绍和安装
什么是 Bootstrap?Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的。为什么使用 Bootstrap?移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。浏览器支持:所有的主流浏览器都支持 Bootstrap。
2016-11-16 16:22:45
508
原创 linux操作mysql命令
1.终端启动 MySQL:/etc/init.d/MySQL start 2.登录 MySQL:mysql -uroot -p (用 root 账户登录),然后输入密码 3.查看所有的数据库名字:show databases; 4.选择一个数据库操作: use database_name; 5.查看当前数据库下所有的表名:show tables; 6
2016-11-16 16:21:58
502
原创 MongoDB基本操作
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。window平台安装 MongoDBMongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安
2016-11-16 16:21:19
490
原创 jekyll的简单搭建
首先,进入github.io这个网址,进去按照里面的教程搭建ruby 和gem 这都搭建好了以后在cmd里面输入ruby和gem后会出现如下的这种情况:[python] view plain copy print?$ ruby ASUS@DESKTOP-5J15LT4 MINGW32 ~/Desktop/mylog (gh-pages)
2016-11-16 16:20:29
460
原创 mysql基本的语法/语句
DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据
2016-11-16 16:19:50
436
原创 PHP MySQLi 增删改查
1:登陆页面[php] view plain copy print?//前端显示部分 "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/
2016-11-16 16:18:42
550
原创 Php中使用PDO操作MySQL数据库(查询 更新 删除)
PDO是MySQL数据库操作的一个公用类了,我们不需要进行自定类就可以直接使用pdo来操作数据库了,但是在PHP默认配置中pdo是未开启所以我们必须先在php.ini中开启它才可以使用,下文我会讲到。PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO支持的PH
2016-11-16 16:17:54
551
原创 rsync实现文件备份同步
1. 关闭防火墙和selinuxsystemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动vi /etc/selinux/config SELINUX=disabled setenforce 0 2.安装
2016-11-16 16:06:28
440
原创 单点登陆的三种实现方式
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞
2016-11-16 16:05:51
317
原创 跨服务器session共享
网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上;或通过负载均衡技术 (如:DNS轮询、Radware、F5、LVS等)让多个频道共享一组服务器。 OK,头脑中我们已经构思了这样的解决方案,不过进入深入开发后新的
2016-11-16 16:04:56
449
原创 缓存技术
[导读] 1、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走PHP服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;一种比较常用的实现方式是用输出缓存:Ob全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较
2016-11-16 16:04:12
353
原创 PHPer能力提升(第二章)
购物车的实现原理:购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已。用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品就自动保存到你的购物车中,重复选购后,最后将选中的所有商品放在购物车中统一到付款台结账,这也是尽量让客户体验到现实生活中购物的感觉。服务器通过追踪每个用户的行动,以保证在结账时每件商品都物有其主。 n
2016-11-16 16:03:14
553
原创 微信支付流程
PHP微信支付开发过程,分享给大家,供大家参考,具体内容如下1.开发环境 Thinkphp 3.2.3 微信:服务号,已认证 开发域名:http://test.paywechat.com (自定义的域名,外网不可访问)2.需要相关文件和权限 微信支付需申请开通 微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index
2016-11-16 16:02:11
1669
原创 php编程效率的20个要点
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
2016-11-16 16:00:13
237
原创 memcache实现消息队列实例
现在memcache在服务器缓存应用比较广泛,下面我来介绍memcache实现消息队列等待的一个例子,有需要了解的朋友可参考。memche消息队列的原理就是在key上做文章,用以做一个连续的数字加上前缀记录序列化以后消息或者日志。然后通过定时程序将内容落地到文件或者数据库。PHP实现消息队列的用处比如在做发送邮件时发送大量邮件很费时间的问题,那么可以采取队列。方便实现队列的
2016-11-16 15:59:28
826
原创 内存缓存Memcached类代码
PHP内存缓存Memcached类有需要的朋友可参考一下。[php] view plain copy print? class MemcacheModel { private $mc = null; /** * 构造方法,用于添加服务器并创建memcahced对象 */ function __constr
2016-11-16 15:58:34
255
原创 HTTP和HTTPS详解
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样:前者是80,后者是443。 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个
2016-11-16 15:55:54
583
原创 初识jquery mobile
对这几天学习的东西做一下总结。这几天研究的东西有jquery mobile和bootstrap.这两个都是封装好的前端样式库。可以引入线上文件,也可以把文件下载下来进行本地引入。今天来讲一下jquery mobile.Jquery mobilejQuery Mobile 是创建移动 web 应用程序的框架。适用于所有流行的智能手机和平板电脑。使用 HTML5 和 C
2016-11-16 15:53:59
257
原创 php操作sphinx
1.开启coreseek服务./searchd -c /usr/local/coreseek/etc/csft.conf2.php代码[php] view plain copyrequire ( "sphinxapi.php" ); $cl = new SphinxClient (); $cl->S
2016-11-16 15:49:36
302
原创 Squid的作用与简介
对于WEB用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览互联网的速度,提高客户机的访问命中率.Squid不仅仅支持HTTP协议,还支持FTP,gopher,SSL和WAIS等协议.和一般的代理缓存软件不同,Squid用一个单独的,非模块化的,I/O驱动的进程来处理所有的客户端请求. Squid将数据元缓存在内存中,同时也缓存DNS查询的结果,险些之外,它还支持非模块
2016-11-16 15:45:05
1352
原创 微信公众号开发之样式库
微信作为一款聊天工具;在中国来说应该是家喻户晓的了;微信在qq横行的时代异军突起靠的是什么?下面我们来了解一下微信公众号的开发;想要开发微信,我们最先要准备的开发工具莫过于一个服务器;有了服务器,我们才能随意的为公众号;添加功能;下面;我们在服务器上开发一下微信公众号的样式库;①;在服务器上安装weui;WeUI 是一套同微信原生视觉体验一致
2016-11-16 15:41:51
2431
原创 微信web开发者工具
微信开发一般都需要一个自己的服务器;如果没有服务器等资源,我们就需要用到web开发工具了;为帮助开发者更方便、更安全地开发和调试基于微信的网页,我们推出了 web 开发者工具。它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作。①下载微信web开发工具Windows 64位版本:下载地址 MD
2016-11-16 15:40:33
997
原创 微信公众号开发之接收普通消息
这篇文章要讲的是微信中的接收普通消息;接收普通消息:顾名思义,它的作用就是接收普通用户发送的消息,并根据接收消息类型的不同,分为了六大接收接口;[html] view plain copy 1 文本消息 2 图片消息 3 语音消息 4 视频消息 5 小视频消息 6 地理位置消息 7 链接消息
2016-11-16 15:40:04
727
原创 微信开发之接收事件推送
在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。其中,某些事件推送在发生后,是允许开发者回复用户的,某些则不允许,详细说明请见本页末尾的微信推送消息与事件说明。在用户触发事件后,微信会向开发者页面发送一组xml数据[html] view plain copy
2016-11-16 15:38:25
1862
原创 微信摇一摇周边开发
①申请开通摇一摇功能申请开通摇一摇周边功能。成功提交申请请求后,工作人员会在三个工作日内完成审核。若审核不通过,可以重新提交申请请求。若是审核中,请耐心等待工作人员审核,在审核中状态不能再提交申请请求。接口代码如下:[html] view plain copy http请求方式: POST(请使用https协议)https:/
2016-11-16 15:37:20
1310
原创 php面向对象之app接口文档
简介什么时候需要写app接口,在app客户端,很多地方需要调用数据,这个时候就需要用接口来调用数据库的数据,在与客户端对接,把数据返回给客户端 数据库->数据库|缓存->调用接口->客户端;APP接口介绍 app通信接口定义需要三部分: I:接口地址:如http://app.co
2016-11-16 15:35:21
353
原创 php 一维数组变多维
将下面的数组处理成下图的样子$arr = ['a', 'b', 'c', 'd','e','f'];11$arr = ['a', 'b', 'c', 'd','e','f'];$x = [];$y = &$x; $value = 1234;while ($key = current($arr)) { $y[$key] = []; $y = &$y[
2016-11-16 11:03:44
240
原创 msyql 简单的sql优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is n
2016-11-16 11:01:53
235
原创 利用缓存实现APP端与服务器接口交互的Session统制
与传统B/S模式的Web系统不同,移动端APP与服务器之间的接口交互一般是C/S模式,这种情况下如果涉及到用户登录的话,就不能像Web系统那样依赖于Web容器来管理Session了,因为APP每发一次请求都会在服务器端创建一个新的Session。而有些涉及到用户隐私或者资金交易的接口又必须确认当前用户登录的合法性,如果没有登录或者登录已过期则不能进行此类操作。 我见过一种“偷懒”的方式,就是在
2016-11-16 11:01:01
359
原创 mysql计划任务
查看当前计划任务: 选择数据库后[php] view plain copyshow events; 查看是否开启计划任务:[php] view plain copyshow global variables like '%event_scheduler%';
2016-11-16 10:58:48
272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人