update

观察者模式(发布订阅模式)的实现方式及应用场景

守給你的承諾、 提交于 2020-03-24 03:43:07
观察者模式(发布订阅模式)的实现方式及应用场景 简述 发布订阅模式的概念:当一个或多个对象依赖于某一个对象,当这个对象的状态发生改变,所有依赖于它的对象都得到状态改变的通知。 一个简单的示例: // 主体 class Subject { constructor() { this.state = 0 this.observers = [] } getState() { return this.state } setState(state) { this.state = state this.notifyAllObservers() } notifyAllObservers() { this.observers.forEach(item => { item.update() }) } attch(observer) { this.observers.push(observer) } } // 观察者 class Observer { constructor(name, subject) { this.name = name this.subject = subject this.subject.attch(this) } update() { console.log(`${this.name} update, state: ${this.subject.getState()}`) }

子查询,视图,pymysql,事务,索引

怎甘沉沦 提交于 2020-03-24 02:15:08
子查询 # 增:insert into 表 select子查询 # 删:delete from 表 条件是select子查询(表不能与delete表相同) # 查:select 字段 from 表 条件是select子查询 # 改:update 表 set 字段=值 条件是select子查询(表不能与update表相同) # 数据来源:在单表emp下 # 子查询:将一条查询sql的结果作为另一条sql的条件 # 思考:每个部门最高薪资的那个人所有信息 # 子查询的sql select dep, max(salary) from emp group by dep; # 子查询 - 查 select * from emp where (dep, salary) in (select dep, max(salary) from emp group by dep); # 将子查询转换为一张表 # 创建一个存子查询数据的一张表 create table t1(dep_name varchar(64), max_salary decimal(5,2)); # 子查询 - 增 insert into t1 select dep, max(salary) from emp group by dep; # 需求 select name, dep_name, salary from emp join

一条update语句的执行过程

