自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 DiscuzQ

目录安装Windows环境简介DiscuzQ数百个接口全部开放,原生地连接微信生态和腾讯云,基于Apache License 2.0开源协议。DiscuzQ前后端分离,易于二次开发和拓展。底层架构:CentOS、Nginx、PHP、Mysql。前端架构:Vant、Element、Vue.js、uni-app。后端架构:Laravel、Symfony、Zendframework。可以在腾讯云里的开源应用中心开通DiscuzQ并快速部署。DiscuzQ 搭建要

2021-09-01 17:23:06 864

原创 Magento2.3.2安装

目录安装composergitHTTP下载安装安装前可以先看看此篇文章《Magento2下载安装》https://www.magentochina.org/download-install/安装完成后如果访问显示空白,那么可能是因为程序运行环境不满足magento软件运行所需的要求。可以通过查看/var/log/debug.log来查找原因,然后一个个解决。composercomposer方式安装是推荐的安装方式。如果尝试用composer方式安装,《Ma

2021-08-31 23:30:47 920

原创 wampserver3.2.3

目录环境介绍及安装集成软件及版本安装后设置环境介绍及安装Windows 7系统可能会不支持安装wampserver 3.2.3。本篇文章介绍的是Windows 8.1 操作系统下安装wampserver 3.2.3。wampserver 3.2.3下载地址:https://wampserver.site/package/643.html下载后将文件移到安装目录下,双击运行按照提示一直点下一步直至完成。集成软件及版本Wampserver 3.2.3 集成的软

2021-08-31 14:56:30 609

原创 Yii 2.0

简介概述Yii 2.0 需要 PHP 5.4.0+,支持Composer,相比较Yii 1.1属于完全重写的版本。Yii 2.0中的路径别名必须用@开头,用于区分普通文件目录路径或URL。@Yii指向Yii安装目录。Yii 2.0视图里的特殊变量$this不再指向当前控制器和小部件,而是指向视图对象。如果要在视图中访问控制器或者小部件,需要用$this->context。Yii 2.0支持Smarty和Twig两种模板引擎。Gii是yii里的一个模块,可用于生成一些Web站点常

2021-08-30 23:09:38 592

原创 防止表单重复提交

目录幂等重复提交原因预防措施理解误区参考链接幂等幂等是指执行1次和执行N次,对资源状态的改变效果是等价的。select幂等insert非幂等update更新增减类字段时非幂等,更新非增减类字段时幂等。delete幂等防止表单重复提交其实是针对非幂等的数据处理请求。即新增数据。 涉及更新到增减类字段。若除了这两种情况外,还有别的情况,那么可能是程序设计不符合RESTful规范。重复提交原因导致出现数据重复提交的原因粗分可分...

2021-08-30 21:03:31 121

原创 Laravel

目录安装配置目录路由控制器简言安装本次安装环境为Windows操作系统+ php 7.3.12+ composer。本次安装的Laravel版本是4.2.8。首先需要保障php.ini里面开启了Laravel所需要的一些拓展,例如openssl,fileinfo,mbstring,PDO等。运行composer global require laravel/installer然后就可以使用laravel命令了。全局安装路径是在C盘的composer文件夹

2021-08-29 20:06:54 247

原创 代码编辑器功能插件

目录Sublime Text 3docblocker 快速生成注释安装过程配置过程使用方法CodeFormatter 格式化代码安装过程配置过程使用方法Sublime Text 3可通过点击Sublime Text3顶部的preferences【偏好】->Broswe Packages...【浏览安装包...】来查看安装的插件包所在的文件夹。想让弹窗消失可通过按ctrl+p快捷键来实现。想看到插件安装过程信息,可以点击右下角小图标,在弹出选项中点击“

2021-08-29 15:05:42 525

原创 请求方式GET和POST的区别

GET、POST这两种请求方式是在HTTP 1.0 里定义的。请求方式GET和POST的区别如下表: 区分项 GET请求方式 POST请求方式 用途 向服务器请求资源数据 向服务器提交资源数据进行请求处理 数据存放 数据存放在请求行里的URL末尾【?&】 数据存放在请求体里 数据量

2021-08-29 12:45:30 187

原创 Composer

简而言之Composer是一个php的依赖管理工具,支持多个平台。Packagist是Composer的主要资源库,可通过访问Packagist website来浏览和搜索资源包。Composer能根据本地环境安装适合版本的包,默认不会在全局安装东西。Windows环境下可通过下载和运行Composer.exe来安装Composer,需要将安装目录添加到环境变量PATH里。此外也可以通过敲命令下载composer.phar到安装目录,再在安装目录下敲命令生成composer.bat【Wi

