当前位置: 首页 > news >正文

MySQL 8.0 OCP认证精讲视频、环境和题库之五 事务、缓存

 redo log buffer:


   缓存与事务有关的redo log ,用来对mysql进行crash恢复,不可禁用;
   日志缓冲区是存储要写入磁盘上日志文件的数据的内存区域。日志缓冲区大小由innodb_Log_buffer_size变量定义。
   默认大小为16MB。日志缓冲区的内容会定期刷新到磁盘。大型日志缓冲区使大型事务能够运行,
   而无需在事务提交之前将重做日志数据写入磁盘。因此,如果您有更新、插入或删除许多行的事务,
   那么增加日志缓冲区的大小可以节省磁盘I/O
变量innodb_log_buffer_size:
    指定redo log buffer的大小;
变量innodb_log_group_home_dir:
    指定redo log file的路径
变量innodb_log_files_in_group :
    每组日志组中包含的日志文件个数;

    mysql> show variables like 'innodb_log_group_home_dir';
    +---------------------------+-------+
    | Variable_name             | Value |
    +---------------------------+-------+
    | innodb_log_group_home_dir | ./    |
    +---------------------------+-------+
    1 row in set (0.00 sec)    
    mysql> show variables like 'innodb_log_files_in_group';
    +---------------------------+-------+
    | Variable_name             | Value |
    +---------------------------+-------+
    | innodb_log_files_in_group | 2     |
    +---------------------------+-------+
    1 row in set (0.00 sec)

    mysql> show variables like 'datadir';
    +---------------+-------------------+
    | Variable_name | Value             |
    +---------------+-------------------+
    | datadir       | /data/mysql/data/ |
    +---------------+-------------------+
    1 row in set (0.00 sec)

    mysql> 
    [root@student ~]# ls  /data/mysql/data/*logfile*
    /data/mysql/data/ib_logfile0  /data/mysql/data/ib_logfile1
    组中共有两个logfile
    [root@student ~]# du -m  /data/mysql/data/*logfile*     #48MB
    48    /data/mysql/data/ib_logfile0
    48    /data/mysql/data/ib_logfile1
    [root@student ~]# 
    mysql> show variables like 'innodb_log_file_size';  #日志大小
    +----------------------+----------+
    | Variable_name        | Value    |
    +----------------------+----------+
    | innodb_log_file_size | 50331648 |
    +----------------------+----------+
    1 row in set (0.01 sec)
    mysql> select 50331648/1024/1024;
    +--------------------+
    | 50331648/1024/1024 |
    +--------------------+
    |        48.00000000 |
    +--------------------+
    1 row in set (0.00 sec)

    mysql> 
  修改日志组和日志文件大小
    [root@student ~]# systemctl stop mysql
    [root@student ~]# cat  /etc/my.cnf
    [mysqld]
    datadir=/data/mysql/data/
    socket=/data/mysql/mysql.sock

    innodb_buffer_pool_chunk_size=64M
    innodb_buffer_pool_size=256M

    innodb_log_file_size=100M
    innodb_log_files_in_group=4
    
   [root@student ~]# systemctl start mysql
    mysql> show variables like '%innodb_log%';
    +------------------------------------+-----------+
    | Variable_name                      | Value     |
    +------------------------------------+-----------+
    | innodb_log_buffer_size             | 16777216  |
    | innodb_log_checksums               | ON        |
    | innodb_log_compressed_pages        | ON        |
    | innodb_log_file_size               | 104857600 |   #100MB 
    | innodb_log_files_in_group          | 4         |   #4个logfile 
    | innodb_log_group_home_dir          | ./        |
    | innodb_log_spin_cpu_abs_lwm        | 80        |
    | innodb_log_spin_cpu_pct_hwm        | 50        |
    | innodb_log_wait_for_flush_spin_hwm | 400       |
    | innodb_log_write_ahead_size        | 8192      |
    +------------------------------------+-----------+
    [root@student ~]# du -m  /data/mysql/data/ib_logfile*
    100    /data/mysql/data/ib_logfile0
    100    /data/mysql/data/ib_logfile1
    100    /data/mysql/data/ib_logfile2
    100    /data/mysql/data/ib_logfile3
    [root@student ~]# 
    
    redo log buffer:缓存与事务有关的redo log,用来对mysqldi进行crash恢复,不可禁用
    变量innodb log buffer size:指定redo log buffer的大小
    变量innodb_log_group_home_dir:指定redo log文件的路径
    变量innodb_log_files_in_group:指定Redo log.文件的数量
    变量innodb_log_file_size:指定每个redo log文件的大小
    实验:redo log的设置:
    1、查看上述变量I
    2、通过set命令指定redo log buffer的大小为32M
    3、在选项文件中指定相关变量,设置redo log buffer的大小为32M,设置redo log.文件为4个,每个文件100M
    重新启动mysqld服务,再此查看上述变量

