前端速通(JavaScript)
1 初识JavaScript
1 JavaScript是什么
JavaScript 是一种高层的、轻量级的、解释型的编程语言,最初由 Netscape 公司于 1995 年开发。它的特点包括:
- 动态性:JavaScript是动态类型语言,允许开发者灵活地操作数据。
- 跨平台:通过浏览器运行,与网络关联。
- 面向对象与函数式编程:支持面向对象和函数式编程范式。
- 核心用途:通常用于实现交互式网页功能,例如表单验证、动态内容更新和动画效果。
虽然名字里有“Java”,但它和Java没有直接关系。
2. JavaScript 的发展历史
JavaScript之⽗布兰登.艾奇(BrendanEich)
JavaScript最初只是为了完成简单的表单验证(验证数据合法性),结果后来不⼩⼼就⽕了.
1. 1994年,⽹景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第⼀个⽐较成熟的⽹ 络浏览器,轰动⼀时。但是,这个版本的浏览器只能⽤来浏览,不具备与访问者互动的能⼒.⽹景 公司急需⼀种⽹⻚脚本语⾔,使得浏览器可以与⽹⻚互动
2. 1995年Sun公司将Oak语⾔改名为Java,正式向市场推出,并⼤肆宣传:⼀次编写,到处运⾏.⽹景公 司⼼动了,决定与Sun公司结成联盟。它允许Java程序以applet(⼩程序)的形式,直接在浏览器 中运⾏,甚⾄考虑直接将Java作为脚本语⾔嵌⼊⽹⻚,但是这样会让HTML⽹⻚太复杂了,不得不放弃
3. 1995年4⽉,BrendanEich⼊职了⽹景公司
4. 1995年5⽉,⽹景公司做出决策,决定开发⼀⻔新的语⾔,新的语⾔要"看上去与Java⾜够相似", 但是⽐Java简单.BrendanEich被指定为该语⾔的设计师.
5. 对Java⼀点兴趣都没有的BrendanEich,为了应付公司安排的任务,只⽤10天时间就把Javascript设 计出来了.(由于设计时间太短,语⾔的⼀些细节考虑得不够严谨,导致后来很⻓⼀段时间, Javascript写出来的程序混乱不堪)
最初在⽹景公司,该语⾔命名为LiveScript,当时⽹景公司认为,Java作为当时最流⾏的编程语⾔,带有 "Java"的名字有助于这⻔新⽣语⾔的传播,将LiveScript命名为JavaScript. 其实Java和JavaScript之间的语法⻛格相去甚远.
3. JavaScript与HTML、CSS的关系
JavaScript、HTML 和 CSS 是 Web 开发的三大基础技术,虽然它们各自有不同的职责,但它们紧密合作,共同构建网页应用:
-
HTML:HTML负责网页的结构,它通过标记语言定义了网页的元素和内容,如文本、图片、表单、按钮等。HTML提供了网页的结构和结构,但不涉及表现和行为。
-
CSS:CSS用于控制网页的样式和布局,定义了网页元素的外观,例如颜色、字体、边距、位置等。它负责美化网页,使网页更加美观。
-
JavaScript:JavaScript使网页变得动态化和交互性强。它负责网页行为的控制,例如响应用户的点击、提交表单、显示或内容、修改HTML和CSS属性等。
关键:
- HTML + CSS主要定义网页的内容和外观。
- JavaScript则通过操作HTML和CSS,使网页具备动态性和交互性。
例如,当用户点击按钮时,JavaScript 会通过操作 DOM(文档对象模型)来生成 HTML 结构或 CSS 样式,改变网页的显示或执行某些行为。常见的例子有:
- 在输入用户时,动态验证表单(JavaScript)。
- 在网页加载时,改变页面的布局和样式(CSS)。
- 根据用户的点击或滚动等行为,动态更新网页的内容(JavaScript)。
2 JavaScript快速上手
1.环境搭建
在学习JavaScript之前,首先要保证有合适的开发环境:
- 浏览器:大多数现代浏览器(如Chrome、Firefox、Edge)都内置了JavaScript引擎,可以直接运行JavaScript代码。
- 开发者工具:浏览器自带的开发者工具可以用来查看和调试JavaScript代码。在Chrome中单击
F12
或右键选择“检查”即可打开控制台。 - 编辑器:您可以选择任何代码编辑器,如 Visual Studio Code、Sublime Text 或 Atom,来编写 JavaScript 代码。
2.引⼊⽅式
JS有3种引⼊⽅式,语法如下表格所⽰:
3种引⼊⽅式对⽐:
1. 内部样式会出现⼤量的代码冗余,不⽅便后期的维护,所以不常⽤.(课堂上为了⽅便讲解,使⽤该⽅ 式)
2. ⾏内样式,只适合于写简单样式.只针对某个标签⽣效.缺点是不能写太复杂的jS.
3. 外部样式,html和js实现了完全的分离,企业开发常⽤⽅式.
示例:
结果:
2.基础语法
创建变量(变量定义/变量声明/变量初始化),JS声明变量有3种⽅式
注意事项:
1. JavaScript是⼀⻔动态弱类型语⾔,变量可以存放不同类型的值(动态),⽐如:
随着程序的运⾏,变量的类型可能会发⽣改变.(弱类型)
Java是静态强类型语⾔,在变量声明时,需要明确定义变量的类型.如果不强制转换,类型不会发⽣变 化.
1.声明变量的方式
在 JavaScript 中,变量的声明有清晰的方式:var
、let
和const
。这种清晰方式的主要区别在于域、可变性和提升行为。
1.1var
var
是 JavaScript 中传统的报警方式,在 ES6 引入let
和const
之前广泛使用。var
有一些特点:
- 作用域:
var
声明的变量是函数作用域,如果在函数外部声明,则为全局作用域,而不是块级作用域。 - 提升:
var
声明的变量会被提升到作用域的顶部,但变量不会被初始化,只有声明才会被提升。
注意:由于var
是函数作用域(现代非块级作用域),它可能导致意外的覆盖和错误,因此建议在 JavaScript 开发中避免使用var
。
1.2let
let
是 ES6 引入的用于报表报警的新方式。相比之下var
,let
提供了块作用域和更加合理的行为。
- 作用域:
let
具有块级作用域,它只在其所在的代码块内有效。 - 提升:
let
变量会被提升,但在声明之前访问会导致ReferenceError(暂时性死区)。
1.3const
const
也是 ES6 引入的,用于声明常量。const
和let
一样,具有块级作用域。
- 作用域:和
let
一样,const
也有块级作用域。 - 不可变性:
const
声明的变量必须在声明时初始化,并且之后无法修改其值(对于基本数据类型)。对于引用类型(如对象或队列),虽然无法重新赋值,但对象的属性和队列的元素是可以的修改的。
JavaScript 变量名的命名规则
1.基本命名规则
JavaScript 对变量名的命名有一些基本规则,必须遵循:
- 符号名只能包含字母、数字、下划线(
_
)和美元符号($
)。 - 变量名不能以数字开头。比如,
1variable
是无效的,variable1
是有效的。 - 变量名不能是 JavaScript 保留的关键字。比如,
var
、let
、if
、function
等都是保留字,不能作为变量名使用。 - JavaScript区分大小写,例如,
myVariable
和myvariable
是两个不同的变量。
2.命名建议
为了让变量名称更加易读和有意义,推荐遵循以下命名规范:
2.1驼峰命名法(camelCase)
- JavaScript 中常用驼峰命名法(CamelCase)来命名变量和函数。
- 驼峰命名法是指第一个单词小写,后续单词的首字母大写,且不使用下划线或空格。
2.2常用量命名
- 常量通常使用全大写字母,并用下划线分隔单词。
- 使用
const
声明常量时,推荐该类命名方式,其次区分常量和普通变量。
2.3描述性命名
- 指标名称描述应简洁且能够清楚地说明其用途。
- 尽量避免使用单个字母作为标记名,特别是在大型应用中。除非是循环计数器等场景。
2.4避免使用单字符命名
- 除非是在循环或者非常小的函数中,避免使用少量的变量名(如
x
,,,等)。这种命名不利于理解代码的含义。y
z
i
3. + 表⽰字符串拼接,也就是把两个字符串⾸尾相接变成⼀个字符串.
4. \n 表⽰换⾏
2 数据类型
虽然js是弱数据类型的语⾔,但是js中也存在数据类型,js中的数据类型分为:原始类型和引⽤类 型,具体有如下类型
使⽤typeof函数可以返回变量的数据类型
代码⽰例:
3.运算符
代码⽰例:
3.JavaScript对象
1. 数组
1 数组定义
创建数组有两种⽅式
1. 使⽤new关键字创建
2. 使⽤字⾯量⽅式创建[常⽤]
注意:JS的数组不要求元素是相同类型. 这⼀点和C,C++,Java等静态类型的语⾔差别很⼤.但是Python,PHP等动态类型语⾔也是如此.
2 数组操作
1.数组的索引
2. 数组常用方法
1. 读:使⽤下标的⽅式访问数组元素(从0开始) console.log()
2. 增:通过下标新增,或者使⽤push进⾏追加元素
1.使用数组索引下标填写:
2.使⽤push进⾏追加元素
3. 改:通过下标修改
4. 删:使⽤splice⽅法删除元素
3.遍历数组
可以使用for
循环或者forEach
方法来检索传输中的元素。
注意:
1. 如果下标超出范围读取元素,则结果为undefined
2. 不要给数组名直接赋值,此时数组中的所有元素都没了. 相当于本来arr是⼀个数组,重新赋值后变成字符串了.
2.函数
1 语法格式
• 函数定义并不会执⾏函数体内容,必须要调⽤才会执⾏.调⽤⼏次就会执⾏⼏次.
• 调⽤函数的时候进⼊函数内部执⾏,函数结束时回到调⽤位置继续执⾏.可以借助调试器来观察.
• 函数的定义和调⽤的先后顺序没有要求.(这⼀点和变量不同,变量必须先定义再使⽤)
2.匿名函数和箭头函数(ES6+)
- 匿名函数:没有函数名的函数。
箭头函数:简单的函数表达式,ES6 引入。
3. 对象
在JS中,字符串,数值,数组,函数都是对象. 每个对象中包含若⼲的属性和⽅法.
• 属性:事物的特征.
• ⽅法:事物的⾏为. JavaScript的对象和Java的对象概念上基本⼀致.只是具体的语法表项形式差别较⼤.
1. 使⽤字⾯量创建对象[常⽤]
使⽤{}创建对象
• 使⽤{}创建对象
• 属性和⽅法使⽤键值对的形式来组织.
• 键值对之间使⽤,分割.最后⼀个属性后⾯的,可有可⽆
• 键和值之间使⽤:分割.
• ⽅法的值是⼀个匿名函数.
2.使⽤对象的属性和⽅法:
Object.keys()
:返回对象的所有键(属性名)。Object.values()
:返回对象的所有值。Object.entries()
:返回对象的所有键值对备份。
3. 使⽤构造函数创建对象

