自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zoujunjie202的博客

总得贡献点什么!

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

转载 UML

类关系参考:http://blog.csdn.net/dragonpeng2008/article/details/6836448关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)泛化(Generalization) 【泛化关系】:是

2016-12-27 17:17:10 555

原创 Mysql 中间件整理

外部评价mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。 Atlas:Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。 alibaba.cobar

2016-12-10 16:37:53 595

转载 JS跨域(ajax跨域、iframe跨域)解决方法及原理详解

js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。要解决跨域的问题,我们可以使用以下几种方法: 1、通过jsonp跨域 2、通过修改document.domain来跨子域 3、使用window.name来进行跨域 4、使用HTML5中新

2016-12-06 22:03:40 4187

转载 nginx的相关配置项

1、安装Nginx 在安装Nginx之前,需确保系统已经安装了gcc、 openssl-devel、 pcre-devel和zlib-devel软件库。 下面是Nginx安装过程: wget http://nginx.org/download/nginx-1.0.14.tar.gz tar zxvf nginx-1.0.14.tar.gz ./configure –with-http_st

2016-12-03 15:11:15 434

原创 PHP正则表达式

//preg_match(“正则表达式”,”字符串”)用于在字符串中查找匹配项 //preg_quote(“字符串”) 在每个有正则表达式语法前面加入一个转义字符即\ //preg_split(“正则”,”字符串”)分割字符串 //preg_grep(“正则”,”字符串”) 与数组匹配后返回新数组 //preg_replace(“正则”,”替换内容”,”原字符串”) 很重要,很常用$s

2016-12-03 15:06:14 326

转载 自定义浏览器滚动条的样式

http://www.lyblog.net/detail/314.html自定义IE浏览器滚动条样式 追溯浏览器对滚动条的自定义,恐怕最早的就是IE浏览器了(好像最开始支持的版本是IE5.5)。下面列出了多个版本的支持性况:为了有助于理解IE中滚动条样式的控制,你可以查看如下的图片:经过不断的测试发现,在Win8 下面,有一部分样式都起着相同的作用。估计是因为在Win8中扁平化的界面设计而

2016-12-03 15:05:12 989

原创 MySQL存储引擎

MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。主要存储引擎:MyISAM、InnoDB、MEMORY和MERGE介绍: 在创建表到时候通过engine=…或type=…来指定所要使用到引擎。show table status from DBname来查看指定表到引擎。(一)MyISAM   它不支持事务,也不支持外键,尤其

2016-12-03 15:03:11 217

原创 Linux下mysql中文乱码问题

安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中的my.ini文件,重起后就生效了;所以先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不同的目录 : 1、数据库目录,其所创建的数据库文件都

2016-12-03 15:02:34 301

原创 mysql \ mysqli \ PDO

mysql: php的使用mysql 函数去驱动mysql 数据库,属于面向过程的代码风格 mysqli: mysql系统函数的增强版,更稳定更高效更安全,属于面向对象的代码风格 PDO: PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。1、mysql是非持继连接函数,mysql每

2016-12-03 15:01:59 283

原创 python 处理中文

python里面默认的字符串都是ASCII编码,是string类型,ASCII编码处理中文字符是会出问题的。python的内部编码格式是unicode,在字符串前加‘u’前缀也可直接声明unicode字符串,如 u’hello’就是unicode类型。 如果处理的字符串中出现非ascii码表示的字符,要想不出错,就得转成unicode编码了。具体的方法有: decode(),将其他边编码的字符串

2016-12-03 14:59:56 425

原创 static 、self 、 parent

PHP中static 、self 、 parent的指向很让人迷惑,趁有时间,把学习结果记录一下。staticstatic 关键字来定义静态方法和属性。 static 也可用于定义静态变量以及后期静态绑定。static 关键字来定义静态方法和属性。声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性和方法可以通过以下方法访问: 类名::静态属性/方法 对象::静态属性/方法 sel

2016-11-28 17:53:08 375

原创 负载均衡的搭建方案

负载均衡是一个很大的话题,也是一个很小的话题,小到一个基本理念,你必须通过负载均衡提供多点服务。在架构搭建的最初最初阶段,就应该实施非单点服务的架构体系,这样才可以确保业务不被中断。

2016-10-07 14:33:02 10517

原创 Yii框架下搭建基于Gearman的异步Job

