- 博客(24)
- 收藏
- 关注
翻译 理解面向 HTTP API 的 REST 和 RPC
在过去的这几年当中,当人们想要构建一个 HTTP API,在诸如 XML-RPC、SOAP以及 JSON-RPC 这些选项之中,几乎都会选择 REST 作为首选的架构风格。REST 的出现最终被认为优于其它的“基于 RPC”的方式,这其实是一种无解,它们只是不同而已。本文讨论构建 HTTP API 的场景中的两种方法, 因为这两种方法最常被用到。REST 和 RPC 都可以被其他的传输协议使用...
2018-07-30 20:06:06 1214
转载 基于角色的访问控制RBAC
说到权限,大家就很头疼,怎么样能灵活把控好一个用户的权限,有些同学会在用户表中加字段或者是在角色表中加相应的权限字段,这样会有一个问题,做起权限来会感觉特别的蹩脚,而且很不灵活,每增加一种权限就要在数据库中增加一个字段,很不利于项目的迭代开发那么我们就需要一种非常灵活的设计模式RBAC,即基于角色的访问控制;我来给大家说下这种设计思想:首先,我们的需求是判断某一个用户对当前操作...
2018-07-30 16:27:47 1975
转载 vue中慎用style的scoped属性
本文发布在我的博客vue中慎用style的scoped属性许可协议: 署名-非商业性使用-禁止演绎4.0国际 转载请保留原文链接及作者。在vue组件中,在style标签上添加scoped属性,以表示它的样式作用于当下的模块,很好的实现了样式私有化的目的,这是一个非常好的机制。但是为什么要慎用呢?在实际业务中我们往往会对公共组件样式做细微的调整,如果添加了scoped属性,那么样式将会变...
2018-07-28 07:38:46 5689 3
原创 Swoole微服务框架Swoft之ORM
SwoftSwoft是基于swoole协程的高性能PHP微服务框架,Swoft宗旨是打造一款简单、快速、高效的框架。项目开源地址:https://github.com/swoft-cloud/swoftORMORM用于实现面向对象编程语言里不同类型系统的数据之间的转换,ORM有多种设计模式,swoft采用的是data mapper,业务和实体分开,但是也实现了类似ActiveRecor...
2018-07-26 18:31:37 2897
转载 tcp和udp的优缺点
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接...
2018-07-25 22:47:03 13363 1
转载 laravel中的反射机制
反射机制被Ruby、PHP等多种语言广泛应用,主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过反射API函数可以实现对这些语言构件信息的动态获取和动态操作等。PHP5具有完整的反射API,添加了对类、接口、函数、方法和扩展进行反向工作的能力。此外,反射API还提供了获取函数、类和方法等语言构件中的文档的注释方法。下面介绍一个具体实例。通过上面的实例可以看到反射机制的强大,在...
2018-07-25 22:43:46 2226
原创 关于存储过程的看法
减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用。而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php、java等就是调用存储过程"。 业务逻辑,通俗说就是:比如要取数据的操作,取出会员编号为x的数据,原来我们一般是封装成函数,或者直接编写sql语句查询。现在是交给数据库的存储过...
2018-07-25 18:40:59 1413 2
转载 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控...
2018-07-25 14:23:08 446
原创 vue.js 如何获取接口数据
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>获取图片列表</title> <meta name="viewport" content="
2018-07-20 17:03:56 24841 3
转载 ThinkPHP 5 中AJAX跨域请求头设置方法
最近用thinkphp做项目,在测试环境时,存在接口的测试问题。在tp官网也没能找到相关的解决方法。自已看了一下源码,有如下的解决方案。 在项目目录下面,创建common/behavior/CronRun.php文件,文件内容如下: 复制 <?php /** * Created by PhpStorm. * User: ...
2018-07-19 15:04:42 3347
原创 Linux下redis安装与使用
redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz$ tar xzf redis-2.8.3.tar.gz$ cd re...
2018-07-14 16:58:09 76
原创 mongodb 权限设置--用户名、密码、端口
所有人都可以直接访问并修改数据库数据了。 默认情况下,mongod也是没有管理员账户的。因此除非你在admin数据库中使用db.addUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无需认证执行所有命令。包括delete和shutdown。 此外,mongod还会默认监听28017端口,同样是绑定所有ip。这是一个mongod自带的we...
2018-07-14 11:08:47 738
转载 LAMP环境搭建
摘自:http://www.cnblogs.com/chanzhi/p/5455144.html企业网站建设必然离不开服务器运维,一个稳定高效的服务器环境是保证网站正常运行的重要前提。本文小编将会详细讲解Linux系统上如何搭建配置高效的lamp服务环境,并在lamp环境中搭建起企业自己的网站。先简要概述下本文要点:(操作系统采用CentOS 6.5 x64)1.分别安装搭建lamp服务环境;2....
2018-07-14 10:59:47 6818
翻译 MYSQL和ORACLE的一些区别
有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到ORACLE的需求,应用程序也要相应做一些修改。总结出以下几点注意事项。1. 自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE...
2018-07-14 10:47:41 138
转载 vue.js执行mounted的实例
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><meta charset="utf-8" /&a
2018-07-14 10:33:11 3078
原创 thinkPHP5.0 使用PHPExcel导出Excel文件
首先下载PHPExcel类。网上很多,自行下载。我下载的跟composer下载的不太一样。我下载的是下载存放目录.jpg而composer下载的是:composer下载.jpg本篇使用的是第一种。所以下载请下载对应的。前端代码:<form action="ADMIN_MAIN/Excel/out" enctype="multipart/form-data" method="post">...
2018-07-13 15:26:38 1196
转载 7款漂亮的纯css字体样式
简单粗暴,直接上马:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> &
2018-07-12 20:04:57 21090 4
原创 PHP读取大文件的几种方法介绍
读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办法,希望例子能帮助到各位。场景:PHP读取超大文件,例如1G的日志文件,我这里使用的是400M的access.log文件1、使用file直接读取?123456789101112131415161718...
2018-07-11 18:41:01 209
原创 Linux的关机与重启命令
重启命令:1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启 关机命令:1、halt 立刻关机2、power...
2018-07-10 11:30:34 112
原创 Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别
utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。utf8_general_ci 校对速度快,但准确度稍差。utf8_unicode_ci 准确度高,但校对速度稍慢。如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了。 附:ci是 case insensitive, 即 "大小写不敏感",...
2018-07-10 10:54:12 300
转载 redis和memcached的区别(总结)
观点一:1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;4、过期策略--memcache在set时就指定,例如set ke...
2018-07-09 22:15:01 69
转载 常用的排序算法
目录冒泡排序 鸡尾酒排序 选择排序插入排序二分插入排序 希尔排序 归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),...
2018-07-08 19:45:03 84
原创 webstorm中es6语法报错,.vue文件中es6语法报错
webstorm中es6语法报错,.vue文件中es6语法报错1.webstorm中es6语法报错,解决方法:打开 Settings => Languages & Frameworks => Javascript把 Javascript Language version 改为 ECMAScript 6这样做所有的.js文件中es6不再报错,但是.vue文件中es6语法依然报错。...
2018-07-08 19:37:37 1399
原创 tp5.0中软删除使用和恢复
模型中使用,并且引入类use traits\model\SoftDelete;use SoftDelete;控制器中删除方法public function delete($id){ BannerItem::destroy($id);}回收站方法public function hsz(){ $res = BannerItem::onlyTrashed()->p...
2018-07-08 11:55:04 1536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人