strip

100% 展示 MySQL 语句执行的神器-Optimizer Trace

别来无恙 提交于 2020-08-13 12:16:19
在上一篇文章 《用Explain 命令分析 MySQL 的 SQL 执行》 中,我们讲解了 Explain 命令的详细使用。但是它只能展示 SQL 语句的执行计划,无法展示为什么一些其他的执行计划未被选择,比如说明明有索引,但是为什么查询时未使用索引等。为此,MySQL 提供了 Optimizer Trace 功能,让我们能更加详细的了解 SQL 语句执行的所有分析,优化和选择过程。 如果您想更深入地了解为什么选择某个查询计划,那么优化器跟踪非常有用。虽然 EXPLAIN 显示选定的计划,但Optimizer Trace 能显示为什么选择计划:您将能够看到替代计划,估计成本以及做出的决策。本篇文章会详细讲解 Optimizer Trace 展示的所有相关信息,并且会辅之一些具体使用案例。 基于成本的执行计划 在了解 Optimizer Trace 的之前,我们先来学习一下 MySQL 是如何选择众多执行计划的。 MySQL 会使用一个基于成本(cost)的优化器对执行计划进行选择。每个执行计划的成本大致反应了该计划查询所需要的资源,主要因素是计算查询时将要访问的行数。优化器主要根据从存储引擎获取数据的统计数据和数据字典中元数据信息来做出判断。它会决定是使用全表扫描或者使用某一个索引进行扫描,也会决定表 join的顺序。优化器的作用如下图所示。 优化器会为每个操作标上成本

Android模拟器挂载虚拟串口进行通信之踩坑记

混江龙づ霸主 提交于 2020-08-13 08:31:08
参考文章:https://blog.csdn.net/WarweeSZip/article/details/72956218 0 前言 最近刚接触串口通信,在学习Android串口编程,然后在一篇博客中看到可以在模拟器上挂载串口进行通信,嗯?还有这种操作,好6啊!鉴于设备还未到位,于是就动手撸起来,测试下写的串口通信的代码,于是就有了这篇踩坑记,以便以后忘记了能查阅,如果能给其他小伙伴带来一点帮助那是再好不过了。虽然很多原理还没搞懂,但好歹在踩了各种坑之后终于能够成功通信了。 还是菜鸟一枚,很多原理不懂,因此有些言论可能不准确,所以仅供参考,若有错误望指出,谢谢啦~ 1 准备 依照上篇博客的指引,需要准备以下工具: 1)虚拟串口工具 下载虚拟串口工具,可以下载参考文章中提供的链接,也可以直接百度搜索下载 安装并运行工具,并添加一对串口 2)串口调试工具 下载串口调试工具,百度一搜一大把,我使用的是这个:https://www.ttrar.com/html/158809.html 直接运行exe就可以打开窗口,分别打开两个窗口去打开串口,测试两个串口之间的通信 2 动手 这个流程是本人亲测有效的,但不排除在其他人手里会出现问题。就像我最开始也是照着他人的博客撸的,但人家就是成功的到我这儿就不行了,我也很绝望的ε=(´ο`*))) 1)准备模拟器 准备Android 4.4版本的模拟器

Web探索之旅 | 第二部分第三课:框架和内容管理系统

≯℡__Kan透↙ 提交于 2020-08-13 01:01:43
>作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。 转载请注明出处。 原文: https://www.jianshu.com/p/0038473f34cb > 《Web探索之旅》 全系列 内容简介 前言 框架和内容管理系统 总结 第二部分第四课预告 1. 前言 上一课 Web探索之旅 | 第二部分第二课:服务器语言 中,我们介绍了服务器端的编程语言,有 PHP,Java,Python,Ruby,C#,Go,等等。 这一课我们来学习基于这些语言衍生出来的框架(Framework),然后再看看什么是内容管理系统(CMS)。 2. 框架和内容管理系统 框架(Framework) 什么是 Framework(框架)呢? framework 在英语中是“框架,骨架;结构,构架”的意思。 要对 Framework 给出一个准确的定义很难,因为有几种不同的定义。可以参看这个百度百科: 框架 。 不过我想给它一个简单,也许并不十分准确的形象表述: >Framework 就好比一个超级工具箱。如果纯用编程语言可以解决问题,那么框架则帮助我们“站在巨人的肩膀上”,使用别人已经写好的基于某种或某几种编程语言的一个架构,更快速地解决问题。 或者如果把编程语言比喻成基本的原料,如木头,钢铁等,那么框架就像榔头,剪刀这样的由基本原料制作成的工具,可以为我们实现更复杂的东西。 所以,既然我们有

