自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

instancegameto

学习就是由点到面的过程

  • 博客(35)
  • 收藏
  • 关注

原创 nodejs在windows环境使用npm遇到的问题

错误提示:MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”错误原因:缺少windows构建插件解决方法:npm install --global --production windows-build-tools  (全局安装windows构建工具)...

2018-04-13 17:05:11 633 1

原创 MySql基础——多表查询

接下来我们将以实例来讲解假设我们有以下两个表:password表user表1.使用别名进行多表查询SELECT u.id,u.name,p.password FROM user u,password p WHERE u.id=p.user_id;SELECT u.id,u.name,p.password FROM user u CROSS JOIN password p WHERE u.id=p...

2018-04-03 15:21:46 264 1

原创 MySql基础——select的子句

1.group by(分组)对查询到的结果进行分组,一般会结合COUNT,SUM,AVG,MAX,MIN一起使用例如:我想查询每个班级的语文平均分数:SELECT AVG(yuwen) avg_s FROM score GROUP BY class_id;展示的结果将会按照班级进行分组,并有计算出每个班级语文平均成绩的字段avg_s2.order by(排序)对查询结果进行排序,排序分升序(ASC...

2018-04-02 17:13:26 278

原创 MySql基础——表数据操作

1.insert(插入数据)INSERT INTO 表名(字段名1,字段名2,字段名3)VULUE(值1,值2,值3);举个栗子:向student表中插入一个学生INSERT INTO student(name,sex,stu_id)VALUE('李四','男',1001);一次性向student表中插入多条数据INSERT INTO student(name,sex,stu_id)VALUE('...

2018-04-02 15:11:26 285

原创 MySql基础——表操作

1.创建表创建表操作的sql语句可以分为以下几个部分CREATE TABLE 表名(字段名 数据类型 [约束条件] ,字段名 数据类型 [约束条件] ,字段名 数据类型 [约束条件]);mysql常用数据类型有数值类型:TINYINT, SMALLINT, MEDIUMINT, INT/INTEGER, BIGINT, FLOAT, DOUBLE, DECIMAL(M,N)取值范围在M和N之 间字...

2018-04-01 00:15:01 390

转载 提高php代码质量 36计

1.不要使用相对路径常常会看到:?1require_once('../../lib/some_class.php');该方法有很多缺点:它首先查找指定的php包含路径, 然后查找当前目录.因此会检查过多路径.如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了.因此最佳选择是使用绝对路径:?1234define...

2018-03-30 14:59:25 189

原创 CodeIgniter源码阅读笔记(9)——输出组件Output.php

Output组件负责向浏览器发送最终输出,是ci框架中使用非常广泛的一个组件,在之前的几篇源码阅读中,也使用到了这个组件,例如:load->view() 在阅读输出组件源码的时候,我们主要关注以下几个问题:Output是如何输出页面的,在最终输出的之前做了哪些处理?页面缓存是怎么实现的?带着以上几个问题我们开始来阅读它的源码吧。1.构造函数 public function __cons

2018-03-27 17:46:18 204

原创 CodeIgniter源码阅读笔记(8)——加载器Loader.php

Loader加载器是基于ci框架项目开发中用的最广泛的组件之一,它让开发者能够非常方便的加载model,library,config等类和文件。 相信熟悉的CI的朋友都知道autoload这个配置文件吧,只要把需要加载的model,libray,driver,helper,config等配置到相应的参数中,就可以实现自动加载,这个自动加载的奥秘就在Loader.php中1.自动加载自...

2018-03-19 18:15:21 262

原创 php缓冲机制

http://blog.csdn.net/soonfly/article/details/52105533

2018-03-12 14:51:18 149

原创 php——XDebug配置和使用

1.下载XDebug扩展下载地址:https://xdebug.org/download.php 根据自己的php环境下载对应的版本2.配置php.ini//加载xdebugzend_extension ="D:\upupw5\PHP5\ext\php_xdebug.dll" xdebug.collect_params = 1xdebug.collect_return ...

2018-03-06 16:15:07 383

原创 CodeIgniter源码阅读笔记(7)——路由类Router.php

CI框架能根据URL地址路由到正确的控制器和方法,主要是靠URI和Router这两个组件,URI组件对URL地址所携带的参数进行分段,Router组件再根据URI解析出来的分段参数找到对应的控制器,方法,及调用方法所需的参数,并且Router还能通过正则表达式自定义路由方式。 在阅读路由组件的源码时,我们需要思考以下几个问题: 1.Router是怎样根据URI的分段参数找到对应的类和方法? 2

2018-02-28 16:15:06 637

原创 CodeIgniter源码阅读笔记(6)——地址解析类URI.php

URI类的作用主要是处理地址字符串,将URI分成对应的片段保存到segments,路由类也主要是通过segments数组来获取上下文中的URI请求信息 在阅读这段源码的时候,我们主要关心的问题有 1.URI类是如何将地址字符串解析成对应片段? 2.解析后的对应片段保存到变量中是怎样的数据结构?1.__construct()构造函数URI类在初始化的时候就会对地址进行解析,构...

2018-02-26 17:56:07 190

原创 php安全register_globals

register_globals选项会影响到php如何接收传递过来的请求参数 例如<from action='' method='get' ><input name='nike' value='小王'><input name='sex' value='男'></from><?php echo 'nike:'.$nike; echo '<br>sex:'.$sex;

2018-01-18 21:28:38 282

原创 CodeIgniter源码阅读笔记(5)——钩子Hooks.php

1.钩子是什么钩子是一种事件驱动模式。既然是事件驱动,那么必然要包含最重要的两个步骤: (1)、事件注册。对于Hook而言,就是指Hook钩子的挂载。(2).事件触发。在特定的时间点call特定的钩子,执行相应的钩子程序。既然是事件驱动,那么也应该支持统一挂钩点的多个注册事件。启动Hook钩子之后,程序的流程可能会发生变化,且钩子之间可能有相互调用的可能性,如果处理不当,会有死循环的可

2018-01-09 14:54:48 332

原创 CodeIgniter源码阅读笔记(4)——性能测试Benchmark.php

为什么要有Benchmark组件?对于一个项目而言,不仅是要运行起来那么简单,还需要考到性能问题,而Benchmark组件可以帮助开发者监控程序运行时间运行内存,这就让开发者可以知道具体优化哪些地方。Benchmark可以收集哪些数据?Benchmark.php只有三个函数:mark($name)elapsed_time($point1 = '', $point2 =

2018-01-08 16:52:05 288

原创 CodeIgniter源码阅读笔记(3)——公共函数Common.php

1.概述Common中声明了很多常用操作的功能函数,在Codeigniter.php中记载了Common.php,所以这个文件是全局调用的。1、Common提供了哪些功能函数呢?is_php:判断php版本 function is_php($version) { //注意这里没有直接返回true或者false,而是将比较结果放在静态变量is

2018-01-02 17:25:26 284

原创 CodeIgniter源码阅读笔记(2)——框架核心CodeIgniter.php

1.概述CodeIgniter.php是整个框架的核心文件,这个文件的官方注释是/** * System Initialization File * 系统初始化文件 * Loads the base classes and executes the request. * 加载基础类并执行请求 */CodeIgniter除了加载系统核心类,还要将客户端的请求传递到对应的控制器中,并且要将控制

2017-12-27 18:08:37 322

原创 两种跨站攻击方式——XSS和CSRF

1.概述XSS:跨站脚本攻击,攻击者往web中嵌入脚本代码,用户在浏览该网页时,脚本就会执行,从而实现攻击的目的。 csrf:跨站伪造请求,攻击者伪装成受信任用户,来利用受信任网站。2.原理2.1 XSS原理如今的大部分网站都有用户留言或反馈消息的功能,这些本来为了增强用户体验的功能,如果安全等级不够,攻击者就可以通过输入框向网页嵌入恶意脚本代码,轻则盗取用户信息,严重的可能直接导致网站崩溃。举一

2017-12-14 17:46:03 529

原创 PSR-1规范

PSR-11.文件1.1、php标签php代码必须使用<?php ?>长标签 或 <?= ?>短输出标签, 不可使用其他自定义标签1.2、php编码php代码必须且只使用不带bom的utf-8编码1.3、副作用副作用包含但不限于:1.生成输出2.直接的include和require3.连接外部服务4.修改ini操作5.抛出错误和异常一个php文件中要不就只定义新的声明,如类,函数,常量等不

2017-12-04 22:26:24 214

原创 CodeIgniter源码阅读笔记(1)——框架入口index.php

熟悉CI的朋友应该都记得这个应用程序流程图吧,当接收到一个http请求时,由index.php初始化运行CodeIgniter所需的资源,Routing检查请求确定如何处理,如果存在缓存就直接输出,若不存在缓存,对用户提交的数据进行安全检查,检查通过,加载对应控制器,控制器加载模型,类库等处理请求所需的资源,处理完成之后,将渲染的视图传给浏览器,如果有开启缓存,则将视图缓存。至此,整套流程就走完了。

2017-11-30 14:34:01 828

原创 laravel安装

第一步:安装composer 下载地址:http://www.phpcomposer.com/ 第二步:安装laravel 若出现如下错误提示:[Composer\Downloader\TransportException] Content-Length mismatch以如下方式切换回国内镜像地址即可:d:\phpStudy\WWWcomposer config -g repo.pac

2017-07-12 14:25:54 348

原创 redis实现web页面缓存

1、网页缓存在动态生成网页的时候通常会使用模板语言来简化网页的生成操作,现在的web网页通常由头部、尾部、侧栏菜单、工具条、内容域的模板生成,有时候模板还用于生成javascript,但是对于一些不经常发生变化的页面,并不需每次访问都动态生成,对这些页面进行缓存,可以减少服务器的压力缓存思路 在处理请求之前添加一个中间件,由这个中间件来调用redis缓存函数,对于不能缓存的页面,函数直接生成页面

2017-06-04 18:22:29 8271

原创 php设计模式——工厂方法设计模式

概述工厂设计模式作为一种创建型设计模式,即是创建某个产品。创建它的类向工厂发送请求,具体创建则由工厂来完成,由此达到产品与创建它的类松耦合的目的简单工厂模式类图简单的例子参与者Creator类代码实例:<?php abstract class Creator { protected abstract factoryMethod(); publi

2017-05-21 14:47:32 273

原创 MySQL-5.6.13免安装版配置方法

http://blog.csdn.net/q98842674/article/details/12094777/ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)错误解决方法:1.找到配置文件my.ini  ,然后将其打开;2.在mysqld下面添加skip-grant-tables,...

2017-03-10 10:51:51 192

原创 Android增量更新

http://blog.csdn.net/z191726501/article/details/52802104(windows下使用bsdiff)http://blog.csdn.net/lmj623565791/article/details/52761658(增量更新相关资料)

2017-03-10 10:12:30 219

原创 如何托管代码到github

1. github地址:https://github.com 2. 登录github账号,如果你已经将你的电脑设置了github的公钥则可以直接上传,如果没有,请先设置公钥 3.点击右上角的new按钮来创建一个版块库Repositories4. 这里我的项目名称是bookstore,项目描述没有写,添加一个java类型的gitignore ,使用Apache v2 License开源协议,点

2017-03-08 17:16:17 346

原创 window下直接运行的bsdiff和bspatch文件

http://download.csdn.net/detail/z191726501/9651809

2016-12-27 11:12:41 1359

原创 Java设计模式——六大设计原则

1.单一职责原则单一职责原则的定义是类的变更的原因应该只有一个,它提出用“职责”和“变化原因”来衡量接口或类设计得是否优良,但是这两个因素都是因项目而异因环境而异的,并没有一个量化的标准 单一职责原则使类的复杂性降低,实现什么职责都有清晰的定义,复杂性降低后可读性也就提高了,可读性提高也就更容易进行维护了。如果接口的单一职责做的好,一个接口修改只对相应的实现类有影响,对系统的扩展性和可维护性也有很

2016-12-04 03:39:27 3265

原创 Android中的IPC机制——Binder

Binder的作用Binder是Android中的一个类,它是Android的一种跨进程通讯方式;在Android系统中,Binder是Manager连接ManagerService的桥梁;在应用开发中,Binder是实现客户端与服务端通讯的媒介,在Activity bindService的时候会获取到一个包含服务端业务调用接口的Binder,透过这个Binder Activity可以实现与服务端的

2016-11-27 02:52:27 278

转载 10分钟掌握Linux vi编辑器常见命令的使用,最简单的vi编辑器教程

先引用一张鸟哥的图:Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能。vi 是十年磨一剑的产品,虽然命令繁多,并且大多数功能都是依靠键盘输入来完成,但是一旦你熟悉后,会发现 vi 的功能和效率是其他图形界面编辑器无法比拟的。Vim 是 Vi impro...

2016-11-27 00:30:54 337

原创 下载jar包的网站

http://search.maven.org/

2016-11-21 15:57:17 3126 1

原创 RecyclerView轻松实现瀑布流效果

今天项目中有一个界面需要用到瀑布流效果,经过考虑后决定使用RecyclerView实现。RecyclerView的Adapter比ListView更加简洁,它封装了ViewHolder的回收利用,编写Adapter面向的ViewHolder而不再是View,代码如下:public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerA

2016-11-21 00:58:44 370

转载 Linux中常用操作命令

转载自:http://www.cnblogs.com/laov/p/3541414.html#dpkgLinux简介及Ubuntu安装常见指令系统管理命令打包压缩相关命令关机/重启机器Linux管道Linux软件包管理vim使用用户及用户组管理文件权限管理 大牛笔记-www.weixuehao.com来

2016-11-16 15:19:30 451

原创 Android自定义View-下拉刷新控件

Android自定义View-下拉刷新控件 下拉刷新是android开发过程中很常见的功能,github上面有许多下拉刷新的开源控件可以使用。但有时候这些开源控件不能完全符合我们的项目要求,这时就需要自己进行修改,这时候我们就需要了解下拉刷新的原理,才能自由的修改它的功能,因此我自己写了一个简单的下拉刷新控件,以了解其原理下拉刷新原理下拉刷新控件主要由两部分组成,内容部分,与下拉头部分其主要流

2016-11-13 18:31:39 335

原创 web前端排版

web盒子模式简介: 盒子模型在web元素的排版中是必需要理解的点 盒子模型主要包含三个属性 margin 外边距 border 边框 padding 内边距 三个属性控制一个盒子的位置 web中大多使用div层来布局 float:属性-浮动,使图像或者文本浮动在父元素的位置,可用值(left,right,none) *如果在一行中对于浮动属性而言空间不足的话,则会自动跳到下一行,

2016-02-28 22:39:02 1603

空空如也

空空如也

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

TA关注的人

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