2021-08-27 20:03:52 91

原创 Symfony

目录安装简言实例安装本次安装环境是 Windows8.1操作系统 + php V7.3.12 。安装Symfony CLI成功后,就可以通过symfony命令安装Symfony应用、启动本地网络服务器、检查依赖项的安全漏洞。如果安装Symfony CLI不成功,这时还可以用Composer方式安装Symfony应用。Composer方式安装Symfony简述如下。命令行界面切换到网站目录下,然后运行:composer create-project symfony/

2021-08-26 23:23:54 454

原创 正则表达式

普通字符[ABC] 匹配[]内的所有字符:A、B、C。[^ABC] 匹配[]内所含字符之外的所有字符。[A-Z] 匹配从A到Z的26个大写英文字母。[\s\S] 匹配所有字符。. 匹配除换行符制表符之外的任何字符。相当于[^\n\r]。\w 匹配字母、下划线和数字。相当于[A-Za-z_0-9]。定位符不可以将定位符和限定符一起使用。$ 匹配输入字符串的结尾位置。^ 不在方括号...

2021-08-26 17:11:52 168

原创 PHPUnit 单元测试

目录简介环境搭建参考资料简介PHPUnit是一个轻量级的测试框架。可以安装Xdebug拓展。环境搭建本文档里写的是一些在Windows 8.1 + PHP 7.3.12 + Composer环境下搭建PHPUnit的经验。1. 在本地电脑上为PHPUnit新建一个文件夹,并将这个文件夹路径保存到环境变量中系统变量PATH里,然后重启电脑。2. 访问https://phar.phpunit.de/phpunit.phar下载一个phpunit.phar到上一个步骤里创建

2021-08-25 01:06:54 161

原创 Thinkphp 6.0

环境搭建安装Thinkphp 6.0运行环境要求php 7.1+。参考Thinkphp 5.1安装过程,先下载PHP7.1+【也可能要下载VC++ 2015】,将php7在wampserver里配好后【需要开启openssl和mbstring拓展,建议开启curl拓展】,修改环境变量中系统变量里的php版本号,然后在项目目录下运行composer create-project topthink/think tp就可以安装上Thinkphp 6.0.*版本。如果需要更新框架,那么就

2021-08-23 16:25:18 486

原创 Thinkphp 5.1

简而言之TP5.1要求PHP V>5.6.0。取消了系统路径的常量定义,配置文件从类库目录里独立出来,配置参数全是二级配置,配置名称区分大小写【建议统一用小写】。所有应用从入口文件开始,public目录为可访问目录。linux环境下面,runtime目录权限为777。可以对增删改查方法设置对应的回调函数【before_*,after_*】。TP5.1明确了容器【think\Container】的概念,容器可以理解为是将一些类的实例化对象【如常用的核心类库对象】保存进来,并给予一

2021-08-22 23:24:23 553

原创 Thinkphp 5.1安装

环境搭建安装由于Thinkphp5.1【以下简称TP5.1】不提供完整版下载,因此需要通过Composer或Git的方式来下载。本次安装环境里的操作系统为Windows,安装方式是Composer。首先安装好Composer,然后命令行界面切换到安装程序目录下,执行命令:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 然后运行composer create-pro.

2021-08-22 17:03:40 1726

原创 PHP 名词解析

目录函数和方法的区别断言函数和方法的区别平常说的函数,应该是指全局作用域里的函数,只要引入了就可以用,是面向过程中定义的。函数是单独存在的,可以当作一个算法的实现。函数是公用的,都可以使用。方法可以理解为是类里的“函数”,只能通过对象调用,是面向对象中定义的。类的静态方法可以通过类名直接调用。方法是依赖类存在的,可以当作是一个业务逻辑的实现。类的方法可以设置权限。断言PHP中采用assert()函数对表达式断言。断言常用于调试,检查一个表达式或语句是否为false,常见于单元

2021-08-15 16:30:57 122

原创 PHP PSR系列编码规范(摘要)

PSR-1 基本代码规范(摘要)PHP代码文件必须以 <?php 或 <?= 标签开始,不可使用其它自定义标签。PHP代码文件必须以不带BOM的 UTF-8 编码。PHP代码里不应该将类的定义、函数声明、常量声明 和 有副作用的代码(例如修改.ini配置文件、引入文件、生成输出、连接外部服务、方法等)混在一起,应该分离【例如保存在不同文件中】。类的命名必须遵循大写开头的驼峰命名规范,每个类都独立为一个文件,且命名空间至少有一个层次:顶级的组织名称(vendor name)。.