存储引擎

列出 mysql所支持的存储引擎
mysql>show engines;

默认存储引擎为innoDB,不可禁用

mysql> show engines;

只有InnoDB  和DBcluster支持事务acid

mysql> use testdb
mysql> create table t1(id integer);
mysql> start transaction;
mysql> insert into t1 values(1);
mysql> select * from t1;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

mysql> insert into t1 values('xyz');
ERROR 1366 (HY000): Incorrect integer value: 'xyz' for column 'id' at row 1
mysql> rollback;
mysql> select * from t1;
Empty set (0.00 sec)

#体现要么全部成功,要么全部失败

LAMP:Linux Apache mysql PHP


加锁的级别:


    InnoDB:行级锁
    MyISAM:表级锁
数据字典:系统表
表空间:一种逻辑结构,用于组织表和索引,位于表和数据文件之间

实验1:存储引擎


1、创建数据库testdb,进入数据库
    create databases testdb;
    use testdb;
2、 创建表t1,存储引擎为myisam
    create table t1(id integer) engine=myisam
3、在表上执行事务,观察事务的rollback
    start transaction;
    insert into t1 values(100);
    insert into t1 values('xyz');#观赛错误信息;
    rollback ;
    mysql> rollback ; #回滚之后数据还在,因为mysql 不支持ACID
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> select * from t1;
    +------+
    | id   |
    +------+
    |  100 |
    +------+
    1 row in set (0.00 sec)


4、创建表t2 存储引擎为innodb,在表上执行事务,观察事务的rollback
    create table t2(id integer) engine=innodb;
    start transaction;
    insert into  t2 values(100);
    insert into  t2 values('xyz');#观赛错误信息;
    rollback;                     #rollback 之后,刚插入的数据全部回滚
    
    mysql> select * from t2;
    Empty set (0.00 sec)

5、 把t1表的存储引擎改为innnodb;
    alter table t1 engine innodb;
    mysql> start transaction;
    Query OK, 0 rows affected (0.00 sec)

    mysql> insert into t1 values(22);
    Query OK, 1 row affected (0.00 sec)

    mysql>  insert into  t2 values('xyz');
    ERROR 1366 (HY000): Incorrect integer value: 'xyz' for column 'id' at row 1
    mysql> rollback;
    Query OK, 0 rows affected (0.02 sec)

    mysql> select * from t1;
    +------+
    | id   |
    +------+
    |  100 |
    +------+
    1 row in set (0.00 sec)

    mysql> 
 

表空间

表空间的类型

  1.     System Tablespace
  2.     Undo Tablespaces
  3.     General Tablespaces
  4.     File-Per-Table Tablespaces
  5.     Temporary Tablespace

   System Tablespace

 在MySQL 8.0中,InnoDB将元数据存储在MySQL数据字典中.在以前的MySQL版本中,系统表空间也包含双写缓冲区存储(Doublewrite Buffer)区域。从MySQL 8.0.20开始,此存储区域位于单独的双写文件中.

系统表空间可以有一个或多个数据文件。默认情况下,在数据目录中创建一个名为ibdata1的系统表空间数据文件。

与系统表空间有关的变量:

        innodb_data_file_path:系统表空间数据文件的名称、初始大小和数量,是否自动扩展;

         innodb_data_home_dir   :系统表空间数据文件的路径,如果为空,则是数据文件路径 

        innodb_autoextend_increment:每次扩展系统表空间时的自动扩展量

