关于插件:极光笔记-大语言模型插件

在人工智能畛域,大语言模型(LLMs)是依据预训练数据集进行”学习“,获取能够拟合后果的参数,尽管随着参数的减少,模型的性能也会随之加强。但无论业余畛域的小模型,还是当下最火、成果最好的大模型,都有一个独特的劣势:无奈精确/正确地答复出训练数据集以外(区别于验证集和测试集的新增数据,如实时新闻、未公开的企业信息等)的后果,进而假造答案进行回复,即大模型幻觉问题。 为了解决上述问题,同时防止微调/从新训练带来的老本,LLMs插件应运而生。通过LLMs弱小的内容生成能力和上下文理解能力,联合插件提供的数据以及特定性能,不仅拓宽了LLMs的应用领域,还减少了LLMs生成后果的可信度,更好地服务于使用者。 1 插件插件是一种软件组件,它能够被增加到一个次要的应用程序或零碎中,以扩大其性能或提供额定的个性。插件通常被设计成可独立装置和卸载,并且能够与主应用程序进行交互。插件的性能取决于所利用的畛域和具体的应用程序,在AIGC疾速倒退的明天,大语言模型插件异军突起,扭转了插件存在的状态,这也是本篇文章重点的钻研对象。联合以后大语言模型插件的倒退,插件分类如下: 1.1 传统插件传统插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循肯定标准的利用程序接口编写进去的程序。其只能运行在程序规定的零碎平台下(可能同时反对多个平台),而不能脱离指定的平台独自运行,即插件的运行依赖于宿主软件,无差别地启用或禁用插件性能。传统插件可分为浏览器插件和客户端软件插件,传统插件的存在状态如下图所示。 1.2 大语言模型插件大语言模型插件是随着大语言模型倒退而诞生的全新插件。 大语言模型插件的外围是Web API,独立于大语言模型,插件开发过程不受大语言模型的束缚,同时没有开发语言的限度,更加通用,只有Web API遵循RESTful相干规定即可。只是在为大语言模型配置插件时遵循配置规定,如原生ChatGPT插件配置遵循OpenAPI格局以及增加相干形容。大语言模型与插件是绝对独立的两个局部,大语言模型与插件关系示意如下图所示。大语言模型是插件的选择器,按需应用插件性能,即只有当用户提供的问题或数据满足插件调用条件时,才会调用插件,不是无差别地应用插件性能,大语言模型插件的工作流程如下图所示。 2 ChatGPT插件目前最弱小的商用大语言模型莫过于OpenAI的大语言模型ChatGPT-3.5/4.0,均反对插件性能(前面对立应用ChatGPT),并且对反对开发者凋谢了插件开发入口,开发者能够基于本身需要开发Web API作为ChatGPT插件。然而,ChatGPT创立插件的过程比拟繁琐,上面以GPTBots插件创立过程作为比照,两者插件创立过程如下图所示(左:ChatGPT创立插件;右:GPTBots创立插件)。 3 GPTBots插件咱们不一样!GPTBots插件利用的技术路线不同于ChatGPT,GPTBots插件交融了ChatGPT插件创立标准(通用的OpenAPI标准)和函数调用性能,这样做有如下劣势: 开发者只需专一于本身性能接口开发,无需开发额定的接口插件配置遵循OpenAPI标准,开发者能够间接复用面向ChatGPT Web 的插件,一键公布插件至GPTBotsGPTBots插件主动兼容市面上支流已反对插件能力的LLM,开发者无需再去适配每个LLM3.1 创立插件通过下面插件创立过程比照,咱们晓得,应用GPTBots插件只需四步:开发插件接口、新建插件、配置插件鉴权、增加合乎OpenAPI标准的接口配置,其余的交给GPTBots。(1)开发插件接口这里与ChatGPT原生形式雷同,须要开发者自行开发插件接口,然而,在GPTBots中不须要开发者另行开发插件清单接口、插件接口配置信息接口、插件Logo接口,只须要开发者专一于插件性能接口开发。(2)新建插件GPTBots新建插件入口如下图。(3)配置插件鉴权GPTBots插件提供三种鉴权形式,即不鉴权(None)、Basic鉴权和Bearer鉴权,配置过程如下图。(4)增加合乎OpenAPI标准的接口配置实现上述筹备工作,最初为插件配置接口规定,即开发者的性能接口,GPTBots采纳的接口规定遵循OpenAPI标准,配置阐明如下图。实现插件创立后,能够在“我的插件”中看到已创立胜利的插件,同时,GPTBots提供了插件一键公布性能,行将插件公布到插件市场,供其余开发者应用。综上,GPTBots插件最大水平简化了用户创立和应用插件的流程,极大升高了插件应用门槛。 3.2 插件利用GPTBots不仅创立插件流程非常简单、对开发者十分敌对,应用起来也十分棘手。应用插件前,咱们须要为Bot增加插件。以高德天气插件为例,为“天气小精灵”Bot增加插件过程如下:当咱们为“天气小精灵”Bot增加天气插件和搜寻插件后,当问题中呈现天气和实时信息相干问题时,插件会被动承当内容生产的责任,实测成果如下: 3.3 插件市场GPTBots官网为宽广开发者和用户提供了泛滥实用的插件,如PDF生成插件、天气插件和搜寻插件等等,GPTBots局部插件如下: 4 思考与瞻望插件在理论业务利用中,因为LLM每次调用token是有下限的,而插件也不可避免的占用token,这样就导致无奈在一次申请调用中提供多个插件备用。或者一个插件协定如果过于简单,可能导致间接调用失败。 GPTBots平台为了更好解决此类问题,推出了Flow性能。开发者能够在不同的步骤编排多个LLM参加业务解决,每个LLM 能够最多增加3 个插件,这样就很好的解决了插件应用限度的问题,同时通过缩小申请上下文内容长度让LLM更加专一,从而晋升插件调用成功率。 LLMs插件区别于传统插件,它独立、灵便、自在、功能强大,大语言模型插件的外围是Web API,因而大语言模型插件齐全拥抱互联网,同时,没有开发语言“歧视”,无论开发者的语言栈是Python、Java、Go、PHP等,只有能够开发HTTP协定接口,遵循RESTful规定,就能够构建大语言模型插件,置信将来大语言模型插件品种会越来越丰盛,性能越来越弱小。绝对于ChatGPT繁琐的插件创立流程,GPTBots平台简化了插件创立流程,简略、易用、好用,进步插件开发者效率,升高开发者学习老本,将来肯定会有越来越多的开发者抉择GPTBots平台。

September 20, 2023 · 1 min · jiezi

关于插件:华为云classroom赋能面向高校学生的Toolkit系列实践培训

Clasrroom培训课程系列ToolKit的专题培训 Clasrroom蕴含试验系列Toolkit语音合成试验 Toolkit系列培训课程简介什么是Toolkit?Huawei Cloud Toolkit中文名是华为云开发者插件,是基于华为云现有能力的一系列插件汇合,简略来说就是把华为云的能力带到每个开发者的桌面,使开发者在IDE通过插件的能力连贯华为云。华为云开发者系列插件是收费的,同时反对当下的多个IDE平台:包含IntelliJ系列、VSCode、以及华为自研CodeArts IDE。 IntelliJ IDEA等平台装置筹备:下载并装置JDK1.8或更高版本。下载并装置IntelliJ IDEA 2020.2或更高版本。 须知:IntellIj平台同时撑持包含Goland、Pycharm等在内的IDE,若在其它相干IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的装置流程,其余IntelliJ系列的IDE请参考IDEA。 开始装置: 您能够在间接在IDE插件市场或者间接在JetBrains插件市场下载离线包装置。 IDE装置 在IntelliJ IDEA顶部菜单栏中抉择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。Plugins区域单击Marketplace,在搜寻栏中输出Huawei Cloud API。Search Results区域会呈现Huawei Cloud API,单击Install,实现后重启IDE。 离线包装置: 进入插件市场搜寻Huawei Cloud API,进入插件详情页,在Versions页签下抉择想要版本的API插件,点击Download下载离线的插件压缩包保留到本地。。在IntelliJ IDEA顶部菜单栏中抉择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。在Plugins区域单击 ,再单击Install Plugin from Disk...。在Choose Plugin File对话框中抉择离线安装包(不必解压),并依照IntelliJ IDEA装置页面的提醒,实现后续装置步骤。 阐明:若以后您想要装置插件的IntelliJ IDE曾经在桌面关上,则进入插件市场搜寻Huawei Cloud API,进入插件详情页,在右上角会辨认到本地曾经关上的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后盾会开始装置相应版本的API插件。 装置验证:在IntelliJ系列平台上装置插件胜利后在左侧的导航栏中能够看到Huawei Cloud Toolkit图标,点击后面板会呈现Huawei Cloud API的字样,则阐明装置胜利。 API列表 欢迎您应用Classroom失去更多技术晋升https://classroom.devcloud.huaweicloud.com/joinclass/685e2e94... 体验插件的魅力华为云devkit已上线:https://developer.huaweicloud.com/develop/toolkit.html

September 12, 2023 · 1 min · jiezi

关于插件:版本升级-6天1个人兼容CECIDE