2021-08-15 15:52:23 235

原创 React环境搭建及基础开发

目录简介React引入JSX运行JSXReact 工具链Create React AppNext.jsGatsby其它概念Hello World实例JSX的使用元素渲染组件 & PropsState & 生命周期事件处理条件渲染列表 & Key表单状态提升组合 vs 继承简介ReactReact是一个用于构建用户界面的javaScript库,适用于用 JavaScript 构建快速响应的大

2021-08-12 22:13:50 926

原创 Sass 3 的环境搭建及开发

简介Sass是一个CSS预处理器,可以帮助减少重复CSS代码的书写,提高开发前端页面的效率。Sass兼容很多版本的CSS,并且拓展了CSS,增加了规则、变量、混入、继承、内置函数等特性。Sass生成的CSS文件代码格式良好,易于维护。有些框架使用了Sass,如Compass,Bootstrap V4。Sass 3.0版本之前的后缀名是.sass,Sass 3版本的后缀名则是.scss。最主要的区别就是.sass里是靠缩进表示嵌套关系,而.scss里是靠大括号{}表示嵌套关系。重命名.

2021-08-11 09:31:56 669

原创 通过Sass 3 编写媒体查询代码

Sass媒体查询示例代码编译前$phone_max_size:769px;//手机$flat_max_size:993px;//平板$medium_max_size:1201px;//中等屏幕$small_font_size:12px;$medium_font_size:14px;$big_font_fize:16px;$small_line_height:14px;$medium_line_height:18px;$big_line_height:22px;...

2021-08-11 09:05:58 591

原创 Vue2.x API 学习

目录Vue 2.x API全局配置silentoptionMergeStrategiesdevtoolserrorHandlerwarnHandlerignoredElementskeyCodesperformanceproductionTip属性$data$props$el$options$parent$root$children$slots$scopedSlots$refs$isServer$attrs$

2021-08-09 23:53:26 192

原创 Vue2.x 学习

目录Vue2.0 介绍简介实例属性组件指令生命周期浏览器版本要求安装调试script 标签引入NPM安装命令行工具 (CLI)对不同构建版本的解释Vue2.0 介绍简介Vue 是一套用于构建用户界面的渐进式框架。MVVM【Model-ViewModel-View】框架模式可以理解为一个网站全栈开发的基本模式MVC【Model-Controller-View】里的Model和Controller被粗划分为MVVM里的Model【因为MVV

2021-08-09 22:36:18 138

原创 Shim、Polyfill

基础知识简介ShimShim【垫片】可理解为是指仅依靠旧的环境里已有的方法实现模拟出一个新的API,方便不同的浏览器表现出相同的效果。Shim的一种通常做法是针对旧版本浏览器对新特性支持的不足,做一些兼容性的库,例如JQuery里的$.ajax封装了window.XMLHttpRequest和IE里的ActiveXObject来创建xhr对象。Shim的一个特点是拦截浏览器里的一些旧的API调用,并提供自己的API实现。Shim是实践优雅降级开发理念的一种方法。Pollyfi

2021-08-09 13:32:15 349

原创 ECMAScript6(ES6)知识积累

目录ECMAScript6(ES6)let命令多行字符串 `...`展开语法 ...Object.assign模板字符串 ${name}Map 和 SetiterablepromiseECMAScript6(ES6)注意:浏览器不一定支持最新的ES6标准。let命令var声明的变量只能是全局或者整个函数块的,而let声明的变量作用域被限制在块级中。在处理构造函数时,可通过let声明【而不是闭包】来创建一个或多个私有成员。示例代码:functi

2021-08-09 11:27:02 109

原创 JQuery Easyui

目录简介属性事件方法文件引入Base(基础组件)parser(解析器)easyloader(简单加载)尾语简介easyui的每个组件都有属性、方法和事件,能在plugins文件夹里看到很多组件js文件里定义的属性、方法和事件,可以去重写它们或者扩展它们为己所用。有以下两种方式可引入组件:给标签名加上 class="easyui-组件名" data-options="属性列表字符串"。 对指定元素进行javascript【如通过JQuery方法】设置组件及

2021-08-06 22:14:28 234

原创 Bootstrap V3 (摘要)