厦门科云:构建基于 SpreadJS 的管理会计综合实训平台

笑着哭i 提交于 2020-08-13 00:03:55
一、客户简介 厦门科云信息科技有限公司(简称:厦门科云)位于鹭岛厦门软件园,是一家汇集注册会计师、高级工程师的实力研发团队和全国财会教育领域专家顾问团队的高新技术企业。 公司自成立起,始终聚焦院校服务(智慧财务教育)、科云学堂(在线教育培训网校)、牛会计(财务代理有限公司)三大领域,为全国大中专院校、在职会计人员、小微企业提供口碑服务。 二、项目背景 21世纪以来,伴随着移动互联网的高速发展,企业经营逐渐呈现出集团化、信息化的发展趋势,这也意味着未来会计人才将会面临更高、更全面的专业要求。 如今,会计职业领域已从传统的记账、算账、报账为主,拓展到内部控制、投融资决策、企业并购、价值管理、战略规划、公司治理、会计信息化等高端领域。会计职业领域的拓展与会计人才需求市场的发展导致管理型会计人才结构性短缺,该问题的产生要求院校应加紧培养以核算型会计人才为基础,逐步转型成管理型会计人才。 为及时响应上述需求,厦门科云推出了一套完全自主研发的管理会计综合实训平台,该平台基于 SpreadJS 纯前端表格控件 搭建,内嵌高度类似 Excel 的布局和操作模式,使用者无需学习,即可立即使用。 三、实际使用情况 为落实“1+2+2”的培养方向,即1个培养目标(向管理会计人才转型的目标)、2个培养点(管理视角+核算技能)、2个培养模块(基础教学资源培养、企业案例应用培养),坚持以“向管理会计人才转型

Prometheus监控神器-Alertmanager篇(2)

社会主义新天地 提交于 2020-08-12 20:24:53
本章主要对如何使用开源组件和Alertmanager组件集成警报通知。Kubernetes的警报集成后续会直接在配置文件讲解,原理大同小异,此处仅对相关警报通知做集成。 警报通知接收器 前面一直是在Web UI 查看警报信息,现在开始使用接收器与Alertmanager集成,发送警报信息到 Email 、 企业微信 、 钉钉机器人 ,对于警报要求比较高的同学,可以根据下面提到的开源组件 【PrometheusAlert全家桶】 配置飞书、短信、语音电话等警报。 Email 前面已经讲过,Alertmanager默认支持配置Email,也是最普通的方式,在Alertmanager组件中内置了SMTP协议。直接可以把前面的Alertmanager.yml中的SMTP部分截取出来,然后进行调整与配置 global: resolve_timeout: 5m # smtp配置 smtp_from: "1234567890@qq.com" # 发送邮件主题 smtp_smarthost: 'smtp.qq.com:465' # 邮箱服务器的SMTP主机配置 smtp_auth_username: "1234567890@qq.com" # 登录用户名 smtp_auth_password: "auth_pass" # 此处的auth password是邮箱的第三方登录授权密码,而非用户密码

【数据处理】为什么CSV文件是5行,用WPS打开只剩1行

↘锁芯ラ 提交于 2020-08-12 20:18:37
处理一个csv文件,每次用文本编辑器打开,是某行。换成WPS打开总少几百行。 人工定位了一下异常的数据: 2020/07/03 00:43:24,SikorskyFlights,"Linsk Minyk“ Sikorsky 2020/07/03 00:43:26,wendy_marchese,Wendy Marchese 2020/07/03 00:43:26,Smartkr13564931,smart_Krish 2020/07/03 00:43:26,ChiTsz1,ChiTsz1, 2020/07/03 00:43:26,TBeansprout,TONYA {K}🌸 原来,"Linsk Minyk“ 用了英文引号开头,中文引号结尾。WPS遇到引号开头,默认为文本,但是迟迟找不到结束的引号,因此“吸收”了后面的所有行! 看下图,开头的英文引号不会出现在单元格内,被默认为文本的开始符。 解决方案: (最差选择)把所有引号替换为 单引号、中文引号、反斜杠+引号,都可以解决这个问题。但是会破坏原有成分。 2020/07/03 00:43:24,SikorskyFlights,\"Linsk Minyk“ Sikorsky 2020/07/03 00:43:26,wendy_marchese,Wendy Marchese 2020/07/03 00:43:26

2020-05-28你心心念念的小程序如何测试,这篇文章将告诉你!【测试基础必看】