mysql> show variables like '%innodb_data%';
+-----------------------+------------------------+
| Variable_name         | Value                  |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
| innodb_data_home_dir  |                        |
+-----------------------+------------------------+
2 rows in set (0.00 sec)

[root@student ~]# du -m  /data/mysql/data/ibdata1;
12    /data/mysql/data/ibdata1

mysql> show variables like 'innodb_autoextend_increment';
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| innodb_autoextend_increment | 64    |
+-----------------------------+-------+
1 row in set (0.01 sec)

扩展系统表空间

需要在配置文件中更改

扩容:

[mysqld]
datadir=/data/mysql/data/
socket=/data/mysql/mysql.sock

innodb_buffer_pool_chunk_size=64M
innodb_buffer_pool_size=256M

innodb_log_file_size=100M
innodb_log_files_in_group=4

#innodb_data_file_path=ibdata1:10M:autoextend
innodb_data_home_dir=
innodb_data_file_path=/data/mysql/data/ibdata1:12M;/data/mysql/data/ibdata2:480M:autoextend:max:960M
不能通过更改现有系统表空间数据文件的大小属性来增加其大小。例如,在启动服务器时,将innodb_data_file_path设置从ibdata1:12M:autoextend更改为ibdata1:120M:autoextend会生以下 类似错误:

[ERROR] [MY-012263] [InnoDB] The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
###只有最后一个文件才可以自动扩展

验证

mysql> show variables like '%innodb_data%';
+-----------------------+--------------------------------------------------------------------------------+
| Variable_name         | Value                                                                          |
+-----------------------+--------------------------------------------------------------------------------+
| innodb_data_file_path | /data/mysql/data/ibdata1:12M;/data/mysql/data/ibdata2:480M:autoextend:max:960M |
| innodb_data_home_dir  |                                                                                |
+-----------------------+--------------------------------------------------------------------------------+
2 rows in set (0.01 sec)

mysql> 
 

缩容

不支持减小现有系统表空间的大小。实现较小系统表空间的唯一选择是将数据从备份恢复到使用所需系统表空间大小配置创建的新MySQL实例。

为系统表空间使用原始磁盘分区

MySQL :: MySQL 8.0 Reference Manual :: 15.6.3.1 The System Tablespace

Temporary Tablespaces

 

session temporary tablespaces 

 InnoDB:
会话临时表空间存储用户创建的临时表和优化器创建的内部临时表。从MySQL 8.0.16开始,用于磁盘内部临时表的存储引擎是InnoDB。(以前,存储引擎由internal_tmp_disk_storage_engine的值决定。)

会话临时表空间文件创建时大小为五页,文件扩展名为.ibt。

[root@student ~]# du -m  /data/mysql/data/ibtmp1
12    /data/mysql/data/ibtmp1
innodb_tmp_tablespaces_dir:变量定义了创建会话临时表空间的位置。默认位置是数据目录中的#innodb_temp目录。

INNODB_SESSION_TEMP_TABLESPACES:表提供有关会话临时表空间的元数据。

Information Schema INNODB_TEMP_TABLE_INFO:表提供了关于用户创建的临时表的元数据,这些临时表在INNODB实例中处于活动状态。


global temporary tablespace.

全局临时表空间(ibtmp1)存储对用户创建的临时表所做更改的回滚段。

innodb_temp_data_file_path 

innodb_temp_data_file_path 变量定义全局临时表空间数据文件的相对路径、名称、大小和属性。如果没有为innodb_temp_data_file_path指定值,则默认行为是在innodb_data_home_dir目录中创建一个名为ibtmp1的自动扩展数据文件。初始文件大小略大于12MB。

相关文章:

MySQL 8.0 OCP认证精讲视频、环境和题库之五 事务、缓存

redo log buffer: 缓存与事务有关的redo log ,用来对mysql进行crash恢复,不可禁用; 日志缓冲区是存储要写入磁盘上日志文件的数据的内存区域。日志缓冲区大小由innodb_Log_buffer_size变量定义。 默认大小为16MB。日志缓冲区的内容会定…...

ACL配置