目录简介全局css样式开发规范栅栏系统参数容器类行内等高列列偏移嵌套列列排序媒体查询排版列表表格tabletr实例表单规范内联表单水平排列表单支持的控件控件状态控件尺寸添加额外的图标帮助文本实例按钮按钮元素尺寸注意图片响应式图片图片形状辅助类文本颜色背景色关闭按钮三角符号快速浮动让内容块居中清除浮动显示或隐藏内容屏幕阅读器和键盘导航

2021-08-05 23:01:32 882

原创 jQuery知识点(摘要)

简介jQuery 是一个轻量级 JavaScript 库,可简化JavaScript 编程。CDN可以通过 CDN(内容分发网络) 引用jQuery文件。谷歌和微软的服务器都存有 jQuery文件 ,但谷歌服务器的jQuery文件访问可能会受阻,所以可优先用微软服务器的jQuery文件。Microsoft jQuery文件引入示例:<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js...

2021-08-04 23:50:33 142

原创 Ajax实现

简介AJAX全称是Asynchronous JavaScript and XML,含义是异步的 JavaScript 和 XML。AJAX 是一种在无需重新加载整个网页的情况下,通过向服务器发出请求,接收并处理服务器响应数据的技术,可实现如更新后台数据库数据、网页局部信息更新等效果。AJAX的实现依赖于浏览器内建的XMLHttpRequest对象(IE5、IE6则是ActiveXObject对象)。JS实现创建对象在创建对象时,先检查浏览器是否支持XMLHttpRequest对象

2021-08-04 00:05:44 159

原创 JSON和JSONP

JSON简介JSON是一种轻量级数据交换格式,基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。JSON可理解为是一种严格的js对象的格式,JSON的属性名必须用双引号括起来,如果值是字符串,也必须用双引号括起来。转换将js对象转换为JSON字符串,可以通过JSON.stringify()方法;将JSON字符串转换为js对象,可以通过JSON.parse()方法(或者eval(‘(‘+str+’)’))。

2021-08-03 19:39:24 177

原创 JavaScript知识点(摘要)

JavaScript简介JavaScript(简称“js”) 是一种具有函数优先特征的轻量级,解释型或即时编译型的编程语言。js 支持面向对象、命令式、声明式、函数式编程范式。js的标准是ECMAScript 。js 使用 Unicode 字符集。完整的js实现包含三个部分:(1).ECMAScript: 描述了该语言的语法和基本对象。(2).文档对象模型(DOM): 描述处理网页内容的方法和接口。(3).浏览器对象模型...

2021-08-03 19:36:11 470

原创 CSS3新特性(摘要)

CSS3 简介css用于控制网页的样式和布局,css3是css2的升级版本,css3语言开发是朝着模块化发展的。在编写css3样式时,不同的浏览器可能需要添加不同的前缀,这是因为有些css3属性尚未成为W3C标准时,一些浏览器就已经对一些css3属性进行了私有化属性实现。为了更好地向前兼容,一些必要的浏览器前缀还是可以加上的。 前缀 浏览器 -webkit- Chrome,Safari -moz-

2021-08-02 23:15:09 252

原创 CSS选择器(摘要)

在CSS中,选择器是选择需设置样式的元素的模式。CSS1选择器 选择器 含意 .class 选择所有样式名列表中有{class}样式名的元素 #id 选择id名称为{id}的元素 element 选择所有元素名称为{element}的元素 e1,e2 选择所有元素名称为{e1}或者{e2}的元素

2021-08-01 20:04:00 71

原创 对Docker的一些初步了解

基础知识简单介绍Docker是一个基于Go语言,遵守Apache2.0协议开源的轻量级容器引擎,让开发者可以打包 应用以及依赖包 到一个可移植的容器里,然后发布出去。Docker可用于创建、编排、管理容器。容器是完全使用沙箱机制,彼此之间没有任何接口。Docker使用容器承载应用程序,而不使用操作系统,所以相比较虚拟机,它的开销少,性能高。但是Docker对应用程序的隔离不如虚拟机彻底,因此要重视保障安全性。Docker使用客户端-服务器(C/S)架构模式,使用远程API来创建和管理Do

2021-07-27 20:57:12 58

原创 对Go语言的简单了解

基础知识基本概念Go语言(Golang语言的简称)是一种静态强类型的编译型编程语言。Go语言语法上与C相似,但有内存安全、GC(垃圾回收)等功能。与C++相比,Go并不包括如枚举、继承、断言、虚函数等功能,但增加了切片(Slice)型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。与Java相比,Go内嵌了关联数组(哈希表和字典),就像字符串类型一样。使用Go语言编程既能实现开发效率高,又能实现程序执行时性能强。一些特性协程并发高并发是Go语