注意:
• 在构造函数内部使⽤this关键字来表⽰当前正在构建的对象.
• 构造函数的函数名⾸字⺟⼀般是⼤写的.
• 构造函数的函数名可以是名词.
• 构造函数不需要return
• 创建对象的时候必须使⽤new关键字. this相当于"我"
4 JQuery
W3C标准给我们提供了⼀系列的函数,让我们可以操作:
• ⽹⻚内容
• ⽹⻚结构
• ⽹⻚样式
但是原⽣的JavaScript提供的API操作DOM元素时,代码⽐较繁琐,冗⻓.我们学习使⽤JQuery来操作⻚⾯对象.
jQuery是⼀个快速、简洁且功能丰富的JavaScript框架,于2006年发布.它封装JavaScript常⽤的功能 代码,提供了简洁⽽强⼤的选择器和DOM操作⽅法.使⽤JQuery可以轻松地选择和操作HTML元素,从 ⽽减少了开发⼈员编写的代码量,提⾼了开发效率,它提供的API易于使⽤且兼容众多浏览器,这让诸 如HTML⽂档遍历和操作、事件处理、动画和Ajax操作更加简单.JQuery对于事件的处理也进⾏了简 化,提供了⼀个简单的API来绑定、触发和处理事件,使开发⼈员能够更⽅便地处理各种交互⾏为.
1. jQuery 的核心特点
- 简洁的语法:通过 jQuery,很多常见的操作变得非常简单。比如,一些元素、修改元素内容、处理事件等,往往只需要几行代码。
- 跨浏览器兼容性:jQuery 可以处理不同浏览器(如 Chrome、Firefox、IE 等)之间的差异,让你不必再关心不同浏览器的行为。
- 链式调用:jQuery支持链式调用(method chaining),使得多个方法可以在同一行代码中连续执行,提升代码的简洁度和互补性。
- 插件支持:jQuery拥有丰富的插件生态,可以轻松扩展功能,如表单验证、图片轮播、日期选择等。
- 支持 Ajax:通过 jQuery 提供的 API,进行 Ajax 请求变得更加简单,无需手动编写复杂的 XMLHttpRequest。
2. 引⼊依赖
使⽤JQuery需要先引⼊对应的库 在使⽤jQueryCDN时,只需要在HTML⽂档中加⼊如下代码
<!-- 引入 jQuery 最新版本 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
- 从本地文件引入 jQuery(如果你已经下载了 jQuery 库):
<script src="path/to/jquery.min.js"></script>
参考地址:jQuery CDN
其中, src 属性指明了JQuery库所在的URL.这个URL是CDN(内容分发⽹络)服务提供商为jQuery库 提供的⼀个统⼀资源定位符. 如果需要使⽤其他版本的JQuery,可以在官⽹进⾏下载
Jquery官⽅共提供了4种类型的JQuery库
uncompressed:⾮压缩版本(易读,但是⽂件较⼤,传输速度慢)
minified:压缩版(不易读,⽂件⼩,性能⾼,开发中推荐)
slim:精简瘦⾝版,没有Ajax和⼀些特效 slimminified:slim的压缩版
开发时,建议把JQuery库下载到本地,放在当前项⽬中.引⼊外部地址,会有外部地址不能访问的⻛险. 下载⽅式:
1. 通过浏览器访问上述连接
2. 右键->另存为....保存到本地,放在项⽬中即可.
也可以从其他CDN上下载引⽤JQuery
⽐如:
3. jQuery 基本语法
jQuery 的基本语法形式为:
$(selector).action();
- $:是 jQuery 的标志符号,实际上是
jQuery
函数的别名。 - 选择器:选择器,指定你要操作的 HTML 元素。
- action():你希望对这些元素执行的操作,如点击、修改文本等。
JQuery的代码通常都写在 documentready函数中.
document:整个⽂档对象,⼀个⻚⾯就是⼀个⽂档对象,
使⽤document表⽰. 这是为了防⽌⽂档在完全加载(就绪)之前运⾏jQuery代码,即在⽂档加载完成后才可以对⻚⾯进 ⾏操作。
如果在⽂档没有完全加载之前就运⾏函数,操作可能失败
点击后:
给按钮添加了click事件,点击后元素消失. 简洁写法:
4 JQuery选择器
我们通过JQuery选择器来选择⼀些HTML元素.然后对元素进⾏操作. JQuery选择器基于已经存在的CSS选择器,除此之外,还有⼀些⾃定义的选择器. jQuery中所有选择器都以$ 开头:$().
5 JQuery事件
JS要构建动态⻚⾯,就需要感知到⽤⼾的⾏为. ⽤⼾对于⻚⾯的⼀些操作(点击,选择,修改等)都会在浏览器中产⽣⼀个个事件,被JS获取到,从⽽进⾏ 更复杂的交互操作. 浏览器就是⼀个哨兵,在侦查敌情(⽤⼾⾏为).⼀旦⽤⼾有反应(触发具体动作),哨兵就会点燃烽⽕台的 狼烟(事件),后⽅就可以根据狼烟来决定下⼀步的对敌策略.
事件由三部分组成:
1. 事件源:哪个元素触发的
2. 事件类型:是点击,选中,还是修改?
3. 事件处理程序:进⼀步如何处理.往往是⼀个回调函数.
例如:某个元素的点击事件:
其他常见事件:
5 操作元素
1 获取/设置元素内容 三个简单的获取元素内容的JQuery⽅法
这三个⽅法即可以获取元素的内容,⼜可以设置元素的内容.
有参数时,就进⾏元素的值设置,没有参数时,就进⾏元素内容的获取.
代码⽰例: 获取元素内容:
设置内容
text(value)
:设置元素的纯文本内容。html(value)
:设置元素的HTML内容。
6.获取/设置元素属性
jQuery 提供了attr()
操作 HTML 元素的属性的方法。
使用attr(attributeName)
来获取属性值。
使用attr(attributeName, value)
设置属性值。
使用removeAttr(attributeName)
删除属性。
7. 添加元素
添加HTML内容
1.append():在被选元素的结尾插⼊内容
2.prepend():在被选元素的开头插⼊内容
3.after():在被选元素之后插⼊内容
4.before():在被选元素之前插⼊内容
8.删除元素
删除元素和内容,⼀般使⽤以下两个jQuery⽅法:
1.remove():删除被选元素(及其⼦元素)
2.empty():删除被选元素的⼦元素。
5.总结
1. HTML是⼀种超⽂本标记语⾔,主要⽤于⻚⾯内容的显⽰和排版.如果需要更漂亮的样式展⽰和⻚⾯ 效果,需要搭配CSS和JavaScript来使⽤
2. 学习HTML主要是学习标签,HTML的标签特别多,了解基本语法即可
3. CSS重点是学习CSS的选择器使⽤
4. JavaScript是⼀个脚本语⾔,和Java没有关系.JQuery是⼀个JavaScript框架,使⽤JQuery可以轻松 地选择和操作HTML元素,提⾼我们的开发效率.
5. 前端开发对于后端开发⼈员⽽⾔不是很重要,不必花费过多时间在这个上⾯.达到借助⽹络能阅读代 码的⽔平即可.
相关文章:
前端速通(JavaScript)
1 初识JavaScript 1 JavaScript是什么 JavaScript 是一种高层的、轻量级的、解释型的编程语言,最初由 Netscape 公司于 1995 年开发。它的特点包括: 动态性:JavaScript是动态类型语言,允许开发者灵活地操作数据。跨平台…...
Unity图形学之着色器之间传递参数
1.初始化 struct: UNITY_INITIALIZE_OUTPUT(type,name) Type: struct 名字 Name :变量的名字 struct Input{float2 uv_MainTex;float3 myColor;};half _Glossiness;half _Metallic;fixed4 _Color;void MyVertx(inout appdata_base v,out I…...
JavaScript中的this指向问题
JavaScript中的this指向问题 1.1 为什么需要this? 为什么需要this? 在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是在JavaScript中的this和常见的面向对象语言中的this不太一样 常见面向对象的编程语言中,比…...
Qt之QWidget相关
Qt概述 Qt 是一个跨平台的 C 开发框架。 跨平台支持:可以用于开发 Windows、macOS、Linux、Android、iOS 等多种操作系统下的应用程序。这意味着开发者使用 Qt 编写的代码,在经过适当的编译和配置后,能够在不同平台上运行,减少了…...
Ease Monitor 会把基础层,中间件层的监控数据和服务的监控数据打通,从总体的视角提供监控分析
1. 产品定位 Ease Monitor 有如下的产品定位: 关注于整体应用的SLA。 主要从为用户服务的 API 来监控整个系统。 关联指标聚合。 把有关联的系统及其指示聚合展示。主要是三层系统数据:基础层、平台中间件层和应用层。 快速故障定位。 对于现有的系统…...
苹果MacOS 调用自编译opencv的Dylib显示一个图片程序的步骤
前言 为了测试自编译的opencv库是否能在苹果MacOS系统下使用,需要写一个简单的测试程序。这个测试程序写起来不难,麻烦的是一些配置。网上的办法很多,里面因为版本的问题有一些坑。特此写了一个建立步骤,供大家参考。 1、新建一个…...
网页中调用系统的EXE文件,如打开QQ
遇到一个实际的问题,需要在网页中打开本地的某个工业软件。 通过点击exe文件就可以调用到程序。 比如双击qq的exe就可以启动qq的程序。 那么问题就变成了如何加载exe程序呢? 可以通过Java的 Process process Runtime.getRuntime().exec(command);通过…...
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager) 步骤 1: 更新系统包步骤 2: 安装 nvm步骤 3: 安装 Node.js 和 npm步骤 4: 设置默认 Node.js 版本(可选)总结 在 Ubuntu 系统上安装 npm 环境以及 nvm(No…...
Linux环境开启MongoDB的安全认证
文章目录 1. MongoDB安全认证简介1.1 访问控制1.2 角色1.3 权限 2. MongoDB中的常见角色3. MongoDB Shell3.1 下载MongoDB Shell3.2 通过MongoDB Shell连接MongoDB 4. 创建管理员用户5. 为具体的数据库创建用户6. 开启权限认证7. 重启MongoDB服务8. 连接MongoDB9. MongoDB数据库…...
实现了两种不同的图像处理和物体检测方法
这段代码实现了两种不同的图像处理和物体检测方法:一种是基于Canny边缘检测与轮廓分析的方法,另一种是使用TensorFlow加载预训练SSD(Single Shot Multibox Detector)模型进行物体检测。 1. Canny边缘检测与轮廓分析: …...
经典工具 | 使用SIFT预测错义突变的有害性
SIFT 用计算机替代人预测复杂事件的影响,是我们这个时代最令人兴奋的科学进展之一。SIFT就是这样一个应用于基因组学研究的经典工具。 SIFT可预测多种生物体的基因组变异,主要是错义突变的影响与效应,最大的特点是物种丰富,是一个…...
如何给 Apache 新站点目录配置 SELinux ?
在 web 服务器管理领域,确保服务器环境的安全性至关重要。SELinux (Security-Enhanced Linux) 是保护 Linux 服务器最有效的工具之一,它是一种强制访问控制 (MAC mandatory access control) 安全机制。当使用最流行的 web 服务器 Apache 提供 web 内容时…...
RTSP播放器EasyPlayer.js播放器分辨率高的视频在设置container的宽高较小时,会出现锯齿状的画面效果
流媒体播放器的核心技术及发展趋势展现了其在未来数字生活中的无限潜力。随着技术的不断进步和市场的持续发展,流媒体播放器将在内容创新、用户体验优化以及跨平台互通等方面取得新的突破。对于从业者而言,把握这些趋势并积极应对挑战将是实现成功的关键…...
云讷科技Kerloud无人飞车专利发布
云讷科技Kerloud无人飞车获得了“一种室内外两用的四旋翼无人飞车”的实用新型专利证书,作为科教社区第一款四旋翼飞车,这项技术结合了无人机和无人车的优势,提供了一种能够在多种环境下使用的多功能飞行器。 这项设计的优势如下ÿ…...
快速识别模型:simple_ocr,部署教程
快速识别图片中的英文、标点符号、数学符号、Emoji, 模型会输出图片中文字行的坐标位置、最低得分、识别结果。当前服务用到的模型:检测模型、数字识别、英文符号识别。 一、部署流程 1.更新基础环境 apt update2.安装miniconda wget https://repo.anaconda.com/…...
Qt交叉编译x86和arm心得
最近一直在Linux上开发qt程序,主要工作是在x86的Ubuntu上开发编译调试程序,确定没有问题后交叉编译到arm的linux系统上运行 1.环境 Qt的交叉编译环境厂家已经提供了,嵌入式的同事帮我安装调试的,具体就是装了厂家给的gcc编译套件…...
用CAXA CAD电子图板导入图框、标题栏并导出pdf的方法
1.导入图框: 点击调入图框->出现读入图框文件 一个一个点击,选择合适的图框 然后点击导入 2.导入标题栏: 调入标题栏->出现读入标题栏文件 一个一个点击,选择合适的标题栏,然后点击导入 3.导出pdf&#x…...
在 Ubuntu/Debian 上安装 Go
使用官方二进制文件安装(推荐) Go 提供了官方的二进制安装包,适用于大多数 Linux 发行版,包括 Ubuntu 和 Debian。步骤如下: 更新包索引: bash sudo apt update 安装依赖(如果尚未安装&#…...
设计模式之策略模式-工作实战总结与实现
文章目录 应用场景存在问题解决方案继续延伸 应用场景 假设有这样的业务场景,大数据系统把文件推送过来,根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码: public class Question {public static void main(String[] args…...
自动语音识别(ASR)与文本转语音(TTS)技术的应用与发展
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
实验十三 生态安全评价
1 背景及目的 生态安全是生态系统完整性和健康性的整体反映,完整健康的生态系统具有调节气候净化污染、涵养水源、保持水土、防风固沙、减轻灾害、保护生物多样性等功能。维护生态安全对于人类生产、生活、健康及可持续发展至关重要。随着城市化进程的不断推进&…...
【MySQL实战45讲笔记】基础篇——redo log 和 binlog
系列文章 基础篇——MySQL 的基础架构 目录 系列文章1. 重要的日志模块:redo log 和 binlog1.1 redo log1.2 binlog1.3 执行器和 InnoDB 引擎内部如何执行更新语句 1. 重要的日志模块:redo log 和 binlog 前面系统的了解了一个查询语句的执行流程&…...
Java 基于SpringBoot+vue框架的老年医疗保健网站
大家好,我是Java徐师兄,今天为大家带来的是Java Java 基于SpringBootvue框架的老年医疗保健网站。该系统采用 Java 语言开发,SpringBoot 框架,MySql 作为数据库,系统功能完善 ,实用性强 ,可供大…...
Java集合分页
一、前言 在Java开发中,若单次展示的数据量太大,会造成程序响应缓慢,就需要用到分页功能,每一页展示一定量的数据,分多次展示 ... 那么在List集合中,如何实现分页功能呢? 本文将以3种方式&…...
python语言基础-5 进阶语法-5.5 上下文管理协议(with语句)
声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。 5.5 上下文管理协议(with语句)(参考链接࿱…...
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
1、打开pycharm 没有pycharm的,在站内搜索安装教程即可。 2、点击“文件”“新建项目” 3、创建项目,Python版本中选择Python39。如果没有该版本,选择下面的Python 3.9下载并安装。 4、打开软件包,搜索“deep-forest”软件包&am…...
技术美术百人计划 | 《2.1 色彩空间介绍》笔记
总览 一、色彩发送器 色彩认知: 光源是出生点,光源发射出光线,光线通过直射反射折射等路径最终进入人眼。 但人眼接收到光线后,人眼的细胞产生了一系列化学反应。 由此把产生的信号传入大脑,最终大脑对颜色产生了认…...
设计模式:6、装饰模式(包装器)
目录 0、定义 1、装饰模式包含的四种角色 2、装饰模式的UML类图 3、示例代码 0、定义 动态地给对象添加一些额外的职责。就功能来说装饰模式相比生成子类更为灵活。 1、装饰模式包含的四种角色 抽象组件(Component):抽象组件是一个抽象…...
vue-office:word(.docx)、pdf、excel(.xlsx,.xls)格式文件预览
vue-office:word(.docx)、excel(.xlsx,.xls)格式文件预览 组件安装 // docx文档预览组件 npm install vue-office/docx vue-demi0.14.6// excel文档预览组件 npm install vue-office/excel vue-demi0.14.…...
简单工厂模式
简单工厂模式详解 定义 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,用于创建对象的实例。通过一个工厂类来决定实例化哪一个具体类,降低客户端与具体类之间的耦合。 对于长switch或者长if、else,且…...
得物彩虹桥架构演进之路-负载均衡篇
文 / 新一 一、前言 一年一更的彩虹桥系列又来了,在前面两期我们分享了在稳定性和性能2个层面的一些演进&优化思路。近期我们针对彩虹桥 Proxy 负载均衡层面的架构做了一次升级,目前新架构已经部署完成,生产环境正在逐步升级中…...
【大数据学习 | Spark-Core】spark-shell开发
spark的代码分为两种 本地代码在driver端直接解析执行没有后续 集群代码,会在driver端进行解析,然后让多个机器进行集群形式的执行计算 spark-shell --master spark://nn1:7077 --executor-cores 2 --executor-memory 2G sc.textFile("/home/ha…...
macos 使用 nvm 管理 node 并自定义安装目录
系统环境:MacOS Version 参考文章: Github 地址:https://github.com/nvm-sh/nvm 安装的方式是很简单的,直接执行下面的命令即可: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bas…...
MongoDB分片集群搭建
什么是分片 分片是一种跨多台机器分布数据的方法。MongoDB 使用分片来支持超大数据集和高吞吐量操作的部署。什么情况下使用分片 存储容量受单机限制,即磁盘资源遭遇瓶颈。读写能力受单机限制,可能是CPU、内存或者网卡等资源遭遇瓶颈,导致读…...
MySQL数据库基础
1.数据库的操作 1.1 显示当前数据库 show databses; 1.2 创建数据库 create database [if not exist] db_name; 创建名为db_test1的数据库 create database db_test1; 说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集;utf8,校验规则是 utf8_general_c…...
前端性能优化
前端性能优化是提升用户体验的重要环节,优化的目标是减少页面加载时间、提高交互响应速度、降低资源消耗。以下从 加载性能优化、渲染性能优化 和 交互性能优化 三个维度详细说明: 一、加载性能优化 目标是减少页面首次加载时间,提升页面的加…...
深度学习中的正则化技术
在深度学习中,正则化是一种防止模型过拟合的重要手段。过拟合是指模型在训练数据上表现良好,但在未见数据上表现不佳的现象。正则化通过引入额外的约束或信息来限制模型的复杂性,从而提高模型的泛化能力。本文将介绍几种常见的正则化技术&…...
工商银行湖仓智一体创新应用实践
数智技术已经成为企业数字化转型的核心动力 国家《“十四五”数字经济发展规划》指出数字经济是未来的主要经济形态,数据因其倍增效应和乘数效应,可以带来全要素效率的提升,已经成为数字经济的核心要素资源,是企业数字化转型的新要素、新动能。为了高质量推进企业数字化转…...
测试实项中的偶必现难测bug之模糊匹配逻辑
问题: 现在有一个场景,如果只是通过功能测试会比较难测,例如刚开始我们做会员的时候,只有白银会员,在用户分群的场景下,需要用条件逻辑匹配,当时开发用了like的匹配方式没有问题。1年后加了白银试用会员,导致在统计会员分群的时候明明条件选的是白银会员,但是统计的数…...
金融科技白皮书:2022-2023年度回顾与前瞻
在金融科技领域,2022至2023年见证了一系列创新技术的应用和发展。本白皮书将回顾过去一年的主要成就,并展望未来一年的发展趋势。 2022年亮点回顾 **低代码平台:**低代码平台通过高度抽象化和自动化的可视化过程,简化了应用程序开…...
40分钟学 Go 语言高并发:sync包详解(下)
sync包详解(下) 学习目标 知识点掌握程度应用场景WaitGroup使用熟练使用和理解原理并发任务的同步等待Once实现原理理解底层实现和使用场景单例模式、一次性初始化Pool性能优化掌握对象池的使用和调优高并发下的内存优化Cond应用场景了解条件变量的使用…...
android 使用MediaPlayer实现音乐播放--权限请求
在Android应用中,获取本地音乐文件的权限是实现音乐扫描功能的关键步骤之一。随着Android版本的不断更新,从Android 6.0(API级别23)开始,应用需要动态请求权限,而到了android 13以上需要的权限又做了进一步…...
空间计算、物理计算、实时仿真与创造拥有「自主行为」的小狗 | 播客《编码人声》
「编码人声」是由「RTE开发者社区」策划的一档播客节目,关注行业发展变革、开发者职涯发展、技术突破以及创业创新,由开发者来分享开发者眼中的工作与生活。 虚拟世界与现实世界的界限逐渐模糊,已然成为不争的事实。但究竟哪些曾经的幻想已然…...
Day24 回溯算法part03
93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:代码随想录 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili class Solution {private List<String> resul…...
PyTorch:如何使用TensorBoard优化和监控深度学习模型
如何使用TensorBoard优化和监控深度学习模型 为了提供一个更加详细和完整的指南关于如何使用 TensorBoard 进行深度学习模型的监控与优化,我们将从TensorBoard的基础知识开始,一步步探讨如何设置和利用其各项功能。 1. TensorBoard简介与基本架构 Ten…...
FastAPI重载不生效?解决PyCharm中Uvicorn无法重载/重载缓慢的终极方法!
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 重载缓慢 📒📝 问题概述🚨 相关原因📝 解决方案一📝 解决方案二📝 解决方案三📝 解决方案四⚓️ 相关链接 ⚓️📖 介绍 📖 在使用FastAPI开发时,reload=True 本应让你在修改代码后自动重启服务,提升开发效率…...
利用 GitHub 和 Hexo 搭建个人博客【保姆教程】
利用 GitHub 和 Hexo 搭建个人博客 利用 GitHub 和 Hexo 搭建个人博客一、前言二、准备工作(一)安装 Node.js 和 Git(二)注册 GitHub 账号 三、安装 Hexo(一)创建博客目录(二)安装 H…...
【无标题】
通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 2.判断服务是否安装 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务 没有安装;安装对应的软件包 3.测试 判断服务是否成功运行&a…...
金融数据中心容灾“大咖说” | 美创科技赋能“灾备一体化”建设
中国人民银行发布的《金融数据中心容灾建设指引》(JR/T 0264—2024)已于2024年7月29日正式实施。这一金融行业标准对金融数据中心容灾建设中的“组织保障、需求分析、体系规划、建设要求、运维管理”进行了规范和指导。面对不断增加的各类网络、业务、应…...
数据集-目标检测系列- 荷花 莲花 检测数据集 lotus>> DataBall
数据集-目标检测系列- 荷花 莲花 检测数据集 lotus>> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1)数据集可视化项…...