Jack Huang's Blog


  • 首页

  • 标签

  • 归档

  • 搜索

js创建对象的方法汇总

发表于 2023-03-20

以下是几种创建js对象的方法。

Object构造函数创建

使用对象字面量表示法来创建对象

使用工厂模式创建对象

使用构造函数创建对象

原型创建对象模式

组合使用构造函数模式和原型模式

参考链接

  1. JS创建对象的几种方法,by fishfan.
  2. Javascript定义类(class)的三种方法,by 阮一峰.
  3. JavaScript Class类详解,by 前端农民晨曦.
  4. 理解JS的prototype,by 登来.

追求理解的教学设计读书笔记

发表于 2023-03-18 | 更新于 2023-07-09

《追求理解的教学设计方法》一书采用逆向设计方法,认为教学设计应分为如下三个阶段:

阶段1–预期成果

所确定的目标

教学设计目标,该设计将达到什么目标?

理解

学生将理解…

  • 大概念是什么?
  • 期望他们获得的特定理解是什么?
  • 可预见的误解是什么?

基本问题

  • 什么样的启发性问题能够促进探究、理解和学习迁移?

学生将会知道…

  • 作为本单元的学习结果,学生将会获得哪些关键知识和技能?
  • 习得这些知识和技能后,他们最终能够做什么?

学生将能够做到…

阶段2–评估证据

表现性任务

  • 学生通过哪些真实的表现性任务证明自己达到了预期的理解目标?
  • 通过什么标准评判理解成效?

其他证据

  • 学生通过哪些其他证据(例如:小测验、考试、问答题、观察、作业、日志)证明自己达到了预期成果?
  • 学生如何反馈和自评自己的学习?

阶段3–学习计划

设计关键的教学和学习活动。哪些学习体验和教学能够使学生达到预期的结果,以WHERETO分类学习活动。

  • W=帮助学生知道此单元的方向和预期成果?帮助教师知道学生从哪开始先前知识和兴趣?
  • H=把我学生情况和保持学生兴趣?
  • E=武装学生,帮助他们体验主要观点和探索问题?
  • R=提供机会去反思和修改他们的理解及学习表现?
  • E=允许学生评价他们的学习表现及含义?
  • T=对于学生不同的需要、兴趣和能力做到量体裁衣个性化?
  • O=组织教学使其最大程度地提升学生地学习动机与持续参与地热情,提升学习效果?

参考链接

  1. 追求理解的教学设计(第二版),by 格兰特·威金斯 杰伊·麦克泰格.
  2. Understanding by Design,by Ryan S. Bowen.

Windows无法启动MongoDB服务器1067错误恢复记录

发表于 2023-03-13

因断电导致Windows系统无法启动MongoDB后台服务,报1067错误。下面记录该故障的修复过程。

解决方法

  • 移除文件 the file /data/db/mongod.lock

  • 运行命令 mongod.exe –repair

1
run mongod.exe --repair --config  %mongodb_install_path\mongod.cfg"
  • 启动MongoDB服务
1
net start MongoDB

参考链接

  1. Mongodb启动失败1067错误,by CWSSSS.
  2. 意外关机后恢复的MongoDB的数据,by mongodb.

网络通信知识学习笔记

发表于 2023-02-20 | 更新于 2023-02-26

VLAN

请参考VLAN 基础知识和什么是VLAN。

无线数字通信中数据速率、载波频率和带宽的关系

请参考无线通信系统中数据带宽、载波频率和载波带宽的关系怎样理解?和无线数字通信中数据速率、载波频率和带宽的关系。

香农定理

香农定理给出了信道信息传送速率的上限(比特每秒)和信道信噪比及带宽的关系。香农定理可以解释现代各种无线制式由于带宽不同,所支持的单载波最大吞吐量的不同。

在有随机热噪声的信道上传输数据信号时,信道容量$R_{max}$与信道带宽W,信噪比S/N关系为:
$$R_{max}=W*log2(1+S/N)$$

注意这里的log2是以2为底的对数。

奈奎斯特准则

对于一个带宽为W(Hz)的无噪声低通信道,最高的码元传输速率Bmax:

$$B_{max}=2W(Baud)$$

即每赫兹带宽的理想低通信道的最高码元传输速率是每秒2个码元。

载波

载波(carrier wave)是指被调制以传输信号的波形,一般为正弦波。一般要求正弦载波的频率远远高于调制信号的带宽,否则会发生混叠,使传输信号失真。 可以这样理解,我们一般需要发送的数据的频率是低频的,如果按照本身的数据的频率来传输,不利于接收和同步。使用载波传输,我们可以将数据的信号加载到载波的信号上,接收方按照载波的频率来接收数据信号,有意义的信号波的波幅与无意义的信号的波幅是不同的,将这些信号提取出来就是我们需要的数据信号。 载波就是携带信息/信号的波形,它携带的方式是进行频率、振幅、相位间隔调制。

电子计算机科学中,基频(baseband)加上载波(carrier wave)而成为宽频(broadband)。

