自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shenshulong的博客

此博客记录技术经验,工作心情

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

原创 webapp保存图片到手机相册

webapp如何将app中的图片保存到手机相册

2023-04-11 17:18:46 265

原创 微信小程序使用catchtouchstart事件之后,会导致子元素bindtap失效

先看代码案例:<!--components/date/date.wxml--><view class="dragComponent" id="dragComponentId" style="top:{{buttonTop}}px;left:{{buttonLeft}}px;" catchtouchstart = "_touchstart" catchtouchmove = "_touchmove" catchtouchend = "_touchend"> <view c

2020-05-13 10:48:47 2859 1

原创 微信小程序开发经验

1:点击一个链接,再返回到这个页面,需要重新加载的版块就放到onshow(),不需要从新加载的放到onload()2: 加载动画放到需要加载的版块中,不要都放到整个页面中。3:小程序json配置文件的key必须是双引号...

2020-02-16 21:18:56 517

原创 webpack如何设置html中img路径和css中背景图片路径区别开

在使用webpack过程中,打包后发现html中img路径是:<img src="img/01.jpg" alt="标题图片" /> 但是在main.css文件中的background-image.test{ width: 200px; height: 200px; background: url("img/01.jpg") center center no-rep...

2020-02-03 13:20:05 2632

原创 webpack插件之extract-text-webpack-plugin

此插件在webpack中文官网的地址:https://webpack.docschina.org/plugins/extract-text-webpack-plugin/说明:此插件主要是为了抽离css样式,防止将样式打包在js中引起页面样式加载错乱的现象。安装:$ npm install extract-text-webpack-plugin --save-dev如果直接安装的话...

2020-01-31 20:35:16 1788

原创 node.js特点描述

node.js的特点一之单线程node.js的特点之一就是与javascript的运行机制一样,都是单线程运行。在Java,php,.net等服务器语言中,会为每个客户端连接创建一个进程,而每个进程需要2MB的内存,也就是说,在一个系统8G的内存中,最多可以运行4000个左右的进程,相当于可以同时连接最大用户数为4000个左右,那应用程序需要支持更多的用户连接数,就要增加服务器的数量,所以...

2020-01-30 22:06:03 1280

原创 php如何启动内置web服务器

前言:PHP从5.4开始,就提供了一个内置的web服务器。当然这个主要是用来做本地的开发用的。不能用于线上环境。现在我就介绍一下这个工具如何使用。前提:php已经加入到本地电脑的环境变量中命令中输入:cd 项目目录php -S localhost:8080例图:通过 php -S 命令即可启动PHP自带的Web Server,后面跟网络地址及监听的端口号,默认的网...

2020-01-13 16:41:23 9609

原创 es6之箭头函数

在es6的新语法中,出现了箭头函数。var a = function (text){ return text;}//转化成es6箭头函数var a = text => text;如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var a = (text,next) => text + next;text+next 相当于:return text ...

2020-01-13 15:06:05 223

原创 es6之export

一:在es6中,export关键字是输出一个对外的接口信息。export命令除了输出变量,还可以输出函数或类(class)其规范:export var name = "allen";export var year = 20;//或者var firstName = 'Michael';var lastName = 'Jackson';var year = 1958;export...

2020-01-12 21:48:23 784

原创 php运行模式之cli模式

php有五大运行模式,关于PHP目前比较常见的五大运行模式:1)CGI(通用网关接口/ Common Gateway Interface)2)FastCGI(常驻型CGI / Long-Live CGI)3)CLI(命令行运行 / Command Line Interface)4)Web模块模式(Apache等Web服务器运行的模式) 5)ISAPI(Internet Se...

2020-01-11 10:42:29 1566

原创 flutter组件之Placeholde

placeholde只是一个站位的空间模型组件,是一个矩形,四个角产生对角线的组件。new Placeholder( color: Colors.red,//颜色 fallbackHeight: 100.0,//宽度 fallbackWidth: 100.0,//高度 strokeWidth: 10.0,//对角线条,还有矩形边框的宽度)...

2020-01-09 17:08:51 301

原创 flutter组件之Icon

Icon是图标组件。Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: const <Widget>[ Icon( Icons.favorite, color: Colors.pink, size: 24.0,//图标显示的大小,固定是正方形,默认24,...

2020-01-09 16:36:27 561

原创 flutter组件之Stack

stack组件可以实现定位问题,如果您想以简单的方式重叠多个子级,例如具有一些文本和图像,并用渐变和一个附加在底部的按钮覆盖,则该类很有用。// SizedBox组件能强制子控件具有特定宽度、高度或两者都有,使子控件设置的宽高失效// width: 100.0,//宽度// height: 100.0,//高度// child: Container(// width: 200.0,...

2020-01-09 15:45:05 383

原创 webpack配置文件之配置项mode

一:如果webpack的配置项mode为production。module.exports = { mode: 'production',}相当于默认设置了:module.exports = { performance: { // 性能设置,文件打包过大时,会报警告 hints: 'warning' }, output: { // 打包时,在包中不...

2020-01-09 10:33:11 1579

原创 flutter组件之Padding,Align,Center

一:padding组件是一个基础控件,不像Container这种组合控件。Container中的margin以及padding属性其实都是利用Padding控件去实现的,padding组件属性不多,作用就是为子元素撑开边距。new Padding( padding: new EdgeInsets.all(8.0), child: new Card(child: new Text('Hel...

2020-01-06 17:31:46 730

原创 flutter之EdgeInsets

edgeInsets是Widget的配置类,允许文本方向感知分辨率。提供的配置方法:fromLTRB(double left, double top, double right, double bottom),分别指定四个方向的填充。all(doube value),所有方向均使用相同数值的填充。only(top:0,right:0,bottom:0,left:0),可以设置具体某个方向...

2020-01-06 15:05:14 1931

原创 已经安装了html-webpack-plugin,还是报错:Error: Cannot find module 'html-webpack-plugin'

之前项目目录是:运行起来一切成功,后来新建了build文件目录,并且将webpack.config.js移动到了build文件中,package.json中的script:"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node ./src/koa....

2020-01-05 00:26:10 32990 1

原创 webpack开发模式

通过选择 development 或 production 之中的一个,来设置 mode 参数,你可以启用相应模式下的 webpack 内置的优化module.exports = { mode: 'production'};使用development时开发环境,编译出来之后的代码:/******/ (function(modules) { // webpackBootstrap/*...

2020-01-04 11:09:31 232

原创 webpack插件之html-webpack-plugin

webpack版本:v4.xwebpack的plugin的配置很简单,plugins配置项接收一个数组,数组里的每一项都是一个要使用的plugin的实例,plugin需要的参数通过构造函数传入。HtmlWebpackPlugin插件作用1:为html文件引入外部资源,如css,js,动态添加每次compile后的hash,防止引用缓存的外部文件问题2:可以生成创建html入口文件,比如...

2020-01-04 11:06:35 593

原创 运行webpack报错:Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'

执行webpack命令:结果有报错提示:这种情况是本项目中没有安装webpack,即使全局中安装了webpack,在本项目中package.json中没有,也是无法找到。执行安装:$ npm install webpack --save-dev之后再运行webpack:...

2020-01-03 22:56:49 4637

原创 php面向对象之链式操作

在一些框架中,比如说thinkphp中,会经常使用<?phpclass index extends Controller{ public function index(){ $result = Db::table('think_user')->where('id',1)->find(); }}?>其中://这就是一种链式操作Db::...

2020-01-02 14:36:00 285

原创 php面向对象之Trait

自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait为了减少单继承代码的限制,为了可以复用代码。在laravel框架使用中,会发现trait使用较多<?phptrait color{ public function red(){ return "red"; } function yellow(){ } ...

2020-01-02 12:11:13 135

原创 php设计模式之装饰器模式

装饰器模式:可以动态的添加,修改某一个类的功能特点:1:创建一个可以被其他类可以实现的类2:创建一个功能类去实现刚才定义的类发现:装饰器模式与观察者模式,适配器模式,这几种模式存在着一定的相似关系代码://定义一个可以实现的类interface decorator{ public function before(){} public function after()...

2020-01-02 10:31:58 79

原创 laravel框架中记录执行的每条sql语句

laravel框架中如何记录执行的每条sql语句?在App\Providers\AppServiceProvider.php中boot方法中记录:DB::listen(function ($query) { $tmp = str_replace('?', '"'.'%s'.'"', $query->sql); $qBindings = []; foreach (...

2019-12-31 14:26:49 876

原创 php.ini配置错误日志

php.ini中的配置可以记录代码中的错误日志//是否将代码错误展示在客户端//生产环境进行关闭,不要将敏感信息暴露给用户//开发环境进行开启,助于开发人员进行调试display_errors = On//是否开启进行记录日志log_errors = On//记录错误日志路径error_log = "E:\allen\project\php\php-7.2.24-nts\lo...

2019-12-31 14:15:16 1141

原创 PHP设计模式之策略模式

策略模式:定义一个各种功能的逻辑算法,并将每一个逻辑算法封装起来。特点:抽象策略角色: 策略类,通常由一个接口或者抽象类实现。具体策略角色:包装了相关的算法和行为。环境角色:持有一个策略类的引用,最终给客户端调用。应用场景:主要是封装多个功能的算法,就可以用策略模式实现/*定义抽象类*/abstract class open { public abstract funct...

2019-12-31 13:50:57 209 1

原创 php依赖注入和控制反转

依赖注入是一种设计模式,又名 控制反转 ,为了降低耦合度1:控制反转(Inversion of Control )的实现方式简称:IOC理解:A类不需要主动去获取C,而是被动等待,等待IoC/DI的容器获取一个C的实例,然后反向的注入到A类中。比如说,A类中需要用到C类,也可能是B类,而这时候,不需要再A类内部代码中去实例化C类或者B类,这样代码耦合性太高,不容易维护,为了降低耦合度,...

2019-12-30 21:34:08 585

原创 PHP设计模式之观察者模式

观察者模式:就是一个对象的状态发生了变化,依赖于这个对象的会全部收到状态变化的通知。特点:1:创建一个事件通知对象2:去创建一个可以实现观察者的接口场景:一个事件发生后,要执行一连串更新操作这种功能可以采用观察者模式。代码:abstract class EventBase{ private $object; //把对象注册到成员变量中...

2019-12-30 17:47:35 108

原创 php设计模式之适配器模式

适配器模式将各种功能不同的接口封装在一个统一的api中优点在于,即时在不同的功能中,都可以使用一套api去实现不同的逻辑。特点:1:创建是一个可以实现的接口类2:在这个类中定义好函数方法代码:<?phpinterface DB{ public function select($id){} public function update($id){} public f...

2019-12-30 14:30:54 107

原创 php设计模式之注册模式

注册模式:将对象注册到全局树上,就可以被任意地方访问了特点:1:定义一个私有化静态变量存储对象数据2:实现一个注册函数方法3:实现一个获取对象函数方法4:删除一个对象数据场景:通常与工厂模式一块使用,也可以单独封装一种功能使用<?phpclass Register{ private static $object; public static function ...

2019-12-30 12:16:58 299

原创 php设计模式之工厂模式

工厂模式作用:提供获取某个对象实例的统一接口,工厂方法是在类生成对象,而不是在代码中直接new,优点就是:使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数特点:1:创建一个接口2:去实现这个接口3:创建工厂类去调用实现的这些接口(引进工厂模式,通过工厂统一创建对象实例)应用场景要实现多种数据连接方式等等interface.c...

2019-12-30 11:15:59 143

原创 php设计模式之单例模式

单例模式作用:解决项目中对某个类只能实例化一次特点:1:必须声明一个私有****静态变量2:必须将构造函数,析构函数私有化,防止外部进行new实例化,这个类必须自己创建这个实例3:getInstance()必须设置成公有的,静态的,以便利外部访问,必须调用此方法 以返回实例的一个引用4:私有化__clone()方法防止克隆对象应用场景数据连接,文件缓存,分布式存储代码:cla...

2019-12-30 10:33:44 228

原创 flutter之Scaffold组件

属性介绍:属性名类型说明appBarAppBar显示在界面顶部的一个AppBarbodyWidget当前界面所显示的主要内容floatingActionButtonWidget在Material Design 中定义的一个功能persistentFooterButtonsList固定在下方显示的按钮drawerWidget侧边栏组件...

2019-12-27 17:05:56 255

原创 js之防抖与节流

1:函数防抖(1)概念:函数防抖是频繁触发函数事件后n秒内只会执行函数一次,如果n秒内又一次或者多次触发函数事件,则重新计算延迟时间(2)实现方式:每次触发事件时设置一个延迟调用方法,并且取消之前的延时调用方法。(3)缺点:如果事件在规定的时间间隔内被不断的触发,则调用方法会被不断的延迟(4)代码//防抖debounce代码:function debounce(fn,delay) ...

2019-12-21 10:59:02 97

原创 flutter之Text组件

示例代码:new Text( //文本 'hello world', //文本对齐方式 textAlign: TextAlign.center, //文本最多显示几行 maxLines:1, maxLines:1, //超出隐藏的样式(文字超出部分怎么处理) // overflow: TextOverflow.clip 直接切掉 // overf...

2019-12-16 15:32:29 162

原创 flutter之Container组件属性

代码片段:new Container( //宽度 width:100, //高度 height:100, //有时在不确定宽高的情况下需要设置Container的最大或最小宽高,可以通过Container的constraints属性来设置 constraints: new BoxConstraints.expand( height:Theme.of(context...

2019-12-16 15:05:36 873

原创 Flutter开发执行flutter run 命令报错ADB exited.....

运行环境:在doc终端,跳转到项目目录,切记,一定要是项目目录,否则就会出现这种提示:跳转到项目目录下运行:flutter run结果出现安装app.apk出现错误。直接上报错截图:注意:INSTALL_FAILED_USER_RESTRICTED意思为是用户没有操作权限。问题最可能出现的手机上,【打开开发者选项–打开USB安装】,即允许安装外部应用。打开之后,再次执行f...

2019-12-11 14:42:24 1534

原创 解决SSH客户端中文乱码

首先使用:$ locale -a查询系统支持的字符集,找到相应的字符集。在ssh客户端上输入:$ export LANG=zh_CN.gbk设定字符集,但是这是临时设置方式通过修改etc/locale.conf文件中的配置$ vi /etc/locale.conf修改好之后运行:$ source /etc/locale.conf即可永久生效,下次登录,中文就不会乱码了...

2019-12-08 15:11:14 345

原创 linux命令之history

对于linux中运行的命令越多,执行history命令的时候,会发现它会将之前的历史命令全部都展示出来,这是linux系统中默认将这些历史命令保存到内存中,但是是有限制的,只能保存1000个命令。该数量是由环境变量 HISTSIZE进行控制,默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。history命令读取 历史命令文件 中的目录到历史命令缓冲区和将历史命...

2019-12-06 12:27:03 203

原创 webpack学习之路(二):

首先,我有个疑问的问题,想在这记录一下,npm install moduleName --save 和 npm install moduleName --save-dev,中的–save and --save-dev有什么区别: npm install-save moduleName -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。...

2019-08-24 15:54:59 173

空空如也

空空如也

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

TA关注的人

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