3 大唐荣华

我要认证

爱技术,爱生活

等级
TA的排名 18w+

推荐几个MySQL 数据库的运维工具

1. YearningYearning 是一个开源的MySQL SQL语句审核平台,提供数据库字典查询、查询审计、SQL审核等多种功能。在目前 Yearning 有两个版本,1.x 和 2.x。其中 1.x 基于 Python 实现,并且已经不再提供官方的维护,因此强烈建议使用 2.x 版本,2.0 基于 golang 实现。了解更多Yearning工具的安装和使用,详情可参考官网文档:https://guide.yearning.io2. Canalcanal 英文译意为水道/管道,主要用途是基

2020-08-03 15:57:12

东风“快递”,使命必达

发件后还能变更收件人?“东风快递”最简单有趣的解读:东风11:经营国内快递,主要业务方向是台湾省。东风15:亚洲快递,主要业务方向日本。东风17:服务亚洲和西太平洋,主要客户是美国驻日韩基地。业务亮点是时效性好,高超声速,发件后还能变更收件人,由于采用打水漂技术,燃料经济性较好。东风100:关岛快递。业务亮点是旅途贴地面有掩护,可以拐大弯。可以给大型水面舰船发货。东风26:关岛快递。业务亮点是可以送蘑菇炒蛋。东风31:洲际快递,北美地区部分覆盖。机动揽件。可实行1-3个客户同时送货。东风41:

2020-08-03 11:39:36

Tomcat 的体系结构(超详细)

1.Tomcat架构1.整体架构HTTP 服务器接收到请求之后把请求交给Servlet容器来处理,Servlet 容器通过Servlet接⼝调⽤业务类。Servlet接⼝和Servlet容器这⼀整套内容叫作Servlet规范。注意:Tomcat既按照Servlet规范的要求去实现了Servlet容器,同时它也具有HTTP服务器的功能。Tomcat的两个重要身份​ 1)http服务器也可以看成一个连接器(Connector)​ 2)Servlet容器(Container)2.请求处理流程

2020-07-31 20:43:28

Mybatis的插件运行原理以及如何编写一个Mybatis的插件

Mybatis作为一个优秀的ORM插件有很强大的灵活性,通过插件可以很方便地扩展Mybatis的功能。Mybatis的插件相当于拦截器,是使用JAVA动态代理来实现的。Mybatis对持久层的操作借助于四大组件(Executor,StatementHandler,ParameterHandler,ResultSetHandler)。在创建这四类对象时会判断是否有配置好的插件,若是有则返回被插件代理的动态代理对象。在执行这四类对象的方法时,先判断执行的方法是否是需要代理的方法,如果是则执行插件类的增强方法。

2020-07-30 18:28:54

Mybatis都有哪些Executor执行器?它们之间的区别是什么?

