assets_common.min.js
assets_common.min.js
odoo将零散的js文件主要打包成了两个文件,分别是web.assets_common.min.js 和web.assets_backend.min.js, 我们分别看看这两个文件里都有些啥?
common.js最先加载,看看里面都有些啥
1、boot.js
定义了odoo这个全局变量,并且定了它的几个对象。
/* /web/static/src/boot.js */
2、session.js 和 cookie_utils.js
一看就是跟会话有关,优先加载页没错
/* /web/static/src/session.js */
/* /web/static/src/legacy/js/core/cookie_utils.js */
3、underscore.js
Underscore 一个 JavaScript 实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。它是这个问题的答案:“如果我在一个空白的 HTML 页面前坐下, 并希望立即开始工作, 我需要什么?“…它弥补了部分 jQuery 没有实现的功能,同时又是 Backbone.js 必不可少的部分。
/* /web/static/lib/underscore/underscore.js */
/* /web/static/lib/underscore.string/lib/underscore.string.js */
4、moment.js
这个不用说了,跟时间有关的js库
/* /web/static/lib/moment/moment.js */
5、luxon.js
moment.js 2.0版本
Luxon 是一个轻量的 JavaScript 日期库(压缩后的大小约为 21.1KB),它隶属于 Moment 项目组,在 moment 基础上优化了 API 的语义、时区,统一了 API 的命名规范,让开发者更容易上手,让你彻底摆脱原生难用的方法,从此爱上日期时间Luxon 的作者名为 icambron,他也是 Moment 的开发者之一,在开发的过程中,他逐渐有了些新想法想去优化,但是却未能成功,一是时区,Moment 的底层架构使得这部分功能难以改善,二是链式调用,这部分与 Moment 现有的 API 完全不兼容,icambron 为了不影响现有的 Moment 功能,于是就新开了一个项目,在吸收了 Moment 的设计思想之上,创造了 Luxon,他断断续续写了 2 年,最终被 Moment 队伍接受,并将 Luxon 放在了 Moment 组织之下,而现在,Moment 虽然还在维护,但是官方已经声明,他们了解了 Moment 的缺陷,虽然项目没有死,但是也不会有更新的东西了(It is not dead, but it is indeed done.),而首推的其他库就是 Luxon
/* /web/static/lib/luxon/luxon.js */
6、owl.js
这么不用说了吧
/* /web/static/lib/owl/owl.js */
7、odoo_module.js
这是什么玩意? 就是定义了@odoo/owl 这个模块
/* /web/static/lib/owl/odoo_module.js */
odoo.define("@odoo/owl", function () {"use strict";return owl;
});
8、owl2_compatibility
这俩货从名字看是为了owl2的兼容性,不去管它了,估计也不重要
/* /web/static/src/owl2_compatibility/app.js */
/* /web/static/src/owl2_compatibility/event_target.js */
9、从名字看是为了兼容老版的组件系统
/* /web/static/src/legacy/js/component_extension.js */
/* /web/static/src/legacy/legacy_component.js */
在src目录下有一个子目录legacy,估计都是为了兼容性而保留的,不知道odoo17还有没有。
10、jquery,永远的神
/* /web/static/lib/jquery/jquery.js */
/* /web/static/lib/jquery.ui/jquery-ui.js */
/* /web/static/lib/jquery/jquery.browser.js */
/* /web/static/lib/jquery.blockUI/jquery.blockUI.js */
/* /web/static/lib/jquery.hotkeys/jquery.hotkeys.js */
/* /web/static/lib/jquery.placeholder/jquery.placeholder.js */
/* /web/static/lib/jquery.form/jquery.form.js */
/* /web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js */
/* /web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js */
11、popper.js
PopperJS是一个开源的javascript框架,用于在web应用程序上显示/隐藏/重用漂亮的弹出窗口和工具提示。
/* /web/static/lib/popper/popper.js */
12、bootstrap 永远的神
, odoo16用的是5.0版本
/* /web/static/lib/bootstrap/js/dist/dom/data.js */
/* /web/static/lib/bootstrap/js/dist/dom/event-handler.js */
/* /web/static/lib/bootstrap/js/dist/dom/manipulator.js */
/* /web/static/lib/bootstrap/js/dist/dom/selector-engine.js */
/* /web/static/lib/bootstrap/js/dist/base-component.js */
/* /web/static/lib/bootstrap/js/dist/alert.js */
/* /web/static/lib/bootstrap/js/dist/button.js */
/* /web/static/lib/bootstrap/js/dist/carousel.js */
/* /web/static/lib/bootstrap/js/dist/collapse.js */
/* /web/static/lib/bootstrap/js/dist/dropdown.js */
/* /web/static/lib/bootstrap/js/dist/modal.js */
/* /web/static/lib/bootstrap/js/dist/offcanvas.js */
/* /web/static/lib/bootstrap/js/dist/tooltip.js */
/* /web/static/lib/bootstrap/js/dist/popover.js */
/* /web/static/lib/bootstrap/js/dist/scrollspy.js */
/* /web/static/lib/bootstrap/js/dist/tab.js */
/* /web/static/lib/bootstrap/js/dist/toast.js */
13、tempusdominus.js bootstrap的日期选择器插件
/* /web/static/lib/tempusdominus/tempusdominus.js */
14、select2.js
大名顶顶的select2, 下拉框自动搜索
/* /web/static/lib/select2/select2.js */
15、clipboard.js
https://zhuanlan.zhihu.com/p/337309625
本期介绍一个非常常用的前端插件 Clipboard.js,Clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。
/* /web/static/lib/clipboard/clipboard.js */
16、jSignatureCustom.js
js手写签名
/* /web/static/lib/jSignature/jSignatureCustom.js */
17、qweb2.js
odoo专用模板, Qweb2是一个全局对象,跟odoo一样
/* /web/static/lib/qweb/qweb2.js */
QWeb2
{expressions_cache: {…}, RESERVED_WORDS: Array(22), ACTIONS_PRECEDENCE: Array(13), WORD_REPLACEMENT: {…}, VOID_ELEMENTS: Array(16), …}
18、 legacy
不细看了吧,为了兼容留着的
/* /web/static/src/legacy/js/assets.js */
/* /web/static/src/legacy/js/libs/autocomplete.js */
/* /web/static/src/legacy/js/libs/bootstrap.js */
/* /web/static/src/legacy/js/libs/content-disposition.js */
/* /web/static/src/legacy/js/libs/download.js */
/* /web/static/src/legacy/js/libs/jquery.js */
/* /web/static/src/legacy/js/libs/moment.js */
/* /web/static/src/legacy/js/libs/underscore.js */
/* /web/static/src/legacy/js/libs/pdfjs.js */
/* /web/static/src/legacy/js/libs/zoomodoo.js */
/* /web/static/src/legacy/js/libs/jSignatureCustom.js */
/* /web/static/src/legacy/js/core/abstract_service.js */
/* /web/static/src/legacy/js/core/abstract_storage_service.js */
/* /web/static/src/legacy/js/core/ajax.js */
/* /web/static/src/legacy/js/core/browser_detection.js */
/* /web/static/src/legacy/js/core/bus.js */
/* /web/static/src/legacy/js/core/class.js */
/* /web/static/src/legacy/js/core/collections.js */
/* /web/static/src/legacy/js/core/concurrency.js */
/* /web/static/src/legacy/js/core/dialog.js */
/* /web/static/src/legacy/js/core/owl_dialog.js */
/* /web/static/src/legacy/js/core/popover.js */
/* /web/static/src/legacy/js/core/dom.js */
/* /web/static/src/legacy/js/core/local_storage.js */
/* /web/static/src/legacy/js/core/mixins.js */
/* /web/static/src/legacy/js/core/qweb.js */
/* /web/static/src/legacy/js/core/ram_storage.js */
/* /web/static/src/legacy/js/core/registry.js */
/* /web/static/src/legacy/js/core/rpc.js */
/* /web/static/src/legacy/js/core/service_mixins.js */
/* /web/static/src/legacy/js/core/session.js */
/* /web/static/src/legacy/js/core/session_storage.js */
/* /web/static/src/legacy/js/core/time.js */
/* /web/static/src/legacy/js/core/translation.js */
/* /web/static/src/legacy/js/core/utils.js */
/* /web/static/src/legacy/js/core/widget.js */
/* /web/static/src/legacy/js/services/ajax_service.js */
/* /web/static/src/legacy/js/services/config.js */
/* /web/static/src/legacy/js/services/core.js */
/* /web/static/src/legacy/js/services/local_storage_service.js */
/* /web/static/src/legacy/js/services/session_storage_service.js */
/* /web/static/src/legacy/js/common_env.js */
/* /web/static/src/legacy/js/widgets/name_and_signature.js */
/* /web/static/src/legacy/js/core/smooth_scroll_on_drag.js */
/* /web/static/src/legacy/js/widgets/colorpicker.js */
/* /web/static/src/legacy/js/widgets/translation_dialog.js */
19、bus 模块
注意哦,这些文件不是web模块下的,而是bus模块下的,bus模块是跟实时通讯有关的
/* /bus/static/src/im_status_service.js */
/* /bus/static/src/multi_tab_service.js */
/* /bus/static/src/services/assets_watchdog_service.js */
/* /bus/static/src/services/bus_service.js */
/* /bus/static/src/services/legacy/make_bus_service_to_legacy_env.js */
/* /bus/static/src/services/legacy/make_multi_tab_to_legacy_env.js */
/* /bus/static/src/services/presence_service.js */
/* /bus/static/src/workers/websocket_worker.js */
/* /bus/static/src/workers/websocket_worker_utils.js */
20、web_tour
这个模块是干嘛的,看看chatgpt的回答
在 Odoo 中,web_tour 模块是用于创建和执行网页导览(Web Tours)的模块。网页导览是一种自动化测试工具,用于模拟用户在网页应用程序中的操作流程,并验证应用程序的功能和用户界面。web_tour 模块提供了一组用于定义和执行网页导览的类和方法。通过使用这些类和方法,你可以编写测试脚本,模拟用户在 Odoo 网页应用程序中的操作,例如点击按钮、填写表单、导航到不同的页面等。使用 web_tour 模块,你可以创建自动化测试套件,以确保你的 Odoo 应用程序在不同的场景下正常工作。这对于开发人员和质量保证团队来说是非常有用的,因为它可以帮助他们自动化测试流程,减少手动测试的工作量,并提高应用程序的质量和稳定性。需要注意的是,web_tour 模块是在 Odoo 的 Web 客户端中使用的,而不是在后端模型和控制器中。它主要用于测试和验证前端用户界面的功能。
/* /web_tour/static/src/js/running_tour_action_helper.js */
/* /web_tour/static/src/js/tip.js */
/* /web_tour/static/src/js/tour_manager.js */
/* /web_tour/static/src/js/tour_service.js */
/* /web_tour/static/src/js/tour_step_utils.js */
/* /web_tour/static/src/js/tour_utils.js */
21、web_editor
在 Odoo 中,web_editor 模块是用于提供富文本编辑器功能的模块。它允许用户在 Odoo 的 Web 客户端中使用富文本编辑器来编辑和格式化文本内容。web_editor 模块基于开源的富文本编辑器库,如 TinyMCE 或 Summernote,为用户提供了一组丰富的编辑工具和选项,例如字体样式、字体大小、文本颜色、段落格式、插入链接、插入图片等。用户可以使用这些工具来创建和编辑富文本内容,使其具有更好的可读性和视觉效果。web_editor 模块广泛应用于 Odoo 的各个模块和功能中,例如网站建设、博客文章、产品描述、电子邮件模板等。它使用户能够以更直观和交互式的方式编辑文本内容,而无需了解 HTML 或 CSS 等技术。通过使用 web_editor 模块,用户可以更轻松地创建和编辑富文本内容,提高内容的质量和可视化效果。这对于网站管理员、内容编辑人员和用户来说都是非常有用的,因为它提供了更好的用户体验和编辑效率。
/* /web_editor/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js */
/* /web_editor/static/src/js/common/ace.js */
/* /web_editor/static/src/js/common/browser_extensions.js */
/* /web_editor/static/src/js/common/grid_layout_utils.js */
/* /web_editor/static/src/js/common/utils.js */
/* /web_editor/static/src/js/common/wysiwyg_utils.js */
/* /web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js */
/* /web_editor/static/src/js/wysiwyg/fonts.js */
22、附录 common.js
收集的全部js文件,大概6万多行,压缩后是1.6M
/* /web/static/src/legacy/js/promise_extension.js */
/* /web/static/src/boot.js */
/* /web/static/src/session.js */
/* /web/static/src/legacy/js/core/cookie_utils.js */
/* /web/static/lib/underscore/underscore.js */
/* /web/static/lib/underscore.string/lib/underscore.string.js */
/* /web/static/lib/moment/moment.js */
/* /web/static/lib/luxon/luxon.js */
/* /web/static/lib/owl/owl.js */
/* /web/static/lib/owl/odoo_module.js */
/* /web/static/src/owl2_compatibility/app.js */
/* /web/static/src/owl2_compatibility/event_target.js */
/* /web/static/src/legacy/js/component_extension.js */
/* /web/static/src/legacy/legacy_component.js */
/* /web/static/lib/jquery/jquery.js */
/* /web/static/lib/jquery.ui/jquery-ui.js */
/* /web/static/lib/jquery/jquery.browser.js */
/* /web/static/lib/jquery.blockUI/jquery.blockUI.js */
/* /web/static/lib/jquery.hotkeys/jquery.hotkeys.js */
/* /web/static/lib/jquery.placeholder/jquery.placeholder.js */
/* /web/static/lib/jquery.form/jquery.form.js */
/* /web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js */
/* /web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js */
/* /web/static/lib/popper/popper.js */
/* /web/static/lib/bootstrap/js/dist/dom/data.js */
/* /web/static/lib/bootstrap/js/dist/dom/event-handler.js */
/* /web/static/lib/bootstrap/js/dist/dom/manipulator.js */
/* /web/static/lib/bootstrap/js/dist/dom/selector-engine.js */
/* /web/static/lib/bootstrap/js/dist/base-component.js */
/* /web/static/lib/bootstrap/js/dist/alert.js */
/* /web/static/lib/bootstrap/js/dist/button.js */
/* /web/static/lib/bootstrap/js/dist/carousel.js */
/* /web/static/lib/bootstrap/js/dist/collapse.js */
/* /web/static/lib/bootstrap/js/dist/dropdown.js */
/* /web/static/lib/bootstrap/js/dist/modal.js */
/* /web/static/lib/bootstrap/js/dist/offcanvas.js */
/* /web/static/lib/bootstrap/js/dist/tooltip.js */
/* /web/static/lib/bootstrap/js/dist/popover.js */
/* /web/static/lib/bootstrap/js/dist/scrollspy.js */
/* /web/static/lib/bootstrap/js/dist/tab.js */
/* /web/static/lib/bootstrap/js/dist/toast.js */
/* /web/static/lib/tempusdominus/tempusdominus.js */
/* /web/static/lib/select2/select2.js */
/* /web/static/lib/clipboard/clipboard.js */
/* /web/static/lib/jSignature/jSignatureCustom.js */
/* /web/static/lib/qweb/qweb2.js */
/* /web/static/src/legacy/js/assets.js */
/* /web/static/src/legacy/js/libs/autocomplete.js */
/* /web/static/src/legacy/js/libs/bootstrap.js */
/* /web/static/src/legacy/js/libs/content-disposition.js */
/* /web/static/src/legacy/js/libs/download.js */
/* /web/static/src/legacy/js/libs/jquery.js */
/* /web/static/src/legacy/js/libs/moment.js */
/* /web/static/src/legacy/js/libs/underscore.js */
/* /web/static/src/legacy/js/libs/pdfjs.js */
/* /web/static/src/legacy/js/libs/zoomodoo.js */
/* /web/static/src/legacy/js/libs/jSignatureCustom.js */
/* /web/static/src/legacy/js/core/abstract_service.js */
/* /web/static/src/legacy/js/core/abstract_storage_service.js */
/* /web/static/src/legacy/js/core/ajax.js */
/* /web/static/src/legacy/js/core/browser_detection.js */
/* /web/static/src/legacy/js/core/bus.js */
/* /web/static/src/legacy/js/core/class.js */
/* /web/static/src/legacy/js/core/collections.js */
/* /web/static/src/legacy/js/core/concurrency.js */
/* /web/static/src/legacy/js/core/dialog.js */
/* /web/static/src/legacy/js/core/owl_dialog.js */
/* /web/static/src/legacy/js/core/popover.js */
/* /web/static/src/legacy/js/core/dom.js */
/* /web/static/src/legacy/js/core/local_storage.js */
/* /web/static/src/legacy/js/core/mixins.js */
/* /web/static/src/legacy/js/core/qweb.js */
/* /web/static/src/legacy/js/core/ram_storage.js */
/* /web/static/src/legacy/js/core/registry.js */
/* /web/static/src/legacy/js/core/rpc.js */
/* /web/static/src/legacy/js/core/service_mixins.js */
/* /web/static/src/legacy/js/core/session.js */
/* /web/static/src/legacy/js/core/session_storage.js */
/* /web/static/src/legacy/js/core/time.js */
/* /web/static/src/legacy/js/core/translation.js */
/* /web/static/src/legacy/js/core/utils.js */
/* /web/static/src/legacy/js/core/widget.js */
/* /web/static/src/legacy/js/services/ajax_service.js */
/* /web/static/src/legacy/js/services/config.js */
/* /web/static/src/legacy/js/services/core.js */
/* /web/static/src/legacy/js/services/local_storage_service.js */
/* /web/static/src/legacy/js/services/session_storage_service.js */
/* /web/static/src/legacy/js/common_env.js */
/* /web/static/src/legacy/js/widgets/name_and_signature.js */
/* /web/static/src/legacy/js/core/smooth_scroll_on_drag.js */
/* /web/static/src/legacy/js/widgets/colorpicker.js */
/* /web/static/src/legacy/js/widgets/translation_dialog.js */
/* /bus/static/src/im_status_service.js */
/* /bus/static/src/multi_tab_service.js */
/* /bus/static/src/services/assets_watchdog_service.js */
/* /bus/static/src/services/bus_service.js */
/* /bus/static/src/services/legacy/make_bus_service_to_legacy_env.js */
/* /bus/static/src/services/legacy/make_multi_tab_to_legacy_env.js */
/* /bus/static/src/services/presence_service.js */
/* /bus/static/src/workers/websocket_worker.js */
/* /bus/static/src/workers/websocket_worker_utils.js */
/* /web_tour/static/src/js/running_tour_action_helper.js */
/* /web_tour/static/src/js/tip.js */
/* /web_tour/static/src/js/tour_manager.js */
/* /web_tour/static/src/js/tour_service.js */
/* /web_tour/static/src/js/tour_step_utils.js */
/* /web_tour/static/src/js/tour_utils.js */
/* /web_editor/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js */
/* /web_editor/static/src/js/common/ace.js */
/* /web_editor/static/src/js/common/browser_extensions.js */
/* /web_editor/static/src/js/common/grid_layout_utils.js */
/* /web_editor/static/src/js/common/utils.js */
/* /web_editor/static/src/js/common/wysiwyg_utils.js */
/* /web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js */
/* /web_editor/static/src/js/wysiwyg/fonts.js */
/*******************************************
相关文章:
assets_common.min.js
assets_common.min.js odoo将零散的js文件主要打包成了两个文件,分别是web.assets_common.min.js 和web.assets_backend.min.js, 我们分别看看这两个文件里都有些啥? common.js最先加载,看看里面都有些啥 1、boot.js 定义了od…...
前端工程化(vue2)
一、环境准备 1.依赖环境:NodeJS 官网:Node.js 2.脚手架:Vue-cli 参考网址:安装 | Vue CLI 介绍:Vue-cli用于快速的生成一个Vue的项目模板。主要功能有:统一的目录结构,本地调试࿰…...
深度学习(生成式模型)——Classifier Guidance Diffusion
文章目录 前言问题建模条件扩散模型的前向过程条件扩散模型的反向过程条件扩散模型的训练目标 前言 几乎所有的生成式模型,发展到后期都需要引入"控制"的概念,可控制的生成式模型才能更好应用于实际场景。本文将总结《Diffusion Models Beat …...
Hadoop架构、Hive相关知识点及Hive执行流程
Hadoop架构 Hadoop由三大部分组成:HDFS、MapReduce、yarn HDFS:负责数据的存储 其中包括: namenode:主节点,用来分配任务给从节点 secondarynamenode:副节点,辅助主节点 datanode:从节点&#x…...
P1529 [USACO2.4] 回家 Bessie Come Home 题解
文章目录 题目描述输入格式输出格式样例样例输入样例输出 提示完整代码 题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中。 Farmer John 按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数…...
Python语法基础(条件语句 循环语句 函数 切片及索引)
目录 条件语句关键字与C对照注意 循环语句while 循环语句while else 循环语句for 循环语句range() 函数 for else 循环语句循环控制语句练习:打印乘法表 函数函数定义及调用函数值传递和引用传递多返回值参数类型位置参数默认参数关键字参数可变数量的参数可变数量的…...
Debian 9 Stretch APT问题
Debian 9 Stretch APT问题 flyfish 操作系统 Debian 9 Stretch 错误提示 使用sudo apt update错误提示 Ign:1 http://mirrors.aliyun.com/debian stretch InRelease Ign:2 http://mirrors.aliyun.com/debian-security stretch/updates InRelease Ign:3 http://mirrors.al…...
遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解
一、异常产生 当我们使用foreach迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素或新增),可能会抛出java.util.ConcurrentModificationException的异常。 javapublic static void main(String[] args)…...
Android从一个APP跳转到另外一个APP
1、从当前APP去全新启动另外一个目标APP(非覆盖同一个进程): 启动另外一个目标APP(非覆盖原来APP的方式) 1、当前APP加入获取权限声明:(不加人权限检查,没法启动目标app࿰…...
我的创作纪念日——创作者2年
机缘 我最初使用CSDN估计是在2014年左右,当时还在读研,除了在当时比较有名的BBS例如小木虫上进行学术交流外,我发现很多问题百度后,都会转到CSDN,而且文章内容颇为专业,很多问题也都有专业的回答ÿ…...
大数据之LibrA数据库系统告警处理(ALM-12032 ommdba用户或密码即将过期)
告警解释 系统每天零点开始,每8小时检测当前系统中ommdba用户和密码是否过期,如果用户或密码即将在15天内过期,则发送告警。 当系统中ommdba用户过期的期限修改或密码重置,告警恢复。 告警属性 告警ID 告警级别 可自动清除 …...
C_3练习题
一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1.下列叙述中正确的是()。 A.用C程序实现的算法必须要有输入和输出操作 B.用C程序实现的…...
CentOS7 安装Jenkins 2.414.3 详细教程
目录 1、前提条件硬件软件-java11安装 2、安装jenkins3、启动jenkins配置用户和用户组配置JAVA_HOME 4、配置Jenkins一直处于启动状态5、测试Jenkins是否可以访问以及配置6、访问Jenkins系统 1、前提条件 硬件 内存 4G ; 硬盘 20G 软件-java11安装 上传文件jdk-11.0.21_lin…...
chatglm3-6b记录问答对
# 打开文件,第二个参数是打开文件的模式,a代表追加,也就是说,打开这个文件之后直接定位到文件的末尾 file open(chatlog.txt, "a") # 写入数据 file.write(ask:prompt_text\n) file.write(response:response\n) # 关闭文件 fil…...
k8s ingress 代理 mysql 3306端口
helm 安装 ingress-nginx helm upgrade --install ingress-nginx ingress-nginx \--repo https://kubernetes.github.io/ingress-nginx \--namespace ingress-nginx --create-namespace执行命令 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-ngin…...
Informix管理共享内存
1、查看共享内存使用情况 [informixREHL4 ~]$ onstat -g seg IBM Informix Dynamic Server Version 11.50.UC4 -- On-Line -- Up 00:38:21 -- 144144 Kbytes Segment Summary: id key addr size ovhd class blkused blkfree 393226 …...
Webpack 中 Plugin 的作用是什么?常用 plugin 有哪些?
说说webpack中常见的Plugin?解决了什么问题?- 题目详情 - 前端面试题宝典 1、plugin 的作用 Plugin 是一种计算机应用程序,它和主应用程序互相交互,以提供特定的功能。 是一种遵循一定规范的应用程序接口编写出来的程序&#…...
CSRF(跨站请求伪造)攻击演示
目录 CSRF(跨站请求伪造)攻击演示CSRF 是什么CSRF 演示项目代码CSRF 演示过程服务启动演示 CSRF(跨站请求伪造)攻击演示 CSRF 是什么 CSRF(Cross-Site Request Forgery)跨站请求伪造,是一种网络安全攻击,其目标是利用被攻击者在…...
图解三傻排序 选择排序、冒泡排序、插入排序
(1)选择排序 // 交换 void swap(int arr[], int i, int j) {int tmp arr[i];arr[i] arr[j];arr[j] tmp; }// 选择排序 void selectionSort(int arr[],int len) {if (len < 2) return;for (int minIndex, i 0; i < len - 1; i) {minIndex i;f…...
【数据结构】树与二叉树(六):二叉树的链式存储
文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