Gearman安装额外说明下,我实在Ubuntu OS上搭建的,没有在windows下搭建,其实开发工作,我觉得在linux环境下会更畅快些。Gearman 安装,运行以下脚本:安装:apt-get install gearman-job-server运行:gearmand -d默认启动的端口是4730,telnet一下,如果能通,则代表server已经正常启动了。Gearman PHP E

2016-10-05 22:56:53 1306

原创 百度云的产品及使用场景分析

截至2016/10/04,百度云上提供的服务有下图这么多种。感谢类似阿里、百度还有腾讯的这些付出,拥有这些服务,对于快速搭建可伸缩高可用的应用是非常有帮助的。有句古训说得好,“不要重复制造车轮”,我在一定程度上是不认可这句话的,我觉得不重复制造车轮的前提是自己可以制造得出这样的车轮,所以第一次使用车轮的时候,可以咬咬牙试试自己去造,然而对于云服务,实在无能为力,太庞大的体系。虽然不去制造,但是了解和

2016-10-04 23:41:07 5610

原创 PHP源码阅读之源码目录结构

根目录:php-src 根目录主要包含一些说明文件以及设计方案,包括版本更新、打包发布的要求,代码风格等。在开始阅读php的源码之前,适当花3到4个小时浏览一遍文件是非常有必要的。一下对其中的文件做一些摘要翻译:持续更新中…

2016-09-18 23:35:12 1209

原创 PHP 规范化代码风格(PSR、PEAR、Symfony)

目前PHP规范编程的非官方标准有三套,分别是:PSR、PEAR、Symfony通常来说,应该遵循一个已知的标准来编写 PHP 代码。可能是 PSR 的组合或者是 PEAR 或 Zend 编码准则中的一个。这代表其他开发者能够方便的阅读和使用你的代码,并且使用这些组件的应用程序可以和其他第三方的组件保持一致。其中PSR算是比较基础的一套规范,在平时的开发工作中,有必要遵循。其实你可以有你自定义的规范,

2016-09-13 15:14:36 1397

原创 Eclipse搭建C语言开发环境——Eclipse+CDT+MinGW的配置与使用详解

CDT = (C/C++Development Tools)1、下载Eclipse IDE for C/C++ Eclipse 官网 https://www.eclipse.org/downloads/eclipse-packages/还需要本地安装好JDK2、下载C/C++编译器 由于CDT中并不自带编译器,所以还需要安装一个C/C++的编译器,大部分人都推荐使用MinGW,所以我也用了这个

2016-08-31 14:16:11 596

原创 PHP 闭包函数及Closure对象的总结

疑问如果你在理解闭包函数的时候觉得比较费解,不如放一放,问自己一个问题: 面向对象编程语言对代码的复用主要采用继承来实现,那面向函数的代码复用能力通过什么来实现呢?你可能第一时间想到的是 函数嵌套,就是通过独立子函数来组织代码。那类似PHP里面的array_walk()、array_udiff()这些函数怎么实现呢?是不是觉得,有了匿名函数,array_walk()、array_udiff()这两

2016-08-18 13:56:40 5756 1

原创 ThinkPHP源码阅读理解

一些临时想法在index.php入口文件define的变量都是为了不修改ThinkPHP的源码,使用defined先做一次检查比较好。待续…新认识的函数:版本比较函数:version_compare(PHP_VERSION,’5.3.0’,’<’)函数判断函数:function_exist()获取内存使用情况:memory_get_usage()系统异常时的处理函数:register_

2016-08-09 10:25:51 631 1

原创 Jmeter 使用总结

JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。Graph ResultsJmeter 测试结果中包括:样本数目、最新样本、平均、偏离、吞吐量、中值,需要记住这些指标的含义。 - 样本数目:是指在测试过程中,总共向服务器发出的请求数目。成功的情况下等于你设定的 并发数目循环次数请求个数 - 最新样本:

2016-08-02 21:53:50 3015 1

转载 PHP 线程,进程、并发、并行 的理解

摘录自(有删减和修改): http://chenpeng.info/html/3021 进程是操作系统分配资源和调度的功能单元,一个进程里面有一个或者多个线程,线程是操作系统的一个独立运算单元。通常可以认为一个软件对应一个进程,并行是指多个软件一起运行,实际上分时复用而已,并发是指某个软件在运行的时候把计算分给多个CPU同时进行计算,是真正的同一时间内一起发生的事情。 一个比较形象的理解方式:

2016-08-02 11:25:19 21661 2

原创 redis 基础知识