OpenSCA插件上新啦~Jetbrains IDE插件全新降级,很多敌人提了需要的VSCode咱也反对上啦~当然,CEC-IDE也是兼容的(手动狗头)。 OpenSCA-VSCode-plugin v1.0.0插件概述OpenSCA VSCode插件能够检测以后我的项目中的开源危险,并在可视化界面中展现后果。(反对1.80.0及以上版本) 应用阐明获取插件在适配的VSCode中通过插件市场装置OpenSCA插件。 执行检测通过Setting对插件进行配置,反对近程/本地数据源,可选获取最新版本cli或应用本地已有cli。 如应用云破绽库服务,反对疾速受权或手动输出token。 实现配置后点击Run执行检测。检测后果反对以JSON报告格局输入。 OpenSCA-intellij-pliugin v1.0.3更新内容疾速受权可配置近程/本地数据源适配不同版本OpenSCA-cli反对检测后果筛选及报告导出PS:OpenSCA插件以后反对 2020.3 - 2023.2 全系 IDE更新阐明疾速受权优化了与云破绽库服务的连贯配置计划;以后版本点击Quick Authentication间接跳转至OpenSCA官网受权页面,点击进行受权后即可主动填充Url、Token。 可选近程/本地数据源反对按需自主抉择及配置近程数据源(可选OpenSCA项目组提供的云破绽库:https://opensca.xmirror.cn)或本地数据源(本地破绽库)。 适配不同版本OpenSCA-cli反对间接应用最新版本cli或已有cli,可通过插件界面下载、更新、切换cli工具。 反对检测后果筛选及报告导出IDEA界面新增目录开展、收起按钮;还能够通过按钮依据组件危险等级筛选对应组件。 一键导出JSON后果报告。 以上就是本次更新的残缺内容啦~ 共建开源我的项目感激每一位开源社区成员对OpenSCA的反对和奉献。OpenSCA的代码会在GitHub和Gitee继续迭代,欢送Star和Fork,也欢送向咱们提交ISSUE和PR,参加咱们的开源平安共建打算,与社区成员独特建设充斥可能性的开源解决方案。

September 4, 2023 · 1 min · jiezi

关于插件:提升网页阅读体验的三款优秀大纲插件2023

浏览长篇文章或简单网页时,清晰的纲要构造能够帮忙咱们更好地了解和组织信息。在这篇博客中,我将向大家举荐三款优良的网页纲要插件,帮忙您晋升浏览效率和体验。 Flash OutlineFlash Switcher 是一个专一于进步浏览器应用效率和体验的综合插件,其最新的智能纲要性能专门为进步网页浏览体验而设计,对于长篇文章或简单网页,它能够智能提取题目和构造,生成纲要,疾速预览和导航,帮忙咱们更好地了解和组织信息。 除了功能强大,UI也很简洁敌对,暗黑模式既酷炫,也很实用的,能够很好的和文章主体辨别开来。 OutlinerOutliner 通过提取页面中的所有题目来生成目录。 互联网上的许多页面没有设计良好的页内导航器。Outliner 能够为您提供帮忙。 HTML5 Outliner此扩大应用 HTML5 纲要算法来创立目录。还应该实用于具备结构化题目的 HTML4(以及更旧的?)页面。目录是可点击的,并在跳转后尝试突出显示有问题的题目/局部。 对于常常应用在线 HTML5 纲要工具的人来说,该扩大应该很有用。 这三款优良的网页纲要插件都为咱们提供了更好的浏览体验和信息组织能力。无论是通过主动生成纲要、提取题目和构造,还是通过创立工作区来整顿网页,它们都能够帮忙咱们更高效地浏览和了解网页内容。依据集体需要抉择适宜本人的插件,将为您带来更加愉悦和高效的网页浏览体验。

July 1, 2023 · 1 min · jiezi

关于插件:支持导入-Eolink-插件别小看这个开源-API-管理工具了

Postcat 有多达 30 款反对数据迁徙、主题、API 平安等方面的插件。 导入 Eolink 插件。应用导入性能有多个入口,你能够在 API 分组处点击加号导入 API: 也能够换种形式,在首页里导入Eolink 如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3.7 k star,如果你感觉这个我的项目还不错的话,无妨点个 Star 反对一下~ Github: https://github.com/Postcatlab/postcat Postcat 外围性能:API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作

May 26, 2023 · 1 min · jiezi

关于插件:什么是插件

插件是一种可定制的程序,它能够为浏览器或应用程序减少新的性能,但在应用插件时也须要留神一些细节。上面是值得注意的10个关键点:简洁是王道:尽管插件能够提供各种有用的性能,然而过多的插件会升高浏览器或应用程序的性能和响应速度。因而,在装置插件时要思考本人是否真正须要这个插件,并且只抉择必须的性能。及时更新插件:大多数插件都须要常常更新以确保它们的最新版本与浏览器或应用程序兼容,同时修复可能存在的破绽和谬误。因而,您应该常常查看插件并确保其更新到了最新版本。删除未应用的插件:未应用的插件只会占用贵重的系统资源。因而,如果不再须要某个插件,请及时将其删除以开释内存和空间。插件应该服务于特定目标:每个插件都应该被设计来实现特定的指标。因而,在抉择和装置插件之前,请先确定您所需的性能,以便无效解决问题。防止重叠插件:屡次装置雷同或相似的插件会导致不必要的浏览器或应用程序累赘,因而请尽量避免装置性能重叠的插件。应用可信插件:只抉择您信赖的起源,并确保插件是由受信赖的供应商开发的。这样能够最大限度地缩小恶意软件或病毒的危险,并爱护您的个人信息和隐衷。求教信赖的人:如果您不确定某个插件是否平安或牢靠,请询问您信赖的人。他们可能能够为您提供无益的倡议并指出最佳的插件抉择。思考编写本人的插件性能:对于某些性能,您无需装置特定的插件,而是能够通过简略地编写脚本或应用小型工具来实现它们。确认插件是否导致网站复工:如果某个网站不起作用或无响应,请查看您是否已装置与该网站相干的插件。可能须要删除某些插件能力使网站失常运行。应用必备插件:即便是经验丰富的用户也应该装置一些必备的插件,例如广告拦截器、反间谍软件、明码管理器和杀毒软件等

April 26, 2023 · 1 min · jiezi

关于插件:OpenSumi-CLI-正式发布插件文档上新内容一览

在 OpenSumi 中,咱们提供了一个弱小的插件生态系统,在兼容 VS Code 插件 API 的同时,咱们也有着本人的 OpenSumi API 用于进一步拓展 IDE 界面及能力。 ▲插件能力实现结构图 开发 VS Code 插件 在插件开发中,你能够遵循 VS Code 的开发模式,在 VS Code 内实现你的插件开发后,将实现的插件产物引入到基于 OpenSumi 搭建的 IDE 中应用,具体可参考 VS Code 插件文档 Extension Guides。 上面是一些罕用的示例及文档: eclipse-theia/vscode-builtin-extensions —— 基于 VS Code 版本打包其内置插件的工程项目microsoft/vscode-extension-samples —— VS Code 官网的插件 API 示例仓库Extension Guides —— VS Code 插件开发向导文档Your First Extension —— 疾速开始插件开发Web Extensions —— 在 OpenSumi 中也反对了这类插件,在纯前端环境有着非常重要的作用开发 OpenSumi 插件 OpenSumi 中存在着一部分仅能运行在基于 OpenSumi 开发的 IDE 之中,提供的能力包含但不限于: 通过 React 技术栈进行视图的拓展定制Toolbar 定制Electron Webview 治理布局能力全视图的自定义渲染一个残缺的 OpenSumi 插件目录构造如下: ...

April 24, 2023 · 2 min · jiezi

关于插件:Chrome高效插件推荐

Chrome浏览器是目前世界上最受欢迎的浏览器之一,而Chrome的高效插件也是许多人的关注焦点。这篇文章将介绍一些能够帮忙您在办公和学习中提高效率的Chrome插件。 Smart Toc 智能目录显示任何网站的目录,使浏览和浏览长篇文章、文档和在线书籍更加容易。 Flash Switcher 闪电切换器【指标】:Keep And Search Everything Import In A Second , Just Like A Brain 像大脑(神经元)一样,几秒内实现保留(记忆)和搜寻所有重要的信息(链接/地址)。【以补救碎片记忆的易失性】 Flash Switcher 是一个专一于进步浏览器操作效率、体验的工具,聚焦最罕用的多选项卡 Tab 切换、千级甚至万级书签检索、以及海量的搜寻历史,践行【当初有用的,未来大概率有用的】理念,实现任意数量 Tab、书签、历史的常数级、沉迷式操作,晋升效率,节俭海量的毛细工夫。 Grammarly 语法助手作为一款语法查看工具,Grammarly能够在您在写作时帮忙您找出拼写错误和语法问题。它不仅能够查看英语语言,而且还能够查看您的中文语法。无论是在学习中还是在工作中,这款插件都能够帮忙您疾速精确地进行写作。 总结总的来说,Chrome浏览器是一款十分弱小的工具,而这些高效插件能够帮忙您在办公和学习中提高效率。无论您须要改善写作、整顿标签页、放弃专一还是限度工夫,这些插件都能够帮忙您更好地实现工作。

April 17, 2023 · 1 min · jiezi

关于插件:可插拔组件设计机制SPI

作者:京东物流 孔祥东1.SPI 是什么?SPI 的全称是Service Provider Interface,即提供服务接口;是一种服务发现机制,SPI 的实质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样能够在运行时,动静为接口替换实现类。正因而个性,咱们能够很容易的通过 SPI 机制为咱们的程序提供拓展性能。 如下图: 零碎设计的各个形象,往往有很多不同的实现计划,在面对象设计里,个别举荐模块之间基于接口编程,模块之间不对实现硬编码,一旦代码波及具体的实现类,就违反了可插拔的准则。Java SPI 就是提供这样的一个机制,为某一个接口寻找服务的实现,有点相似IOC 的思维,把拆卸的控制权移到程序之外,在模块化波及外面这个各尤为重要。与其说SPI 是java 提供的一种服务发现机制,倒不如说是一种解耦思维。 2.应用场景?数据库驱动加载接口实现类的加载;如:JDBC 加载Mysql,Oracle...日志门面接口实现类加载,如:SLF4J 对log4j、logback 的反对Spring中大量应用了SPI,特地是spring-boot 中自动化配置的实现Dubbo 也是大量应用SPI 的形式实现框架的扩大,它是对原生的SPI 做了封装,容许用户扩大实现Filter 接口。3.应用介绍要应用 Java SPI,须要遵循以下约定: 当服务提供者提供了接口的一种具体实现后,须要在JAR 包的META-INF/services 目录下创立一个以“接口全限度定名”为命名的文件,内容为实现类的全限定名;接口实现类所在的JAR放在主程序的classpath 下,也就是引入依赖。主程序通过java.util.ServiceLoder 动静加载实现模块,它会通过扫描META-INF/services 目录下的文件找到实现类的全限定名,把类加载值JVM,并实例化它;SPI 的实现类必须携带一个不带参数的构造方法。示例: spi-interface 模块定义 定义一组接口:public interface MyDriver spi-jd-driver spi-ali-driver 实现为:public class JdDriver implements MyDriver public class AliDriver implements MyDriver 在 src/main/resources/ 下建设 /META-INF/services 目录, 新增一个以接口命名的文件 (org.MyDriver 文件) 内容是要利用的实现类别离 com.jd.JdDriver和com.ali.AliDriver spi-core 个别都是平台提供的外围包,蕴含加载应用实现类的策略等等,咱们这边就简略实现一下逻辑:a.没有找到具体实现抛出异样 b.如果发现多个实现,别离打印 public void invoker(){ ServiceLoader<MyDriver> serviceLoader = ServiceLoader.load(MyDriver.class); Iterator<MyDriver> drivers = serviceLoader.iterator(); boolean isNotFound = true; while (drivers.hasNext()){ isNotFound = false; drivers.next().load(); } if(isNotFound){ throw new RuntimeException("一个驱动实现类都不存在"); }}spi-test ...

March 14, 2023 · 2 min · jiezi

关于插件:Eolink-神技之四IDEA-工具插件ApiKit自动全代码注释

Eolink 神技之一:基于数据库智能生成 API 文档 Eolink 神技之二:API 全生命周期治理 Eolink 神技之三:钉钉、企业微信、蓝信、飞书等工具API对接 前言咱们在开发过程中会有很多小伙伴一起来做合作开发,然而会呈现一个问题,就是每个人的正文习惯都不雷同,那么,咱们在后续理解程序的时候就很麻烦,Eolink 提供的这个性能就十分棒,能够间接主动全代码正文,咱们只须要填写大量的关键字即可。十分的不便高效,并且对立了正文标准。在本博客中,我会先演示主动全代码正文,之后会依据咱们正文的内容一键式上传到咱们的 Eolink 进行批量测试。 一、主动全代码正文Eolink 提供了【idea】的【Eolink ApiKit】插件,此插件能够疾速的将类与函数均增加一个规范的 Eolink 正文办法。 正文示例: 这里为了测试不便,我写了一些间接返回的测试接口。 1/**2 * @eo.name UpdateById3 * @eo.url /api/UpdateById4 * @eo.method put5 * @eo.request-type formdata6 * @param id7 * @param introduce8 * @return Object9 */@PutMapping("/api/UpdateById")public Object UpdateById(String id,String introduce) {10 try {11 return new SUCCESS("批改"+id+"胜利", UUID.randomUUID());12 } catch (Exception e) {13 return new ERROR("批改"+id+"失败", UUID.randomUUID());14 }15} 1、测试环境测试语言:Java 零碎环境:win10 开发环境:IntelliJ IDEA 2021.3.2(反对 2020-2022 年版本) ...

February 9, 2023 · 6 min · jiezi

关于插件:插件功机制能让-开源-API-管理工具使用简单么

API 管理工具,根本的性能是文档和测试,但如果 API 管理工具也能装置插件,任何你想要的 API 治理相干的其余性能都能够通过装置插件来满足,是不是就很酷呢? 插件机制是 Eoapi 的主打性能,意在让用户依据本身的痛点,自在拓展、订制本人须要的性能。不同的插件服务于不同的性能,很可能显示在不同的区域,也对应不同的 UI 和交互。 装置装置 Eoapi 客户端后,点击相应图标进入插件广场页面,在插件列表中寻找或搜寻想要的插件,能够看到插件卡片上会显示以后处于未装置或已装置的状态。 点击进入插件详情,点击【装置】按钮,稍后即可主动实现装置。 在详情页能够看插件展的详细信息,包含开发者、版本号和具体的性能介绍,点击【装置】按钮,即可实现装置。 配置请查阅官网文档 卸载进入插件广场,切换到【已装置】的插件列表,抉择想要卸载的插件,点击进入详情后,能够看到【卸载】按钮,点击后即可卸载。 卸载后将无奈持续应用插件性能 Eoapi 的插件零碎有两点益处: 能够只抉择本人须要的性能,随时插拔; 在遇到不满足现有需要的场景下,能够抉择本人入手开发插件 和其余只做开源产品的我的项目不一样,咱们在开源这款产品前之前,曾经在商业产品中排汇了大量用户如何应用 API 工具的实际场景,所以官网也会在每年依照肯定的频率公布官网插件,将商业产品上的积淀奉献到开源产品。 对于 EoapiEoapi 是一个开源的 API 管理工具,除了最罕用的文档和测试性能,一些新的性能也在一直地被增加进来。当然,如果你感觉它还不够满足你的需要,你有什么好的想法,无妨去 Github 上提个 issue, 我的项目开发人员都会及时回复的。 该我的项目也有残缺的开发文档,如果你有什么技术问题,也能够去交换, PM 也会及时回复。 github 地址:https://github.com/eolinker/e... Demo 地址: www.eoapi.io/?utm_source=sf&utm_campaign=xh&utm_content=chajian

December 29, 2022 · 1 min · jiezi

关于插件:COS-加码福利COS-用户实践有奖征文等你来投稿

COS用户实际征文活动炽热进行中,本次征集主题为:如何在生态场景下应用 COS? 优质文章将有机会被编入腾讯云官网文档库,供宽广用户学习参考。更有多重好礼等你来拿,速来围观投稿吧! 投稿阐明:1、投稿内容必须保障内容原创性,实际过程实在、内容代码化,一经发现侵权行为,勾销流动参加资格。 2、文章要求公布在腾讯云开发者社区。 3、投稿内容字数不少于400字,要求文字顺通、图片清晰、代码标准。 4、投稿内容一经采纳,将会被纳入官网产品文档,腾讯云领有使用权,可对文稿进行编辑和分享。 5、流动最终解释权归腾讯云所有。 6、情谊附上:最佳实际写作指南,供参考~ 参加形式:1、扫码退出流动交换群 2、扫描下方二维码 或者点击“点击链接”进行投稿 (挪动端如果无奈长按扫码,倡议先保留本地再扫描) 重要阐明:1、审核通过被驳回的文章作者,将在下月初进行获奖名单颁布和处分发放,届时会有站内信和短信告诉。 2、对于继续输入高质量内容的作者,每年度末还有年度奉献大礼包送上。 腾讯云积分发放对象为:已实现实名认证的腾讯云用户(协作者、子账号、国内账号除外),详情可查考积分商城具体规、腾讯云文档积分规定。 3、代金券发放对象为:已实现实名认证的腾讯云用户(协作者、子账号、国内账号除外)。 4、周边礼物发放对象为:已实现实名认证的腾讯云用户。 特地申明: 腾讯云有权依据本身经营安顿,自主决定和调整本流动的具体规定,具体流动规定以流动页颁布规定为准。相干规定一经颁布即产生效劳,您该当予以恪守。 扫码发现更多惊喜!

August 3, 2022 · 1 min · jiezi

关于插件:obsidian插件无法加载的解决办法

说起来obsidian,它是一款十分完满的科研笔记软件,同时也是基于Markdown语法编辑的本地常识管理软件,并且开发者承诺Obsidian对于集体使用者永恒收费。 如果你是一名对笔记有着谋求或者是一名为周报制作头疼的职场人,对这款软件感兴趣,却不晓得怎么动手或者如何去做思维导图,能够给我私信或者评论,我会在当前的工夫里写新的博客对这个工具具体介绍。 本篇博客,咱们只提obisisian插件无奈装置的问题。obsidian默认是不容许装置第三方插件因而,首先须要在设置中敞开平安模式,实现这一步,那么祝贺你,你能够装置插件了。在第三方插件中搜寻咱们想要的插件,比方我想要一款mindmap相干的插件,咱们输出关键词mind,就有了想要的后果,装置实现后即可。 当然,如果所有这么顺利,我也不会写这个博客,在网络环境下,可能会因为某些起因导致装置过程或者装置之后有可能遇到启动不了的问题,例如这样呈现这个问题之后,作为一名急躁的,咱们应该排查,咱们找到相干文件夹,通常是在这个目录 C:\Users\19456\Documents\Obsidian Vault\.obsidian\plugins咱们找到插件文件,外面只有一个解释文件,关上文件,发现提醒的失败信息,于是我寻找形容文件中的脚本,并未找到 返回插件作者的官网从新下载,并比照,发现main文件失落(很显著,下载过程可能被打断了,然而笔记软件并未辨认出) https://github.com/lynchjames/obsidian-mind-map/releases/tag/1.1.0咱们将官网文件笼罩原文件夹,插件顺利启动了(留神察看右上角提示信息,且启动时长为0ms) 当然,为了更加稳固,能够返回gitee装置,有一位国内的作者搬运了相干插件资源 https://gitee.com/whghcyx/obsidian-plugin/tree/master今晚的分享就到这里,心愿我的分享能够帮忙到正好遇到这个问题的敌人。

August 1, 2022 · 1 min · jiezi

关于插件:fcpx插件Luts调色文件加载工具-LUT-Utility

Luts调色文件加载工具可能疾速的搞定画面的调色步骤,让你的画面看起来更像电影胶片色调,大部分前期软件都能够应用LUT,就是说你能够很不便的将LUT引入你的前期流程中。通过应用LUT能够迅速达到很好的胶片质感和色调,在此基础上稍作调整就能出现很赞的色调格调! 下载:https://www.macz.com/cj/172.h...

July 25, 2022 · 1 min · jiezi

关于插件:红巨人调色降噪插件Red-Giant-Magic-Bullet-Suite

Red Giant Magic Bullet Suite是一款弱小的红伟人调色降噪插件,能够在编辑时间轴上为您提供使您的素材看起来很棒的所需所有。通过弱小的色调调整均衡您的镜头。而后,超过色调校对,准确模仿镜头滤镜和胶片库存,为您制作出和好莱坞一样的成果,为电影制作人提供业余的色调校对。 下载:https://www.macz.com/mac/1446...

July 21, 2022 · 1 min · jiezi

关于插件:ai创意插件合集Astute-Graphics支持Ai-2021

Astute Graphics是一款弱小的ai创意插件,蕴含了泛滥实用的辅助插件,能够帮忙用户显著晋升AI软件的应用效率,让用户可能更加轻松地实现设计工作。 共蕴含了15款插件 01 Autosaviour Pro 主动定时保留工程 02 ColliderScribe 图形对齐定位 03 DynamicSketch 动静手绘插件 04 InkScribe 门路管制 05 MirrorMe 对称镜像 06 Phantasm 色彩管制 07 Stylism 图形成果实时预览管制 08 SubScribe Designer 门路绘图插件 09 Texturino 笔刷贴图材质纹理插件 10 VectorScribe 门路优化管制 11 WidthScribe 手绘描边管制 12DirectPrefs 角度管制插件 13 InkQuest 打印输出设置插件 14 Rasterino 图形裁剪编辑 15 Stipplism 圆点图形填充 下载:https://www.macz.com/mac/6252...

July 21, 2022 · 1 min · jiezi

关于插件:PS插件卡通人物漫画风格一键生成插件Cartoon-Maker

通人物漫画格调一键生成插件Cartoon Maker 无需非凡的Photoshop或绘图技能即可创立卡通和漫画。应用简略,只需关上您的照片,而后单击创立卡通即可,还能够点击编辑卡通脸预设来改善卡通成果。非常适合社交媒体。这款ps插件应用神经网络进行人脸检测,并智能优化图像参数和细节解决以获得最佳卡通成果。 下载:https://www.macz.com/cj/11330...

July 19, 2022 · 1 min · jiezi

关于插件:C4D插件阿诺德Arnold渲染器-R2026版本合集

阿诺德渲染器是目前电影工业中最风行的渲染器之一,多种Shader材质,OSL shader,VR摄像机,灯光等其余性能,大幅度晋升采样和VDB渲染速度,新增多个着色器,更加简略易用;无需繁琐操作。新版勾销对R22的反对,外围为Arnold 7.0.0.x。 下载:https://www.macz.com/cj/12702...

July 19, 2022 · 1 min · jiezi

关于插件:FCPX插件37种油管网红棱镜光效分屏色彩分离转场视觉特效工具包BadAss-FX-4

BadAss FX 4领有37种油管网红大神棱镜光效分屏色调拆散转场视觉特效工具包,如棱镜折射,光效,分屏,转场等其余特效。 装置形式:BadAss FX 4下载实现后,双击主动装置到fcpx软件中,在题目字幕,转场和成果中,可看到装置好的BadAss FX 4 下载:https://www.macz.com/cj/15302...

July 19, 2022 · 1 min · jiezi

关于插件:ps-Raw增效工具Camera-Raw-14中文版

Camera Raw是Photoshop和其余 Creative Suite应用程序的有用插件,能够拜访由各种业余和中档数码相机生成的“原始”图像格式。通过  Camera Raw,您能够对来自各种不同相机的原始图像进行加强,以及将图像导入至各个应用程序。 下载:https://www.macz.com/cj/29.ht...

July 19, 2022 · 1 min · jiezi

关于插件:AE插件Red-Giant-Trapcode-Suite红巨星粒子插件

Trapcode Suite将3D粒子系统的弱小性能间接带入After Effects。应用粒子发射器来创立火,水,烟,雪和其余有机视觉效果,或应用不朽的粒子网格和3D模式创立技术奇观和用户界面。将多个粒子系统组合到一个对立的3D空间中,以取得视觉上令人惊叹 借助GPU减速性能,Trapcode插件可帮忙您疾速取得丑陋的成果。 有史以来第一次,应用新的Dynamic Fluids?物理引擎运行真切的流体模仿,或模仿在空气中挪动并从外表反弹的粒子。 3D物体和外表 创立流动的外表,山区地形,无尽的隧道和形象的形态。应用门路和动作生成精美简单的几何形态,色带和挤压。无论您是创立动静图形还是视觉效果,都是无穷无尽的。 灯光和光辉 为您的静止设计带来光明和生命。模仿有机,3D相机感知体积照明。应用蒙版和门路增加能够使您的徽标和文字活泼的亮条纹,并增加星光闪动以突出您作品中的亮点。 声音和动作 应用音频生成驱动动画和成果的关键帧。缩放,旋转并挪动到节奏,或应用鼓点击创立粒子成果。复制和偏移层及其静止轻松。Trapcode Suite使您能够轻松自动化简单动画。 6.工具 Red Giant Trapcode Suite是一套用于3D动画和视觉效果的11种工具。 • TRAPCODE特地(新) 创立有机3D粒子成果,简单的动静图形元素等。在弱小的Designer中直观地构建粒子成果。Trapcode非凡性能是GPU减速的,包含用于模仿空气,流体动力学等的物理个性。特地应用After Effects 3D相机和灯光,并容许您将3D模型和OBJ序列用作发射器。 • TRAPCODE表格(新) 应用Trapcode Form创立不朽的粒子网格和3D粒子对象。在弱小的Designer中直观地构建成果。将粒子对象溶解在流体中或创立简单的分形动画。应用3D模型和动画OBJ序列创立令人惊叹的MoGraph。用声音驱动动画并遣散文本和徽标。Form应用After Effects 3D相机和灯光,并且是GPU减速的。 • TRAPCODE MIR(新) 应用Trapcode Mir在After Effects中创立3D对象,分形曲面,地形和线框。为静止图形设计流动外表和形象形态或导入3D OBJ模型。复制并分形扭曲Mir曲面和OBJ,并将它们显示为多边形或顶点。Mir在GPU上运行,可与After Effects的3D相机和灯光配合应用。 • TRAPCODE SHINE 应用Trapcode Shine创立超快的3D光线成果。为您的文字,mograph或镜头设计体积光线。用深度模仿洁净的光线或分形烟雾。Shine是After Effects 3D相机感知。 • TRAPCODE 3D STROKE 应用Trapcode 3D Stroke从蒙版创立有机3D形态和线条。标识,文本和门路都有本人的生命。3D笔划预设形态为您提供终点。准确管制形态,色彩,循环等。 • TRAPCODE STARGLOW 应用Trapcode Starglow为动画图形和文本创立风格化的闪光和发光。应用49个预设为您的高光增加Glimmer,以帮忙您入门。Starglow齐全可定制且易于应用。 • TRAPCODE声音键 带有Trapcode声音键的After Effects中的即时音频驱动静止图形。可视化您的音频以获取动静图形,并应用任何音频来驱动动画和成果。应用声音键,您能够隔离音频带以进行齐全管制。 • TRAPCODE TAO 应用Trapcode Tao创立沿门路动画的3D几何图形。应用Tao,您能够从蒙版,门路和动作生成几何形态。Tao应用After Effects的3D相机和灯光。 • TRAPCODE LUX 应用Trapcode Lux,能够看到After Effects灯光。创立3D体积点和聚光灯,并为3D Comps增加戏剧性和真实感。Lux可齐全自定义并可辨认相机。 ...

July 9, 2022 · 1 min · jiezi

关于插件:尽快卸载这两款恶意浏览器插件已有近-50-万用户安装

自 Firefox 在 2002 年诞生以来,就以轻便、疾速、简略与高扩充性的特点广受用户的青睐。 Firefox 有着丰盛的附加组件,包含反跟踪软件、广告拦截器、主题和实用程序等,用户能够通过削减额定的性能或款式实现 Firefox 的个性化定制。 然而,跟 Chrome 插件一样,Firefox 中的这些附加组件在为用户带来不便的同时,也带来了肯定的危险。 在本周,Mozilla 平安博客发表:在 Firefox 团队发现存在歹意行为后,其已决定封杀某些被滥用的附加组件。 布告中尽管提到了两款特定的附加组件(“Bypas” 和 “Bypass XM”),但并没有具体地阐明它们都干了什么。 不过能够必定的是,大概有 45.5 万名用户都受到了潜在影响。 Mozilla 称,这次被封禁的附加组件不仅篡改了浏览器的更新性能,并且让近百万用户都无奈下载更新、获取屏蔽列表或更新近程配置内容。 此外,Malwarebytes Labs 平安博客也显示,此款零碎附加组件的创作者声称,这些附加组件的目标就是为了绕过某些网站付费的限度。 其实,早在往年 6 月,就曾经有人发现了这两款名为 “Bypass” 和 “Bypass XM” 的附件组件在滥用 Firefox 浏览器的代理 API,而且还应用这些 API 来治理浏览器如何连贯到互联网。 当然,当初这些歹意的附加组件都已被阻止。另外,Firefox 团队在补救过程中应用了代理 API 来创立和部署修复程序时,还长期暂停了新附加组件开发人员提交的批准。 从 V.91.1 开始, Firefox 曾经施行了间接连贯以用于更新目标和浏览器收回的其余 “重要申请” 的回退机制,无论代理配置是否导致了连贯问题,都能够进行下载。 10 月初,Mozilla 公布了 Firefox 93 版。最新版本领有新的选项卡卸载性能、阻止来自 HTTPS 网页的 HTTP 下载的能力以及对 3DES 加密的默认反对的完结。 ...

May 31, 2022 · 1 min · jiezi

关于插件:前端开发必备Chrome插件推荐

Web Serve for Chrome通过浏览器间接起一个动态服务,文件夹就能够在浏览器中通过http://127.0.0.1:8887进行拜访,默认是首页是index.html。高级用法:能够调整对应的端口号,设置CORS头,反对HTTPS等。 运行后果: OneTabOneTab能够把以后关上的所有标签以链接的形式收纳到一个标签中,能够在上班关电脑之前把已关上的标签做收纳,下次关上电脑再进行复原,也能够治理本人没来得及看的文章。 FE Helper强烈推荐 一款弱小的插件零碎,根本能够满足日常开发需要,内置了多种插件能够按需下载也能够自定义插件。 目前反对:JSON丑化工具,JSON比对工具,信息编码转换,生成二维码/解码,图片转Base64,代码丑化工具,JS正则表达式,繁难Postman,网页截屏工具,页面取色工具,Excel转JSON,我的便签笔记,工夫(戳)转换,随机明码生成,Markdown工具,进制转换工具,色彩转换工具,Crontab工具,网页油猴工具,便捷思维导图,网页栅格标尺,代码压缩工具,网页性能检测 Copy All Urls能够复制以后浏览器中关上的所有标签,反对自定义格局,比方能够设置复制为MarkDown的链接格局。 Edit this cookie导入、导出、编辑cookies,反对导出httpOnly、secure为true的字段。能够用来在不同浏览器同步登录态,导入的cookie能够间接在puppetter中应用。

April 6, 2022 · 1 min · jiezi

关于插件:Mybatis源码插件的使用和原理

前言Mybatis中的插件又叫做拦截器,通过插件能够在Mybatis某个行为执行时进行拦挡并扭转这个行为。通常,Mybatis的插件能够作用于Mybatis中的四大接口,别离为Executor,ParameterHandler,ResultSetHandler和StatementHandler,归纳如下表所示。 可作用接口可作用办法拦截器用处Executorupdate(),query(),flushStatements(),commit(),rollback(),getTransaction(),close(),isClosed()拦挡执行器中的办法ParameterHandlergetParameterObject(),setParameters()拦挡对参数的解决ResultSetHandlerhandleResultSets(),handleOutputParameters()拦挡对后果集的解决StatementHandlerprepare(),parameterize(),batch(),update(),query()拦挡SQL构建的解决本篇文章将对插件怎么用和插件的执行原理进行剖析。 注释一. 插件的应用插件的应用比较简单,在Mybatis配置文件中将插件配置好,Mybatis会主动将插件的性能植入到插件对应的四大接口中。本大节将以一个例子,对自定义插件,插件的配置和插件的执行成果进行阐明。 首先创立两张表,语句如下所示。 CREATE TABLE bookstore( id INT(11) PRIMARY KEY AUTO_INCREMENT, bs_name VARCHAR(255) NOT NULL);CREATE TABLE book( id INT(11) PRIMARY KEY AUTO_INCREMENT, b_name VARCHAR(255) NOT NULL, b_price FLOAT NOT NULL, bs_id INT(11) NOT NULL, FOREIGN KEY book(bs_id) REFERENCES bookstore(id))往表中插入若干数据,如下所示。 INSERT INTO bookstore (bs_name) VALUES ("XinHua");INSERT INTO bookstore (bs_name) VALUES ("SanYou");INSERT INTO book (b_name, b_price, bs_id) VALUES ("Math", 20.5, 1);INSERT INTO book (b_name, b_price, bs_id) VALUES ("English", 21.5, 1);INSERT INTO book (b_name, b_price, bs_id) VALUES ("Water Margin", 30.5, 2)当初开始搭建测试工程(非Springboot整合工程),新建一个Maven我的项目,引入依赖如下所示。 ...

December 15, 2021 · 4 min · jiezi

关于插件:Chrome插件实现鼠标点击烟花特效

Chrome浏览器插件实现页面鼠标点击烟花成果写在后面成果如上图,鼠标点击之后页面会从底部发射一道烟花,在鼠标点击处绽开开来。 筹备工作1.理解浏览器插件制作方法chrome扩大:manifest.json文件相干字段 2.实现计划在网页上动静插入一个canvas元素,通过canvas来制作并展现烟花成果粒子,联合鼠标的点击事件,来触发烟花射线发射。 3.入手撸代码minifest.json简略地将必须的参数配置残缺 { "name": "烟花点击特效", "version": "1.0.0", "manifest_version": 2, "description": "烟花点击特效", "browser_action": { "default_title": "查看", "default_icon": "1.jpg" }, "content_scripts": [ { "matches": ["<all_urls>"], "js": ["firework.js"] } ], "permissions" : ["tabs", "activeTab"] //向浏览器申请的权限}firework.jslet body = document.getElementsByTagName('body')[0];let myCanvas = document.createElement('canvas');myCanvas.id = 'canvas';myCanvas.style.position = 'fixed';myCanvas.style.left = '0';myCanvas.style.top = '0';body.before(myCanvas);//before插入能够将canvas插入到body后面body.style.opacity = 0.9;// body.appendChild(myCanvas);//requestAnimFrame 封装,能够兼容所有浏览器window.requestAnimFrame=(function(){ return window.requestAnimationFrame|| window.webkitRequestAnimationFrame|| window.mozRequestAnimationFrame|| function(callback){ window.setTimeout(callback,1000/60) } })(); var canvas=document.getElementById("canvas"), // Canvas.getContext(contextID)返回一个用于在画布上绘图的环境; // 目前非法参数contextID只有"2d",即二维绘图 ctx=canvas.getContext("2d"), // 获取电脑可视区域宽高 cw=window.innerWidth,ch=window.innerHeight, fireworks=[],//寄存烟花数组 particles=[],//寄存绽开粒子数组 hue=180,//设置色彩范畴 limiterTotal=5,//点击绽开速度 limiterTick=0,//点击计时器 timerTotal=40,//主动绽开速度 timerTick=0,//主动计时器 mousedown=false, mx,my; // 设置画布宽高 canvas.width=cw;canvas.height=ch; // 随机函数 function random(min,max){ return Math.random()*(max-min)+min } // 计算两点间隔 function calculateDistance(p1x,p1y,p2x,p2y){ var xDistance=p1x-p2x,yDistance=p1y-p2y;return Math.sqrt(Math.pow(xDistance,2)+Math.pow(yDistance,2)) } // 定义烟花对象 function Firework(sx,sy,tx,ty){ this.x=sx; this.y=sy; this.sx=sx; this.sy=sy; this.tx=tx; this.ty=ty; this.distanceToTarget=calculateDistance(sx,sy,tx,ty); //静止间隔 this.distanceTraveled=0; //生成的静止轨迹 this.coordinates=[]; this.coordinateCount=3; while(this.coordinateCount--){ this.coordinates.push([this.x,this.y]) } this.angle=Math.atan2(ty-sy,tx-sx); this.speed=2; this.acceleration=1.05; this.brightness=random(50,70);//烟花的亮度 this.targetRadius=1//烟花圈的半径 } //更新烟花地位 Firework.prototype.update=function(index){ this.coordinates.pop(); this.coordinates.unshift([this.x,this.y]); if(this.targetRadius<8){ this.targetRadius+=0.3 }else{ this.targetRadius=1 } this.speed*=this.acceleration; var vx=Math.cos(this.angle)*this.speed, vy=Math.sin(this.angle)*this.speed; this.distanceTraveled=calculateDistance(this.sx,this.sy,this.x+vx,this.y+vy); //如果烟花运行间隔大于或等于初始地位到指标地位之间的间隔,生成新烟花并移除以后烟花,否则更新烟花地位 if(this.distanceTraveled>=this.distanceToTarget){ //烟花绽放 createParticles(this.tx,this.ty); //销毁烟花点 fireworks.splice(index,1) }else{ this.x+=vx;this.y+=vy } }; // 烟花射线发射 Firework.prototype.draw=function(){ // 从新开始新门路,把之前的门路都清空掉 ctx.beginPath(); //先保留一个坐标 ctx.moveTo(this.coordinates[this.coordinates.length-1][0],this.coordinates[this.coordinates.length-1][1]); //从moveTo提供的坐标绘制到指定坐标 ctx.lineTo(this.x,this.y); //设置线条款式 ctx.strokeStyle="hsl("+hue+", 100%, "+this.brightness+"%)"; //通过此函数将以上绘制的图形绘制到画布上 ctx.stroke(); ctx.beginPath(); //画出鼠标点击时的圆圈 //arc(圆心的x坐标,圆心的y坐标,圆的半径,起始角(以弧度计,即l圆心的3点钟地位是0度),完结角,规定应该是顺时针还是逆时针画图(可选)) ctx.arc(this.tx,this.ty,this.targetRadius,0,Math.PI*2); //描边绘制 ctx.stroke() }; //烟花绽放办法 function Particle(x,y){ this.x=x;this.y=y;this.coordinates=[]; this.coordinateCount=5; while(this.coordinateCount--){ this.coordinates.push([this.x,this.y]) } // 往各个角度绽开 this.angle=random(0,Math.PI*2); this.speed=random(1,10); this.friction=0.95; this.gravity=1; this.hue=random(hue-20,hue+20); this.brightness=random(50,80); this.alpha=1; this.decay=random(0.015,0.03);//粒子隐没工夫(透明度减少速度) } Particle.prototype.update=function(index){ this.coordinates.pop(); this.coordinates.unshift([this.x,this.y]); //粒子静止 this.speed*=this.friction; this.x+=Math.cos(this.angle)*this.speed; this.y+=Math.sin(this.angle)*this.speed+this.gravity; this.alpha-=this.decay;//透明度减少 if(this.alpha<=this.decay){ particles.splice(index,1)//销毁烟花绽放粒子 } }; // 烟花绽放 Particle.prototype.draw=function(){ ctx.beginPath(); ctx.moveTo(this.coordinates[this.coordinates.length-1][0],this.coordinates[this.coordinates.length-1][1]); ctx.lineTo(this.x,this.y); //烟花的色彩 ctx.strokeStyle="hsla("+this.hue+", 100%, "+this.brightness+"%, "+this.alpha+")"; ctx.stroke() }; // 创立粒子 function createParticles(x,y){ //烟花绽放粒子数量 var particleCount=200; while(particleCount--){ particles.push(new Particle(x,y)) } } function loop(){ // 让浏览器循环调用指定的函数来更新动画。 requestAnimFrame(loop); hue+=0.5; ctx.globalCompositeOperation="destination-out"; ctx.fillStyle="rgba(0, 0, 0, 0.5)"; ctx.fillRect(0,0,cw,ch); ctx.globalCompositeOperation="lighter"; var i=fireworks.length; while(i--){ fireworks[i].draw(); fireworks[i].update(i) } var i=particles.length; while(i--){ particles[i].draw(); particles[i].update(i) } // 随机主动抉择地位 if(timerTick>=timerTotal){ //鼠标没有点击的状况 if(!mousedown){ // fireworks.push(new Firework(cw/2,ch,random(0,cw),random(0,ch/2))); timerTick=0 } }else{ timerTick++ } // 鼠标点击地位 if(limiterTick>=limiterTotal){ if(mousedown){ fireworks.push(new Firework(cw/2,ch,mx,my)); limiterTick=0 } }else{ limiterTick++ } } body.addEventListener("mousemove",function(e){ mx=e.pageX-body.offsetLeft - window.scrollX;//鼠标点击坐标 - body偏移量 - 窗口滚动间隔 my=e.pageY-body.offsetTop - window.scrollY;//鼠标点击坐标 - body偏移量 - 窗口滚动间隔 }); body.addEventListener("mousedown",function(e){ // e.preventDefault(); mousedown=true }); body.addEventListener("mouseup",function(e){ // e.preventDefault(); mousedown=false }); window.onload=loop;更多插件浏览器网页背景换肤插件浏览器桌面挂件动画插件B站视频评论屏蔽插件 ...

August 31, 2021 · 2 min · jiezi

关于插件:关于chrome浏览器的几款json插件推荐

jsonviewjson-handlejson formatteryformaterWEB前端助手(FeHelper)

May 18, 2021 · 1 min · jiezi

关于插件:oh-my-zsh插件安装详细教程及常用插件

Oh My Zsh官网 https://ohmyz.sh/Oh My Zsh简略来讲就是一款能让你更加不便的应用命令行的工具,它能够帮忙咱们高亮语法,主动联想命令,晋升工作效率,能够说是程序员必备工具。 一. 装置Oh My Zsh间接输出以下命令即可装置 $ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"此时关上咱们的终端,会发现色彩变了,阐明装置胜利,或者应用 ' zsh --version'命令查看版本,确认是否装置胜利 二. Oh My Zsh配置主题,插件等相干配置都在~/.zshrc这个文件中,输出 $ vim ~/.zshrc 能够间接在终端关上~/.zshrc 文件并编辑,以配置插件,主题等。也能够间接找到该文件关上编辑 批改主题 批改 ZSH_THEM 为 random可使每次关上都是一个随机的主题 其余主题:https://github.com/ohmyzsh/oh... 应用如下命令更新配置 source ~/.zshrc 配置插件 还是 ~/.zshrc 文件,两头靠下有plugins这句话,这里能够看到咱们目前启用的插件,在外面输出已装置的插件名,插件之间用空格距离 三.罕用插件及装置1. git无需配置,默认已开启, ~/.zshrc 文件文件中plugins=(git) 使咱们能够不便的应用git命令的缩写 常见缩写: gp='git push' gm='git merge' gl='git pull' 查看所有git命令缩写 cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh 2. Z无需cd, 不便的实现目录间疾速跳转 z是oh-my-zsh默认就装好的,会记录输出过的路径名,z+某个目录间接跳转到该目录 间接应用 z 路径名 即可 示例: 3. zsh-syntax-highlighting高亮语法,如图,输出正确语法会显示绿色,谬误的会显示红色,使得咱们无需运行该命令即可晓得此命令语法是否正确 ...

April 20, 2021 · 1 min · jiezi

关于IDEA:Toolkit-大更新UI-更美观用起来更方便

前言前段时间有小伙伴在群里聊天,说到 Toolkit 下载量到 4.9k 了。就忽然想起来,很久没有更新这个插件。 PS:我是用它申请了 License,个别时候应用 Json 格式化性能。趁着周末,更新了下版本,上面介绍间接介绍更新后的版本。 性能介绍UI 界面这次批改最大的就是 UI 界面,根本参考 Doc View 的 UI,全面进行革新,同时对代码也进行的肯定水平上的重构。 同时减少快捷键 Control + Shift + T 间接唤起操作面板的性能。 UI 界面调整,以标签页的模式间接展现性能,方便使用。 Json Format保留原有性能: 代码格式化;压缩为一行;移除文本中的转移符(\);快捷生成实体类字段。新增性能: 快捷复制;原生查找。动图演示: 快捷键关上 Json 格式化 压缩 Json 字符串为一行 查找字段因为间接应用的原生 Editor 当做面板,所以是反对 ⌘ + F 间接局内搜寻的。 生成字段 到这里对于 Json 工具的介绍根本就完结了,这也是我在开发过胜利常常用到的几个性能。当然快捷复制、移除转移符这些性能就须要小伙伴本人钻研了。 Copy As Json当在 Java 类中的时候,能够在右键菜单找到 Copy As Json 这个选项,顾名思义,就是将以后实体类转为 Json 字符串。 如果小伙伴仅仅想应用 Copy As Json 性能,能够在插件商城搜寻,有一个插件仅反对将实体复制为 Json。也有一个留神的中央, 如果 Control + Shift + T 唤起 Toolkit 面板的中央是 Java 实体,这时候 Toolkit 面包会多一个标签页—— Entity Json,能够间接查看以后实体对应的 Json 字符串。 ...

April 18, 2021 · 1 min · jiezi

关于前端:数栈技术干货从0到1实现谷歌插件开发探索及应用

本文整顿自:技术干货丨谷歌插件开发摸索及其利用 数栈是云原生—站式数据中台PaaS,咱们在github和gitee上有一个乏味的开源我的项目:FlinkX,记得给咱们点个star!star!star! gitee开源我的项目:https://gitee.com/dtstack_dev... github开源我的项目:https://github.com/DTStack/fl... FlinkX是一个基于Flink的批流对立的数据同步工具,既能够采集动态的数据,比方MySQL,HDFS等,也能够采集实时变动的数据,比方MySQL binlog,Kafka等,是全域、异构、批流一体的数据同步引擎,大家如果有趣味,欢送来github社区找咱们玩~ 一、前言 笔者之前始终想理解一些对于谷歌插件的相干常识,心愿通过谷歌插件能够更好的意识到谷歌的调试工具,同时也想着能够应用谷歌插件去写一些小工具,既学习了新的货色,又有肯定的趣味性。恰逢近段时间须要分享,因而花了两周工夫学习和理解谷歌插件相干常识,本篇文章就将笔者在学习过程中的一些思考分享给大家。当然,因为工夫的起因,如果笔者对于这一块的意识有不对的中央,欢送批评指正~二、什么是谷歌插件 上面先介绍一下谷歌插件的次要组成部分,因为目前谷歌插件应用比拟广泛的版本为 2.0 版本,因而本文都是基于 2.0 版本进行应用阐明,3.0 版本相较于 2.0 版本更为简便,感兴趣的同学能够点击文章开端处的链接理解更多相干常识。 (一)配置文件 谷歌插件的外围文件就是配置文件--manifest.json(清单)文件。其中,manifest.json 文件最根本的 Api 如下: { "name": "chrome extension","version": "1.0.0","manifest_version": 2,"description": "A litlle chrome extension demo"} [点击并拖拽以挪动] 次要是蕴含所写谷歌插件的名称、版本以及相干形容,其中 manifest_version 示意清单文件版本。manifest.json 作为谷歌插件的外围局部,笔者认为该文件对插件来说就相当于一个入口配置文件,开发人员只须要在这个文件通过配置相应的 js,调用谷歌浏览器提供的 Api,就能实现达到欠缺这个插件的目标。 1、根本应用Api 在清单文件中有 许多的Api,笔者就不一一列举了,上面为大家介绍几个笔者认为比拟重要的 Api,通过以下几个 Api 的介绍,心愿能够使读者对于谷歌插件的开发过程有一个大略的意识。 1)browser_action { ..."browser_action": { "default_icon": { "16": "images/get_started16.png", "32": "images/get_started32.png" }, "default_title": "谷歌划词翻译", "default_popup": "popup.html"},...} [点击并拖拽以挪动] browser_action可设置浏览器右上角的图标及名称。default_popup 可配置点击图标后会呈现的一个小窗口,这里能够做一些临时性的操作 2)permissions { ..."permissions": [ "activeTab", "storage", "tabs", "contextMenus" ],...} ...

April 14, 2021 · 3 min · jiezi

关于javascript:JS的封装JS插件的封装

JS中类的概念类,实际上就是一个function,同时也是这个类的构造方法,new创立该类的实例,new出的对象有属性有办法。办法也是一种非凡的对象。 类的办法在构造方法中初始化实例的办法(就是在构造方法中间接编写办法,并new实例化)是不举荐的,耗费内存(每次实例化的时候都是反复的内容,多占用一些内存,既不环保,也不足效率)。所有实例是共有的,创立多个实例不会产生新的function,举荐在类的prototype中定义实例的办法,prototype中的办法会被所有实例专用。 1. 仿照jQuery封装类匿名函数 (function () { //})();var Id = function (i) { this.id = document.getElementById(i);};window.$ = function (i) { return new Id(i);};console.log($('main'));function Cat(name, color) { this.name = name; this.color = color;}var cat1 = new Cat('大毛', '黄色');var cat2 = new Cat('二毛', '彩色');Cat.prototype.a = 'aaa';Cat.prototype.type = '猫科动物';Cat.prototype.eat = function () { alert('吃老鼠');};cat1.eat();cat2.eat();console.log(cat1.name);console.log(cat2.color);// cat1和cat2会主动含有一个constructor属性,指向它们的构造函数。console.log(cat1.constructor == Cat);console.log(cat2.constructor == Cat);// Javascript还提供了一个instanceof运算符,验证原型对象与实例对象之间的关系。console.log(cat1 instanceof Cat);try { console.log(a instanceof Cat);} catch (e) { console.log(e);}所谓"构造函数",其实就是一个一般函数,然而外部应用了this变量。对构造函数应用new运算符,就能生成实例,并且this变量会绑定在实例对象上。Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和办法,都会被构造函数的实例继承。 prototype模式的验证办法1. isPrototypeOf() 判断某个prototype对象和某个实例之间的关系2. hasOwnProperty() 判断一个属性是本地属性还是继承自prototype对象的属性3. in 判断是否在某个对象里 ...

April 14, 2021 · 1 min · jiezi

关于idea:idea提升开发效率的几款插件

1. .ignore插件间接在idea的插件商店搜寻,下载完之后,右击我的项目创立一个.gitignore文件,如果你应用git去做版本控制的话,这个插件能够帮忙你在提交代码时疏忽那些文件我疏忽以下文件 2.Alibaba Java Coding Guidelines这个插件能够帮忙你扫描代码中的敏感信息,右击我的项目点击编码规约扫描。 3.MyBatisCodeHelperPro如果你应用mybatis作为orm框架来实现日常开发,那么选他就对了,具体配置教程:https://gejun123456.github.io...

April 9, 2021 · 1 min · jiezi

关于插件:EasyCode插件使用详解

简介什么是EasyCode?EasyCode是idea的一个插件,能够采纳图形化的形式对数据的表生成entity,controller,service,dao,mapper……无需任何编码,简略而弱小。 1.idea装置EasyCode插件首先点击 File->Settings->Plugins,而后搜寻 EasyCode,点击装置: 2.在springboot中应用EasyCode,首先确保yml文件有数据库和mybatis的配置。spring: datasource: url: jdbc:mysql://localhost/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: root driver-class-name: com.mysql.cj.jdbc.Driverserver: servlet: context-path: / port: 9001mybatis: mapper-locations: classpath:mapper/*.xml3.增加数据源 接下来配置数据库连贯信息,如果没有检测到适合的数据库 Driver,点击左下角主动下载,填好数据库信息之后点击Test Connection之后如图下则示意连贯胜利,保留退出即可: 如果链接胜利,按图中所示,会有连贯对应数据库的所有表,连贯胜利后,点击 OK。默认状况下没有展现连贯下的数据库,须要手动开展,如下: 4.生成文件首先选中要controller、service、mapper、xml、po对应的表,而后右键单击,抉择 EasyCode->Generate,如下: 点击之后,如果有数据库类型没有对应的 Java 类型,就会有提醒: 如果单击NO,会把没有辨认的类型映射为Java中的Object,能够生成之后去批改类型,也能够配置间接批改,所以咱们最好依据它的疏导点击上图的yes,去增加映射关系: 增加完后,点击ok,再次点击步骤4中的操作,生成文件,~~~~点击之后会呈现以下界面: 图中的红框都为我的项目的启动类所在包如果我的项目是多模块我的项目,能够先抉择代码生成的 Module,而后设置代码生成的 package,最初从上面勾选要生成的代码模版,点击 OK ,之后一路next,生成的java文件如下: 启动我的项目进行测试 启动我的项目失败,提醒我没有找到长久层的bean,原来easycode帮咱们生成代码的时候,没有帮咱们在长久层加上@Repository(申明长久层,交由spring容器治理),这时候咱们在启动类加上MapperScan(“这里为长久层包门路”),再去长久层加上@Repository注解,再次启动,拜访测试 备注:easycode插件大大的进步了日常的开发效率,然而同时也生成了咱们一些不必要的代码,但它真正的劣势还是在于,不必咱们一个一个去创立类、对应数据库的字段,这也缩小了咱们的误错性,所以还是一款很好的插件。

April 6, 2021 · 1 min · jiezi

关于IDEA:IDEA-文档插件-DocView-版本更新支持编辑文档注释

前言IDEA 文档插件 Doc View 又更新了新版本,本次更新版本如下: 反对在办法右键菜单抉择 Doc Editor 间接编辑文档 编辑接口文档名称编辑接口形容编辑字段是否必填编辑字段正文阐明点击确定, 会回写到源文件的正文中反对在 Entity 中通过邮件菜单抉择Doc Editor 编辑字段信息 编辑字段是否必填编辑字段正文阐明点击确定, 会回写到源文件的正文中反对将 Entity 复制为 Json 字符串复制 Json 字符串时, 反对 Entity 中蕴含对象的转换从 Doc View 预览界面间接跳转到编辑界面是不是看着挺多的,上面,咱们就理解下具体都是什么吧! Doc Editor在办法右键菜单 弹起操作面板,可编辑参数如下: 接口名称:默认取办法名,当有正文且正文 tag 为 @docName 时,会取 @docName 对应的名称;接口形容:取正文的形容内容;申请/返回参数:申请返回参数的是否必填、形容。上面应用动图演示: 在实体类右键菜单在实体类中右键菜单,其实相当于办法中的申请/返回参数那一部分。 操作面板操作如下: 是否必填:将应用正文 tag @required 作为是否必填的标识。当然也反对 javax.validation.constraints 的局部注解;形容信息:形容内容为正文内容,批改后会回写到正文中;复制为 Json 字符串,反对多级嵌套。 如果上述内容点击 Copy as Json 会将实体转换为 Json 字符串复制到剪贴板。 间接从预览界面跳转当关上 Doc View 文档界面时,左下角能够通过编辑按钮跳转到 Doc Editor 界面。 ...

April 6, 2021 · 1 min · jiezi

关于插件:VSCode同步扩展插件的3种方法

VSCode是许多前端开发小伙伴们的必备开发利器,然而装置了编辑器还是不够的,毕竟编辑器不像webstorm那样集成了许多性能的IDE,所以就须要在vscode上装置许多晋升开发效率的扩大插件,然而在换另一台电脑(零碎)开发的时候须要重新安装扩大和集体设置,特地头疼。 那么如何在新的电脑上通过简略的设置就能获取之前装置的所有扩大,我总结了3个办法: 1.vscode自带的设置同步性能 此办法最简略,关上vscode中的首选项-设置-点击设置右上角的‘关上设置同步’-抉择GitHub登陆-而后从github跳转回vscode-全选须要保留的设置就胜利了。下次在新电脑上只需用同样的办法在vscode中登陆GitHub就能主动下载之前的扩大了。 此性能应该是vscode最近推出的新性能。在没有自带同步之前,都是应用以下办法。 2.应用Settings Sync扩大实现插件同步1.装置Settings Sync插件2.此办法须要登陆github获取gist id来进行,在不应用迷信上网的状况下是难以关上教程里说的gist网站(亲测基本打不开),同时此办法绝对比拟麻烦,此办法有许多教程。 3.笼罩extensions文件夹此办法就是保留vscode的extensions文件夹中的扩大插件\Users\{username}\.vscode\extensions 能够压缩extensions文件而后上传到云盘中,在新电脑上笼罩原有的vscode的extensions文件夹。

April 3, 2021 · 1 min · jiezi

关于VS:vscode中docker插件无法连接

vscode中docker插件无奈连贯报错Failed to connect. Is Docker runningError: connect EACCES /var/run/docker.sock 起因剖析起因是docker应用unix socket进行通信,然而unix socket属于root用户,然而普通用户须要应用sudo能力开启root权限,然而一般的操作并没有root权限。 解决方案应用root用户登录,然而安全性没有保障普通用户减少到docker组中 sudo groupadd docker #增加docker用户组sudo gpasswd -a $USER docker #将以后用户增加至docker用户组newgrp docker #更新docker用户组增加后从新登录vscode,用户从新连贯后docker插件会失常运行。 测试能够运行docker ps命令,如果有失常的输入,则失常。

March 14, 2021 · 1 min · jiezi

关于插件:Jenkins-无法安装插件

在jenkins 设置页面发现jenkins有更新了,于是手欠的点了下降级,之后 jenkins 降级到2.282 ,发现大量插件不实用,而且已有工作编辑页面ssh 某个组件呈现问题,必须更新jenkins 的插件,问题就此开始了,节约了我4小时的工夫来折腾他……,呵呵,此处通知咱们没事儿不要瞎更新!! 遇到问题jenkins 插件无奈更新,报错 Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target大略剖析了下,应该是java 发送ssl 申请时候证书问题,开始百度 没有用的解决方案一——https批改为http对我不起作用,兴许对你有用 起源:jenkins ssl证书报错问题解决看了下这个解决方案,大略是将Update门路中的https换成http,尝试了下,高级页面点击【立刻获取】,然而插件下载时候还是 https 申请,并没有解决问题,突发奇想的把json文件下载下来,而后将外面的https 全副换成http ,后果还是不行,会报文件sha1 验证不正确。 没有用的解决方案二——将证书导入到java环境中起源1:Jenkins装置后,装置插件失败。报错SunCertPathBuilderException起源2:解决 sun.security.provider.certpath.SunCertPathBuilderException这个计划还是很靠谱的,导入后在高级页面点击【立刻获取】,不会报错,然而插件下载时候还是会报一样的谬误,不晓得哪里问题…… 终于有用的计划三——装置Skip Certificate Check plugin起源: 修复SunCertPathBuilderException Jenkins插件下载谬误步骤: 下载插件Skip Certificate Check plugin的安装文件在插件治理→高级→上传插件 进行装置装置实现后重启jenkins点击下载其余插件胜利太感人终于胜利了,配一张胜利截图吧!!!奈何解决问题时候没有截图报错习惯,不然就能提供更多信息了

March 8, 2021 · 1 min · jiezi

关于插件:IDEA-常用插件与配置

1.罕用插件IdeaVim截止至 2021.03.07 日,插件最初更新工夫:2021.03.04 IdeaVim 是 IDEA VIM 插件,让 IDEA 应用 VIM 的操作模式。 插件地址:https://plugins.jetbrains.com/plugin/164-ideavim装置实现后,大部分快捷键都被 IdeaVim 接管,包含罕用的 Ctrl + A 与 Ctrl + S 等,因而须要配置哪些快捷键应用 IDEA 性能,哪些快捷键应用 VIM 性能。 关上 Vim Emulation,大部分罕用快捷键 Handler 配置为 IDE 即可。 Free Mybatis plugin截止至 2021.03.07 日,插件最初更新工夫:2020.11.24 Free Mybatis plugin 插件,让咱们在进行 Mybatis 开发时,不便通过 mapper 接口间接跳转到对应的 xml 定义的办法处。 插件次要性能: 生成 mapper.xml 文件疾速从代码跳转到 mapper 及从 mapper 返回代码Mybatis 主动不全与语法错误提醒集成 Mybatis generator gui 界面依据数据库注解,生成 swagger model 注解插件地址:https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin Alibaba Java Coding Guidelines截止至 2021.03.07 日,插件最初更新工夫:2020.08.23 ...

March 7, 2021 · 1 min · jiezi

关于插件:confluence宏插件开发03Hello-World宏开发

通过后面的两篇文单的介绍,咱们曾经实现了开发环境的筹备和根本工程的创立。在这个根底上咱们来写一个HelloWorld 宏。 HelloWorld宏开发步骤一,用Idea关上工程应用Idea的时候有一个注意事项,就是要批改maven的 setting.xml文件。因为confluence应用的本人的服务器maven.atlassian.com来下载maven依赖。 点击Idea左上角的File菜单关上Settings...找到 Build, Execution, Deployment, 点开 Build Tools, 抉择 Maven批改 User settings file的配置,点击左边的 override, 就能够写入值了。 能够通过 atlas-version命令来查看SDK的装置目录,咱们应用SDK目录下的 apache-maven-3.5.4\conf\setting.xml 配置文件在Idea里更新maven的配置,查看是否maven依赖都能失常加载。第一次加载maven依赖的时候会比拟耗时间。步骤二,批改配置文件关上 src\main\resources\atlassian-plugin.xml 文件在 </web-resource>前面退出,以下代码:<xhtml-macro name="helloworld" class="com.example.Helloworld" key='helloworld-macro'> <description key="helloworld.macro.desc"/> <category name="formatting"/> <parameters/> </xhtml-macro>留神,xhtml-macro 和 web-resource 是同级节点。关上 src\main\resources\myConfluenceMacro.properties 文件,退出helloworld.macro.desc 配置项helloworld.macro.desc=Hello World步骤三,插入Java代码创立Helloworld类,写入以下代码package com.example;import com.atlassian.confluence.content.render.xhtml.ConversionContext;import com.atlassian.confluence.macro.Macro;import com.atlassian.confluence.macro.MacroExecutionException;import java.util.Map;public class Helloworld implements Macro { @Override public String execute(Map<String, String> map, String s, ConversionContext conversionContext) throws MacroExecutionException { return "<h1>Hello World</h1>"; } @Override public BodyType getBodyType() { return BodyType.NONE; } @Override public OutputType getOutputType() { return OutputType.BLOCK; }}步骤四,编译及成果查看在命令行里运行 atlas-mvn package 命令,从新打包atlas-mvn package打包胜利后,会输入相似以下的信息:[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 11.916 s[INFO] Finished at: 2021-03-01T18:20:54+08:00[INFO] ------------------------------------------------------------------------切换到原来运行atlas-run的命令行窗口,你能够看到 相似以下的日志输入:[INFO] [talledLocalContainer] 2021-03-01 18:21:00,379 INFO [QuickReload - Plugin Installer] [atlassian.plugin.manager.DefaultPluginManager] updatePlugin Updating plugin 'com.example.myConfluenceMacro-tests' from version '1.0.0-SNAPSHOT' to version '1.0.0-SNAPSHOT'[INFO] [talledLocalContainer] 2021-03-01 18:21:00,379 INFO [QuickReload - Plugin Installer] [atlassian.plugin.manager.DefaultPluginManager] broadcastPluginDisabling Disabling com.example.myConfluenceMacro-tests[INFO] [talledLocalContainer] 2021-03-01 18:21:01,629 INFO [QuickReload - Plugin Installer] [plugins.quickreload.install.PluginInstallerMechanic] installPluginImmediately[INFO] [talledLocalContainer] ^[INFO] [talledLocalContainer] |[INFO] [talledLocalContainer] |[INFO] [talledLocalContainer] |[INFO] [talledLocalContainer] |[INFO] [talledLocalContainer] |[INFO] [talledLocalContainer][INFO] [talledLocalContainer] If you can type on a Dvorak keyboard can you automatically speak Esperanto and program in Lisp?[INFO] [talledLocalContainer][INFO] [talledLocalContainer] Quick Reload Finished (2979 ms) - 'myConfluenceMacro-1.0.0-SNAPSHOT-tests.jar'在浏览器里创立一个页面,插入一个宏,在抉择宏的弹窗里,你就能够看到 Helloworld这个宏了。 ...

March 2, 2021 · 1 min · jiezi

关于插件:confluence宏插件开发02创建一个插件工程

前提阐明你须要先装置好confluence开发用的SDK,请参考 confluence宏插件开发01-搭建开发环境HelloWorld插件工程步骤一,创立工程Confluence SDK提供了atlas-create-confluence-plugin 命令,来创立一个插件的工程。 关上一个命令行窗口,切换到你想要创立工程的目录执行 atlas-create-confluence-plugin 命令,填写必要的参数,你会看到相似以下的输入:Define value for groupId: : com.exampleDefine value for artifactId: : myConfluenceMacroDefine value for version: 1.0.0-SNAPSHOT: :Define value for package: com.example: :Use OSGi Java Config: (Y/N/y/n) N: :Confirm properties configuration:groupId: com.exampleartifactId: myConfluenceMacroversion: 1.0.0-SNAPSHOTpackage: com.exampleuse OSGi Java Config: N Y: :填写结束后,工具会主动下载依赖的文件,须要保障网络是通的。下载创立结束后,你会看到相似这样的输入:[INFO] Project created from Archetype in dir: C:\work\demo\confluence-demo\myConfluenceMacro[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 07:15 min[INFO] Finished at: 2021-03-01T12:40:43+08:00[INFO] ------------------------------------------------------------------------当初你能够关上 myConfluenceMacro 文件夹,查看刚刚创立好的文件了。步骤二,运行工程确保命令行目录在 myConfluenceMacro 目录下,执行 atlas-run 命令,这个命令是把 一个本地的 confluence开发环境运行起来,第一次运行的时候会须要好长一段时间,须要下载大量的依赖,这个时候你能够先去干点别的,但请保证系统不会主动进入睡眠状态。cd myConfluenceMacroatlas-run如果你看到命令行里的输入 慢下来了,你能够试着用浏览器拜访 http://localhost:1990/confluence ,关上网页后应用 默认的用户名admin,明码admin登录。步骤三,确认插件已装置浏览器里 点击右上角的小齿轮,点击下拉菜单里的“治理利用”关上的界面里搜寻 myConfluenceMacro 插件,下拉的分类里抉择 零碎,如下图: ...

March 2, 2021 · 1 min · jiezi

关于插件:confluence宏插件开发01搭建开发环境

最近在钻研Confluence宏的开发,记录和整顿一下开发过程中遇到的问题。 前提阐明你须要把握根本的java常识。Conflunce是用Java开发的wiki, 所以如果你想开发Confluence插件,根本的java语法还是要把握的Windows装置步骤一,查看JAVA_HOME环境变量如果你还没装置jdk,须要先装置JDK 1.8或更新的版本。如果你曾经装置好了jdk,并且配置好了JAVA_HOME,请间接到步骤二顺次关上 win10 开始菜单》windows零碎》控制面板》零碎和平安 》零碎》高级零碎设置》环境变量增加零碎变量JAVA_HOME,对应的值是你的JDK装置的目录,比方:C:\Program Files\Java\jdk1.8.0步骤二,下载及装置SDK下载最新版本的SDK双击关上下载好的SDK安装文件追随装置界面一步步装置步骤三,查看装置后果关上windows的命令行工具。输出以下命令 atlas-version如果装置胜利,你会看到相似以下的返回后果: ATLAS Version: 8.2.6ATLAS Home: C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6ATLAS Scripts: C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6\binATLAS Maven Home: C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6\apache-maven-3.5.4AMPS Version: 8.1.0--------Executing: "C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6\apache-maven-3.5.4\bin\mvn.cmd" --version -gs C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6\apache-maven-3.5.4/conf/settings.xmlApache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)Maven home: C:\Applications\Atlassian\atlassian-plugin-sdk-8.2.6\apache-maven-3.5.4\bin\..Java version: 1.8.0_91, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0\jreDefault locale: zh_CN, platform encoding: GBKOS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"参考资料https://developer.atlassian.c...

March 1, 2021 · 1 min · jiezi

关于插件:在浏览器端组织-JS-代码的魔法工具精选-VS-Code-插件2021-考虑的-10-种最佳-IDE-软件-思否技术周刊

值班编辑:袁钰涵 IDE —— 可称为管理工具的工具箱,用于程序开发环境的应用程序,个别包含代码编辑器、编译器、调试器和图形用户界面工具,人们常说:没有最佳的 IDE,只有最适宜你的 IDE,今日给大家整顿一个与 IDE 应用相干的工具合集,心愿对您有帮忙~ 抉择一个IDE齐全取决于您正在开发的程序类型,抉择的编程语言以及所应用的硬件类型。1、集成多种地理信息编码服务的神器GeoPy 是一款提供了不同天文编码服务实现的 Python 库,可让开发者应用第三方天文编码服务和其余数据源,轻松地在寰球范畴内定位坐标。 在日常开发工作中,对于地理信息编码性能,咱们能够找到许多不同的第三方服务,比方 OpenStreetMap Nominatim,Google Geocoding API 等,但在对接不同的服务时,须要依照各自的开发文档做很多定制且冗余的工作。 设想一下,如果有一个开源且收费的库,能够同时集成多种地理信息编码服务,是不是十分的简洁?geopy 就是这么一款神器。 geopy 是一款收费开源的库,在单个包中为许多不同天文编码服务提供了实现,从而防止了间接对接不同天文编码服务的 API,简化了代码的逻辑。 如图,geopy 相当于一个代理,让咱们不便地对接第三方天文编码 API。须要留神的是不同的服务有不同的应用条款、配额、定价、天文数据等等,所以在应用过程中具体天文编码服务无奈实现某些查问,或在计算机与天文编码服务间呈现的任何网络问题,和 geopy 都是无关的。 开源地址https://github.com/geopy/geopy2、间接在浏览器端组织 JS 代码的魔法工具Browserify 是一个开源的 JavaScript 工具,它能够让你像在 node 中那样,在浏览器中也能够应用 require('module') 来加载模块。换句话说,它能够让服务端的 CommonJs 的模块运行在浏览器端。 开源地址:https://github.com/browserify/browserify3、精选高频 VS Code插件,让你多陪陪npy!1.TODO Highlight 高亮显示你的 TODO、FIXME,反对自定义关键字和外观,能够起到良好的提醒作用。 2.Vetur + Prettier + ESLint 解决抵触后配合应用完满格式化代码,能交给机器做的肯定要学会偷懒。 3.Highlight Matching Tag 实时高亮匹配标签,不必在 HTML 中目迷五色的找标签了。 4.javascript console utils 疾速生成 console.log() ,调试利器,妈妈再也不必放心你的指关节。 5.Code Runner ...

February 28, 2021 · 2 min · jiezi

关于插件:JetBrains-ideolog-日志高亮插件配置

该插件能够在JetBrains公司的少数ide中应用如pycharm idea 等,举个例子在Python中有很多第三方库能够实现日志控制台的高亮输入,然而写入文件的日志却无奈高亮此插件就是为了解决该问题 应用办法: 点击preference --> plugings --> 搜寻 ideogo --> 点击 install即可 如果日志没有失常高亮显示留神: 须要把握正则表达式根本用法+浏览配置办法 配置办法:从0.3.0 版本起 该插件反对自定义日志格局 如果日志不能高亮显示请先降级该插件至最新版本 须要设置两个Java正则表达式和一个工夫格局 1. Message pattern:应该包含工夫,严重性,类别和音讯的捕捉组 如果自定义的日志格局中没有这些,能够疏忽 如果 有其余的例如线程ID也能够将其概括为捕捉组 2. Message start pattern:匹配日志信息开始的头部,即每行日志的开 留神: 须要结尾增加 “ ^” 以保障多行都正确的匹配 3. Time format:须要填入工夫格局以 保障失常高亮显示 4. Apply message pattern to all message lines:如果日志格局固定疏忽该选项 ,可进步多行日志高亮解决的性能 5. Hightlight Patterns:当匹配到之前的 capture groups (捕捉组) 后进行高亮显示 其中款式能够设定 Highlight line-应用配置的款式突出显示整个音讯 一行都高亮Highlight field”-突出显示匹配产生的细分(捕捉组) 捕捉组内容高亮Highlight match-以后不起作用。仅突出显示匹配的文本 匹配的文本高亮例子:高亮后的效果图: 日志信息很简略: 2020-10-19 20:08:54 | SUCCESS | 胜利2020-10-19 20:08:54 | ERROR | 谬误2020-10-19 20:08:54 | DEBUG | 查看 工夫 | 日志类别 | 日志信息 ...

February 4, 2021 · 1 min · jiezi

关于SegmentFault:透过现象看本质Java类动态加载和热替换

摘要:本文次要介绍类加载器、自定义类加载器及类的加载和卸载等内容,并举例介绍了Java类的热替换。最近,遇到了两个和Java类的加载和卸载相干的问题: 1) 是一道对于Java的判断题:一个类被首次加载后,会长期留驻JVM,直到JVM退出。这个说法,是不是正确的? 2) 在开发的一个集成平台中,须要集成相似接口的多种工具,并且工具可能会有新增,同时在不同的环境部署会有裁剪(例如对外提供服务的利用,不能提供特定的洽购的工具),如何能力更好地实现? 针对下面的第2点,咱们采纳Java插件化开发实现。下面的两个问题,都和Java的类加载和热替换机制无关。 1. Java的类加载器和双亲委派模型1.1 Java类加载器 类加载器,顾名思义,就是用来实现类的加载操作。每个类加载器都有一个独立的类名称空间,就是说每个由该类加载器加载的类,都在本人的类名称空间,如果要比拟两个类是否“相等”,首先这两个类必须在雷同的类命名空间,即由雷同的类加载器加载(即对于任何一个类,都必须由该类自身和加载它的类加载器一起确定其在JVM中的唯一性),不是同一个类加载器加载的类,不会相等。 在Java中,次要有如下的类加载器: 图1.1 Java类加载器 上面,简略介绍下面这几品种加载器: 启动类加载器(Bootstrap Class Loader):这个类应用C++开发(所有的类加载器中,惟一应用C++开发的类加载器),用来加载<JAVA_HOME>/lib目录中jar和tools.jar或者应用 -Xbootclasspath 参数指定的类。扩大类加载器(Extension Class Loader):定义为misc.Launcher$ExtClassLoader,用来加载<JAVA_HOME>/lib/ext目录或者应用java.ext.dir指定的类。应用程序类加载器(Application Class Loader):定义为misc.Launcher$AppClassLoader,用来加载用户类门路上面(classpath)上面所有的类,个别状况下,该类是应用程序默认的类加载器。用户自定义类加载器(User Class Loader):用户自定义类加载器,个别没有必要,前面咱们会专门来一部分介绍该类型的类加载器。1.2 双亲委派模型 双亲委派模型,是从 Java1.2 开始引入的一品种加载器模式,在Java中,类的加载操作通过java.lang.ClassLoader中的loadClass()办法实现,咱们首先看看该办法的实现(间接从Java源码中捞进去的): 咱们联合下面的正文,来解释下双亲委派模型的内容: 1) 接管到一个类加载申请后,首先判断该类是否有加载,如果曾经加载,则间接返回; 2) 如果尚未加载,首先获取父类加载器,如果能够获取父类加载器,则调用父类的loadClass()办法来加载该类,如果无奈获取父类加载器,则调用启动器加载器来加载该类; 3) 判断该类是否被父类加载器或者启动类加载器加载,如果曾经加载实现则返回,如果未胜利加载,则本人尝试来加载该类。 下面的形容,阐明了loadClass()办法的实现,咱们进一步对下面的步骤进行解释: 因为类加载器首先调父类加载器来进行加载,从loadClass()办法的实现,咱们晓得父类加载器会尝试调本人的父类加载器,直到启动类加载器,所以,任何一个类的加载,都会最终委托到启动类加载器来首先加载;在后面有进行介绍,启动类加载器、扩大类加载器、应用程序类加载器,都有本人加载的类的范畴,例如启动类加载器只加载JDK外围库,因而并不是父类加载器就能够都加载胜利,父类加载器无奈加载(个别如下面代码,抛出来ClassNotFoundException),此时会由本人加载。最初啰嗦一下,再进行一下总结: 双亲委派模型:如果一个类加载器收到类加载申请,会首先把加载申请委派给父类加载器实现,每个档次的类加载器都是这样,最终所有的加载申请都传动到最根的启动类加载器来实现,如果父类加载器无奈实现该加载申请(即本人加载的范畴内找不到该类),子类加载器才会尝试本人加载。 这样的双亲委派模型有个益处:就是所有的类都尽可能由顶层的类加载器加载,保障了加载的类的唯一性,如果每个类都随机由不同的类加载器加载,则类的实现关系无奈保障,对于保障Java程序的稳固运行意义重大。 2. Java的类动静加载和卸载2.1 Java类的卸载 在Java中,每个类都有相应的Class Loader,同样的,每个实例对象也会有相应的类,当满足如下三个条件时,JVM就会卸载这个类: 1) 该类所有实例对象不可达 2) 该类的Class对象不可达 3) 该类的Class Loader不可达 那么,下面示例对象、Class对象和类的Class Loader间接是什么关系呢? 在类加载器的外部实现中,用一个Java汇合来寄存所加载类的援用。而一个Class对象总是会援用它的类加载器,调用Class对象的getClassLoader()办法,就能取得它的类加载器。所以,Class实例和加载它的加载器之间为双向援用关系。 一个类的实例总是援用代表这个类的Class对象。在Object类中定义了getClass()办法,这个办法返回代表对象所属类的Class对象的援用。此外,所有的Java类都有一个动态属性class,它援用代表这个类的Class对象。 Java虚拟机自带的类加载器(后面介绍的三品种加载器)在JVM运行过程中,会始终存在,而这些类加载器则会始终援用它们所加载的类的Class对象,因而这些Class对象始终是可涉及的。因而,由Java虚拟机自带的类加载器所加载的类,在虚拟机的生命周期中,始终不会被卸载。 那么,咱们是不是就齐全不能在Java程序运行过程中,动静批改咱们应用的类了吗?答案是否定的!依据下面的剖析,通过Java虚拟机自带的类加载器加载的类无奈卸载,咱们能够自定义类加载器来加载Java程序,通过自定义类加载器加载的Java类,是能够被卸载的。 2.2 自定义类加载器 后面介绍到,类加载的双亲委派模型,是举荐模型,在loadClass中实现的,并不是必须应用的模型。咱们能够通过自定义类加载器,间接加载咱们须要的Java类,而不委托给父类加载器。 图2.1 自定义类加载器 如上图所示,咱们有自定义的类加载器MyClassLoader,用来加载类MyClass,则在JVM中,会存在下面三类援用(上图疏忽这三种类型对象对其余的对象的援用)。如果咱们将右边的三个援用变量,均设置为null,那么此时,曾经加载的MyClass将会被卸载。 2.3 动静卸载存在的问题 ...