吃可爱长大的小学妹 提交于 2020-08-12 17:14:25
什么是小程序 英文名Mini Program,是一种不需要下载安装即可使用的应用,是内嵌在微信APP里面的一款新形态软件。它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 小程序的架构:包含View视图层、AppService逻辑层。View层用来渲染页面结构,AppService层用来逻辑处理、数据请求、接口调用,它们在两个线程里运行。视图层使用WebView渲染,逻辑层使用JSCore运行。视图层和逻辑层通过系统层的JSBridage进行通信。 小程序的版本类型:为开发版、体验版、正式版。正式版需要经过微信审核。开发版、体验版无需审核,只需要给指定的微信号权限,然后扫小程序的二维码就能访问。从小程序的版本类型可以看出,环境一般会准备三套环境:开发版访问的测试环境、体验版访问的预发布环境、正式版访问的生产环境。 小程序的测试点 测试点可以从以下方面去考虑:功能测试、权限测试、UI测试、兼容性测试、接口测试、网络测试、性能测试。 <功能测试>小程序的功能测试跟APP功能测试,对于功能业务的测试思路及用到的用例设计方法是一样的。根据设计好的各个大类功能模块划分,然后再逐级细化,覆盖到每个功能尽可能全面的测试点。包括业务流程、数据流向、功能入口有效性检查

CondenseNet:可学习分组卷积,原作对DenseNet的轻量化改造 | CVPR 2018

走远了吗. 提交于 2020-08-12 15:40:49
> CondenseNet特点在于可学习分组卷积的提出,结合训练过程进行剪枝,不仅能准确地剪枝,还能继续训练,使网络权重更平滑,是个很不错的工作   来源:晓飞的算法工程笔记 公众号 论文:Neural Architecture Search with Reinforcement Learning 论文地址: https://arxiv.org/abs/1711.09224 论文代码: https://github.com/ShichenLiu/CondenseNet Introduction   DenseNet基于特征复用,能够达到很好的性能,但是论文认为其内在连接存在很多冗余,早期的特征不需要复用到较后的层。为此,论文基于可学习分组卷积提出CondenseNet,能够在训练阶段自动稀疏网络结构,选择最优的输入输出连接模式,并在最后将其转换成常规的分组卷积分组卷积结构。 CondenseNets   分组卷积能够有效地降低网络参数,对于稠密的网络结构而言,可以将$3\times 3$卷积变为$3\times 3$分组卷积。然而,若将$1\times 1$卷积变为$1\times 1$分组卷积,则会造成性能的大幅下降,主要由于$1\times 1$卷积的输入一般有其内在的联系,并且输入有较大的多样性,不能这样硬性地人为分组。随机打乱能够一定程度地缓解性能的降低

windows下修改默认mysql编码

こ雲淡風輕ζ 提交于 2020-08-12 07:41:50
查看编码格式: 进入mysql执行下面语句 show variables like '%character%'; 修改编码格式: set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8; 来源: oschina 链接: https://my.oschina.net/mynotes/blog/4297119

你的团队可能并不需要Kubernetes

送分小仙女□ 提交于 2020-08-12 04:45:18
导语:如果你在一个小型团队,Kubernetes可能不适合你。 如果您使用的是Docker,那么下一个自然步骤似乎就是Kubernetes,又名K8s:这就是您在生产环境中运行事情的方式,对吗? 也许,为500名从事同一应用程序的软件工程师设计的解决方案与50名软件工程师的解决方案完全不同。两者都将不同于为5人团队设计的解决方案。 如果您是一个小型团队的一员,那么Kubernetes可能不适合您:用起来痛苦不堪,收益却很少。 了解更多开源资讯欢迎关注微信公众号“开源村OSV” 让我们看看为什么。 1.每个人都喜欢运动部件:Kubernetes有很多活动部件,包括概念,子系统,过程,机器,代码,这意味着很多问题。 2.多台机器:Kubernetes是一个分布式系统:有一台控制工作机的主机。工作安排在不同的工作计算机上。然后,每台机器都在容器中运行工作。因此,您已经在谈论两台计算机或虚拟机只是为了完成所有工作。这样就可以给您……一台机器。如果要进行扩展(整个练习),则需要三,四或十七个虚拟机。 3.很多很多的代码:截至2020年3月初,Kubernetes代码库拥有超过580,000行Go代码。那是实际的代码,它不计算注释或空白行,也不计算供应商的软件包。从2019年开始的安全审查将代码库描述如下: “ ... Kubernetes代码库有很大的改进空间。该代码库既庞大又复杂