- C++基础(FreeRDP编译)
安装先安装openssl保姆级OpenSSL下载及安装教程,OpenSSL下载及安装教程-CSDN博客vcpkgintegrateinstall安装vcpkginstallzlibvcpkginstallffmpeg:x64-windows编译指令PSD:\freerdp\FreeRDP\build>cmake..-G"VisualStudio172022"-Ax64-DCMAKE_TOOLCHA
- 深度C盘清理技巧
nightunderblackcat
基础项目开发语言windows
大家好!C盘空间告急几乎是每个Windows用户都会遇到的“成长烦恼”。系统运行缓慢、更新失败、软件无法安装……这些问题的元凶往往就是被塞满的C盘。今天我们就来一场彻底的“大扫除”,不仅清理表面垃圾,更要深入系统释放宝贵空间!第一步:基础清洁-扫除显性垃圾磁盘清理工具(最基础但有效!)操作:打开“此电脑”->右键点击C盘->选择属性->点击磁盘清理。重点清理:Windows更新清理:这是大头!系统
- 【WinSCP 安装与使用】
岁月玲珑
linuxwindowslinuxwindows
WinSCP是一款完全免费且开源的Windows图形化文件传输工具,基于SSH协议实现安全的SFTP和SCP文件传输,特别适合在Windows与Linux服务器间进行文件管理。以下从安装到使用的完整指南:✅一、WinSCP的核心特性(免费开源验证)开源协议采用GPL许可证,源码托管于GitHub。零费用无广告、无功能限制,所有版本均可免费使用。安全传输支持SFTP(SSH-2)、SCP协议,全程加
- Python 可迭代的对象、迭代器 和生成器(标准库中的生成器函数)
钢铁男儿
流程Pythonpythonjava前端
标准库中的生成器函数标准库提供了很多生成器,有用于逐行迭代纯文本文件的对象,还有出色的os.walk函数(https://docs.python.org/3/library/os.html#os.walk)。这个函数在遍历目录树的过程中产出文件名,因此递归搜索文件系统像for循环那样简单。os.walk生成器函数的作用令人赞叹,不过本节专注于通用的函数:参数为任意的可迭代对象,返回值是生成器,用于
- Authorization Basic认证 笔记
从未、淡定
javascript前端
Basic认证Basic认证过程简单介绍浏览器请求一个需要认证的网页。服务器向浏览器返回“401Unauthorized(未认证)”状态码。浏览器收到此状态码后,询问用户名和密码。浏览器发送附带认证信息(Authorization头信息)的请求。本次请求得到了文档(用户名密码均正确的情况下)。方案1:header添加Authorization原理说明:stringcode=‘fozzie:fozz
- 深入解析privacy.sexy项目的应用层架构与实现
郁蝶文Yvette
深入解析privacy.sexy项目的应用层架构与实现privacy.sexyOpen-sourcetooltoenforceprivacy&securitybest-practicesonWindows,macOSandLinux,becauseprivacyissexy项目地址:https://gitcode.com/gh_mirrors/pr/privacy.sexy项目概述privacy.
- Windows下利用RegisterWindowMessage函数实现进程间通信
程间通信的方法有很多,比如使用注册消息,内存映射,WM_COPYDATA等,下面先讲使用注册消息实现的方法。使用注册消息比较简单,核心是消息的接收端和消息的发送端(接收端和发送端在两个不同的进程)必须注册相同的消息,这样发送消息才能识别。功能:定义一个新的窗口消息,该消息保证在整个系统中是唯一的。发送或发布消息时可以使用消息值。UINTRegisterWindowMessageA([in]LPCS
- Python数据可视化-----制作全球地震散点图
从未止步..
pythonpythonjson数据结构
为了制作全球地震散点图,我在网上下载了一个数据集,其中记录了一个月内全球发生的所有地震,但这些数据是以JSON格式存储的,因此需要用json模块来进行处理。查看JSON数据:首先我们先打开下载好的数据集浏览一下:你会发现其中的数据密密麻麻,根本不是人读的,因此,接下来我们将对数据进行处理,让它变得简单易读。importjson#导入json模块,以便于加载文件中的数据filename='eq_da
- ImportError: cannot import name ‘get_metadata_patterns‘ from ‘datasets.data_files‘这通常是由于 modelscope
微信公众号:AI创造财富
pythonlinux机器学习
base)powersys@powerSys:~/work/modelscope$python1.pyTraceback(mostrecentcalllast):File"/home/powersys/work/modelscope/1.py",line1,infrommodelscope.pipelinesimportpipelineFile"/home/powersys/work/minico
- linux部署Java项目流程
呆萌IT少女
linux项目部署mysqllinuxjava服务器nginx
项目部署流程开始准备需要的包,我用的是openJDK8,Mysql8,nginx0.6.361.搭建Linux环境若操作系统为windows环境,首先安装虚拟机并搭建对应的linux操作系统。2.安装Openjdk1.81.创建jdk目录mkdir-p/usr/local/javacd/usr/local/java2.解压tar-zxvfjdk包3.配置环境变量vim/etc/profileexp
- windows11 环境下Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法
lzdjlu
深度学习python人工智能pytorchpython
Mamba环境安装:causal-conv1d和mamba-ssm报错解决办法在执行命令pipinstallcausal_conv1d和mamba_ssm出错note:Thiserrororiginatesfromasubprocess,andislikelynotaproblemwithpip.ERROR:Failedbuildingwheelforcausal-conv1dRunningset
- 第3关:Numpy数组的切片与索引
-阿呆-
#numpy初体验python
相关知识一维Numpy数组的切片操作与Python列表的切片一样。下面首先来定义数字012直到8的数组,然后通过指定下标3到7来选择数组的部分元素,这实际上就是提取数组中值为3到6的元素。In:importnumpyasnpIn:a=np.arange(9)In:a[3:7]Out:array([3,4,5,6])同时用下标选择元素,下标范围从0到7,并且下标每次递增2,如下所示:In:a[:7:
- JAX study notes[9]
身在此心在彼
计算综合python开发语言
文章目录usingfunctionfrommoudleimportthespecialfuntionapplythefunctionimportedfromthelibrarywriteintofileusingosmoduleusingsysmoduletogettheargumentsofsysreferencesnotation#单行注释variablex=10#整数y=3.14#浮点数na
- Python 音乐爬虫实战:从网页抓包到歌曲下载
维他奶糖61
python爬虫开发语言
在数字音乐的世界里,通过编程的方式获取自己喜欢的音乐,是一件既有趣又充满挑战的事情。今天,我们就用Python来打造一个简单的音乐爬虫,实现从网页抓包分析,到最终下载歌曲的全过程。一、代码概览流程先来看一下完整的Python代码:importos#抓包过滤媒体#id#EltfAyJRBlZeEF1aUCQFAFhfFF8NUnheUVhfF11XUyQaVldTR19NVndTVVlSQ1hfVw
- 探索GORM:Go语言中的开发友好型ORM库
探索GORM:Go语言中的开发友好型ORM库gormThefantasticORMlibraryforGolang,aimstobedeveloperfriendly项目地址:https://gitcode.com/gh_mirrors/gor/gorm在Go语言的生态系统中,有一颗璀璨的明星——GORM,为开发者们带来了高效且直观的对象关系映射(ORM)体验。这是一篇专为那些寻求数据库操作简便性
- 主线程,协程和互斥锁
aliven1
gogolang
packagemain//路径上加上包的唯一标识demo14,线程和协程,是go的核心import("fmt""time""sync")//需求:计算1-200之间所有数的阶乘,并且把各个数的阶乘放入map中。最后显示出来。使用协程完成。var(map1=make(map[int]int,10)//声明一个全局maplocksync.Mutex//互斥锁)funcmain(){fori:=1;i<
- `docker-compose` 安装 Neo4j 的详细步骤
MonkeyKing.sun
dockerneo4j容器
docker-compose安装Neo4j的详细步骤,适用于本地开发或测试环境(适配Neo4j5.x或4.x版本):一、准备环境1.安装Docker和DockerCompose如果尚未安装,请根据系统安装:Linux/macOS推荐安装DockerDesktop(已集成DockerCompose)Windows安装DockerDesktop验证安装:docker-vdocker-compose-v
- python为指定目录下的文件名批量加前缀
jghhh01
pythonjava前端
功能描述:批量重命名指定目录下的文件,文件名加前缀,默认格式为“目录名_原文件名”。代码importargparseimportosimportsysimportloggingdefgen_args():"""说明-----解析命令行参数"""parser=argparse.ArgumentParser(prog="批量文件重命名工具",description="批量重命名目录中的文件名,新文件名
- Ollama调用toolcalling失败, “error“: “registry.ollama.ai/library/deepseek-r1:latest does not support tool
bleuesprit
大语言模型llama人工智能ai
问题描述本地通过ollama调用的时候可能会遇到toolcalling调用失败的情况http://localhost:11434/api/chat{"model":"ttt","messages":[{"role":"user","content":"WhatistheweathertodayinParis?"}],"stream":false,"tools":[{"type":"function
- PyEcharts教程(009):PyEcharts绘制水球图
文理棵
Python数据分析python信息可视化数据分析PyEcharts
文章目录1、什么是水球图2、水球图示例:任务完成度1、什么是水球图水球图(Liquidchart)是PyECharts提供的一种非常形象的图表类型,适合展示百分比类指标,如健康评分、任务完成度、系统利用率等,水位高度越高表示数值越大,图形本身看起来像一个装水的圆球,非常直观。2、水球图示例:任务完成度1️⃣实现代码:frompyechartsimportoptionsasoptsfrompyech
- 【无标题】
FAUNAAAAAA
cocoa
Day55importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.preprocessingimportMinMaxScalerfromsklearn.ensembleimportRandomForestRegressorfromsklearn.metricsimportmean_squared_error#==================
- Windows 比较Excel文件助手
阿富软件园
电脑开源软件windows
在日常工作中,Excel是处理数据的常用工具,软件下载地址安装包但面对两份相似的工作表,如何快速准确地找出它们之间的差异,常常让许多Excel新手感到头疼。不过,现在有一款专为Excel小白设计的辅助工具,能够轻松解决这一难题,堪称Excel小白的福音。这款工具的使用方法非常简单,用户只需直接导入两份需要对比的工作表,软件便会自动启动其强大的数据对比功能。它能够主动且精准地定位出两份工作表中不同数
- PyEcharts教程(010):天猫订单数据可视化项目
文理棵
Python数据分析信息可视化python数据分析
文章目录1、读取数据2、数据处理3、重复值查看4、缺失值查看5、PyEcharts可视化5.1各个省份的订单量5.2时间序列分析5.3每天订单量统计可视化6、数据下载1、读取数据1️⃣读取数据:importpandasaspdfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportMap,Timeline,Bar,Line,Piedata
- React用户交互事件
在React中处理用户交互事件(如点击、输入、提交等)的方式与原生JavaScript类似,但有一些语法差异和最佳实践。以下是常见交互事件的处理方法及代码示例:一、基本事件处理(点击、输入等)1.点击事件(onClick)importReact,{useState}from'react';constButtonExample=()=>{const[count,setCount]=useState(
- Kitex v0.14.0 版本发布:支持流式泛化调用,优化排错体验
后端
重要变更介绍新特性1.泛化调用:泛化Client支持流式调用,一个Client搞定流式/非流式调用场景泛化Client支持流式泛化调用,适配gRPC/TTHeaderStreaming并支持map/json和protobuf二进制泛化调用。简要代码示例如下:cli,err:=genericclient.NewClient("actualServiceName",g)//Ping-Pong泛化res
- 实时股票API接口的调用方法 (原创教程)
kk_stoper
python开发语言javajavascript数据结构
1.准备工作接口类型:实时综合行情接口支持品种:贵金属,商品期货,外汇,A股,港股,美股查询方式:HTTP,WebSocket申请密钥:https://infoway.io官方对接文档:https://infoway.readme.io/reference/ws-subscription2.获取股票清单这个接口用来查询股票的名单,比如我可以获取美股清单:importrequestsurl="htt
- .NET多线程任务实现的几种方法及线程等待全面分析
百锦再@新空间
包罗万象.netandroidtaskThread线程并发线程池
文章目录1.引言2..NET多线程编程基础2.1线程概念回顾2.2.NET线程模型概述3.多线程任务实现方法3.1Thread类实现3.2ThreadPool实现3.3TaskParallelLibrary(TPL)3.4Parallel类3.5BackgroundWorker组件3.6Async/Await模式3.7各种方法的比较与选择4.线程等待机制详解4.1基本等待方法4.2同步原语4.3异
- 文本数据增强-同义词替换、随机交换、随机插入、随机删除
根据zhangy代码改写,主要针对千言问题匹配进行文本数据增强。依赖安装pipinstalljiebapipinstallsynonymseda.pyimportjiebaimportsynonymsimportrandomfromrandomimportshufflerandom.seed(2019)#停用词列表,默认使用哈工大停用词表f=open('stopwords/hit_stopword
- 在新设备上部署Git:完整教程与常见问题分析
马里马里奥-
gitgit容易见的一些问题
在现代软件开发中,Git是必不可少的版本控制工具。无论是个人项目还是团队协作,在新设备上快速部署Git都能提高效率。本博客将提供一份结构清晰的教程,指导你如何在新设备上完成Git部署,并分析部署过程中可能遇到的常见问题。教程基于标准实践,适用于Windows、macOS和Linux系统。让我们一步步来!1.引言Git是一个分布式版本控制系统,用于跟踪代码变更、协作开发。在新设备上部署Git包括安装
- xcode-XCTest
彭同学她同桌
Xcodexcode
@testableimportCustomSlideVC表示可以访问CustomSlideVC的所有属性和接口,包括internal如何运行test什么方法会运行XCTest是基于「反射机制」扫描函数名的,只会执行这些:方法签名是:functestXXX()(必须以test开头)所在类是XCTestCase的子类(或最终类)方法没有参数(不能是functestX(param:Int))也就是随便在
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数