- 博客(63)
- 收藏
- 关注
原创 神奇的bug之DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP自动更新失败
业务场景:数据表中有一个update_time字段,设置为timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,使用模型中的update()或save()方法【以phalcon为例】,发现无法更新。问题解析:在数据库中更改数据,发现更新字段会更改,判定是代码中的问题。使用sql原生语句,结果同上。使用模型中的update()方法,发现不能更新。public function test($field_n
2021-12-30 00:02:14
4463
原创 408-计算机网络-物理层
物理层的基本功能:所有网络应用或服务都以端到端的信息交换与共享为基础。网络系统的最基本功能就是在不同的网络节点之间提供信号传输的物理通道与机制。物理层作为OSI参考模型的最底层,其功能就是在所有具有相关数据交换需求的节点之间提供可实现原始比特流传输的物理链路,包括物理通过及传输机制。从整个网络系统聚焦到点到点之间的信息交换,出现了数据通信系统模型:其中包括信源、信宿、信道和信号变换器。以下的频带传输与基带传输都以此为基础。当以上基础模型出现后,开始关注物理层的主要问题:信号与信道类型
2021-10-17 16:59:59
202
原创 408-计算机网络-网络模型
--摘自《计算机网络技术》施晓秋主编当网络上的一台计算机要把文件传送给另外一台计算机时,整个系统需要完成以下工作:提供从源节点到目标节点的通信链路和必要的互联设备,解决信号传输过程中出现的衰减与噪声问题以确保链路的传输质量。 对网络中的节点进行编址,以便该文件的数据能够正确到达目标节点,对传输所对应的源应用进程进行标识,从而使传输能对应到正确的目标进程上去。 当源节点到目标节点之间存在多条可达的网络路径时,能够提供关于最佳或最合适路径的选择,并能利用所选路径上的相关网络设备实现数据转发。 网络
2021-10-16 18:03:28
371
原创 foreach($arr as $key => &$val) php
在$value之前加上 & 来修改数组的元素,将以引用赋值而不是拷贝一个值。$arr = array("1","2","3","4","5","6","7","8","9"); foreach($arr as $key => &$val){ //echo $key.'-'.$val."<br>"; $val = $val * 2; //echo $val."<br>";}print_r($arr);echo "&l...
2021-10-15 09:10:53
509
原创 mysql与php使用基础复习
错误using a password on the command line interface can be insecure.在命令行中输入账号密码信息是不安全的。#mysql -uroot -p回车,输入密码。mysql原生语句#mysql -uroot -ppassword;//连接数据库#CREATE DATABASE DATABASE_BANE;//创建数据库#CREATE DATABASE IF NOT EXISTS NAME DEFAULT CHARSET ut
2021-09-29 00:05:36
175
原创 tp5 关联模型
belongsToMany实例场景:活动表签到表 id,user_id,act_id用户表此时要建立活动与用户的多对多关联。act模型中:
2021-09-10 08:54:08
263
原创 2021-07-27 tp5错误记录
Call to a member function assign() on null在null上调用成员函数赋值()子类的构造函数覆盖了父类的,所以报错了。将__construct()改为_initialize() public function __construct(){ parent::__construct();} public function __construct(){ parent::__initialize();} ...
2021-08-10 03:57:50
657
原创 js对象学习总结
创建方式:字面量方式:属性和方法都是静止的,不够灵活 var obj = { name:"test", sex:"male", run:function(){ console.log("run"); } }使用object创建属性和方法都是object的成员 var obj = new Object();
2021-07-04 19:22:03
324
2
原创 Prototype Pattern 原型模式 PHP
定义:是一种对象创建型模式,用原型实例制定创建对象的种类,通过复制原型创建新的对象。角色:Prototype抽象原型类是定义具有克隆自己的方法的接口,是所有具体原型类的公共父类。ConcretePrototype具体原型类实现具体的克隆方法,在克隆方法中返回一个自己的克隆对象。Client客户端让一个原型克隆自身,从而创建一个新的对象类图:...
2021-06-28 15:07:27
301
2
原创 js数据类型总结
javascript的变量是松散类型的,可以用来保存任何类型的数据。js拥有动态类型,相同的变量可以用作不同的类型。javascript变量均为对象,当声明一个变量时,就创建了一个新的对象。类型检测instanceof用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上,即instanceof 只能用来判断两个对象是否属于实例关系,也就是说,instanceof后面的参数是引用型对象=需要判断的是值类型就应该用typeof。返回布尔值。 var tes..
2021-06-26 15:20:07
158
原创 observer pattern 观察者模式 php
定义:定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。角色:Subject抽象目标类在目标中定义一个观察者集合,可以存储任意数量的观察者对象,提供一个接口来增加和删除观察者对象,定义了通知类。ConcreteSubject具体目标类通常包含经常发生改变的数据,当它的状态发生改变时,向他的各个观察者发出通知。Observer观察者观察者对观察目标的改变做出反应。ConcreteObserver具体观察者其中维护一个指
2021-06-15 11:46:05
185
1
原创 singleton pattern 单例模式 php
定义:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,提供全局访问的方法。要点:1、某个类只能有一个实例。2、必须自行创建这个实例。3、必须向整个系统提供这个实例。角色:singleton单例角色类在单例类的内部只生成一个实例,同时提供一个静态的getinstance工厂方法,让客户可以使用它的唯一实例类图:代码:singletonclass Singleton{ // 创建静态私有的变量保持该类对象 private stat
2021-06-14 01:16:54
134
1
原创 Adapter Pattern 适配器模式 php
定义:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的类可以一起工作。可以为类结构型和对象型模式。角色:Target目标抽象类定义客户要用的特定领域的接口。Adapter适配器类适配器类可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配。在类适配器中,通过实现Target接口并继承Adaptee类来使二者产生联系;在对象适配器中,通过继承Target并关联一个Adaptee对象使二者产生联系。Adaptee适配者类被适配的角色,定义了一个
2021-06-06 23:14:21
162
2
原创 bridge pattern 桥接模式 php
定义:将抽象部分与实现部分分离,使它们都可以独立地变化。是一种对象结构型模式。角色:Abstraction抽象类RefinedAbstraction扩充抽象类Implement实现类接口ConcreteImplementor具体实现类Abstraction// 抽象角色,给出定义,并保存一个对实现化对象的引用abstract class Abstraction{ protected $concreteImp; public function operati
2021-06-03 23:39:33
256
3
原创 PHP重温(六)--数组排序与超级全局变量
数组排序函数数组中的元素可以按字母或数字顺序进行降序或升序排列。sort() - 对数组进行升序排列 rsort() - 对数组进行降序排列 asort() - 根据关联数组的值,对数组进行升序排列 arsort() - 根据关联数组的值,对数组进行降序排列 ksort() - 根据关联数组的键,对数组进行升序排列 krsort() - 根据关联数组的键,对数组进行降序排列超级全局变量$GLOBALS在php脚本的全部作用域中都可以访问,用于访问脚本中的全局变量。是一个包含了全部
2021-06-01 23:52:12
189
原创 command pattern 命令模式 php
定义:将一个请求封装为一个对象,使我们可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。角色:Command抽象命令类ConcreteCommand具体命令类Invoker调用者Recevier接收者Client客户类上代码:Invokerclass Invoker{ private $concreteCommand; public function __construct(Command $concreteCo
2021-06-01 17:06:11
201
2
原创 Decorator Pattern 装饰者模式 PHP
在不改变一个对象本身的基础上以对客户透明的方式给对象动态增加额外的新行为。角色:Component抽象构件定义对象的接口,可以给这些对象动态增加职责ConcreteComponent具体构件定义了具体的构件对象,实现了在抽象构件中声明的方法Decorator抽象装饰类是抽象构件类的子类,用于给具体构件增加职责,但具体职责在其子类中实现ConcreteDecorator具体装饰类是抽象装饰类的资料,负责向构件添加新的职责,每个具体装饰类都定义了一些新的行为。上代码:
2021-05-31 20:58:15
306
3
原创 php重温(五)--运算符与数组
算数运算符x+y x-y x*y x%y -x x.y-x:取反$x = 2;echo -$x;//-2赋值运算符x=y x+=y x-=y x*=y x/=y x%=y x.=yx.=y : x=x.y递增/递减运算符++x x++ --x x--++x :x加1,然后返回xx++ :返回x,然后x加1比较运算符x==y x!=y x>y x<y x>=y x<=yx===y :...
2021-05-31 11:41:00
178
原创 Proxy Pattern 代理模式 php
洗心革面,学习设计模式!!定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。角色:subject抽象主题角色proxy代理主题角色Realsubject真实主题角色类图:上代码:Subject抽象主题角色interface Subject{ public function request();}Proxy代理主题角色require_once "Subject.php";require_once "RealSubject.php";
2021-05-27 20:09:50
173
1
原创 web div绑定键盘事件
方法一:如果是实现页面元素移动,不需要键盘导航$(document).keydown(function(e){console.log(e.which);});方法二:用tabindex绑定<a href="http://www.w3school.com.cn/" tabindex="2">W3School</a>tabindex规定元素的tab键控制次序,需要先用tab聚焦到该属性,再进行操作。也可以先给该元素聚焦,去掉聚焦的虚线,即可直接使用键
2021-05-27 17:38:04
139
原创 web单双击冲突
代码: $(function(){ var timer = ''; $(document).click(function(){ clearTimeout(timer); timer = setTimeout(() => { console.log("单机"); }, 300); }) $(document).dblclick
2021-05-27 15:11:25
216
原创 PHP重温(四)--字符串函数
chop移除字符串右侧的字符或预定义字符chop(string,charlist)$str = "Hello World!";echo $str . "<br>";echo chop($str,"World!"); //Hello chr
2021-05-25 10:59:48
79
原创 PHP重温(三)--常量与字符串函数
常量常量被定义后,在脚本的其他地方都不能改变。常量默认是全局变量。bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )//name:常量名称,标识符//value:常量值//case_insensitive:默认false,大小写敏感字符串函数并置运算符: . --连接字符串strlen返回字符串值长度ps:可使用mb_strlen设置指定编码...
2021-05-24 22:50:29
97
原创 PHP重温(二)--EOF与类型比较
EOF是一种定义一个字符串的方法。echo <<<EOF <h1>blue's blog</h1> <p>Hello World!</p>EOF;echo <<<HTML <p>hello world</p>HTML;EOF可以用其他字符代替,但应保证开始、结束标记不在正文中出现。结束标识必须顶格独占一行。单双引号不需要带转义字符。内部的变量可以正常解析且不
2021-05-24 21:36:56
195
原创 PHP重温(一)--作用域与输出语句
变量作用域定义在函数外部的是全局变量,作用域从定义处一直到文件结尾。函数内定义的变量是局部变量,作用域为函数定义范围内。函数之间作用域互不影响。四种:local局部作用域\global全局作用域\static静态作用域\parameter参数作用域global在函数内调用函数外定义的全局变量,在函数中的变量前加上global关键字。php中函数有独立的作用域,局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。<?php$x = 5;$y = 10;
2021-05-24 00:32:52
246
原创 jquery课堂笔记
对象windownavigatorscreenhistorylocationdocument文档就绪函数$(document).ready(function(){ $("#test")...;});$(function(){ //与上面相同,称为文档就绪函数 xxxxxxxx});jquery主要做的事情:找到它,操作它语法:$(selector).action()用美元符定义jq...
2021-05-21 15:50:58
98
原创 redis学习笔记(二)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。stringstring 是 redis 最基本的类型string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。一个键最大能存储 512MBhashRedis hash 是一
2021-05-20 14:24:08
98
原创 redis学习(一)--命令集合
打开redis服务E:\redis>redis-server.exe进入redis$ redis-cli //1$redis-cli.exe -h 127.0.0.1 -p 6379 //2检测redis服务是否开启$ ping // pong设置键值对$ set key value获取键值$ get key删除键del key存储哈希值hmset key field1 value1...
2021-05-20 14:23:19
123
原创 redis学习中遇到的问题
中文显示在输入中文时出现乱码进入时在后面加上 --raw 即可redis-cli.exe -h 127.0.0.1 -p 6379 --raw
2021-05-20 14:22:54
84
原创 H5图形转换
使用transform将元素移动、旋转、缩放、倾斜移动translatetransform:translate(100px,50px); // x,ytransform:translateX(100px)translateY(50px);旋转rotatetransform:rotate(10deg); // 角度为正数值,按照顺时针旋转,否则逆时针缩放scaletransform:scale(1.2);tran...
2021-05-17 09:17:11
312
原创 h5 应用程序缓存&cookie
// 应用程序缓存// 通过创建cache manifest文件,创建web应用的离线版本// 离线浏览、速度、减少服务器负载// <html manifest="demo.appache">---启动应用程序缓存// manifest文件是简单是文本文件,它告知浏览器被缓存的内容// cookie// 客户端需要与服务器进行交互的场景// 是一种进行网络会话状态跟踪的技术,由服务器生成,保存在客户端的一种信息载体// 数据保存在客户端、以键值对存储数据、随HTTP请求头提交.
2021-04-19 16:52:39
358
原创 localStorage示例
// 业务场景:用户临时登录信息、用户页面配置、当前临时数据// local适合存储需要长期保存到本地的数据-用户页面配置// session适合关闭浏览器及时清除缓存的场景-页面直接传递的参数// 本地存储localStorage&sessionStorage,不可跨域跨浏览器// length:返回存储的数据项数量// setitem(key,value):新增键值对,如果键名已存在则更新// getitem(key):返回键名对应的值// removeitem(key):从存储.
2021-04-19 16:26:54
340
原创 indexedDB示例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>...
2021-04-19 11:40:14
416
原创 webstorage示例
<style> .but{ float: left; margin-right: 20px; } form{ width: 300px; } .inp{ width: 250px; } </style><body> <!-- 示例 --&g...
2021-04-18 21:01:01
173
原创 canvas 画板
用canvas画布制作画板,包括修改线条颜色,画布颜色,线条粗细,清除画布等功能<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width
2021-04-03 15:46:03
292
原创 canvas 生成饼图
用canvas根据输入数据生成一个饼图<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&
2021-04-01 22:57:52
158
原创 canvas学习 太阳轨道
原文地址:https://blog.youkuaiyun.com/u012468376/article/details/73350998不使用图片版本<body><canvas id="can" width="300" height="300" style="background-color: black;"></canvas><script> function draw(){ // sun() var can = d
2021-03-31 10:42:04
183
原创 js执行机制学习
仅仅是笔记,不是原创不是原创不是原创javascript是一门单线程语言,所以js是按照语句出现的顺序执行的。h5提出web-worker,但是js的多线程都是由单线程模拟出来的。为解决单线程时间等待的问题,将任务分为同步任务/异步任务。同步任务:在主线程上排队执行的任务,前一个任务执行完毕,才能执行下一个任务异步任务:不进入主线程,进入任务队列。异步任务必须指定回调函数,当主线程开始执行异步任务,就是执行对应的回调函数。任务队列:是先进先出的数据结构所有同步任务都在主线程上执行,形成一个执行栈
2021-03-29 14:35:31
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人