Mybatis有三种基本的Executor执行器:SimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。ReuseExecutor:执行update或select,以sql作为key查找Statement对象,存在就使用,不存在就创建,用完后,不关闭Statement对象,而是放置于Map内,供下一次使用。简言之,就是重复使用Statement对象。BatchExecutor:执行update(没有select,JDB

2020-07-30 17:55:37

关于 Http 的面试题目总结

初级题目1.常见状态码 200、301、302、304、403、404、500、503分别代表什么?2.GET与POST有什么区别?3.一次完整的Http请求所经历哪些步骤?4.Http协议是什么?有哪些特点?5.常见Http方法有哪些?使用场景分别是什么?6.在HTML的form 标签里,method支持哪些类型?7.Web安全中有哪些常见的攻击方式?8.URI和URL的区别。中级题目1.说说Http协议的工作流程。2.Https的原理是什么?3.Http请求报文与响应报文的格式?

2020-07-30 15:50:50

腾讯面试题

一面实现一个 array 多维数组,把他拍平。遍历以及 reduce 的实现方法。Angular 预编译是怎么做的?@Component 中的元数据是如何被使用的?Object.defineproperty 和 Object.freeze,哪个是深层的冻结?Http 拦截器的原理是什么?如何实现?截流和防抖的区别,说说如何实现一个防抖函数。Jwt 鉴权的整个过程,前端,后段。如何判断一个类型是否为其他类的子类?如果让你实现 instanceof ,你会如何实现?路由守卫的原理,如何实现?

2020-07-29 16:36:11

Webpack中 Loader 和 Plugin的区别及开发 Loader 和 Plugin 的思路

Loader,直译为"加载器"。主要是用来解析和检测对应资源,负责源文件从输入到输出的转换,它专注于实现资源模块加载。在Webpack中它将一切文件视为模块,但是webpack原生是只能解析js文件,如果想将其他文件也打包的话,就会用到loader。 所以Loader的作用是让webpack拥有了加载和解析非JavaScript文件的能力。从而将一些浏览器不支持或者有兼容问题的代码处理为浏览器可以支持的资源,如将ES6+转为ES5、Sass转为css、TypeScript转换为JavaScript,或者将内

2020-07-29 16:12:39

简述 Diff 算法的执行过程

在执行Diff算法的过程就是调用名为 patch 的函数,比较新旧节点。一边比较一边给真实的 DOM 打补丁。patch 函数接收两个参数 oldVnode 和 Vnode,它们分别代表新的节点和之前的旧节点。这个patch函数会比较 oldVnode 和 vnode 是否是相同的, 即函数 sameVnode(oldVnode, vnode), 根据这个函数的返回结果分如下两种情况:true:则执行 patchVnodefalse:则用 vnode 替换 oldVnodepatchVnode 函

2020-07-28 21:52:43

在虚拟 DOM 中设置 Key 的作用和优点

在v-for的过程中,为给每一个节点设置key属性的作用:        以便它能够跟踪每个节点的身份,在进行比较的时候,会基于 key 的变化重新排列元素顺序。从而重用和重新排序现有元素,并且会移除 key 不存在的元素。方便让 vnode 在 diff 的过程中找到对应的节点,然后成功复用。设置key的好处:        可以减少 dom

2020-07-28 21:30:45

Vue 中模板的编译过程概述

缓存公共的 mount 函数,并重写浏览器平台的 mount判断是否传入了 render 函数,没有的话,是否传入了 template ,没有的话,则获取 el 节点的 outerHTML 作为 template调用 baseCompile 函数解析器(parse) 将模板字符串的模板编译转换成 AST 抽象语法树优化器(optimize) - 对 AST 进行静态节点标记,主要用来做虚拟DOM的渲染优化通过 generate 将 AST 抽象语法树转换为 render 函数的 js 字符串将.

2020-07-28 21:23:25

Vue 的响应式原理概述

1. 侦测数据的变化(数据劫持 / 数据代理)– Vue2.0——Object.defineProperty()- 无法检测到对象属性的添加或删除- 无法监听数组的变化,需要进行数组方法的重写– Vue3.0——Proxy- 直接代理整个对象,不需要遍历对象的每个属性- 支持代理数组的变化2. 收集视图依赖了哪些数据(依赖收集)在getter中收集依赖,在setter中触发依赖,将观察者Watcher对象存放到当前闭包中的订阅者Dep的subs中。3. 数据变化时,自动“通知”需要更

2020-07-28 21:13:20

Vue 首次渲染过程简述

   先上图:首先进行Vue的初始化,初始化Vue的实例成员以及静态成员。当初始化结束之后,开始调用构造函数,在构造函数中调用this._init(),这个方法相当于我们整个Vue的入口。在_init()中调用this.$mount(),共有两个this.$mount()。     第一个this.$mount()是entry-runtime-with-compiler.js入口文件,这个$mount()的核心作用是

2020-07-28 20:47:16

使用 Webpack 实现 Vue 项目打包流程

安装1.Webpack的基础安装:npm i webpack webpack-cli vue vue-cli webpack-dev-server --save-dev2.常用的loader:[babel-loader, @babel/core, @babel/preset-env, @babel/polyfill, style-loader, css-loader, less-loader, vue-loader, vue-template-compiler, eslint-loader]3.常用的

2020-07-28 20:03:37

创投圈高端词汇收集(持续更新中)

CAC 是 Customer Acquisition Cost 的缩写,意思是“用户获取成本”。LTV 是 Life Time Value 的缩写,意思是“用户的终身价值”。PBP 是 Payback Period 的缩写,意思是“回收期”。

2020-07-21 15:59:08

工作中 git 常见问题的解决

删除所有 commit 提交历史记录具体操作流程:1.创建新分支并且切换到新分支中: git checkout --orphan latest_branch2. 将master的文件都拉取添加到新分支 git add -A3. 提交日志 git commit -am "commit message"4. 删除master分支 git branch -D master5.将新分支重新命名为master git branch -m master6

2020-07-13 17:13:53

前端工程化的意义

工程化不是某个具体的工具,工程化的核心是对项目整体的规划和架构解决的问题&带来的价值1.每次开启新项目,都需要做一些重复性的工作,比如下载一些插件,定义项目结构。而工程化可以对这些重复性操作做一个封装,以后每次只需要引用即可。避免了很多重复性操作2.不同的开发人员的代码风格大相径庭,导致从仓库拉下的代码有时候无法直接使用,而工程化可以很好的规范代码要求3.想要使用Less/Sass去提高CSS的编程性,但是运行环境确不支持。工程化可以帮助我们实现CSS代码编译,在运行的时候将Sass/

2020-07-09 11:49:36

Node开发脚手架及自动化构建工作流

脚手架的工作原理:1.通过命令行交互询问用户问题。2.根据用户回答问题的结果生成文件。首先Node中 inquirer是命令行交互模块,我们需要通过npm/yarn下载inquirer,通过 inquirer模块中的prompt方法 发出对用户的命令行询问。然后inquirer的prompt方法会返回一个promise,然后在then方法中获取到用户输入的 结果,通过Node的fs,path模块,搭配ejs模板引擎,将templates文件夹中的文件 写入根目录。自动化构建工作流不管是基于gulp

2020-07-09 10:45:45

npm cnpm yarn 和 npx的区别

NPMnpm 是一个node package installer commander tool。在安装了node.js环境下可以通过npm i xxx 来安装你需要的node package到本地或者全局。npm i webpack -G //全局安装,路径为 /usr/local/binnpm i webpack -S -D //本地安装, 安装路径为 ./node-modules/.bin/NPXnpx会在安装npm的时候一起安装到本地。npx有两个应用场景:在没有安装package的情况

2020-07-06 22:04:51

WWDC20 苹果发布会

iphone上的ios14亮点不多 主要是桌面小组件 分类app显示 画中画 还有小程序 来电小窗提示和siri ui更新与更加智能 还有汽车智能钥匙 不用带钥匙只需要nfc就可以打开车门与开车 首款支持的汽车是 宝马5系ipad上的ipadOS14 拥有ios14的的全部更新 更加方便的ui以及全局搜索 也就是你可以在任何界面使用搜索 打开app或搜索联系人 或者搜索网页apple pencil 增加识别功能 可以将手写字体直接像键盘输入的字一样选定 复制等。且粘贴可以直接转换为文本..

2020-07-01 20:19:05

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取