目录 1.使用基本ACL配置交换telnet访问的权限 2.使用高级ACL配置流分类实现限制互访某一台服务器 3.使用二层ACL配置流分类拒绝指定报文通过 4.通过流策略实现策略路由(重定向到不同的下一跳) 5.通过流策略实现不同网段间限制互访 6.通过流策略实现限速功能 7.通过流策略…...

微信小程序修改van-popup的背景颜色

效果图&#xff1a; van-popup背景颜色渐变 使用深度修改样式不生效&#xff0c;直接在 custom-style里面修改即可&#xff1b; <van-popup position"bottom"custom-style"height:25%;background:linear-gradient(95deg, #F8FCFF -0.03%, #EDF5FF 64.44…...

SpringCloud-Nacos

一、介绍 &#xff08;1&#xff09;作为服务注册中心和配置中心 &#xff08;2&#xff09;等价于&#xff1a;EurekaConfigBus &#xff08;3&#xff09;nacos集成了ribbon&#xff0c;支持负载均衡 二、安装 &#xff08;1&#xff09;官网 &#xff08;2&#xff09; …...

动态规划12(Leetcode221最大正方形)

代码&#xff1a; class Solution {public int maximalSquare(char[][] matrix) {int m matrix.length;int n matrix[0].length;int[][]area new int[m][n];area[0][0] matrix[0][0];int max 0;for(int i0;i<m;i){area[i][0] matrix[i][0]1? 1:0;max Math.max(area…...

【Git】bad signature 0x00000000 index file corrupt. fatal: index file corrupt

问题描述 电脑写代码时蓝屏。重启后 git commit 出错。 error: bad signature 0x00000000 fatal: index file corrupt原因分析 当电脑发生蓝屏或异常关机时&#xff0c;Git 的索引文件可能损坏。 解决方案 删除损坏的索引文件。 rm -Force .git/index回退到上一个可用的版…...

GO 语言的函数??

函数是什么&#xff1f; 学过编程的 xdm 对于函数自然不会陌生&#xff0c;那么函数是什么呢&#xff1f; 函数是一段可以重用的代码块&#xff0c;可以被多次调用&#xff0c;我们可以通过使用函数&#xff0c;提高咱们代码代码的模块化&#xff0c;提高程序的可读性和可维护…...

机器学习基础之《回归与聚类算法(3)—线性回归优化:岭回归》

一、什么是岭回归 其实岭回归就是带L2正则化的线性回归 岭回归&#xff0c;其实也是一种线性回归。只不过在算法建立回归方程时候&#xff0c;加上L2正则化的限制&#xff0c;从而达到解决过拟合的效果 二、API 1、sklearn.linear_model.Ridge(alpha1.0, fit_interceptTrue…...

DirectX3D 正交投影学习记录

所谓正交投影变换&#xff0c;就是已知盒状可视空间内任意点坐标(x,y,z)&#xff0c;求解垂直投影到xy平面的对应点坐标。 按照这个定义&#xff0c;xyz坐标系本身就是正交坐标系&#xff0c;盒状可视空间内任意点的坐标(x,y,z)投影到(x,y)平面&#xff0c;只要简单地丢弃z坐标…...

数据挖掘十大算法--Apriori算法

一、Apriori 算法概述 Apriori 算法是一种用于关联规则挖掘的经典算法。它用于在大规模数据集中发现频繁项集&#xff0c;进而生成关联规则。关联规则揭示了数据集中项之间的关联关系&#xff0c;常被用于市场篮分析、推荐系统等应用。 以下是 Apriori 算法的基本概述&#x…...

[蓝桥杯 2022 省 B] 统计子矩阵

题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 11, 最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K。 输入格式 第一行包含三个整数 N, M和 K。 之后 N 行每行包含 M 个整数, 代表矩阵 A。 输出格式 一个整数代表答案。 输入输出样例 输入 #1 3…...

解决在部署springboot项目的docker中执行备份与之相连接的mysql容器命令

文章目录 问题描述解决思路问题解决容器构建mysql客户端安装容器与主机的交互docker中执行 mysqldump 命令解决mysql8密码验证问题解决密码插件警告 问题描述 由于&#xff0c;使用1panel可视化的面板来部署springboot项目&#xff0c;可以很方便地安装和使用mysql&#xff0c…...