2021-07-27 20:49:14 241

原创 对MQ、ActiveMQ、RabbitMQ、RocketMQ、Kafka的简单了解

消息队列(MQ)基本概念“消息队列”可理解为是在消息传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标过程中充当中间环节,队列的主要目的是提供路由并保证消息的传递。如果发送消息时接收者无响应,消息队列会保留消息再次发送。消息队列可理解为是一个消息的链表。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中指针链接的次序来实现的。链表由一系列结点(链表中的每个元素称为一个“结点”)组成,结点可以在运行时动态生成。每个结点包含两个部分:一个是存储数

2021-07-26 22:33:56 182

原创 对PHP并发、多进程、多线程、异步处理、分布式系统的一些了解

并发基本概念并发又被称为共行,是指同时段内处理多个任务。现代计算机系统能够在同一时段内以进程的形式,将多个程序加载到存储器中,由于CPU的时分复用(时间片轮转的抢占式调度方式),能让人产生多个任务在同一个CPU上同时执行的错觉。注意并发是指逻辑上同时发生,而并行则是指物理上同时发生。PHP并发模型PHP并发模型可以分为多进程模式和多线程模式,具体使用的是哪一种,得看PHP使用的是哪个SAPI(服务器应用程序编程接口)。例如Apache中可能采用多进程模型,也可能采用多线程模型。Ngi

2021-07-26 18:41:58 2537

原创 PHP5.5.x至PHP8.0.x版本移植的摘要

PHP 5.5.x->PHP 5.6.x新增使用表达式定义常量。 使用...运算符定义变长参数函数。 使用右连接运算符**来进行幂运算。 支持大于2GB的文件上传。 使用hash_equals()函数,以恒定的时间消耗来进行字符串比较,以避免根据精确测量执行时间反推出密码的时序攻击。 __debugInfo(),当使用var_dump()输出对象时,可以用来控制要输出的属性和值。 对SSL/TLS的支持进行大幅度提升,包括默认启用端点验证选项来支持证书指纹比对,以避免TLS重新协商

2021-07-24 22:15:47 2084

原创 OAuth 2.0

概念OAuth(开放授权)是一个关于授权(Authorization)的开放网络标准,现在常用的版本是OAuth 2.0,用来授权第三方应用(获取到令牌后)请求用户数据。OAuth2.0允许用户自动更新令牌,具体做法就是服务提供商颁发令牌时,一次性颁发两个令牌,一个用于获取用户资源,一个用于获取新的令牌(refresh token)。令牌到期前,用户通过refresh token发一个请求,去更新令牌,而不需要重走一遍全部的开放授权流程。这样可以保障用户体验。第三方应用拿到令牌向服务提供商获取用

2021-07-22 21:57:22 95

原创 防范 XSS攻击、CSRF、SQL注入、DDOS攻击

XSS受攻击分析跨站脚本攻击叫做XSS攻击,是指恶意攻击者利用网站没有对用户提交的数据进行内容检测、转义、过滤等安全处理,将一些恶意代码嵌入到网站的web页面文件里,使访问了嵌有恶意代码的web页面的人受到恶意危害。因为XSS攻击导致的受害者受到的恶意危害形式有:.用户资料被盗取。用户资料可能包含重要而又敏感的信息,例如登录账号、网银账号等。 .用户身份被冒用,被恶意攻击者用来读取、添加、篡改、删除网站服务器里的重要又敏感的数据文件。 .用户的资金账户被完成恶意转账操作,导致用户资金损失

2021-07-22 13:16:46 1516

原创 POP、OOP

POPPOP(Procedure Oriented Programming,面向过程编程)就是分析出解决问题所需要的步骤,然后用函数将这些步骤一个个实现,使用的时候一个个调用相应的函数达到目的。把大段代码拆成一个个、一层层函数,可以把复杂任务分解为一个个简单的任务,这种分解可以称之为面向过程编程。函数是面向过程编程的基本单元。函数式编程可以归类为面向过程编程,是一种抽象程度高的编程范式。纯粹的函数式编程里的函数是没有变量的,其中的任意一个函数只要输入确定,那么输出也是确定的,这种纯函数可以称之为

2021-07-21 17:52:23 144

空空如也

空空如也

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

TA关注的人

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