场景 当我们的 .ts 文件中没有 import or export 时 // 假设这是一个 a.ts 文件 const a = 1; 会出现如下报错 TS1208: 'd.ts' cannot be...,其中定义的变量函数都是全局可见的 (不建议使用,因为它会容易造成代码命名冲突,全局变量污染,比如 a.ts 中定义的变量在另一个文件 b.ts 可以直接读取),这个时候在文件中添加任意一个 import...{ Test } 它到底导出的是一个类型还是一个实实在在的 js 方法或者变量,这时候 Babel 选择保留了 export。...但是 a.ts 文件在转换时可以很容易的判定它就导出了一个类型,在转换为 js 时,a.ts 中的内容将被清空,而 b.ts 中导出的 Test 实际上是从 a.ts 中引入的,这时候就会产生报错。...如何解决上述问题 ts 提供了 import type or export type,用来明确表示我引入/导出的是一个类型,而不是一个变量或者方法,使用 import type 引入的类型,将在转换为
字体格式将会告诉页面在 Markdown 文件的最上端,使用 3 个横线作为开始和结束。其中包括有 YAML 内容,下面为可以支持的关键字,包括有表头,描述和关键字是否是必须的。...description 是 一个描述页面内容的例子,将会添加到 HTML 的 metadata 上面。...如果选择 true 的话, TOC 将不会在 HTML 输出的时候创建。默认的配置选项是 false。针对没有页面头部内容,将会创建相同的显示页面。...下面显示的内容是一个有效的页面 Metadata 配置(没有转换为 HTML)页面。在预页面格式中内容的顺序是没有关系的,你可以随意调整上面参数的顺序。.../ title: Get Docker for Ubuntu toc_min: 1 toc_max: 6 skip_read_time: true no_ratings: true --- 上图显示的是一个预页面格式
作用域 1.1 全局作用域 在script标签下直接声明的变量或函数,都会在全局作用域下。...也叫局部作用域,如果一个变量是在函数内部声明的,它就处于函数作用域。...只适用于let、const,被这俩关键字定义的变量会产生块级作用域。...在使用一个变量的时候,首先js会先在当前作用域下去寻找该变量,如果没找到,再到它的上层作用域寻找,以此类推直到找到该变量或是已经到了全局作用域。...预解析 js运行分为两步:预解析,代码执行 预解析:var声明的变量(不赋值)和函数,会被提升到当前作用域最前面 代码执行:按照代码书写的顺序从上往下执行 预解析优先级: 函数>变量 因为函数提升是整体提升
CV的辛勤搬运工 前言 本文来自来自迪菲赫尔曼迪导(强烈推荐此导):深度解析预训练权重的本质和作用:你真的了解它们吗?_预训练权重是干什么的-CSDN博客 一、预训练权重的本质是什么?...四、改进自定义模型是否需要使用预训练权重?改变了网络结构后,预训练权重还有作用吗? 为了训练自定义模型,通常使用大量标注好的图像数据来训练模型。...七、如何预训练一个权重呢?预训练的大数据集必须和我的小数据集相似吗?...在这种情况下,可能需要从头开始训练模型,或者使用其他技术来提高模型的性能。 八、模型冻结训练是什么?有什么作用?...通常情况下,被固定的层一般是预训练模型的前几层或所有层,这些层被认为是抽取特征的部分。 模型冻结训练的作用是提高模型的训练效率和泛化能力。
【MySql】MySql索引的作用&&索引的理解 索引的作用 索引是与效率挂钩的,所以没有索引,可能会存在问题 索引:提高数据库的性能,索引是物美价廉的东西了。...它有着更高的IO场景,所以,为了提高基本的IO效率, MySql 进行IO的基本单位是16KB:MySql是应用层服务,是不可能直接访问硬件的,这个16KB是站在MySql角度向OS提出来的,OS内部存在文件缓冲区的...首先磁盘上有对应的文件数据,文件数据最终会被预读到文件缓冲区,mysql启动的时候会申请buffer pool,mysql层面上,所有的page都会被放到buffer pool中,理解mysql中page...的概念:一个page是16KB,mysql内部一定需要并且会存在大量的page,也就决定了mysql必须要将多个同时存在的page管理起来。...这样就显得我们之前的Page内部的目录,作用没那么大了。 所以,我们给Page也带上目录。 使用一个目录项来指向某一页,而这个目录项存放的就是将要指向的页中存放的最小数据的键值。
ES5中只分为全局作用域和函数作用域java作用域,也就是说for,if,while等语句是不会创建作用域的。ES6(let,const)除外。 ...寻找变量的过程就是从变量作用域链开始查找的,如果在当前的变量作用域没找到,那么就去上一个变量作用域里面去早 作用域链创建的过程: 预编译 先来理解一下预编译,看例子: ...} 第三个.log()的时候AO对象为 AO: { a: 10, b: , c: , d: () {}, f: () {} } 注意: 在预编译的时候,像let和const这种块级作用域的...,如果放到if语句里面,是不会被添加到AO或者GO对象里面的,像上面的例子中if里面如果换成let或者const的话,预编译阶段是不会被添加进去的 作用域链 看例子: 第一步:a函数被定义,...需要注意的时候,函数存储被定义时的上下文的时候java作用域,只是存储的是一个引用,而不是副本,正是因为这样,才能形成作用域链,当函数在本函数的AO对象找不到的时候,就沿着本函数的[[scope]]存储的上一个作用域的变量对象的引用到上一个作用域里面去早
在JS中,引擎,编译器,作用域分别扮演以下角色: 引擎:负责整个Js程序的编译以及执行过程。 编译器:负责语法分析以及代码生成等。...作用域:负责收集并维护所有声明的标示符(变量)组成的一系列查询,并实施一套严格的规则,确定当前执行的代码对这些标识符的访问权限。 ...下面用一个小例子来表示: var a = 2; 1.首先,遇到var a,编译器会询问当前作用域是否有一个该变量存在,如果存在,编译器则会忽略进行下一步,否则编译器会要求作用域在当前声明一个新的变量...2.接下来编译器会为引擎生成运行时所需要的代码,这些代码被用来处理 a = 2这个赋值操作,引擎运行时首先询问作用域,是否存在变量a,若存在,引擎就会直接使用该变量,否则引擎会继续向上一个作用域寻找,直到找到为止...在变量还未声明的情况下(即在任何作用域都找不到该变量),这两种查询的方式是不同的。
这是学习笔记的第 2342篇文章 最近在团队内聊了下关于MySQL 8.0的特性调研工作,其实线上已经稳定运行了近20%的业务,但是很多思维模式和习惯还是继承自5.7,所以需要与时俱进,在技能上能够引导开发同学...当然对于MySQL 8.0,有很多同学还是带有意思疑问,这个版本稳定吗,适不适合生产环境,如何平滑的升级到新的版本中,对此我们的调研工作需要做细做深,每一个技术点上都需要一些测评数据和对比数据的支撑。...*5.索引基础 对于业务侧来说,如何正确的理解索引的实现原理是最基础的需求,通常来说,对索引基础的理解是很多开发性能问题的根因。...8.备份恢复,整体的备份恢复的支撑能力 *9.高可用方面,从5.7升级到8.0有什么影响,目前已经有哪些业务使用,哪些方面需要特意说明 10.MySQL 5.5升级到8.0的建议和策略 这里着重需要交付的是跨大版本升级的路线图...19.redo归档 这是一个需要格外关注的特性,归档也就意味着redo可以更加灵活。 20.新增mysql.innodb_ddl_log 这个特性让我比较纠结,但是还是希望能够深入测试一下。
在MySQL中,锁是用于控制对数据库对象的并发访问的一种机制。锁可以防止多个事务同时对同一数据进行修改或删除,以确保数据的完整性和一致性。...表锁适用于读多写少的情况,但可能会造成一定的性能开销。 在MySQL中,使用锁需要注意以下几点: 在MySQL中,使用锁是确保数据完整性和一致性的关键机制之一。...然而,不正确的锁使用可能导致性能问题、死锁和数据不一致。本文将讨论在MySQL中使用锁时需要注意的几个关键方面,以及一些建议的最佳实践。...3.6 监控与优化 监控锁的使用情况:使用MySQL的性能监控工具监测锁的使用情况,及时发现并解决潜在问题。...使用锁分析工具:在需要时,使用MySQL的锁分析工具(如`SHOW ENGINE INNODB STATUS`)来检查锁的状态和锁等待情况。 4.
(易错点:fn存储的是一个地址,代表的是当前函数的整体) 3、预解释、变量提升 var num=12; 1>在当前的作用域中,js代码执行之前,浏览器首先会默认的把所有带var和function...function-->在预解释的时候是声明+定义都完成了 3>预解释只发生在当前作用域当中,例如:开始只对Window下的进行预解释,只有函数执行的时候才会对函数中 的进行预解释...----------- 如何区分私有变量和全局变量: 1、预解释的时候,在全局作用域下声明的变量是全局变量 2、在私有作用域中声明的变量(预解释的时候)和函数的形参都是私有的变量 作用域链:在私有作用域中...一直找到window为止 当函数执行的时候,首先会形成一个新的私有的作用域,然后按照以下步骤执行: 1、如果有形参,先给形参赋值 2、进行私有作用域中的预解释 3、私有作用域中的代码从上到下执行 .....2》预解释的时候只预解释“=”左边的,右边的是值,不参与预解释 3》自执行函数定义的function在全局作用域下不进行预解释 4》函数体中return下面的代码虽然不执行了,但是需要预解释,return
MySQL配置中sql_mode的作用 不知道你有没有踫到过这种问题,在 MySQL8 默认的情况下,我们之前习惯的为 DateTime 类型指定的 0000-00-00 这种格式是无法插入或者修改数据的...其实这种情况就是 MySQL 模式设置的问题,也就是我们今天要讲的 sql_mode 这个参数属性的作用。...sql_mode 根据官网的解释,MySQL 服务器是可以在不同的 SQL 模式中运行的,这个模式会影响 MySQL 支持的 SQL 语法及其执行的数据验证检查。...总结 今天的内容简单地介绍了一下 sql_mode 这个属性相关的作用以及一些常用的参数设置。另外还有一部分设置可能使用得比较少,而且大部分情况下我们也不太会去修改这一块的配置,所以大家了解一下即可。...在转移或升级到 MySQL8 之后,其实最常见的问题就是上面说过的日期问题,0格式日期这种形式其实是已经过时的方式了,也是不推荐的方式,所以在 MySQL8 中会默认在严格模式下禁用这种形式的日期存储,
前两天同事提了一个问题,相同的SQL,两个人在各自的机器上执行的时间不同。再沟通了下,一个人使用的Navicat,秒级返回,另一个人使用的DBeaver,毫秒返回,但是执行的SQL是相同的。..., 但是检索了下这个条件范围内结果集的总数,大概是50万,因为执行计划是按照非聚簇索引扫描,select所有的字段,所以还得回表,50万的数据,资源消耗,应该不小,执行慢是正常的。...我们看下DBeaver的配置,确实有个结果集数据的获取值,默认是200,这和回显能对应, 为了证明这点,我们在DBeaver执行SQL的时候指定limit,他的执行时间,就很久了,和在Navicat很相近...where publish_time>='2020-07-09 00:00:00' and publish_time<='2020-08-08 23:59:59' limit 100000; 说明不同的客户端在得到结果集的机制上还是存在不同的...,Navicat执行SQL就是所有的结果集数据(或许应该存在相同的配置),DBeaver则会控制结果集,默认配置很小,前者保证的是一次性得到所有数据,但是可能OOM,后者要得到所有的数据可能需要点多次,
编译器的部分工作是寻找程序代码中的错误。编译器不能查出程序的意义是否正确。 但它能够查出程序形式上的错误。以下是编译器能查出的最普遍的一些错误: (1)语法错误。程序猿犯了c++语言中的语法错误。...C++中每一个数据项都有相关联的类型。 类型错误的一个实例是传递了字符串字面值给应该得到整型參数的函数。 (3)声明错误。...C++程序中使用的每一个名字必须在使用之前声明。没有声明名字一般会导致 错误信息。...最常见的两种声明错误,是从标准库中訪问名字时忘记使用 “std::”, 以及因为疏忽而拼错标示符名。
与其它数据库不同,MySQL可以运行在不同的SQL Mode下。SQL Mode定义MySQL应该支持什么样的SQL语法,以及它应该执行什么样的数据验证检查。...通过设置SQL Mode为ANSI,保证大多数SQL符合标准的SQL语法。 通过设置SQL Mode,可以使MySQL上的数据更方便的迁移到目标数据。...TRADITIONAL,使MySQL的行为像一个“传统”的SQL数据库系统。在向列中插入错误值时,此模式“给出错误而不是警告”。...MySQL 5.7的清单如下: ANSI,等同于REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, and (as of MySQL 5.7.5...MYSQL323,等同于MYSQL323, HIGH_NOT_PRECEDENCE。 MYSQL40,等同于MYSQL40, HIGH_NOT_PRECEDENCE。
严格来讲,不应该叫“mysql条件判断语句case when语法”的,它的专业语术是:“mysql流程控制语句case语法”;这一点对于做程序的人来说一定要清楚。...[ELSE statement_list] END CASE CASE存储程序 的语句实现了一个复杂的条件结构。 注意:也有一个表达,这不同于这里描述的 陈述。...将该值与when_value每个WHEN子句中的表达式进行 比较, 直到其中一个相等。当when_value找到平等时,相应的THEN子句 statement_list执行。...每个statement_list由一个或多个SQL语句组成; 一个空的 statement_list是不允许的。...CASE代码示例: 1、要处理没有任何值与任何WHEN子句匹配的情况 ,请使用ELSE 包含空白 BEGIN ... END块的情况,如下所示。
那么都 9012 年了源码方式编译安装mysql过时了吗?谁还自己部署mysql数据库呢?上云啊、用容器啊、多好多便捷!...没有过时、仍然有效,挨踢圈有一句名言说的好 "没有最好的方案,只有最适合的方案",虽然上云、容器化、微服务化是大势所趋,不过某些场景下还是有源码编译安装的需求。...编译、配置、安装步骤。...# ...省略 mysql> 小结 ---- 最后来总结下文章中的知识点 无论是源码方式,还是二级制方式,没有最好的方案,只有最适合的方案。...源码方式的优点,是安装参数可以定制化,按照需求编译程序,灵活性大。 ----
/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz tar zxvf mysql-boost-5.7.18.tar.gz 三、创建mysql用户组... groupadd mysql useradd -g mysql mysql 四、编译安装mysql cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql... 1.设置mysql用户权限 chown -R mysql /usr/local/mysql chgrp -R mysql /usr/local/mysql 2.修改配置文件 ...,更改root密码时使用 image.png 3.启动mysql /usr/local/mysql/support-files/mysql.server start 4.设置mysql...root密码 mysql -h 127.0.0.1 -u root -p 上面截图里初始化时的密码:<c6dqzE<;0;w image.png
适当的调整MySQL的编译参数,可以极大的提升MySQL的性能,官方文档说可以提升10-30%的性能。...,如果你是Intel Pentium4 支持64位的CPU就试用nocona这个参数,如果你是Intel Core2则使用core2这个参数。...详细的cpu支持参数列表在这里 Unix Socket 7.5% –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock 使用unix套接字链接提高...7.5%性能,所以在windows下mysql性能肯定不如unix下面 –enable-assembler 允许使用汇编模式(优化性能) CFLAGS="-O3 mnocona" CXX=gcc.../configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags
环境说明 系统版本 CentOS 7.2 x86_64 软件版本 mysql-5.6.40 编译步骤如下: [root@db01 ~]# mkdir -p /service/tools [root...指定默认字符集 -DDEFAULT_COLLATION=utf8_general_ci \ #指定默认校验规则 -DWITH_EXTRA_CHARSETS=all \ #指定扩展支持的字符集...DENABLED_LOCAL_INFILE=1 \ #启用加载本地数据 -DWITH_EMBEDDED_SERVER=1 \ #嵌入式服务器 -DENABLE_DOWNLOADS=1 \ #编译时允许自主下载相关文件...@db01 mysql-5.6.40]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir...=/application/mysql/data --user=mysql #初始化 [root@db01 mysql-5.6.40]# chown -R mysql:mysql /application
对于 MySQL 数据库来说,我们最常遇到的就是关于其优化的问题。在面试的过程中,面试官必问的一个问题也是 MySQL 的优化问题。...今天,我们在这里不展开说明这些问题,而是跟大家介绍在这些优化的层面中,有哪些是优化对 MySQL 数据库来说作用微乎其微,以便我们在产生环境中调优 MySQL 数据库时,避免一些不必要的优化。...其中,CPU 处理数据的能力的强弱直接影响着 MySQL 数据库处理数据的时间,也就是说 CPU 处理数据的能力越强,MySQL 数据库在处理数据时的速度就越快。...为了解决这一问题,MySQL 数据库提供了一个 max_connections 参数,这个参数的主要作用是限制同一时间创建 MySQL 数据库的连接的上限。...在硬件层面的优化我们并不是单纯地认为硬件的性能越好对 MySQL 数据库优化的作用就越好,而是需要配合 MySQL 数据库的配置,以至于 MySQL 数据库能够更好地适配该硬件。
领取专属 10元无门槛券
手把手带您无忧上云