Ubuntu 安装 redisroot用户下:apt-get install redis-server // 安装redis-server // 使用默认配置项启动redis服务redis-cli shutdown // 关闭服务redis-cli // 查看服务器是否启动数据类型String 、 List 、Set 、Sorted Set 、Hash 要把数据类型放到最前面来学习是

2016-07-31 01:52:03 408

原创 活动记录 Active Record

AR提供了一个面向对象的接口, 用以访问数据库中的数据。声明 AR 类要想声明一个 AR 类,你需要扩展 yii\db\ActiveRecord 基类, 并实现 tableName 方法,返回与之相关联的的数据表的名称。如果包含表前缀就使用{{%tableName}}的方式。访问列数据AR访问数据就像访问public的属性一样,不过源码层面并不是public的。建立数据库连接AR 用一个 yii\d

2016-07-30 16:52:23 422

原创 Git分支管理策略【转】

摘录自: http://www.ruanyifeng.com/blog/2012/07/git.html所有的版本管理工具都没有想象中无所不能,需要管理规则来约束才可以让管理思路更清晰,也不至于项目失控。目前项目组使用git来管理代码,所以整理一下。一、主分支Master首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布(但不绝对哈)。 项目组的实际情况

2016-07-26 11:36:01 346

原创 关于网站漏洞的案例和解决思路

攻击类型SQL注入、XSS跨站脚本攻击、任意文件读取、CSRF攻击、远程拒绝服务类攻击(DDoS)、jiasale电商支付系统重要漏洞,卖家损失巨大漏洞触发场景: 1、在含有jiasale的网站,购买商品下订单 2、记录订单号 3、登录任意一个jiasale网站账户,通过特殊链接可以随意的更改价格,完成支付。比如把999元的改成0.01元 4、如果是自动发卡的,自动发货的,可以直接收到商品。

2016-06-28 14:12:43 3615

原创 错误处理之函数返回值OR异常处理

问题: 1、错误处理的方法有哪些? 2、使用函数返回值还是抛出异常? 3、PHP 原框架下的异常处理机制是怎样的? 4、PHP Yii框架下的错误处理方案是怎样的?有什么参考意义?错误处理的方法有哪些?函数返回值:既return true|false,数组,对象 等使用成员变量保存错误信息:在对象内部预设一个 errors变量(可能更多的时候是一个数组),把内部处理的报错信息暂存起来,最

2016-05-06 11:04:22 4457

原创 yii 输入验证

验证代码,这块代码就是model里面最最常见的代码块了。另外在基本的save、update这些方法的调用里面也会做校验,所以不需要额外手工再调一次这么麻烦。// 用用户输入来填充模型的特性$model->attributes = \Yii::$app->request->post('ContactForm');if ($model->validate()) { // 若所有输入都是有效的

2016-04-14 17:52:39 527

原创 Memcached 知识整理

关于Redis与Memcached的区别可以看看这篇文章。 http://blog.csdn.net/tonysz126/article/details/8280696/不管对错,项目里面已经用了Memcached了,所以整理下开发环境的安装过程。安装的服务程序。下载地址是 - 先下载memcached-win32启动软件,如果下载不了就百度找找 http://down2.121down.co

2016-04-11 14:22:07 338

原创 yii 查询构建器

查询构建器建立在 Database Access Objects 基础之上,可让你创建 程序化的、DBMS无关的SQL语句。yii\db\Query::select()用来指定 SQL 语句当中的 SELECT 子句,入参是一个数组或者字符串,如果使用数组格式来指定字段,你可以使用数组的键值来表示字段的别名。默认是所有字段。很明显,使用数组是最好的方式,不妨让整个项目组都规定使用数组来指定字段,即使

2016-04-10 21:17:21 895

转载 yii 应用组件

细读这句话三次以上,有助于理解组件在yii框架中的地位: 应用主体是服务定位器,它部署一组提供各种不同功能的 应用组件 来处理请求。 例如,urlManager组件负责处理网页请求路由到对应的控制器。db组件提供数据库相关服务等等。应用组件应用组件在第一次被使用的时候会创建应用组件实例,后续再访问会返回此实例,无需再次创建。应用组件可以是任意对象请谨慎注册太多应用组件,应用组件就像全局变量,

2016-04-06 17:31:45 584

原创 \Yii::$app 属性整理

yii明显是一个配置驱动的应用,也可以说是数据驱动,通过配置文件来个性化定义,其中有些常用属性最好稍微记忆一下,方便将来使用的时候可以想到并有效利用。 譬如对于一些常用的长namespace、全局变量、数据库配置、全局响应页面、加入组件等。必要属性yii\base\Application::id 区分其他应用的唯一标识IDyii\base\Application::basePath 该应用的根

