- git commit 自动修复 eslint 和 prettier
等下吃什么?
前端前端
npminstalllint-stagedeslintprettier--save-dev修改package.json"lint-staged":{"**/*.{js,jsx,ts,tsx,vue}":["prettier--write","eslint--fix"],"**/*.json":["prettier--write"],"**/*.{less,md}":["prettier--writ
- 云原生周刊:Kubernetes Grafana 看板更新 | 2024.5.13
KubeSphere 云原生
k8s容器平台kubesphere云计算
开源项目推荐ChartTestingChartTesting是用于测试Helm图表的工具。它旨在用于对拉取请求进行lint和测试。它会自动检测针对目标分支更改的图表。ClusterpediaClusterpedia是一个多集群的百科全书,用于同步、搜索和简单控制多集群资源。Clusterpedia可以与多个集群同步资源,并在与KubernetesOpenAPI兼容的基础上提供更强大的搜索功能,以帮
- React ts项目配置Eslint+StyleLint+prettier+husky+lint-staged规范
悟空Wukong95
下载相关依赖npminstalleslint@typescript-eslint/parser@typescript-eslint/eslint-pluginprettiereslint-config-prettiereslint-plugin-prettierstylelintstylelint-config-css-modulesstylelint-config-standardstyleli
- 一. 使用perl对Soc中的digital ip进行lint check
Followex
#perl在ic设计中的应用perllanguageperl硬件架构开发语言
一.使用perl对Soc中的digitalip进行lintcheck1.purpose在SoC芯片设计中,需要用到很多的digitalip。在前端设计来到中后期时,在RTLsignoff之前,需要对rtl进行lintcheck,一般使用的是synopsys家的SpyGlass。如果一个个到对应的ip目录下runSpyGlass软件并查看输出报告是非常费事费力的,而且还不能确定万无一失。因此我们就可
- golang设置
weixin_110
Gogolang
golangci-lint代码检查工具的集合,聚集了多种Go代码检查工具,如golint会自动查找项目中的.golangci.yml配置文件会检查代码中潜在常见问题以及代码风格问题#文档:https://golangci-lint.run/#https://github.com/golangci/golangci-lint/goinstallgithub.com/golangci/golangci
- GolangCI-Lint配置变更实践
=(^.^)=哈哈哈
golang
GolangCI-Lint配置变更实践Golang编程中,为了便于调试和代码质量和安全性检查。利用该方法可以在开发周期的早期捕获错误,并且检查团队编程风格,提高一致性。这对团队协作开发特别有用,可以提高开发的效率,保持代码质量和安全性。本实践所有测试内容都使用以下代码进行测试packagemainimport("database/sql""fmt""log""net/http""strings"_
- 【warning 2445】pc-lint plus warning 2445 的解决
StrongerSun
软件测试单片机
1、报错详情....\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c1100warning2445:castfrom'uint8_t*'(aka'unsignedchar*')to'uint32_t*'(aka'unsignedint*')increasesrequiredalignmentfrom1to42、报错原因查询pc-lint
- 【warning 514】pc-lint plus warning 514 的解决
StrongerSun
软件测试单片机
1、报错详情.....\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c1865warning514:booleanargumenttobitwiseoperator'|'2、报错原因查询pc-lint手册可知该问题为:在布尔操作中使用了位运算代码如下,在断言检测中误输入了位运算,以下代码出自st官方hal库stm32h7xx_ha
- vue-admin-template框架
煸橙干儿~~
VUE实战vue.js前端javascript
vue-admin-template框架地址:项目地址项目预览地址:项目预览框架简介:这是一个极简的vueadmin管理后台。它只包含了ElementUI&axios&iconfont&permissioncontrol&lint,这些搭建后台必要的东西。为什么用vue-admin-template?后台管理系统是一种最常见的应用模式,不同的管理系统之间有很多相似的地方,比如:页面整体结构相似(S
- LC201-300
卷心菜不卷Iris
LeetCode算法大厂面试笔试
本篇博客是用Go语言编写的详尽简洁代码,这里没有写算法思路,若要看具体思路,请移步力扣官网查看相关高赞题解。本篇博客的特点是代码简洁明了,包含多种写法,适合读者后期复盘巩固,加深理解。这一百题是面试高频题,建议读者认真阅读,背诵记忆。欢迎点赞+收藏+关注~~LC201数字范围按位与funcrangeBitwiseAnd(lint,rint)int{i:=0forl>=1r>>=1i++}retur
- 【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)
aDiaoYa_
Vuetypescript前端Vue3ViteESlintPrettier
目录项目搭建步骤确定node版本使用Vite创建Vue3项目规范目录结构配置环境修改Vite配置文件集成路由工具VueRouter集成状态管理工具Pinia集成CSS预编译器Sasssvg图标组件集成UI框架ElementPlus集成HTTP请求工具Axios项目代码规范集成ESLint配置集成Prettier配置解决ESLint与Prettier的冲突配置husky+lint-staged集成S
- 【其他配置·package.json】
久靥_
后台管理项目笔记json笔记前端vue
项目运行起来的时候自动打开"scripts":{"serve":"vue-cli-serviceserve--open",//"serve":"vue-cli-serviceserve--open--host=localhost""build":"vue-cli-servicebuild","lint":"vue-cli-servicelint"},关闭eslint校验功能vue.config.j
- Git commit 遇到的 precommit Not a git repository 错误
莫帆海氵
问题描述在提交时遇到执行hooks失败,错误提示“Notagitrepository”具体错误如下所示:xyf$gitcommit-m'feat:testcommit'husky>pre-commit(nodev8.11.3)>
[email protected]/Users/lego>lint-staged✔Runningtasksfor**.{js,es6,jsx}No
- 6. 使用Lint工具找出代码中的潜在问题
真胖大海
参考一.Lint工具的作用Lint工具可检查您的Android项目源文件是否包含潜在错误,以及在正确性、安全性、性能、易用性、便利性和国际化方面是否需要优化改进二.在AndroidStudio中使用Lint三.Lint检测出的关于性能的16种问题DrawAllocation原因:在布局或者绘制函数(measure/layout/drwa)中创建了对象。因为这些函数可能别频繁调用,如果在这些函数里面
- clang-tidy——静态代码分析框架
或许对了
clang-tidy
clang-tidy——静态代码分析框架clang-tidy介绍clang-tidy是一个基于clang的静态代码分析框架,支持C++/C/Objective-C。它是一个功能更强大的lint工具。绝大部分lint工具只能在出现问题的代码地方给出提示,之后需要人为修改,而clang-tidy则能够自动修复功能(当然这个如何修复需要该check作者提供);并且clang-tidy采用模块化设计,非常
- 2021-03-07:在一个数组中,对于每个数num,求有多少个后面的数 * 2 依然
福大大架构师每日一题
2021-03-07:在一个数组中,对于每个数num,求有多少个后面的数*2依然>1returnprocess(arr,L,M)+process(arr,M+1,R)+merge(arr,L,M,R)}funcmerge(arr[]int,Lint,Mint,Rint)int{//新增的代码ans:=0windowR:=M+1fori:=L;iarr[windowR]*2){windowR++}a
- .NET DevOps 接入指南 | 创建第一条流水线
圣杰
使用流水线编辑器GitLab提供了流水线编辑器,方便在线创建流水线。创建路径为:CI/CD->编辑器->创建新的CI/CD流水线。打开后如下图所示:image可以通过点击可视化标签页查看当前流水线的总体概貌,如下图所示:image从图中可以明显看出,整个流水线分为三个阶段:Build、Test和Deploy阶段,其中Test阶段包含两个Job,unit-test-job和lint-test-job
- stylelint配置
aa小小
vue3项目vue.js前端stylelint
stylelint为css的lint工具。可格式化css代码,检查css语法错误与不合理的写法,指定css书写顺序等。我们的项目中使用scss作为预处理器,安装以下依赖:pnpmaddsasssass-loaderstylelintpostcsspostcss-scsspostcss-htmlstylelint-config-prettierstylelint-config-recess-orde
- vue3项目中关闭 eslint 检验
博客zhu虎康
JS解决方案vue.js前端javascript
文章目录需求分析需求关闭eslint检验分析在Vue3项目中,可以通过修改package.json文件或者配置.eslintrc.js文件来关闭ESLint检验。修改package.json文件在package.json文件中,找到“lint”命令,将其中的eslint关键字删除即可。例如:{"scripts":{"lint":"vue-cli-servicelint"}}配置.eslintrc.
- 使用 ESLint 在 Vue 项目中进行代码检测与规范
zaijin.yang
eslintvuevue.js前端javascript
文章目录概要1.什么是ESLint?2.在Vue项目中集成ESLint步骤1:安装ESLint步骤2:初始化ESLint配置文件步骤3:安装VueESLint插件步骤4:配置ESLint规则3.在提交代码前执行ESLint检测步骤1:安装lint-staged和husky步骤2:配置lint-staged步骤3:配置husky4.完成!现在你的Vue项目在提交代码前会自动执行ESLint检测了。概
- styleLint的配置,以及使用husky提交检查
CodeBetter
先安装下面三个包npminstall--save-devstylelintstylelint-config-standardstylelint-order然后在根目录下创建.stylelintrc文件,文件内写入{"extends":"stylelint-config-standard"}然后在package.json中,使用husky和lint-staged"husky":{"hooks":{"
- Android签名打包报错:Lint found fatal errors while assembling a release target.
雪芽蓝域zzs
Android异常android
1.Android签名打包报错:Lintfoundfatalerrorswhileassemblingareleasetarget.1.1.问题 Android项目打debug包的时候没问题,但是在打release迭代测试版本时候无法打包。Lintfoundfatalerrorswhileassemblingareleasetarget.1.2.问题解决方案1.2.1.忽略处理android{l
- Lint 596. Minimum Subtree
Mree111
DescriptionSolution1.直接分值递归搜索(代码可化简)"""DefinitionofTreeNode:classTreeNode:def__init__(self,val):self.val=valself.left,self.right=None,None"""classSolution:"""@paramroot:therootofbinarytree@return:ther
- 性能优化系列——布局优化
青春-梦
优化优化Android
布局优化选择合适的布局使用include标签来共享布局使用ViewStub标签来实现布局的延迟加载merge标签的使用布局中背景颜色的设置要慎重尽量使用CompoundDrawable使用Lint检测这一次我们来说说有关布局优化的问题。布局是非常重要的,写的不好会很影响性能的。布局优化的思路其实很简单,基本上就是减少布局文件的嵌套与减少不必要的绘制。这个问题很容易理解,布局中的层级减少了,就意味着
- Android Lint的使用
丨走明天的路丨
androidLint
代码检查方式一:AndroidStudio使用Lint进行代码检查找到Analyze目录下的InspectCode检查代码选项点击然后弹出下面这个框框,在这个列表选项中我们可以选择InspectCode的范围,点击OK待分析完毕后,我们可以在Inspection栏目中看到检查的结果在使用Androidstudio提交代码可以选择格式化代码和使用Androidstudio自定lint检查代码,去除无
- 开源了一款Vue3 & Ts & Vite4 & uni-app 驱动的跨端快速启动模板
神码观察
开源推荐uni-app
一、开源项目简介由Vue3&Ts&Vite4&uni-app驱动的跨端快速启动模板。推荐使用VSCode编辑器开发,集成了Prettier+ESLint+StyleLint+husky+lint-staged+commitlint+UnoCSS+Vue3+TypeScript+Vite4+setup,开箱即用。二、项目特性⚡️Vue3,Vite,pnpm,esbuild-就是快!组件自动化加载pi
- PC-lint Plus在安全系统中的应用
StrongerSun
安全嵌入式硬件
本文翻译自官方文档pclp-sca1、概述VectorInformatikGmbH开发的静态分析工具受到全球几乎所有行业成千上万家企业的信赖。我们的用户群中有很大一部分利用我们的工具来开发嵌入式和安全关键型环境的应用程序。长期以来,我们通过实施嵌入式编译器使用的语言扩展、支持各种MISRA编码标准以及增加诊断功能来解决嵌入式开发人员的具体问题,为这一群体提供支持。作为我们对嵌入式和安全关键型开发人
- Python能做大项目(9) - Mypy: 把静态类型检查带给Python
量化风云
Python能做大项目pythonpython能做大项目mypylintflake8
之前我们介绍过,Python作为一门动态语言,为人诟病的缺点之一,就是难以像java那样,支持静态类型检查,这样会把一些错误带到运行中(如果你不进行单元测试的话)。不过,随着typehint的推开,实际上现在Python已经有了比较充分的静态类型检查。这一章我们先介绍其它Lint工具,然后再重点介绍静态类型检查工具-mypy。4.Lint工具Lint工具对代码进行逻辑检查和风格检查。逻辑检查是指象
- 从零开始搭建企业级前端项目模板(vue3+vite+ts)
菜又爱编程
vue前端typescriptvue
文章目录主要内容一、vite脚手架工具初始化项目二、项目代码加入eslint校验和自动格式化2.1安装对应依赖插件2.2配置script脚本,项目安装eslint配置2.3安装完成后,后面启动项目还缺少一些依赖,提前按需安装好三,修改eslintrc.cjs文件四、修改vue.config.ts文件五、修改添加常见配置六、Husky、lint-staged、commitlint功能添加七、styl
- 这可能是最好的AndroidLint开源库
Android开发指南
AndroidLint这是一个通用AndroidLint库,你可以用它来检查代码规范、bug、资源命名等✌️。本库最大特点是通用,相较于其他Lint库(规则直接在代码写死),最大的不同是,规则全靠配置生成,更加灵活,在多团队协作下,只需拷贝配置文件,修改提示信息即可完成迁移。支持增量扫描功能,速度更快。支持lint发现错误后自动执行脚本功能,更加友好。对于增量扫描原理可以看Lint增量扫描实践,具
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数