别说谁变了你拦得住时间么 提交于 2020-03-24 01:56:28
3 月,跳不动了?>>> 以前有过一篇关于 MySQL查询语句的执行过程 ,这里总结一下update语句的执行过程。由于update涉及到数据的修改,所以,很容易推断,update语句比select语句会更复杂一些。 1,准备 创建一张test表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c` int(11) NOT NULL DEFAULT '0' COMMENT '数值', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表'; 插入三条数据 INSERT INTO `test` (`c`) VALUES (1), (2), (3); 2,测试 加入我要把第一条数据的 c 值 加 1,则 UPDATE `test` SET `c` = `c` + 1 WHERE `id` = 1; 按照我们平常的思路,就是找出这条记录,把它的值改好,保存就OK了。 但我们追究一下细节,由于涉及到修改数据,所以涉及到日志了。 3 操作顺序 3.1 查找记录:执行器先找引 擎取 id=1这一行。ID是主键,引擎直接用树搜索找到这一行。如果id=1这一行所在的数据页本来就在内存中,就直接返回给执行器;否则,需要先从磁盘读入内存

WSUS 4.0 由于连接数限制导致管理控制台无法打开。

谁说我不能喝 提交于 2020-03-23 13:17:48
最近新装了一台WSUS服务器,系统是Windows 2019,作为老司机。装个WSUS不是手到擒来,可是老司机也有翻车的时候。装好wsus后愣是启动不了,报的错误一大堆: 错误日志1:来源Windows Server Update Services 事件ID 7053 WSUS 管理控制台遇到意外错误。这可能是暂时错误;请尝试重新启动该管理控制台。如果此错误仍然存在, 请尝试通过删除 %appdata%\Microsoft\MMC\ 下的 wsus 文件来删除该控制台的永久性首选项。 System.NullReferenceException -- 未将对象引用设置到对象的实例。 Source Microsoft.UpdateServices.UI.SnapIn Stack Trace: 在 Microsoft.UpdateServices.UI.SnapIn.Pages.ServerSummaryPage.backgroundWorker_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) 错误日志2:来源Windows Server Update Services 事件ID 12072 无法访问 WSUS 内容目录。 System.Net.WebException: 远程服务器返回错误: (503)

hibernate的映射关系之一对多

╄→尐↘猪︶ㄣ 提交于 2020-03-23 12:52:27
关系 :事物之间相互作用、相互联系的状态。范围最大。 联系 :在关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n。 关联 :表示对象之间的关系,既有数量性,又有方向性;动词:将对象之间通过某种方式联系起来。 映射 :这里指java对象和数据库表的一种对应关系。动词:形成这种对应关系。 级联 :有关系的双方中操作一方,另一方也将采取一些动作。 关联的联系种类 在不考虑关联的方向前提下,联系就是关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n。 一对一联系(1:1):如用户和身份证、一夫一妻 一对多联系(1:n):如班级和学生 多对多联系(m:n):如学生和选课 关联的方向 关联关系的方向可分为单向关联和双向关联。 双向关联的方向其实就不重要了,因为通过任一一方都可以维护彼此的关系。也就是说:在双向关联中一对多和多对一都是一样的。 利用Java Project项目演示试用Hibernate技术添加数据到数据库 1 建立项目之后首先呢肯定是需要导入相关的JAR包的 2 然后是创建实体类 package cn.itcast.hiberate.sh.domain; public class Student { private Long sid; private String sname; private String description; public Long

理解MySQL——架构与概念

我的梦境 提交于 2020-03-23 12:10:40
写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了。但从5.0(2005年10月)开始,MySQL渐渐步入企业级数据库的行列了;复制、集群、分区、分布式事务,这些企业级的特性,使得现在的MySQL,完全可以应用于企业级应用环境(很多互联网公司都用其作为数据库服务器,尽管节约成本是一个因素,但是没有强大功能作后盾,则是不可想象的)。虽然,MySQL还有很多不足,比如,复制、分区的支持都十分有限、查询优化仍需要改进,但是MySQL已经是一个足够好的DBMS了,更何况它是opensource的。这段时间没有事,出于好奇,略微的研究了一下MySQL,积累了一些资料,欲总结出来。这些资料打算分为两部分,上部主要讨论MySQL的优化,其中主要参考了《MySQL Manual》和《High Performance MySQL》,如果有时间,以后在下部分析一下MySQL的源码。如果你是MySQL高手,希望你不吝赐教;如果你是新手,希望对你有用。 第一章、MySQL架构与概念 1、MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。 中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能

Unity打砖块小游戏制作过程

北城以北 提交于 2020-03-21 22:15:49
3 月,跳不动了?>>> 操作步骤 新建一个plane,修改位置坐标为(0,0,0)导入资源包, 新建一个空对象,命名为Wall,用于存放后面脚本生产的小方块 新建一个脚本,重命名为Brick,用于生成由Cube组成的墙。把脚本附给Wall,脚本复制对象选择资源包中的小方块的预制件 。脚本内容如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Brick : MonoBehaviour { public GameObject brick; private int columnNum=8;//列数 private int rowNum = 6;//行数 // Start is called before the first frame update void Start() { for(int i = 0; i < rowNum; i++) { for(int j = 0; j < columnNum; j++) { Instantiate(brick, new Vector3(j-5,i),Quaternion.identity); } } } // Update is called once per frame void Update() {

Unity模拟小球滚动游戏

女生的网名这么多〃 提交于 2020-03-21 18:38:12
3 月,跳不动了?>>> 成品展示 操作步骤 新建一个plane当作地面,重命名为Ground,位置坐标修改为(0,0,0)。再新建一个空对象,在里面新建一个Cube,再进行三次复制。重命名为Wall,当作墙,修改坐标为(0,0,0).通过修改四个Cube的position和scale属性,使其围在Ground四周。 新建一个Cube,重命名为PickUp,附上材质,并修改位置坐标为(0,1,0),修改rotation属性使其倾斜。为PickUp添加一个Rigidbodt组件,并勾选Use Gravity和Is Kinematic选项,使其固定在原位置。 新建一个脚本文件,命名为RotatePickUp,作为小方块旋转脚本 。脚本内容为: using System.Collections; using System.Collections.Generic; using UnityEngine; public class RotatePickUp : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { this.transform.Rotate(new Vector3(15

React Native热更新(iOS)-Pushy

帅比萌擦擦* 提交于 2020-03-21 16:55:02
React Native 的出现,使的开发 iOS 代码出现了更便捷的方式。由于 RN 是使用脚本语言编写的,实现了“解释执行”的方式,而这种执行方式的修改只需替换脚步即可,不需要重新发布程序,热更新的方式极大的方便了迭代开发。 今天我们选择的热更新组件是 Pushy ,这是国内开发的,功能类似 CodePush ( CodePush 在国内访问及其慢,长城宽度根本无法访问), Pushy 支持增量更新,最大化的降低更新的数据量,节约流量。 下面介绍如何利用Pushy进行热更新: 1. 创建react native工程 $react-native init PushyDemo 2. 安装update工具, Pushy热更新需要update配合使用 RN 0.29+ $npm install -g react-native-update-cli RN 0.28及以下 $npm install -g react-native-update-cli rnpm 3. 在PushyDemo目录下添加Pushy组件并自动link RN 0.29+ $ npm install --save react-native-update $ react-native link react-native-update RN 0.27-0.28 $ npm install --save react