2016-04-06 17:18:24 4362

转载 PHP的定时任务

定时任务,总体上是通过 PHP的死循环来做,或者通过PHP的进程信号来做,或者通过操作系统的定时任务来做。其实这个不是重点,重点在于对定时任务的管理: 1)任务在一个周期内没跑完怎么处理?是kill掉重跑,还是放弃,还是加入队列等待,还是并发执行? 2)任务的依赖关系如何处理? 3)任务的监控如何做?下面摘录一些做定时任务的代码片段,便于将来使用,不过一般都有开源框架提供类似服务的,不一定要自

2016-03-29 16:49:52 470

转载 ER模型详解-陈氏模型

转载自: http://blog.163.com/magicc_love/blog/static/18585366220142125836878/Entity Relationship Model - ER模型 - 实体关系模型 1976年Peter Chen首次提出了Entity Relationship Modeling(实体关系建模)概念,并发明了陈氏表示法Peter Chen’s Not

2016-03-25 19:48:00 33564

原创 数据库设计-三范式

通常来说,随便有个数据库库就可以编程。而通常来说,虽然做得很痛苦,任何一个程序员都可以在很烂的数据库设计的基础上找到解决业务问题的方法,唯一不一样的是痛苦程度。最后有一句话很有道理,就是:如果不知道为什么活着,为什么工作,那就先拼命赚钱! 哈哈~如果不知道为什么需要最大限度遵守三范式,那就先最大限度遵守先…为什么需要符合三范式其实在现在的很多场景下的确有很多破坏范式的情况,譬如数据仓库系统中,满足

2016-03-25 18:46:31 486

原创 对MVC的理解

MVC是三个单词的缩写:Model, View, Controller。 MVC是一种设计模式,目前几乎所有的Web开发框架都建立在MVC模式之上。MVC的意义在于指导开发者将数据与表现解耦,提高代码,特别是模型部分代码的复用性。 实际上,所有模式的存在都是为了代码复用,在前台页面的js或者后端PHP\java中都有很多采用MVC三层设计来组织代码的框架,设置对于CS的应用或者本地APP都包含这种

2016-03-23 17:04:28 611

转载 关于CGI、fastcgi、PHP-CGI、PHP-FPM的理解

文章整理自:https://segmentfault.com/q/1010000000256516CGI首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。所以CGI是一种协议。解释:web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器

2016-03-22 14:40:49 331

原创 Yii 学习笔记

关于写代码的顺序在学习使用表单的章节中,作者先写Model的代码,然后写controller的代码,最后写View的代码。这不是一个偶然,在使用thinkPHP框架写代码的时候,也同样遇到过类似的问题,开始写代码的时候不知道从那里入手比较顺。实际上,如果模型没有定义好,证明整个业务逻辑没有理清,没有理清业务当然就构建不出模型来,所以教程里面的顺序安排也给了自己指导意见,将来的代码逻辑里面应该从模型开

2016-03-22 14:28:02 585

原创 ubuntu 搭建LNMP + Yii

安装Mysqlapt-get install mysql-server mysql-client 默认安装的是5.5版本,并不是最新版本 过程较简单,不多描述。安装Nginxapt-get install nginx 默认版本1.4.6 卸载脚本: apt-get –purge remove nginx如果要装最新版本可以这样操作: 1、把nginx的apt源加入/etc/apt/sour

2016-03-22 00:43:35 1066

原创 Java Script常用小脚本

向浏览器指定URLwindow.location = url;异常处理try { … } catch(ex){…}jquery获取元素位置的对象。var pos = $(this).position(); var pos_x = pos.left; var pos_y = pos.top;jquery获取JSON数据.getJSON('index.php?act=setti

2016-03-17 10:50:54 1055

转载 PHP的输出缓冲区

什么是缓冲区?缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取。其实缓冲区最本质的作用就是,协调高速CPU和相对缓慢的IO设备(磁盘等)的运作。在PHP的代码逻辑里面,其实是虚拟机的处理机制,并不是为了设备的问题。 当执行PHP代码的时候,如果碰到了echo print_r之类的会输出数据的代码,PHP就会将要输出的数据放到PHP自身的缓冲区,等待输出. 当PHP自身的缓冲区接到

2016-03-16 11:13:16 293

空空如也

空空如也

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

TA关注的人

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