正文Delphi XE Android下让TMemo不自动弹出键盘

用TMemo来显示一段说明文字&#xff0c;可一点Memo,就弹出键盘&#xff0c;找了半天控制键盘的属性&#xff0c;没找到。最后将readOnly设置为True搞定。 如果需要一个form都不显示keyboard,那么可以利用全局变量 VKAutoShowMode来控制&#xff0c;这个全局变量可以有下面三个值…...

[1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

测评介绍 本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽&#xff0c;后端使用GO开发&#xff0c;前端使用VUE的Element-Plus作为UI框架&#xff0c;整个面板的管理都是基于docker的&#xff0c;想法很先进。官方还提供了视频的使用教程&…...

PG集合查询

1.运算符 1.1 union并集 连接上下语句 union distinct连接并且去重 all不去重 1.2 intersect交集 上下交集 distinct连接并且去重 all不去重 1.3 except除外 上面除了下面 distinc去重 all不去重...

目标检测应用场景和发展趋势

参考&#xff1a; 目标检测的未来是什么&#xff1f; - 知乎 (zhihu.com)https://www.zhihu.com/question/394900756/answer/32489649815大应用场景 1 行人检测&#xff1a; 遮挡问题&#xff1a;行人之间的互动和遮挡是非常常见的&#xff0c;这给行人检测带来了挑战。非刚性…...

Confluence 自定义博文列表

1. 概述 Confluence 自有博文列表无法实现列表自定义功能&#xff0c;实现该需求可采用页面中引用博文宏标签控制的方式 2. 实现方式 功能入口&#xff1a; Confluence →指定空间→创建页面 功能说明&#xff1a; &#xff08;1&#xff09;页面引用博文宏 &#xff08;…...

chrome历史版本下载

chrome历史版本下载 windows Google Chrome all versions on Windows linux版本 Google Chrome 64bit Linux版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒...

Messari发布Moonbeam简报,每日交易量稳步增长,首次公布利润数据

区块链数据公司Messari首次发布Moonbeam项目分析简报&#xff0c;从项目市值、链上数据表现、质押以及Moonbeam的技术优势XCM使用量等角度全面分析。这个再熊市初期上线的项目一直在默默开发&#xff0c;并在跨链互操作领域拥有了相当的实操成绩。我们翻译了Messari简报中的部分…...

数据库 锁、索引、在实际开发中怎么设置和优化

数据库锁和索引是数据库管理的两个重要方面&#xff0c;它们对于确保数据的一致性和提高查询性能具有重要作用。在实际开发中&#xff0c;正确地设置和优化锁和索引对于构建高效、稳定的系统至关重要。下面是一些关于如何在实际开发中设置和优化锁和索引的建议&#xff1a; 锁…...

超详细彻底卸载Anaconda详细教程

一、在开始处打开Anaconda Prompt 二、打开后&#xff0c;输入conda install tqdm -f命令并按回车键 conda install tqdm -f三、之后页面会出现一个WANNING&#xff0c;这个我们不用在意&#xff0c;然后会出现一个y/n提示框&#xff0c;在这里我们输入y或者Y y四、输入cond…...

Python--随机出拳(random)--if判断--综合案例练习:石头剪刀布

注&#xff1a;涉及相关链接&#xff1a; Python&#xff1a;if判断--综合案例练习&#xff1a;石头剪刀布-CSDN博客 Python语言非常的强大&#xff0c;强大之处就在于其拥有很多模块&#xff08;module&#xff09;&#xff0c;这些模块中拥有很多别人已经开发好的代码&…...

微信小程序里配置less

介绍 在微信小程序里&#xff0c;样式文件的后缀名都是wxss&#xff0c;这导致一个问题&#xff0c;就是页面样式过多的时候&#xff0c;要写很多的类名来包裹&#xff0c;加大了工作量&#xff0c;还很有可能会写错样式。这时可以配置一个less&#xff0c;会大大提高代码编辑…...

MySq修改配置文件

要修改 MySQL 的配置文件,您可以按照以下步骤进行操作: 1、打开 MySQL 的配置文件 在大多数 Linux 系统上,默认的配置文件路径是 /etc/my.cnf 或 /etc/mysql/my.cnf。您可以使用文本编辑器(如 vim、nano)以管理员权限打开该文件。 sudo vim /etc/my.cnf 2、进行修改 …...

HTML 表格及练习

表格 概述 表格是一种二维结构&#xff0c;横行纵列。 由单元格组成。 表格是一种非常“强” 的结构&#xff1a; 每一行有相同的列数&#xff08;单元格&#xff09;&#xff0c;每一列有相同的行数&#xff08;单元格&#xff09; 同一列的单元格&#xff0c;宽度&#…...

YOLOv5-训练自己的VOC格式数据集(VOC、自建数据集)

YOLOv5&#xff1a;训练自己的 VOC 格式数据集 1. 自定义数据集 1.1 环境安装 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple注意&#xff1a; 安装 lxmlPillow 版本要低于 10.0.0&#xff0c;解释链接: module ‘PIL.Image’ has no attri…...

基于Java的考研信息查询系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...

Linux性能优化--性能追踪:受CPU限制的应用程序(GIMP)

10.0 概述 本章包含了一个例子&#xff1a;如何用Linux性能工具在受CPU限制的应用程序中寻找并修复性能问题。 阅读本章后&#xff0c;你将能够&#xff1a; 在受CPU限制的应用程序中明确所有的CPU被哪些源代码行使用。用1trace和oprofile弄清楚应用程序调用各种内部与外部函…...

BERT变体(1):ALBERT、RoBERTa、ELECTRA、SpanBERT

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 *天下之大&#xff0c;虽离家万里&#xff0c;何处不可往&#xff01;何事不可为&#xff01; 1. ALBERT \qquad ALBERT的英文全称为A Lite versi…...

域控操作二:设置域用户使用简单密码

过程太多简单 直接写出路径更改即可 组策略—计算机配置----策略—Windows设置–安全设置----账户策略–密码策略 按自己想法改就行了 注意一点&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 要么自己设置策略&#xff0c;要么从默认策略改&#xff01;&am…...

阿里云云服务器ecs做网站访问慢/it培训班学出来有用吗

OC语言中类的构造方法学了两种&#xff1a; 一、方法一&#xff1a;[类名  new]  例&#xff1a;[Person  new] 缺点&#xff1a;可扩展性不强&#xff0c;假如在Person类中有_age 成员变量&#xff0c;在初始化时想让_age 中的值为20&#xff0c;new方法办不到&#xff…...

网站首页关键字方案/百度seo引流怎么做

一&#xff0e;创建一张HTML页面 初学者创建一张html页面建议借助工具&#xff0c;例如Dreamweaver可视化编辑器。 二&#xff0e;<Script>标签解析 <script>xxx</script>这组标签&#xff0c;是用于在html页面中插入js的主要方法。它主要有以下几个属性&…...

腾讯做的购物网站/发帖推广百度首页

好久没写博客了&#xff0c;由于公司要做android&#xff0c;笔者也是第一次接触。 这是在项目中遇到一个比較麻烦的问题。记录下来备忘&#xff08;本人刚接触。有不正确的地方请不吝赐教&#xff09;。 发送请求的代码&#xff1a; package com.jiujian.mperdiem;import java…...

c 手机网站开发工具/手机免费建站app

医生和程序员 哪个更好I received an interesting question from a reader recently. He wanted to know how you can tell if you’re making progress as a programmer.我最近收到一个读者的有趣问题。 他想知道如何判断您是否正在以程序员的身份取得进步。 It’s a great q…...

建设网站需要哪些设备/职业技能培训学校

weboffice js操作word导读&#xff1a;就爱阅读网友为您分享以下“js操作word”的资讯&#xff0c;希望对您有所帮助&#xff0c;感谢您对92的支持!1.保存html页面到word***************************************************************************************单元格1单元格…...

网站营销方式/今日十大热点新闻头条

写在前面 本文首发于公众号&#xff1a;符合预期的CoyPan 最近做了一个移动端活动页的需求&#xff0c;大概就是diy一个页面。用户可以对物料进行拖动、缩放、旋转&#xff0c;来达到diy的目的。用DOM来实现是不现实的&#xff0c;我采用了canvas来实现和用户的交互。开发过程中…...