产生问题的原因就是通过此标签的样式不能使用css样式。因为数据直接解析,那么我们可以修改或者处理这个数据来解决问题解决方法,通过修改数据中的文本内容中的img标签的内联样式来实现formatGoodsData(data){letcontent=data.goods_contentcontent=content.replace(/\
SQLSERVER 中GO的作用详解
为了省事,直接贴过来的。请看下文详解。usedb_CSharpgoselect*,备注=casewhenGrade>=90then'成绩优秀'whenGrade=80then'成绩良好'whenGrade=70then'成绩及格'else'不及格'endfromtb_Grade如果只是执行一条语句,有没有GO都一样如果多条语句之间用GO分隔开就不一样了每个被GO分隔的语句都是一个单独的事务,一个语
麒麟系统使用-进行.NET开发
mystonelxj
麒麟系统.net麒麟系统控制台及web
文章目录前言一、搭建dotnet环境1.获取相关资源2.配置dotnet二、使用dotnet三、其他说明总结前言麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NETFramework是仅适用于Windows版本的.NET,所以要进行.NET开发需要特定的安装及配置。使用.NET方式与在windows环境下使用有些出入。本文将细致讲解在如何在麒麟系统中使用.N
麒麟系统使用-个性化设置
mystonelxj
麒麟系统麒麟系统个性化设置
文章目录前言一、个性化设置-背景二、个性化设置-主题三、个性化设置-锁屏四、个性化设置-屏保五、个性化设置-字体总结前言与windows系统相比,麒麟系统中的个性化设置大体相似,在细节上稍有不同。本文将讲述麒麟系统中的个性化设置中的各个模块。一、个性化设置-背景进入麒麟系统后,打开“设置”对话框,点击“个性化”区域,进入个性化设置界面默认情况下,进入个性化设置界面后打开的是“背景”模块,我们可以根
vue3 添加onShow,每次显示都执行
萧大侠jdeps
前端vue.jsjavascript
vue3的生命周期没有onShow,uniapp有提供onShow.有时候我们希望用户离开在回到页面时,把他最关心的可能变化比较平繁的数据刷新出来。constonShow=()=>{//这里执行刷新}onMounted(()=>{initData();document.addEventListener('visibilitychange',onShow);});onUnmounted(()=>{d
工厂模式中使用Map管理策略实例时,为何仍需要Context?
看这篇文章前,可以先了解一下:策略模式与工厂模式的黄金组合:从设计到实战一、核心矛盾:创建职责与调用职责的分离问题当使用Map管理策略实例时(如MapstrategyMap),工厂确实能高效获取策略实例,但这仅解决了**“策略从哪里来"的问题。而策略的"如何使用”**仍面临以下挑战:上下文逻辑碎片化:策略调用前后的公共逻辑(如参数校验、结果处理)会散落在客户端代码中调用流程不一致:不同客户端可能以
8、做中学 | 四年级下期 Golang运算符
运算符:在程序中扮演执行数学、逻辑运算的过程一、算术运算符数学运算使用到的运算符运算符描述实例+相加A+B输出结果30-相减A-B输出结果-10*相乘A*B输出结果200/相除B/A输出结果2%求余B%A输出结果0++自增A++输出结果11–自减A--输出结果9//运算符varaint=10varbint=20varcint//+运算c=a+bfmt.Println("c=",c)//30//-c
用Tensorflow进行线性回归和逻辑回归(十)
lishaoan77
tensorflow线性回归tensorboard可视化
用TensorBoard可视化线性回归模型TensorBoard是一种可视化工具,用于了解、调试和优化模型训练过程。它使用在执行程序时编写的摘要事件。上面定义的模型使用tf.summary.FileWriter来写日志到日志目录/tmp/lr-train.我们可以用命令调用日志目录的TensorBoard,见Example3-13(TensorBoard已黙认安装与TensorFlow一起).Ex
[redis系列] redis脚本
en-route
redis数据库
介绍RedisLua脚本功能使得用户能够在Redis服务器端执行自定义的Lua脚本,从而实现更高效、更灵活的数据操作。Lua脚本运行在Redis服务器内部,这意味着你可以减少客户端与服务器之间的通信开销,并且可以通过原子操作确保多个Redis命令的执行一致性。组合功能:Lua脚本能够将Redis中的简单命令组合起来,从而实现复杂的业务需求,避免多次网络往返。数据操作原子性:通过Lua脚本,开发者可
[redis系列] 发布订阅 Pub/Sub
en-route
redis数据库缓存
介绍Redis的发布/订阅(Pub/Sub)模式允许发布者通过通道广播消息,发布者不关心是否有订阅者;订阅者根据兴趣接收相关消息,而无需了解具体的发布者。这种机制通过将发布者和订阅者解耦,使得它们不直接依赖于对方,大大提高了系统的扩展性。如果您对Redis相关内容感兴趣,欢迎查看我的Redis系列博客。匹配订阅SUBSCRIBE该命令返回值的第三个表示当前客户端已订阅的频道总数。#订阅频道my_c
【MSSQL】sql server怎样整理某个表的碎片
厦门德仔
MSSQLsqlserver数据库服务器
SQLServer如何整理某个表的碎片在数据库的维护过程中,碎片化是一个常见的问题。随着数据的插入、更新和删除,SQLServer中的表和索引可能会出现碎片,这会导致查询性能下降。本文将介绍如何在SQLServer中整理某个表的碎片,并提供代码示例帮助你理解。什么是碎片化?碎片化是指数据在物理存储上不连续,导致数据库无法有效利用存储空间。碎片化通常分为两种类型:内部碎片:数据页中存在空闲空间,没有
【vue.js之夯实基础-3】TypeScript 入门之简介
alwarse
vuejstypescriptjavascriptvue.js
教程实例参照->入门教程详细教程参照->详细教程完全教程->完全教程什么是TypeScriptTypedJavaScriptatAnyScale.添加了类型系统的JavaScript,适用于任何规模的项目。TypeScript的特性类型系统从TypeScript的名字就可以看出来,「类型」是其最核心的特性。我们知道,JavaScript是一门非常灵活的编程语言:它没有类型约束,一个变量可能初始化时
embedding模型有哪些?如何选择合适的embedding模型?
行云流水AI笔记
embedding
embedding模型是一种将数据映射到低维空间的模型,常用于自然语言处理、推荐系统、图像识别等领域。以下是一些常见的embedding模型:Word2Vec:CBOW(ContinuousBag-of-Words):通过上下文预测中心词。Skip-Gram:通过中心词预测上下文。GloVe(GlobalVectorsforWordRepresentation):结合了词频统计和Word2Vec的
强化学习 16G实践以下是基于CQL(Conservative Q-Learning)与QLoRA(Quantized Low-Rank Adaptation)结合的方案相关开源项目及资源,【ai技】
行云流水AI笔记
开源人工智能
根据你提供的CUDA版本(11.5)和NVIDIA驱动错误信息,以下是PyTorch、TensorFlow的兼容版本建议及环境修复方案:1.版本兼容性表框架兼容CUDA版本推荐安装命令(CUDA11.5)PyTorch11.3/11.6pipinstalltorchtorchvisiontorchaudio--extra-index-urlhttps://download.pytorch.org/
【DeepSeek实战】3、Ollama实战指南:LobeChat+多网关架构打造高可用大模型集群
无心水
Ollama实战指南LobeChat实战DeepSeek实战DeepSeek全栈应用开发AI入门大模型CSDN技术干货
一、企业级大模型集群架构全景解析在人工智能落地应用的过程中,大模型服务的高可用性、成本控制和灵活扩展能力成为企业关注的核心痛点。本方案通过LobeChat前端、AI网关层和Ollama模型集群的三层架构设计,实现了无需复杂运维即可部署的生产级大模型服务体系。该架构不仅支持负载均衡、故障转移和模型热切换等企业级特性。还通过量化技术将硬件成本降低60%以上,为中小企业提供了与商业云服务相当的性能体验。
pdf 不是扫描件,但却无法搜索关键词【问题尝试解决未果记录】
Lauren_Lu
pdf
一、不是扫描件但不能搜索的原因1.情况一:文字被转成了“图形文字”有些PDF文件虽然看起来像是文字,其实是图片或者矢量图格式,不能直接搜索。2.情况二:PDF被加密有些PDF设置了“内容复制/提取”权限受限,即使你能阅读,但不能搜索、复制或选择文字。这通常是加密的一种表现。3.情况三:PDF嵌入了字体,但不是真正的文本有时PDF作者用的特殊软件或字体,会让文字显示正常,但实际上是不可识别的字符二、
如何在 ArcGIS 中使用 Microsoft Excel 文件_20250614
Lauren_Lu
arcgismicrosoftexcel
如何在ArcGIS中使用MicrosoftExcel文件软件版本:win11;ArcGIS10.8;Office20241.确认ArcGIS10.8对.xlsx文件的支持ArcGIS10.8支持.xlsx文件(Excel2007及以上格式),但需要安装MicrosoftAccessDatabaseEngine驱动程序来读取这些文件。ArcGIS10.8是一个32位应用程序,因此需要32位的驱动程序
print(3 or 5)的结果是什么?为什么?
Lauren_Lu
python
print(3or5)的结果是:3原因:在Python中,or是一个逻辑运算符,但当它作用于非布尔类型(比如整数)时,它的行为是:返回第一个为真的值;如果第一个值为假,则返回第二个值。具体分析:3是一个非零整数,在布尔上下文中被视为True所以3or5就是:如果3是True,就返回3;否则返回5由于3是True,所以返回的是3。类似例子:print(0or5)#输出5,因为0被视为Falsepri
深度学习实战:基于嵌入模型的AI应用开发
AIGC应用创新大全
AI人工智能与大数据应用开发MCP&Agent云算力网络人工智能深度学习ai
深度学习实战:基于嵌入模型的AI应用开发关键词:嵌入模型(EmbeddingModel)、深度学习、向量空间、语义表示、AI应用开发、相似性搜索、迁移学习摘要:本文将带你从0到1掌握基于嵌入模型的AI应用开发全流程。我们会用“翻译机”“数字身份证”等生活比喻拆解嵌入模型的核心原理,结合Python代码实战(BERT/CLIP模型)演示如何将文本、图像转化为可计算的语义向量,并通过“智能客服问答”“
BTC官网关注巨鲸12亿美元平仓,XBIT去中心化交易平台表现稳定
在全球加密货币市场波动加剧的背景下,2025年5月25日传出重磅消息。据今日最新国际报道,知名巨鲸JamesWynn完全平仓价值12亿美元的BTC多头仓位,整体盈利约845万美元,此举引发市场广泛关注。与此同时,收益型稳定币市场迎来爆发式增长,去中心化交易所平台在市场动荡中展现出卓越的稳定性和抗风险能力。巨鲸大举平仓,市场信号值得关注今日中午,币界网监控显示,加密货币市场出现重要变化。知名巨鲸投资
鸿蒙开发:资讯项目实战之项目框架设计
前言本项目API>=13写了那么多的文章,总感觉缺少点什么,沉下心来细细一想,原来是没有把相关知识应用于实战,对于我们这些开发过项目,有过项目经验的人来说,项目开发小菜一点,但是对于刚接触鸿蒙的开发者而言,确实需要一个从0到1的项目进行磨炼一下,授人以鱼不如授人以渔,说干就干,那么接下来的一段时间,我会时不时的进行穿插项目实战的文章,当然了其他的技术文章也会不间断更新。关于项目实战,选来选去,最终
HarmonyOS Next IM实战:数据库查询慢的优化过程分享
HarmonyOSNextIM实战:数据库查询慢的优化过程分享1、背景介绍在IMSDK开发中,客户端要使用关系型数据库存储会话、用户、消息等数据,最开始做C端应用一直没发现问题,今年开始有B端用户使用时反馈应用卡,消息延迟等,经过定位发现是B端用户的会话和消息更多,在数据库查询时更慢,由于之前都在主线程所以导致应用卡和慢。本文分享整个优化过程中的遇到问题、解决思路,最终效果等。2、HarmonyO
【赵渝强老师】OceanBase OBServer节点的目录结构
OceanBaseOBServer节点工作目录下通常有audit、bin、etc、etc2、etc3、log、run、store等目录,但这些目录并非都是安装必须的。在启动OBServer节点前需要保证etc、log、run、store这4的目录存在,同时store下应该有clog、slog、sstable这3个目录。etc2、etc3是备份配置文件用的,由OBServer节点创建。audit下存
微信小程序开发中的触摸手势和页面缩放
无敌暴龙战士-
微信小程序notepad++小程序
微信小程序开发中的触摸手势和页面缩放内容是非常重要的功能之一,它可以帮助提高用户体验,增强交互性。在本篇文章中,我将详细介绍微信小程序中触摸手势的使用方法和页面缩放内容的实现。一、触摸手势触摸手势是指用户在屏幕上进行触摸操作时产生的动作,如点击、滑动、长按等。微信小程序提供了一些接口来处理触摸手势,包括触摸事件、手势事件等。触摸事件微信小程序中的触摸事件主要有以下几种:touchstart:手指触
Spring4.1新特性——Spring MVC增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
mysql 性能查询优化
annan211
javasql优化mysql应用服务器
1 时间到底花在哪了?
mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了
检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方
花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操
windows系统配置
cherishLC
windows
删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可:
http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html
类似的还有pagefile.sys
msconfig 配置启动项
shutdown 定时关机
ipconfig 查看网络配置
ipconfig /flushdns
人体的排毒时间
Array_06
工作
========================
|| 人体的排毒时间是什么时候?||
========================
转载于:
http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR
ZooKeeper
cugfy
zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea
网络爬虫的乱码处理
随意而生
爬虫网络
下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。 网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理
Xcode常用快捷键
张亚雄
xcode
一、总结的常用命令:
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前
mongoDB索引操作
adminjun
mongodb索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: &nbs
成都软件园实习那些话
aijuans
成都 软件园 实习
无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~
断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。
都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都
Linux下FTP服务器安装及配置
ayaoxinchao
linuxFTP服务器vsftp
检测是否安装了FTP
[root@localhost ~]# rpm -q vsftpd
如果未安装:package vsftpd is not installed 安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息
安装FTP
运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf
使用mongo-java-driver获取文档id和查找文档
BigBird2012
driver
注:本文所有代码都使用的mongo-java-driver实现。
在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在
JSONObject以及json串
bijian1013
jsonJSONObject
一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
&n
[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性
bit1129
zookeeper
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocal
【Scala十二】Scala核心六:Trait
bit1129
scala
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
weblogic version 10.3破解
ronin47
weblogic
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
求第n个斐波那契数
BrokenDreams
今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。
自己试了下,搞了好久。。。基础要加强了。
&nbs
读《研磨设计模式》-代码笔记-访问者模式-Visitor
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
interface IVisitor {
//第二次分派,Visitor调用Element
void visitConcret
MatConvNet的excise 3改为网络配置文件形式
cherishLC
matlab
MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。
主页:
http://www.vlfeat.org/matconvnet/
教程:
http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html
注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet:
http
ZK Timeout再讨论
chenchao051
zookeepertimeouthbase
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
CASE WHEN 用法介绍
daizj
sqlgroup bycase when
CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN
PHP技巧汇总:提高PHP性能的53个技巧
dcj3sjt126com
PHP
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍
Yii框架中CGridView的使用方法以及详细示例
dcj3sjt126com
yii
CGridView显示一个数据项的列表中的一个表。
表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。 CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。
实例代码如下:
Maven项目打包成可执行Jar文件
dyy_gusi
assembly
Maven项目打包成可执行Jar文件
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:
1、在项目中加入插件的依赖:
<plugin>
php常见错误
geeksun
PHP
1. kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc
修改linux的用户名
hongtoushizi
linuxchange password
Change Linux Username
更改Linux用户名,需要修改4个系统的文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替:
vipw
vipw -s
vigr
vigr -s
具体的操作顺
第五章 常用Lua开发库1-redis、mysql、http客户端
jinnianshilongnian
nginxlua
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。
一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。
Redis客户端
lua-resty-r
zkClient 监控机制实现
liyonghui160com
zkClient 监控机制实现
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
pda158
mysql
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum
程序员对英语的依赖
Smile.zeng
英语程序猿
1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。
2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。
3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。
4、写的程序至少能有一定的可读性,至少要人别人能懂吧...
以上一些问题,充分说明了英语对程序猿的重要性。骚年
Oracle学习笔记(8) 使用PLSQL编写触发器
vipbooks
oraclesql编程活动Access
时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!
这是第八章的学习笔记,学习完第七章的子程序和包之后