- Quartz.Net_持久化
Mudrock__
Quartz.Net.netquartz.net
简述通常而言,Quartz.Net的数据默认是存储在运存中的,换言之:断电即失。所以在默认情况下,当系统重启后,原先的所有任务、触发器、调度器都会失效为避免上述情况的发生,可以对Quartz.Net进行持久化设置,令数据储存在DB中解决方式1.安装依赖(以MySQL为例)问:为什么需要同时安装MySql.Data与Pomelo.EntityFrameworkCore.MySql?答:因为我本人平时
- pomelo连接mySQL
神大人korose
准备工作:已安装mysql的windows版本先安装依赖库npminstallmysqlnpminstallgeneric-pool创建文件:250bede596931142bef0ab31e7aa08c0.png如图中所示建立shared文件夹,在shared文件夹下建立config文件夹,在config文件夹下创建mysql.json数据库配置文件,在shared文件夹下创建mysql.js和
- .Net Core3.1 配置Pomelo.EntityFrameworkCore.MySql数据操作(2)
少年_323a
引入Pomelo.EntityFrameworkCore.MySql程序包ConfigureServices//otherserviceconfigurationsgohere//replace"YourDbContext"withtheclassnameofyourDbContextservices.AddDbContextPool(options=>options//replacewithyo
- 摆渡人
Pomelo_工作室
图片发自App苇河里的星空钓垂老翁摆渡人渡不过这凌冽春风望夫石的小船三生池旁梦圆摆渡人渡不过这连绵心弦摆渡人奈你开始对我太仁应饮下孟婆汤前尘往事错成惘一切太清晰就像昨夕江翁垂钓妻妻。盼你回兮来世做你网里的鱼浆上的水渠就这样,一辈子不相离图片发自App文章来自pomelo工作室禁二转
- node日志-log4js
ThemisHoo
分享一个NodeJS中写日志的第三方包:Log4js.安装log4jsnpminstalllog4js创建log.js/***Createdbyhuon2019/1/9*/constpath=require('path');constlog4js=require('log4js');constlogPath=process.env.LOG_PAHT||CONFIG.log.path,logType
- 深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍
ansinjay
网游
一、Pomelo的定义和组成以下是Pomelo官网给出的最初定义:Pomelo是基于node.js的高性能,分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo最初的设计初衷是为了游戏服务器,不过我们在设计、开发完成后发现pomelo是个通用的分布式实时应用开发框架。它的灵活性和可扩展性使pomelo框架有了
- Nestjs 使用log4js实现日志输出
666和777
log4j
log4js默认的日志级别如下:ALL{return(logEvent:Log4js.LoggingEvent):string=>{letmoduleName='';letposition='';//日志组装constmessageList:string[]=[];logEvent.data.forEach((value:any)=>{if(valueinstanceofContextTrace)
- NodeJs 第十章 日志记录
aXin_li
nodenode开发语言javascript数据库
日志在Web应用中是必不可少的,在系统调试或运行出现异常时,可以通过日志来进行排查,甚至利用日志可以进行数据统计。log4js可以帮助我们在Node环境中记录日志日志可以分为三个方面level:日志级别(例如调试日志、信息日志、错误日志等等)category:日志分类(例如:sql日志、请求日志等等)appender:日志出口应该把日志写到哪?日志的书写格式是什么(layouts)安装npmins
- Net8 EFCore Mysql 连接
一零壹0
net8mysql数据库
一、安装插件Pomelo.EntityFrameworkCore.MySq(这里要选8.0.0以上版本低版本不支持.net8)二、配置数据库连接串appsettings.json中配置数据库连接串"ConnectionStrings":{"Connection":"server=172.18.2.183;port=3306;database=students;uid=root;pwd=123456
- js,ts 的开源游戏服务器框架
Nankys
服务器框架node.js
1.pomelo作者:NetEasehttps://github.com/NetEase/pomelo2.pinus作者:node-pinushttps://github.com/node-pinus/pinus1.mydog作者:ahuangegehttps://github.com/ahuangege/mydog
- .net 6用EF Core基本创建表 code first
xisghiu
.NetCore.netmicrosoft数据库
前言:用到的迁移命令:Add-Migrationtest生成迁移文件命令,test是迁移文件名称Update-Database迁移更新到数据库用到的NuGet包用于绑定上下文::DbContextPomelo.EntityFrameworkCore.MySql用于迁移Microsoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.
- core+2.0+mysql_通过Mysql连接ASP.Net Core2.0(Code First模式)
paid Pay
core+2.0+mysql
ASP.NETCore2.0连接Mysql,首先新建项目选择Web应用程序选择需要身份验证:通过Nuget安装Mysql驱动,这里推荐>Pomelo.EntityFrameworkCore.MySql(记得勾选预览版,目前只有此版本,虽然是预览,但是有rtm标识,所以放心就好)增加Startup类中对Mysql的支持把默认的options.UseSqlServer修改为options.UseMyS
- koa2项目中封装log4js日志输出
_Jyann_
nodeJskoalog4jsnodejs
1.日志输出到控制台npmilog4js-D封装log4js文件:注意:每次都要重新获取log4js.getLogger('debug')级别才能生效constlog4js=require("log4js");constlevels={'trace':log4js.levels.TRACE,'debug':log4js.levels.DEBUG,'info':log4js.levels.INFO,
- koa2项目连接mongdb数据库
_Jyann_
koanodeJsmongodbmongoose
1.数据库连接npmimongooseconfig/index.js中:module.exports={URL:"mongodb://127.0.0.1:27017/vue-admin"}config/db.js:注意移入文件路径问题constmongoose=require("mongoose")constlogger=require("../utils/log4js");constdbConf
- List和Dict数据类型作用详解
Ethan~Noah
pythonpython开发语言
一、list列表扩展的方式有几种(或者说添加元素的方法)(1)append(将对象追加到末尾)(2)extend(通过从可迭代对象追加元素来扩展列表)(3)insert(在索引之前插入对象,即扩展列表)2.对["cherry","litchi","strawberry","mangosteen","pomelo","pineapple","pitaya","durian"]进行默认排序对上面的列表
- 使用PM2部署pomelo服务器
superzhan
pomelo服务器部署问题pemelo可以使用'pomelostart-eproduction'命令在服务器运行生产环境的服务器代码。pomelo自身缺少进程监控,运行过程中不方便获取到进程的运行信息。而且pomelo没有进程保护,当进程崩溃之后,不能自动重启进程。pomelo提供的单服务器重启动功能不能使用,至少目前的2.2.5版本中不能使用单个服务器重启功能。当完成某个服务器的代码的修改之后,
- Koa2 + Mongoose + Log4js 持久化日志
回首潇潇雨歇处
logo 之前做的项目是采用Express框架进行搭建的,其中的日志管理采用了winston+Postgresql+sequelize的形式,最近倒弄Koa2框架,于是就想着尝试采用另一种方式进行访问日志的管理,就想到了log4js。关于log4js的介绍在这里就不多叙述了,想了解请点击 log4js详细介绍 说到数据持久化,最普遍的无非就两种方式:文件存储数据库存储 本文将以log4js为主线,
- c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库
余思
c自动生成mysql表结构
1.首先新建Asp.NetCoreWebApi项目2.添加一下引用:2.1Pomelo.EntityFrameworkCore.MySql(我用的Mysql根据自己情况引用就行)2.2Microsoft.EntityFrameworkCore2.3Microsoft.EntityFrameworkCore.Design3.使项目支持dotnetef工具以使用Migrations3.1手动修改csp
- 使用ShardingCore插件分表实践
Three Big Stones
githubintellij-ideajava
1、新建Asp.NetCoreWebApi项目这里使用VisualStudio2022,Asp.NetCoreWebApi项目,.Net6框架开发分表功能2、插件安装使用nuget命令安装或者离线安装PM>Install-PackageShardingCore-Version7.7.1.7PM>Install-PackagePomelo.EntityFrameworkCore.MySql-Vers
- 十一、通用控制器,Response中间件及错误日志
JimmyTsai75
Sailsjs从零开始中间件数据库
文章目录Jwt认证authenticate.ts问题已经登录用户缓存Response响应中间件响应中间件Amis封装响应中间件Amis使用错误日志log4js安装log4js配置重载nodejs的console.log.gitignore封装Error通用控制器通用控制器实现完善Swaggerdescriptionproperties完整GeneralSwagger.ts修改config/rout
- 2023-10-20 游戏开发-开源游戏-记录
财阀悟世
游戏开发游戏开发
摘要:做一些游戏的记录地址:GitHub-ligun123/chess:使用pomelo+CocosCreator开发的棋牌游戏集GitHub-GEngine-JP/chessgamehttps://github.com/Yinmany/ETBombGitHub-doctording/pomelo_unity_poker_game:pomelo服务端框架,unity5.4开发的多房间的,联机在线的
- ASP.NET Core2.1使用EF Core操作MySql数据库及SQL Server数据库迁移MySQL
西瓜皮哦
.NETMySQLmysqlsqlserverasp.net
之前一直使用的是SQLserver数据库,近期学习了.netcore使用EF去操作MySQL,并且进行数据迁移的实现。在网上找了一些教程发现有些坑,现在做一个个人总结。使用NuGet安装:Pomelo.EntityFrameworkCore.MySql(2.1.4)和Microsoft.EntityFrameworkCore.Tools(2.1.4)注:发现高版本会安装失败软件版本VS2019As
- 王朝娱乐H5 游戏源码(cocos creator , pomelo + mongDB)搭建教程2020-06-20
武汉神彩
1.安装nodejsNodeJS与npm在Windows下版本升级npm-ginstallnpm@8.15.1nvminstallv8.15.11.sudoyum-yinstallgccgcc-c++openssl-devel(安装相关软件)2.下载nodejs源码包并解压wgethttps://nodejs.org/dist/v8.15.1/node-v8.15.1.tar.gztarzxvfn
- 病毒来袭,如何“吃”出免疫力?
下班了_d8e2
病毒来袭,除了居家隔离,最根本的办法是提高自身的免疫力,免疫力是人体的“防护罩”,哪些日常食物可以“吃”出免疫力呢?来看看吧!常见的柑橘类水果有橙子(orange)、桔子(tangerine)和柚子(pomelo),他们富含丰富的维生素C(vitaminC)及类胡萝卜素(carotenoid),帮助人体维持正常的免疫功能。推荐食谱:鲜榨柳橙汁被誉为“浆果之王,富含花青素(anthocyanidin
- 基于nestjs与log4js的日志模块集成
dxccccccccccc
nestjstypescript前端javascript
文章目录日志模块集成1.版本需求2.需求分析3.需求实现0.安装npm包1.log4js配置2.实例化日志类3.利用`中间件`记录请求信息4.利用`拦截器`记录出参信息5.利用`过滤器`实现全局异常的捕捉6.自定义typeorm日志模块7.根据env获取对应的配置信息日志模块集成1.版本需求新平台项目需集成日志系统,用于记录项目中各类信息.2.需求分析日志模块选型:社区主流日志实现有log4js,
- pomelo学习
隐性中二病患者
1,gate服务器connector服务器game服务器connector服务器和gate服务器间通过rpc来通信connector1.负责维护用户sesssion2.负责用户的连接请求维护和客户端的连接消息推送。3.负责接收connector服务器转发的用户请求并进行响应。客户端连接apipomelo.init({host,port},function(){})客户端请求apipomelo.re
- 游戏服务端pomelo安装配置
Nimanggi
游戏服务端pomelo安装配置一、安装环境debian7.0amd64二、安装需要的组件1、安装nodejs注:debian下nodejs没有相应的apt包,所以无法用apt-get安装,只能通过nodejs的源码包安装,这里有比较全的其他系统环境下安装nodejs的方式https://github.com/joyent/node/wiki/Installing-Node.js-via-packa
- ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)
weixin_39731586
efcoremysql生成迁移失败
标签:工具与环境介绍1.开发环境为vs2015场景设计两张表用户表(user)和发帖表(user)一个用户对应多个用户CodingBegin1.新建项目(新建一个空console项目)2.添加Nuget.config增加两个feed,一个是Pomelo(mysqlefcore的支持),一个是nuget代码如下:3.在project.json中增加efcore的依赖,同时增加EFTool(用于数据库
- EFCore Migration
2201_75837601
数据库mysqlc#
场景设计两张表用户表(user)和发帖表(user)一个用户对应多个用户CodingBegin1.新建项目(新建一个空console项目)2.添加Nuget.config增加两个feed,一个是Pomelo(mysqlefcore的支持),一个是nuget代码如下:3.在project.json中增加efcore的依赖,同时增加EFTool(用于数据库的迁移){"version":"1.0.0-*
- 开源服务器大整理
香菜+
游戏系统设计服务器游戏引擎游戏程序
各种开源游戏服务器pomelo-网易出品的Node.js游戏服务器框架pinus-pomelo的ts版本skynet-云风大神出品Lua游戏服务器框架Scut-supportC#/Python/Lua可惜两年没有更新了NoahGameFrame-一个支持分布式的C++游戏服务器框架TrinityCore-MMO游戏服务器框架,开源的魔兽服务器ryzomcore-分布式的游戏服务器,ryzom的官方
- Enum 枚举
120153216
enum枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
- Java8简明教程
bijian1013
javajdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
- Oracle表维护 快速备份删除数据
cuisuqiang
oracle索引快速备份删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
- java多态内存分析
麦田的设计者
java内存分析多态原理接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
- Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
- 类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
- html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
- google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
- webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
- 菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
- 通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
- spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
- [Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
- 【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
- nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
- java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
- Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
- js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
- oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
- Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
- 编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
- [Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
- solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
- Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
- js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
- 开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
- 算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
- 正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
- hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
- Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p