前端技术
HTML
CSS
Javascript
前端框架和UI库
VUE
ReactJS
AngularJS
JQuery
NodeJS
JSON
Element-UI
Bootstrap
Material UI
服务端和客户端
Java
Python
PHP
Golang
Scala
Kotlin
Groovy
Ruby
Lua
.net
c#
c++
后端WEB和工程框架
SpringBoot
SpringCloud
Struts2
MyBatis
Hibernate
Tornado
Beego
Go-Spring
Go Gin
Go Iris
Dubbo
HessianRPC
Maven
Gradle
数据库
MySQL
Oracle
Mongo
中间件与web容器
Redis
MemCache
Etcd
Cassandra
Kafka
RabbitMQ
RocketMQ
ActiveMQ
Nacos
Consul
Tomcat
Nginx
Netty
大数据技术
Hive
Impala
ClickHouse
DorisDB
Greenplum
PostgreSQL
HBase
Kylin
Hadoop
Apache Pig
ZooKeeper
SeaTunnel
Sqoop
Datax
Flink
Spark
Mahout
数据搜索与日志
ElasticSearch
Apache Lucene
Apache Solr
Kibana
Logstash
数据可视化与OLAP
Apache Atlas
Superset
Saiku
Tesseract
系统与容器
Linux
Shell
Docker
Kubernetes
[组件化编程]的搜索结果
这里是文章列表。热门标签的颜色随机变换,标签颜色没有特殊含义。
点击某个标签可搜索标签相关的文章。
点击某个标签可搜索标签相关的文章。
JQuery
...架完美结合,适应当前组件化开发的趋势。 与此同时,无障碍网页设计(Accessible Web Design)也要求拖拽功能需要考虑键盘控制及辅助技术用户的使用体验。在最新的W3C ARIA规范中,详细定义了如何通过aria-grabbed、aria-dropeffect等属性来增强拖拽功能的可访问性,确保所有用户都能顺畅地进行拖拽操作并感知页面反馈。 深入探究,我们可以发现,拖拽效果不仅在常规网页元素之间交互中有广泛应用,在数据可视化、地图应用等领域也有着重要价值。通过集成更先进的库以及遵循相关标准,开发者能够创建出更加动态、互动且易于使用的网页界面,进一步提升整体用户体验。 综上所述,尽管本文介绍了jQuery实现拖拽滚动的基础方法,但在实际项目开发中,关注行业最新动态,采用更为专业且符合无障碍标准的解决方案,将有助于我们构建更具竞争力的现代Web应用。
2023-01-15 20:24:51
397
算法侠
Python
...子串。在Python编程语言中,通过内置的re模块可以实现对正则表达式的支持,从而帮助开发者更方便地进行复杂的字符串匹配与处理任务。 正则表达式引擎 , 正则表达式引擎是程序中负责解析和执行正则表达式模式的组件。在Python中,当使用re模块进行字符串匹配时,正则表达式引擎会根据提供的正则模式对目标字符串进行扫描,并应用相应的算法判断是否满足匹配条件。如果待处理的字符串非常庞大且匹配模式复杂,正则表达式引擎可能需要进行大量的计算和状态转移,从而导致性能下降甚至程序卡死。 计算量控制 , 在计算机科学领域,计算量通常指的是完成一个特定任务所需的基本运算次数或资源消耗程度。在本文所讨论的场景下,计算量控制是指通过限制正则表达式匹配的范围或者改变匹配策略来减少正则表达式引擎所需的计算工作量,以提升程序运行效率,避免因大量不必要的计算而导致的程序卡死或响应缓慢问题。例如,在文中提到的案例中,通过只匹配文本的前100000个字符,而不是整个庞大的文本,就实现了计算量的有效控制。
2023-05-13 20:11:01
259
程序媛
HTML
...修,内置丰富的模板和组件满足各类营销场景需求。同时,该工具结合了AI技术,能够根据用户行为数据优化页面布局和内容推荐,有效提升转化率。 另外,亚马逊公司也不甘示弱,其Webstore Customization Toolkit允许第三方卖家定制自己的店面,提供一站式的商品展示、交易处理和数据分析功能。此工具简化了复杂的前端开发流程,使得没有专业编程背景的卖家也能轻松打造出专业级的线上商店。 深入解读这些举措,不难发现电商巨头们正致力于降低平台生态内商业活动的技术门槛,让更多企业和个人参与到数字经济的浪潮中来。而诸如HTML首页代码生成器这类工具的研发与应用,则是推动电商行业持续发展、创新用户体验的关键一环。在未来,我们期待看到更多便捷高效的网页制作工具涌现,以适应日益激烈的市场竞争与消费者对个性化体验的需求。
2023-07-22 15:59:38
372
数据库专家
Python
...库中的entropy组件 from scipy.stats import entropy 设定一个序列用于存储数据 data = [1, 1, 2, 3, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7] 采用SciPy的entropy函数来求取信息量 ent = entropy(data, base=2) 输出结果 print("数据集的信息量为:", ent) 于上述代码中,我们首先载入了SciPy库中的entropy组件,并设定了一个序列来存储数据。然后,我们采用SciPy的entropy函数来计算序列中数据的信息量,其中参数base=2是指采用以2为底的对数来计算熵。最后,我们输出了结果。 除了于计算信息论中的信息量时,SciPy库的entropy函数还可以用于计算相对熵等衡量指标。此外,它于机器学习中的一些算法中也会被用到。因此,熟练采用SciPy库的entropy函数将会为我们于数据分析和科学研究中带来很大的便利。
2023-08-02 10:52:00
222
数据库专家
转载文章
...ix服务无法启动部分组件。 Socket绑定错误 , Socket绑定错误是指在计算机网络编程中,当一个进程试图与指定的套接字地址建立连接并进行监听时,由于权限或其他系统层面的问题,未能成功将套接字与该地址关联起来。在本文的具体情境下,Zabbix的alert manager服务和预处理服务尝试绑定到特定的Unix域套接字文件(例如 /var/run/zabbix/zabbix_server_alerter.sock),但由于SELinux安全策略的限制,操作系统返回了“Permission denied”错误,表现为无法完成socket绑定操作,进而导致服务无法启动。
2023-04-15 23:41:26
298
转载
Javascript
...访问。 此外,函数式编程范式在JavaScript社区日渐流行,对函数参数与实参的探讨也延伸到了柯里化、偏函数等高级技巧上。这些技术能帮助开发者更好地管理复杂性,提升代码复用率,尤其是在处理大量数据或构建组件库时表现尤为突出。 同时,TypeScript作为JavaScript的超集,其严格的类型系统对于函数参数和实参的约束更是细致入微,包括可选参数、默认参数以及联合类型和泛型的应用,不仅提高了代码的健壮性,更极大地优化了开发体验和团队协作效率。 因此,深入理解并掌握JavaScript函数参数与实参的工作机制,并紧跟最新语言特性和编程范式的演进,无疑将助力开发者在实际项目中编写出更高效、更具弹性的代码。
2023-01-14 16:01:21
293
飞鸟与鱼_t
VUE
...户友好的Sku选择器组件。近期,某大型电商平台在其最新升级中,就采用了Vue.js重构其商品筛选功能,实现了SKU属性的动态加载与联动选择,极大地提升了用户体验和页面性能。 结合实际案例,Vue.js因其响应式的数据绑定和声明式渲染机制,在处理复杂交互逻辑时表现得游刃有余。通过v-for指令进行列表渲染,v-model实现双向数据绑定,配合事件处理机制,轻松应对SKU多维度筛选的需求。此外,Vue.js生态系统的丰富插件和库也为开发者提供了更多可能,如Element UI、Vuetify等,使得界面设计更符合现代审美,进一步优化了用户的购物体验。 值得注意的是,Vue.js 3.0版本发布后,凭借Composition API、Teleport等新特性,为前端开发带来了更多灵活性和可维护性。未来,随着前端技术的不断发展,Vue.js将在电商乃至更多领域发挥更大的作用,帮助开发者更好地应对日益增长的交互需求和用户体验挑战。 同时,Vue.js社区活跃,不断涌现出优秀的实战教程和项目经验分享,比如《Vue.js实战:从零构建电商应用》一书,深入剖析了如何使用Vue.js搭建完整的电商系统,包括但不限于Sku选择器的设计与实现,为开发者提供了宝贵的实践参考。 总之,Vue.js以其独特的优势持续赋能电商Web开发,无论是实时更新的商品列表展示,还是复杂的SKU选择器设计,都能借力Vue.js实现高效的开发和卓越的用户体验。对于致力于提升网站互动性和流畅度的电商企业而言,Vue.js无疑是值得深入研究和广泛应用的技术利器。
2023-05-19 22:11:19
101
算法侠
Java
...简称JS)是一种动态编程语言,通常用于开发Web应用程序。它是Java虚拟机(JVM)的一种实现,因此可以借助Java框架和类库。在Java中,我们可以通过在HTML页面中添加
2024-01-04 09:43:00
350
电脑达人
转载文章
...获与复用的功能,通过组件化的方式将UI逻辑解耦,提升代码的可维护性和复用性。 另外,PHP社区近期推出了Twig模板引擎的新版本,它在内容捕获与变量处理上也有所创新。例如,Twig中的“set”标签和“block”标签能够实现与Smarty capture类似的特性,甚至提供了更灵活的块级内容捕获与继承机制,这对于构建复杂、动态的网页布局具有显著优势。 同时,随着Serverless架构的发展,无服务器环境下的模板渲染方式也在不断演进。如AWS Lambda结合其云服务的API Gateway使用Velocity模板语言进行响应体的动态构建,这种场景下如何高效利用模板捕获功能来组装数据并返回给客户端,是值得开发者关注的技术实践。 此外,对于 Smarty 用户来说,除了掌握基本的内置函数外,了解 Smarty 3.x 到 Smarty 4 的新特性与迁移策略也至关重要。Smarty 4 提供了更多现代化的语法糖以及对 PHP 新特性的支持,有助于提高模板编写效率和运行性能。 总之,在持续发展的Web开发领域,无论是传统的Smarty模板引擎,还是新兴的前端框架与云服务模板技术,深入了解并掌握各种内容捕获与输出管理的方法,都是提升项目质量与开发体验的关键所在。
2023-12-03 17:52:39
79
转载
Java
...立编译、部署和运行的组件单元,可以包含多个类和接口,并通过“requires”关键字声明对其他模块的依赖关系。同时,模块还可以使用“exports”关键字来控制其内部包的可见性,从而实现代码的封装和复用。JPMS旨在提高代码的可维护性和安全性,减少隐式依赖,支持强封装,以及优化程序启动时间和内存占用。 模块化编程 , 模块化编程是一种软件开发方法论,其基本思想是将复杂的大型软件系统划分为一系列具有独立功能且相互协作的模块。在Java中,模块是一组相关的类和接口的集合,每个模块都有清晰的边界和职责,能够单独进行编译、测试和部署。模块化有助于降低代码耦合度,提高代码重用性,方便团队分工协作,并简化后期的维护和升级工作。 包的导出与封装 , 在Java模块化系统中,一个模块可以通过\ exports\ 语句来导出特定的包,使得这些包中的公共类和接口对其他模块可见并可被使用。而未被导出的包则被视为模块的私有部分,对外部模块不可见,实现了代码的封装。这种机制增强了系统的安全性和可控性,确保了模块间仅通过明确定义的接口进行交互,降低了由于随意访问内部实现带来的潜在风险。
2023-01-11 20:51:19
578
代码侠
VUE
...JavaScript编程语言的包管理器,用于在Node.js环境中查找、安装和管理软件包或模块。在文章中,开发者使用npm来安装Vue视频播放插件vue-video-player,以便在项目中引入并使用该组件。 Vue-video-player , Vue-video-player是一款基于Video.js封装的适用于Vue.js框架的视频播放组件。它提供了丰富的自定义选项和API,可以帮助开发者轻松地在网页上嵌入视频,并实现诸如自动播放、视频源切换、封面显示、播放速率调整、宽高比设置以及字幕支持等多种功能。 MPEG-DASH , MPEG-Dynamic Adaptive Streaming over HTTP(DASH),是一种基于HTTP协议的自适应流媒体传输标准。在最新的Web视频技术动态部分提及,Google开源的Shaka Player优化了对MPEG-DASH的支持。MPEG-DASH允许视频内容根据网络状况和设备能力动态地提供不同码率的视频片段,从而提高流媒体播放的稳定性和用户体验。 WCAG 2.1 , Web Content Accessibility Guidelines 2.1(网页内容可访问性指南2.1版),是由万维网联盟(W3C)制定的一套国际通用的无障碍网页设计标准。在文中提到,为了确保Vue项目中的视频播放器具有良好的无障碍性,开发人员可以参考WCAG 2.1标准,通过vue-video-player实现符合该标准的视频播放器,使其能更好地服务于有特殊需求的用户,如视觉障碍者可以通过屏幕阅读器进行交互操作。
2023-09-29 09:58:35
54
码农
JSON
...言 , 是一款国产的编程语言及其集成开发环境,具有全可视化编程、跨平台、面向对象等特点,旨在降低编程门槛,提高开发效率。易语言支持丰富的API接口调用和模块导入,使得开发者能够轻松实现各种功能,包括处理JSON数据等高级应用。 JSON模块 , 在易语言环境中,JSON模块是一个专门用于处理JSON数据的内置或第三方库,提供了将JSON字符串解析为易语言可操作的对象(如字典或数组)以及将易语言数据结构转换为JSON字符串的功能。通过调用JSON模块的相关函数,开发者能够便捷地读取、解析、创建和修改JSON数据,以满足Web开发中的数据交换需求。 文件操作模块 , 在易语言编程中,文件操作模块是一组预定义的功能组件,用于执行与文件相关的各种操作,例如打开文件、读取文件内容、写入文件、关闭文件等。结合JSON模块,文件操作模块可用于从JSON文件中读取数据,实现数据持久化存储和加载,进一步增强了易语言对JSON数据流处理的能力。
2023-10-08 20:20:12
490
逻辑鬼才
CSS
...式属性,实现对模态框组件外观和行为的精细控制。 JavaScript , JavaScript是一种轻量级的解释型编程语言,常用于网页和网络应用客户端的脚本编写,为用户提供丰富的动态功能。在本文中,JavaScript与CSS配合使用,通过动态添加或移除CSS类(如.modal-show),来改变模态框的显示状态,即从隐藏变为显示,实现了响应用户操作的功能需求。
2023-09-25 10:35:23
468
数据库专家
VUE
...其出色的响应式系统、组件化开发模式和丰富的生态系统,在全球范围内的电商项目中被广泛应用。 最近,Vue.js 3.2版本的发布(如有时效性新闻则替换为最新版本),进一步优化了性能并增强了TypeScript支持,使得大型电商项目的开发更为顺畅。例如,阿里巴巴旗下的TMALL(天猫)就采用了Vue.js作为其前端框架的一部分,有效提升了用户体验与页面渲染效率。 此外,Vue.js生态中的Vuex状态管理库和Vue Router路由库,对于构建复杂多变的电商应用界面和处理商品数据流状态管理具有重要意义。一篇名为《Vue.js在电商项目中的实践与挑战》的技术文章深入剖析了这一应用场景,探讨了如何借助Vue.js解决商品列表分页加载、实时库存更新等实际问题,并分享了一些最佳实践案例。 同时,随着PWA(Progressive Web App)技术的发展,Vue.js结合Service Worker可以实现离线缓存、推送通知等功能,这对于提高商城类Web应用的用户粘性和活跃度至关重要。近期有篇报道详细介绍了某知名电商平台利用Vue.js结合PWA技术成功提升移动端用户体验的案例,值得参考学习。 综上所述,Vue.js在电商领域的应用不仅限于基础的商品列表展示,而是涵盖了从状态管理、路由控制到新兴技术融合等多个层面,持续关注Vue.js的最新动态和技术实践,将有助于您在电商项目开发中取得更大突破。
2023-05-09 19:21:01
125
编程狂人
VUE
...图片排版不仅展现了其组件化和数据绑定的高效性,也充分利用了现代CSS布局技术如Flexbox的优势。实际上,随着Web开发技术的不断进步,Vue生态下的UI库如Element UI、Vuetify等,更是将图片排版和其他复杂布局封装成了易用的组件,开发者可以便捷地引入并快速实现美观且响应式的图片画廊或轮播图效果。 近期,Vue 3.x版本的发布进一步优化了性能,并提供了Composition API使得代码组织更为灵活。同时,Vue团队倡导的“无障碍”(a11y)理念,在图片排版上亦有所体现,鼓励开发者关注图片alt属性的设置,以提升网站对视障用户的友好度。 此外,对于大规模图片项目的管理和优化,诸如使用Vue配合Webpack进行图片懒加载、预加载等技术方案,已成为前端开发者的必备技能。例如,Vue官方文档推荐的vue-lazyload插件,就可以轻松实现图片的按需加载,有效提高了页面加载速度和用户体验。 深入探究,Vue与现代CSS Grid布局结合,能够创造出更多样化的布局形态,包括复杂的网格系统、瀑布流布局等。在实际项目中,熟练掌握这些技术将极大地丰富前端界面设计的可能性,让Vue在图片排版乃至整个Web应用构建领域大放异彩。 综上所述,Vue框架及其生态系统为前端图片处理提供了强大的支持,从基本的图片排版到更高级的图片优化策略,都展现出Vue作为主流前端框架的强大实力和广泛适用性。
2023-10-22 16:29:35
173
算法侠
CSS
...可以调节网页中的各类组件的风格——字型、颜色、尺寸、方位、背景图等等。CSS风格表可以看做是一组配置,这组配置可以同时应用于一整个网站或者单个页面,让设计更加细致化、美化、条理化。 在CSS风格表中,最高层次的风格是“!important”。因为在CSS的层叠规则中,风格是按照顺序、优先级、规则特定性来决定的。但是,如果在风格规则中使用了“!important”,那么这个风格就会忽略默认的优先级,变成最高优先级,优先级大过任何其他配置的风格。也就是说,“!important”可以用来强制让CSS风格表中的某一个元素具有最高优先级,从而为整个网页设定特殊的风格。 .example { color: red !important; } 上面的代码就是一个简单的“!important”风格的例子。在这个规则中,“!important”告诉浏览器,风格必须优先于所有其他规则。在这个风格中,文字颜色将会被配置为红色,无论是在什么样的上下文中。 不过,使用“!important”也是需要谨慎的。因为每一个风格规则的本意就是要被遵循的。如果一个开发者在所有的规则中都使用“!important”,那么很容易就会造成混乱,因为此时所有规则都是最高优先级的,它们之间的特定性和优先级就无法区分了。所以,我们要明确知道这个属性的使用场景,并合理使用,而不是滥用。
2023-04-18 17:52:39
558
逻辑鬼才
JSON
...简化了JSON数据到组件状态的映射过程。 另外,针对不同场景下的数据类型兼容性问题,一些跨平台开发库如axios、fetch等在发起HTTP请求时,会自动处理JSON数组和其他数据类型的转换,确保前后端数据交互的无缝衔接。而在大数据处理和云计算领域,诸如AWS Lambda、Azure Functions等无服务器计算服务也广泛支持JSON数组作为输入输出参数,极大地提高了数据集成和处理的灵活性。 因此,对于任何涉及数据处理和交换的现代编程项目而言,掌握并熟练运用JSON数组不仅是一种基础技能,更是在实际开发中实现高效、稳定运行的关键要素。了解和紧跟行业发展趋势,结合前沿技术动态来深化对JSON数组的理解和实践,无疑将助力开发者不断提升工作效率和代码质量。
2023-05-08 12:00:44
538
软件工程师
Java
...好地遵循封装原则,将组件间的耦合度降到最低,使得代码更加模块化和可维护。 此外,在实际开发中,Google近期发布的《Clean Code in Java》指南也着重强调了封装的重要性,并提供了一系列最佳实践。该指南提倡使用私有字段、受保护的方法以及接口隐藏内部实现细节,从而提升代码质量和降低团队间沟通成本。同时,随着JDK 16模块化系统的发展,封装概念被进一步强化,允许开发者以更细粒度控制模块内部对外部的可见性,确保高内聚、低耦合的设计目标得以实现。 值得注意的是,封装不仅体现在数据隐藏上,还表现在职责单一的设计原则中,即一个类或方法只做一件事并做好。这一原则在函数式编程语言如Kotlin的设计中也有所体现,其背后的逻辑正是基于封装思想,避免全局状态修改引发的问题,保证程序执行过程的确定性和一致性。 总之,无论是在传统的面向对象编程还是新兴的编程范式中,封装作为一项基本的软件工程原则,始终贯穿于代码设计与实现的各个环节,值得每一位开发者深入理解和持续实践。通过关注最新的技术动态和业界规范,我们可以不断深化对封装原理的理解,为创建健壮、安全的应用程序打下坚实的基础。
2023-08-13 16:18:58
280
码农
VUE
...它采用了声明式渲染和组件化开发方式,具有响应式数据绑定、组件系统、路由功能以及易于上手的API设计等特性。在本文中,Vue.js被用来作为前端开发工具,实现商品价格合计的计算与动态更新。 计算属性 (Computed Properties) , 在Vue.js框架中,计算属性是一种特殊的属性,允许开发者根据其他依赖于响应式数据的属性值来动态计算并返回一个新的值。计算属性会自动追踪其依赖关系并在相关依赖发生变化时重新计算结果。在本文给出的例子中,“total”就是一个计算属性,它基于“products”数组中的商品价格进行累加,并实时反映在页面上。 响应式系统 (Reactive System) , Vue.js的核心特性之一是其响应式系统,它可以自动检测到数据的变化,并根据这些变化即时更新相关的UI元素。当我们在Vue实例的数据对象(data object)中修改某个属性时,所有依赖于该属性的计算属性、插值表达式以及其他UI绑定都会自动更新。在此例中,当商品的价格发生变动时,Vue.js的响应式系统会触发total计算属性的重新计算,并将新的合计结果显示在页面上。
2023-04-27 14:17:40
138
代码侠
JQuery
...dow DOM在封装组件内部状态和样式的同时,如何通过PostMessage API与其他窗口进行通信,进而实现元素内容的共享和更新,这对于构建复杂单页应用或模块化页面具有重要意义。 此外,jQuery虽然在简化DOM操作等方面表现出色,但面对现代Web开发的趋势,开发者也应关注原生JavaScript解决方案及其性能优化。例如,Svelte框架以其对原生浏览器API的高度整合以及对DOM更新的极致优化,在跨窗口交互场景下展现了强大的竞争力。 总之,理解并掌握JQuery等库在新窗口操作中的应用是一方面,紧跟Web开发前沿趋势,了解和运用Fetch API、Shadow DOM及PostMessage等现代Web技术,将有助于我们在实际项目中更好地应对跨窗口交互的需求,提升用户体验与网站性能。
2023-12-31 09:38:03
346
码农
HTML
...架、信息、风格等核心组件。通过使用各种标记和特性,可以让页面展示出丰富的信息和效果。对于致力于从事页面开发的伙伴们,知晓HTML代码的基本框架和规则就显得尤为重要了。
2023-03-25 10:33:55
460
码农
VUE
...天。 Vue历史聊天组件是一个简单的聊天应用,可以让用户查看聊天历史记录。Vue历史聊天运用了Vue的高效能和易于使用的API来创建一个简单的聊天应用。组件提供了一个易于使用的UI,可以展示所有聊天消息,并允许用户按日期搜索历史消息。 <div v-for="msg in filteredMessages"> <p><strong>{ { msg.sender } }:</strong></p> <p>{ { msg.text } }</p> <p><em>{ { msg.time | formatTime } }</em></p> </div> Vue历史聊天组件依赖于一些Vue过滤器来格式化聊天消息。一个过滤器用来格式化时间戳,使其易于阅读。组件还使用了Vue的计算属性和watch函数来过滤聊天历史记录。这使得历史记录可以根据日期进行过滤,从而使用户可以更轻松地查找他们所需要的消息。 总的来说,Vue历史聊天组件是一个有用的聊天应用,用户可以轻松查看他们和朋友之间的聊天记录。Vue的高效能和易于使用的API使组件开发变得简单、快捷和高效。
2023-03-26 23:43:20
156
算法侠
站内搜索
用于搜索本网站内部文章,支持栏目切换。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
sudo command
- 以管理员权限执行命令。
推荐内容
推荐本栏目内的其它文章,看看还有哪些文章让你感兴趣。
2023-04-28
2023-08-09
2023-06-18
2023-04-14
2023-02-18
2023-04-17
2024-01-11
2023-10-03
2023-09-09
2023-06-13
2023-08-07
2023-03-11
历史内容
快速导航到对应月份的历史文章列表。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"