January 20, 2021 · 1 min · jiezi

关于插件:干货丨时序数据库DolphinDB插件开发教程

DolphinDB反对动静加载内部插件,以扩大零碎性能。插件用C++编写,须要编译成".so"或".dll"共享库文件。本文着重介绍开发插件的办法和注意事项,并具体介绍以下几个具体场景的插件开发流程: 如何开发反对工夫序列数据处理的插件函数如何开发用于解决分布式SQL的聚合函数如何开发反对新的分布式算法的插件函数如何开发反对流数据处理的插件函数如何开发反对内部数据源的插件函数1. 如何开发插件1.1 基本概念DolphinDB的插件实现了能在脚本中调用的函数。一个插件函数可能是运算符函数(Operator function),也可能是零碎函数(System function),它们的区别在于,前者承受的参数个数小于等于2,而后者的函数能够承受任意个参数,并反对会话的拜访操作。 开发一个运算符函数,须要编写一个原型为ConstantSP (const ConstantSP& a, const ConstantSP& b)的C++函数。当函数参数个数为2时,a和b别离为插件函数的第一和第二个参数;当参数个数为1时,b是一个占位符,没有理论用处;当没有参数时,a和b均为占位符。 开发一个零碎函数,须要编写一个原型为ConstantSP (Heap* heap, vector<ConstantSP>& args)的C++函数。用户在DolphinDB中调用插件函数时传入的参数,都按程序保留在C++的向量args中。heap参数不须要用户传入。 函数原型中的ConstantSP能够示意绝大多数DolphinDB对象(标量、向量、矩阵、表,等等)。其余罕用的派生自它的变量类型有VectorSP(向量)、TableSP(表)等。 1.2 创立变量创立标量,能够间接用new语句创立头文件ScalarImp.h中申明的类型对象,并将它赋值给一个ConstantSP。ConstantSP是一个通过封装的智能指针,会在变量的援用计数为0时主动开释内存,因而,用户不须要手动delete曾经创立的变量: ConstantSP i = new Int(1); // 相当于1iConstantSP d = new Date(2019, 3, 14); // 相当于2019.03.14ConstantSP s = new String("DolphinDB"); // 相当于"DolphinDB"ConstantSP voidConstant = new Void(); // 创立一个void类型变量,罕用于示意空的函数参数头文件Util.h申明了一系列函数,用于疾速创立某个类型和格局的变量: VectorSP v = Util::createVector(DT_INT, 10); // 创立一个初始长度为10的int类型向量v->setInt(0, 60); // 相当于v[0] = 60VectorSP t = Util::createVector(DT_ANY, 0); // 创立一个初始长度为0的any类型向量(元组)t->append(new Int(3)); // 相当于t.append!(3)t->get(0)->setInt(4); // 相当于t[0] = 4// 这里不能用t->setInt(0, 4),因为t是一个元组,setInt(0, 4)只对int类型的向量无效ConstantSP seq = Util::createIndexVector(5, 10); // 相当于5..14int seq0 = seq->getInt(0); // 相当于seq[0]ConstantSP mat = Util::createDoubleMatrix(5, 10);// 创立一个10行5列的double类型矩阵mat->setColumn(3, seq); // 相当于mat[3] = seq1.3 异样解决和参数校验1.3.1 异样解决 ...

January 15, 2021 · 8 min · jiezi