载波是信号调制与发射的载体,它只有一个中心频率,和带宽本身没任何关系。比如11n协议规定可以工作在2G频段,也可以工作在5G频段,其他因素都一样的。假定20M带宽,工作在2G频段的时候载波频率是2.4GHz,那它实际占用的频谱资源是2.390GHz-2.410GHz。工作在5G频段的时候载波频率是5GHz,那它实际占用的频谱资源是4.990GHz-5.010GHz。

调制

模拟信号调制

请参考幅度调制。

数字信号调制

请参考数字调制的原理。

参考链接

  1. VLAN 基础知识,by 行道科技.
  2. 什么是VLAN,by huawei.
  3. 集线器、交换机、路由器、网桥、网关之间的区别和联系,by danielxue7.
  4. 带宽和频率的关系到底是什么?,by zhihu.
  5. 无线通信系统中数据带宽、载波频率和载波带宽的关系怎样理解?,by zhihu.
  6. 无线数字通信中数据速率、载波频率和带宽的关系,by furious.
  7. 调制,by wikipedia.
  8. 数字信号,by baidubaike.
  9. 数字调制的原理,by bebr.
  10. 幅度调制,by wikipedia.

网页音频无法自动播放的解决方案

发表于 2023-02-06 | 更新于 2023-02-09

最近在维护一个网页应用时,发现其音频偶尔无法自动播放,且报如下错误:

1
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

该错误产生原因是chrome66之后都禁止音视频的自动播放。要解决该问题,可以在用户首次进入页面时,提示用户点击启动音视频自动播放,模拟用户交互。js代码如下:

1
2
3
<script>
window.confirm("是否启动语音自动播放?")
</script>

以上方法有问题,不能模拟用户交互,还是需要用户真正点击网页。另外还可以参考文章解决浏览器无法自动播放音频的问题的解决方案。

参考链接

  1. Chrome 66禁止声音自动播放之后,by 人人网FED.
  2. 解决浏览器无法自动播放音频的问题,by 寻找_.
  3. chrome66 禁止自动播放后,有什么比较好的方法实现audio的自动播放吗?,by segmentfault.

常用二进制比较工具

发表于 2023-02-05

二进制比较工具可用来快速分析两份二进制文件的差异部分,分析二级制文件是否被修改,或其他用途。常用的二进制比较工具主要有:

Beyond Compare

Hex Comparison

UltraCompare

参考链接

  1. 常见的比较二进制工具有哪些,by markingNavicat.

GIS数据基本概念解读

发表于 2023-02-02

GIS栅格和矢量数据组织及服务的基本概念可以参考聊聊GIS数据的四个分层与GIS服务。

参考链接

  1. 聊聊GIS数据的四个分层与GIS服务,by 为名.

监控数据库表记录变化的解决方案

发表于 2023-02-01

监控数据库表记录的变化,并从中获取变化后的数据,这是二次开发所面临的难题。目前有多种解决方案,各有优缺点。

触发器(Trigger)加异步通知(Notify)

实例请参考SQL 监控表字段变化。

监听数据库操作日志

例如mysql可以通过配置my.ini将数据库操作日志写到文本文件中,然后通过分析文本去获取变化。

轮询数据库表

每隔一段时间获取数据库表记录,查找数据是否发生变化。

参考链接

  1. java实时监控mysql数据库变化,by mob604756eccc76.
  2. 如何用python监视mysql数据库的更新?,by hzdledu.
  3. 数据同步中间件DBSyncer,by 靖节先生.
  4. DataX,by alibaba.
  5. 各种开源数据库同步工具汇总,by inrgihc.
  6. SQL 监控表字段变化,by 说不出来.
  7. 程序中监听数据库变化的各种方法与实践,by yanghui555.

SQL内连接结果集存在重复数据分析

发表于 2023-01-31

最近执行一条如下类似的SQL语句,结果却出现重复数据,分析了半天,最后才发现是:连接条件不唯一,导致结果集数据发生了重复。

1
2
# 如果name字典重复n次,则将产生n*n条记录。
select a.id,a.name from person as a inner join person as b on a.name=b.name;

参考链接

  1. sql连接查询存在结果集重复,by ClareTung.
  2. 图解 SQL 中各种连接 JOIN,by Moses.

Vue响应式原理分析

发表于 2023-01-31

Vue2与Vue3响应式原理的区别

  • Vue2的响应式是基于Object.defineProperty实现的
  • Vue3的响应式是基于ES6的Proxy来实现的

具体详情请参考Vue3的响应式原理?一篇文章,八张图,三心为你解密~,Vue3响应式原理解析。

参考链接

  1. Vue3的响应式原理?一篇文章,八张图,三心为你解密~,by Sunshine_Lin.
  2. Vue3响应式原理解析,by liy1wen.
  3. Proxy是代理,Reflect是干嘛用的?,by 张鑫旭.
  4. 3.1.2 ES6 Reflect 与 Proxy,by runoob.
上一页1…101112…53下一页

Jack Huang

521 日志
67 标签
© 2025 Jack Huang
由 Hexo 强力驱动
|
主题 — NexT.Muse