关于开源软件:『文曲星』古诗词文名句歇后语成语等的阅读-Android-APP

『文曲星』开源、收费、公益性 APP。献给喜爱中华文字、文学、文化的人。 目前的内容有: 1、古诗词文 10000 首(阙、篇),其中,大多数有正文、译文、赏析以及作者信息; 2、古诗词文名句 10000 句,其中,大多数有出处原文; 3、歇后语 14026 条; 4、 成语 30895 条; 应用的数据来自网络(次要是 Github 开源的仓库),可在我的项目仓库查看 README.md 中的阐明。 源码仓库: https://github.com/hefengbao/wenqu https://gitee.com/hefengbao/wenqu 残缺代码会过段时间上传!!! 懂技术的用户能够通过上述仓库获取最新版本。如果不懂技术,能够关注公众号『NowInLife』, 发送 “文曲星”,获取最新的下载地址。 视频展现: https://www.bilibili.com/video/BV1V34y1T7Ld/?share_source=cop... 心愿对大家有用。

September 6, 2023 · 1 min · jiezi

关于开源软件:版本升级-v1013发布传下去更好用了

新发行版来啦~ 本次更新次要聚焦兼容性的晋升及后果报告格局的减少,另外对局部解析逻辑及应用体验进行了优化。在这里特地鸣谢大佬@Hugo-X在社区仓库提交的PR~ 后续,OpenSCA项目组会持续致力于欠缺本地能力闭环,笼罩更多场景。 v1.0.13更新内容本地破绽库兼容多数据格式反对SQLite、CSV格局后果报告可选英文版HTML报告优化JS解析逻辑反对跳过解压步骤,剖析文件目录反对指定日志文件地位更新阐明1.破绽库兼容多数据格式本地破绽库在反对JSON格局的根底上,新增反对SQL数据库格局。依照项目组提供的破绽库字段样例( https://opensca.xmirror.cn/docs/v1/cli.html )创立好数据表,并在配置文件中配置即可:图:通过配置文件配置多种破绽库数据格式图:MySQL破绽库样例 2.新增多种后果报告格局(@Hugo-X)2.1 反对SQLite、CSV报告输入 检测后果报告输入新增SQLite、CSV两种格局,仅需在检测命令的out参数中指定相应的后果文件后缀名为.sqlite、.csv。 目前,OpenSCA可输入 JSON / HTML / XML / SQLite / CSV 共5种格局的后果报告,以及SPDX / Cyclonedx / SWID三种国际标准格局SBOM清单。 2.1.1 应用样例 # 输入sqlite报告opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.sqlite# 输入csv报告opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.csv2.1.2 报告示例图:CSV格局后果报告图:SQLite格局后果报告 2.2 英文版HTML报告 在原有HTML报告根底上新增了英文选项,供用户自主抉择。 2.2.1 应用样例 opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.html2.2.2 报告示例 图:中英双语HTML报告 3.优化局部解析逻辑及应用体验3.1 JS解析逻辑优化 优化了解析JS我的项目时对node_modules文件的解决逻辑,进一步晋升了检测速度。 3.2 反对跳过解压步骤,剖析文件目录 新增命令行参数-dironly,用于绕过解压步骤间接剖析目录,以便晋升特定场景下的检测速度。 opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -dironly -out output.html3.3 指定日志文件地位 ...

August 25, 2023 · 1 min · jiezi

关于开源软件:应用管理平台Walrus开源构建软件交付新范式

今日,数澈软件Seal(以下简称“Seal”)发表正式开源 Walrus,这是一款基于平台工程理念的利用治理平台,致力于解决利用交付畛域的深切痛点。  借助 Walrus 将云原生的能力和最佳实际扩大到非容器化环境,并反对任意利用状态对立编排部署,升高应用基础设施的复杂度,为研发和运维团队提供易用、统一的利用治理和部署体验,进而构建无缝合作的软件交付流程。  Walrus 历经半年多的调研与打磨,推出了一键部署和克隆简单利用零碎、集成 AI 大语言模型简化模板代码生成以及灵便弱小的利用和环境动静治理能力等备受开发者青眼的个性。  值得一提的是,Seal 开创团队成员均来自业界利用最为宽泛的开源 Kubernetes 治理平台 Rancher 的外围团队,秉持着开创团队一以贯之的开源理念,Walrus 基于 Apache 2.0 许可正式开源,期待为企业用户带来全新的利用部署体验和软件交付范式。  “开源是 Seal 团队的精力和基因,继续翻新也是咱们始终谋求的指标。”Seal 联结创始人及 CEO 秦小康示意:“通过开源 Walrus,一方面咱们心愿为寰球开发者提供简洁清新的利用部署与治理体验,另一方面咱们心愿与开源社区的用户一起拓展 Walrus 的更多可能。” 我的项目地址:https://github.com/seal-io/walrus 技术文档:https://seal-io.github.io/docs/zh   解决 DevOps 落地“最初一公里”问题DevOps 文化早已深入人心,被诸多企业所驳回。但随着分布式系统的广泛应用,古代软件开发的复杂度越来越高,导致企业外部对基础设施和环境不可控以及研发人员认知累赘减轻,DevOps 的落地面临“最初一公里”挑战。  平台工程与 DevOps 并不是非此即彼的关系,相同,平台工程是 DevOps 的下一阶段,通过基础设施自动化、用户自服务、AI 驱动的利用自交付/自部署/自治理(ADAS),改善传统合作模式,推动 DevOps 规模化落地。  Walrus 通过提供灵便弱小的利用和环境部署治理能力、可屏蔽基础设施的下层形象,使研发人员可能在无需理解底层技术细节的前提下自助构建、部署和运行应用程序,加重开发人员的认知累赘。  同时运维/平台团队通过环境依赖图、多层级变量配置等个性细粒度地治理开发、测试、生产等多个环境,加强了对基础设施的可控性和可见性。    打造简洁清新的利用部署体验一键调用团队最佳实际Walrus 中的服务模板按照 DRY(Don't Repeat Yourself)准则设计,用户能够反复利用并在理论应用过程中逐步积淀研发和运维团队的最佳实际。  在最新版本中新增 Catalog,它全面兼容原生的 Terraform Module 仓库管理模式,用户可一键复用 Terraform 社区上万个成熟的 Module,自定义利用所需的服务模板。另外,Catalog 也不便用户对服务模板进行对立治理和调用。    另外,Walrus 集成了大语言模型AI,通过 AI Agent 模式实现了 AI 技术与利用治理的联合,用户能够间接应用自然语言生成服务模板代码,并对生成的代码进行纠错和解释,进一步简化利用部署体验。  ...

August 21, 2023 · 1 min · jiezi

关于开源软件:Ghips自动获取-GitHub-最快-IP一键刷新-hosts说说源码中的干货

Ghips 是一个仅 601 KB 的开源软件: 我的项目:github.com/aardio/Ghips镜像:gitcode.net/aardio/Ghips反对 Win7,Win8,Win10,Win11 等操作系统。软件通过 GitHub 官网 API 获取所有 IP,并主动找到最快 IP。刷新间隔时间设为非 0 则定时获取最快 IP 并主动刷新域名解析。 更新 IP 后首次拜访 GitHub 可能会略慢,稍等就快了。程序须要以管理权限运行能力批改 hosts。倡议右键点 Ghips 托盘图标,在弹出菜单中勾选「开机启动」。这样开机就会静默获取管理权限启动,不会再弹出正告。 访问速度快的 IP 常常变更,单击 Ghips 托盘图标能疾速刷新 IP 测速后果。Ghips 应用 aardio 开发,早于 2019 年 就在 aardio 中公布了源代码(现已拆散为 Ghips 我的项目):相似 GitHub 这样的 HTTP API,在 aardio 中个别不须要特地封装,间接就能够转换为个别的函数对象,要害代码: import web.rest.jsonClient;var http = web.rest.jsonClient();var github = http.api("https://api.github.com/") var metaInfo = github.meta.get();metaInfo.git 就是获取的 IP 列表。 批改 hosts 文件的文件夺权这些比拟麻烦, 要害源码如下: fsys.hosts.ownCacls();fsys.hosts.update(githubIps)另外,批改 hosts 须要管理权限。 ...

July 12, 2023 · 1 min · jiezi

关于开源软件:GOTC演讲回顾基于代码疫苗技术的开源软件供应链安全治理

5月27-28日,由上海浦东软件园、凋谢原子开源基金会、Linux基金会亚太区和开源中国联结发动的2023寰球开源技术峰会(Global Open-source Technology Conference, GOTC)在上海圆满召开。大会聚焦开源前沿技术与产业生态倒退,以行业展览、主题发言、专题论坛、开源市集的模式来诠释本次大会的主题——Open source,into the future。 图1 2023 GOTC大会主论坛现场在“聚焦开源平安”分论坛中,悬镜平安COO董毅进行了以“基于代码疫苗技术的开源软件供应链平安治理”为题的主题分享,围绕“代码疫苗技术”给出了一套笼罩治理与经营全流程的开源平安解决方案。   图2 悬镜董毅发表主题演讲以下为演讲实录: 1.开源危险开源危险现状开源组件是软件中的次要成分,且渗透率在逐年增高。2021年开源代码的比例曾经高达78%;此外,计算机硬件和半导体、网络、能源与清洁科技、物联网这四大行业均100%地应用到了开源软件。可见,开源在促成寰球软件翻新的方面正施展着越来越重要的作用。Snyk&Linux基金会的《The State of Open-Source Security》报告显示,开源组件破绽频发且难以修复。每个利用程序开发我的项目均匀有49个破绽和80个间接依赖项,而修复开源破绽所需的工夫也在逐年减少:2018年,修复安全漏洞均匀须要49天;但在2021年,开发一个补丁大概须要110天。 图3 《The State of Open-Source Security》报告 悬镜平安之前公布了本人的开源工具OpenSCA,咱们用它扫描了一些开源基础设施。能够看到,每个利用根本都有十到几十个不等的破绽。 图4 开源利用破绽概览Gartner认为,到2025年,寰球45%的组织会受到软件供应链攻打,比2021年增长三倍。近几年,重大的软件供应链攻打事件很多都与开源破绽相干。开源供应链面临着严厉的平安危险。 驰名的Equifax信息泄露事件的源头正是Apache Struts 2近程命令执行破绽S2-045:在应用基于Jakarta插件的文件上传性能时存在近程命令执行,导致系统被歹意用户利用。歹意用户可在上传文件时通过批改HTTP申请中的Content-Type值来触发该破绽,取得某些特定文件的拜访权限,导致1.43亿信用和信息服务客户受到影响。这起事件不仅给企业带来数据资产的严重损失,还造成了微小的社会影响。然而直到明天,带有破绽的版本的组件依然占到该组件下载量的65%。 新场景下的开源治理数字时代,与业务非亲非故的利用面临技术栈的改革和危险面的扩充。开发模式方面,从晚期的瀑布式到麻利,再演进到当下更加重视自动化的DevOps;利用架构方面,从单体利用巨石架构到SOA(面向服务的架构),再迭代到现在流行的微服务架构;基础设施方面,从数据中心到托管服务器,再到云基础设施;运行环境方面,从物理机到虚拟化,再到容器化以及容器编排技术。利用技术的改革带来危险面的变动,从以往繁多的Web通用破绽危险变为涵盖API平安、业务逻辑平安、合规危险、容器环境镜像危险以及开源组件危险在内的多维度攻击面,倒逼平安解决方案降级以应答新利用场景下的平安挑战。 站在供应链平安的角度,软件在开发、供给、应用这三大环节中都面临相应的平安危险。因而,每个环节都须要技术抓手来帮助解决平安问题。悬镜平安外围的代码疫苗技术正是企业进行供应链平安治理的技术切入点。 2.代码疫苗技术数字平安技术有三次要害演进,第一次是以防火墙为代表的边界防护技术,通过包过滤、状态检测、代理服务等形式检测攻打并拦挡;第二次是以EDR为代表的主机环境监测技术,通过数据管理、数据挖掘剖析能力和检测技术,检测平安威逼并作出疾速响应;第三次是基于运行时情境感知的代码疫苗技术,通过内置或链接到应用程序环境中,与应用程序融为一体,实时监测、阻断攻打,使程序领有自我爱护的能力。代码疫苗技术代码疫苗技术是一种新型的利用内探针技术,对立交融了IAST、SCA、RASP、DAR、API、APM等平安能力,凭借一个探针解决利用长期面临的安全漏洞、数据透露、运行异样、0Day攻打等危险,加重多探针运维压力的同时,为利用植入“疫苗”,实现利用与平安的共生。 代码疫苗技术有四个显著的个性: 利用生命周期笼罩:S-SDLC/DevSecOps全流程灵便接入无感融入DevOps:无需对原有代码逻辑进行批改,自动化根底度高,无需保护简单的策略和规定全面笼罩利用危险:笼罩利用自研代码、第三方开源/闭源组件、数据安全,并提供踊跃检测与响应能力继续检测数据安全:实时检测,不须要代码平安专家来逐行剖析源代码 代码疫苗技术利用针对利用行为上的攻打,代码疫苗技术能够做到: 1. 破绽链路追踪 随着分布式、微服务架构、多语言、前后端拆散模式的利用遍及,溯源微服务间的攻打入侵门路难度减少。通过链路追踪机制,能够便捷地关联入侵申请所通过的微服务利用,提供精准的溯源数据。 图5 微服务链路追踪过程如上图,用户通过浏览器收回HTTP申请,HTTP利用外部解决申请时由Dubbo服务生产方调用服务提供方触发一次Dubbo RPC调用,再逐层返回给用户层。在这次操作过程中,若在Dubbo服务提供方检测到破绽信息,向上溯源,找到触发本次Dubbo调用破绽的源头调用信息,如:HTTP GET/user/xmirror,即可溯源绘制调用链路门路如下图: 图6 溯源链路门路2. API平安治理 API是指用于外部/内部利用可调用的接口,包含HTTP/HTTPS、定制TCP、RPC等协定。 利用间存在许多微服务节点,彼此通过API关联。微服务架构下,裸露的API指数级减少,该场景下的破绽检测除关注某一节点的破绽危险外,还需审查与该节点关联的其余节点的危险。因而,须要通过Agent将破绽检测与链路追踪相结合,即通过代码疫苗实现API资产梳理(裸露面、危险剖析)、API链路调用威逼阻断以及OWASP API TOP10(权限管制、注入等)危险管控等。 3. 数据安全检测 代码疫苗基于其技术原理,可从某个Web利用或微服务利用获取到申请并剖析其数据内容和函数执行过程。绝对于网络边界设施对于加密流量无奈审计的问题,代码疫苗可从应用程序外部获取到残缺解密后的申请数据。包含但不限于: 基于实在攻打事件生成数据,您须要的所有内容均蕴含在同一条日志记录中提供多种维度的图、表帮助您的团队进行数据分析对接至其余SIEM平台或自研危险度量平台与您的其它数据汇总剖析3.落地计划开源软件供应链平安治理痛点1. 理不清:企业不分明在零碎中应用了多少第三方开源组件。开源组件通常又会依赖其它更多组件。多级依赖关系使得整个组件构造更加简单,这种构造的安全性对于利用的研发和应用而言,很多时候也是未知和不可控的。 2. 看不见:企业在应用开源组件的过程中,不晓得它们中有的已产生过安全漏洞和知识产权危险。很多企业会应用十分老旧的组件和软件,其中很多都是暴发过安全漏洞但没有及时更新的。企业无奈获悉这些已知破绽的危险隐患,,这种不可见性也减少了危险系数。 3. 找不到:在开源组件爆出破绽的时候,企业无奈疾速地定位受影响的组件以及评估影响的范畴。 4. 治不了:当企业明确破绽影响的范畴以及受影响的组件并定位到具体我的项目后,无奈疾速进行相干治理工作,对组件破绽进行相应的评估、缓解和修复。 落地要点利用架构模式和开发模式的转变都要求新兴的平安能力可适配新型场景。悬镜从以下三个方面提出一体化的利用平安落地要点,将根底环境、代码和平安能力进行整合,独特打造供应链平安场景下的利用防护能力。 1. 源头检测:将SCA工具对接到DevOps流程里,对编译构建环节卡点,保障软件构建时所依赖组件的安全性,确保不引入存在重大破绽的组件;应用基于插桩技术的IAST工具,在功能测试的同时,检测是否存在高危破绽危险,并展现破绽触发数据流,便于修复领导。 ...

June 26, 2023 · 1 min · jiezi

关于开源软件:Excelize-荣获-2022-年中国开源创新大赛一等奖

近日,“2022 年中国开源翻新大赛”正式公布了获奖名单,Excelize 电子表格文档开源根底库荣获一等奖。 2022年中国开源翻新大赛在乌镇世界互联网大会上正式启动,大赛由地方网信办信息化发展局领导,中国互联网倒退基金会、中国网络空间研究院、中国互联网投资基金联结主办,北京长风信息技术产业联盟承办。大赛以 “开源翻新,共建生态” 为主题,围绕国家在开源人才培养和开源生态建设方面的重大策略需要,聚焦 “卡脖子” 相干技术畛域以及人工智能、物联网、云原生等前沿技术畛域设置开源赛道,旨在为国内开源行业的企业、开发者、创业者提供展现、交换、单干的平台,助力开源生态的高质量倒退,激发开源翻新生机,提拔优良的开源我的项目,造就开源实际人才,助力开源生态建设。2023年5月31日下午在北京举办了“2022年中国开源翻新大赛总结公布流动”。 Excelize 是 Go 语言编写的用于操作 Office Excel 文档根底库,基于 ECMA-376,ISO/IEC 29500 国际标准。能够应用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创立的电子表格文档。反对 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格局,高度兼容带有款式、图片(表)、透视表、切片器等简单组件的文档,并提供流式读写反对,用于解决蕴含大规模数据的工作簿。可利用于各类报表平台、云计算、边缘计算等零碎。自 2016 年开源以来已成为云原生利用尤其是 Go 语言开发者在解决电子表格办公文档时的热门抉择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。入选 2020 Gopher China - Go 畛域明星开源我的项目 (GSP)、2018 年开源中国码云最有价值开源我的项目 GVP (Gitee Most Valuable Project)。 将来 Excelize 还将持续秉承共享、合作和凋谢的开源理念,进一步增强开源社区的生态建设,让开源我的项目更好地倒退,为推动数字化建设、晋升国内竞争力、造就软件人才奉献一份力量。

June 10, 2023 · 1 min · jiezi

关于开源软件:初识开源接口测试工具Postcat

Postcat 是一个弱小的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,反对 REST、Websocket 等协定(行将反对 GraphQL、gRPC、TCP、UDP),帮忙你减速实现 API 开发和测试工作。 它适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 简洁的界面 目前在 Github 上 3.7 k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~ Postcat 次要具备以下性能API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作下载Github :https://github.com/Postcatlab/postcatGitee:https://gitee.com/eolink_admin/postcat官网:https://postcat.com/zh/

May 31, 2023 · 1 min · jiezi

关于开源软件:杜绝开源依赖风险许可证扫描让高效合规两不误

 近日,在「DevSecOps 软件平安开发实际」课程上,极狐(GitLab) 业余服务交付经理居文峰、极狐(GitLab) 前端工程师万里欣,分享了许可证扫描的原理、配置及利用,并演示了极狐GitLab 许可证扫描性能,帮忙大家平安应用开源软件。 以下内容整顿自本次直播,Enjoy~ 利用开源软件曾经成为软件行业的重大趋势。开源软件为企业和开发者提供了微小便当,促成了翻新与合作。但如果漠视开源软件许可证及其权利义务与限度,很可能会面临法律纠纷、安全隐患以及昂扬的依赖治理老本。 开源许可证及其常见类型开源软件许可证(Open Source Software License)是一种法律许可,是开源软件供应商用于受权软件使用者应用、批改和公布其开源软件的协定。其目标是标准软件(受著作权爱护的软件)应用或者散发行为。 世界上有上百种开源许可证,目前支流的有 6 种: Apache:公布于 Apache 软件基金会。此许可证容许商业应用,不强制要求源代码凋谢,是目前应用最广的开源软件许可证之一。MIT:极其宽松的许可证,容许商业应用和私有化批改后的代码。MIT 许可证要求保留版权信息,但不强制开源批改后的代码。案例我的项目有 GitLab CE、Ruby、JQuery、Rails 、Vue、React 等。GPL:GNU 通用公共许可协定(GNU General Public License),是自由软件基金会公布的许可证。GPL 要求应用软件的批改版本必须采纳同样的 GPL 协定公布,即如果我的项目蕴含了 GPL 许可证的代码,那么整个我的项目都必须应用 GPL 许可证。BSD:宽松的开源许可证,容许商业应用和批改私有化。与 MIT 许可证的次要区别是不要求保留版权信息。案例我的项目有 Curl 等。LGPL:Lesser General Public License,是 GPL 的补充,区别在 LGPL 只要求批改的开源组件开源,而不要求整个衍生软件开源。MPL:Mozilla Public License,公布于 Mozilla 基金会。MPL 要求批改版本必须以 MPL 许可证开源公布,但能够用于商业利用。而许可证由其宽松水平,可分为: Copyleft 许可证:使开源软件及其衍生版本的开源属性代代相传。它强制要求软件必须继续开源,以确保开发者与用户的权力失去最大范畴内的保障,实现开源精力的连续。宽松式许可证:也称为非 Copyleft 许可证,对软件再公布和衍生产品的许可证抉择要求更加宽松,容许软件商业应用与闭源,提供更大灵活性与选择性。从上述概念能够看出,Apache、MIT、BSD 属于宽松式许可证(Permissive License),如下图左侧;GPL 、LGPL、MPL 属于 Copyleft 许可证,如下图右侧。咱们须要依据软件属性与商业模式抉择失当的许可证,在开源理念与商业需要间获得均衡。 开源许可证扫描是软件研发过程中,不可或缺的工具开源软件许可证如此之多,不同许可证之间存在较大差别,许可证谬误应用的事件时有发生,可能给企业带来法律、经营、平安与洽购等畛域的重大危险与损失。 依据 Synopsys 公布的《2023 年开源平安与危险剖析报告》显示:54% 的代码库存在许可证抵触;31% 的代码库蕴含没有许可证或应用定制许可证的开源代码。 ...

May 26, 2023 · 2 min · jiezi

关于开源软件:一文搞懂这几种-API-的不同应用场景

API,即应用程序编程接口,为不同应用程序之间的数据和性能交互提供标准化的办法。在古代软件架构中,各种类型的 API 成为了构建了简单利用零碎的要害局部。而随着技术的倒退,越来越多的 API 类型也呈现了,例如:SOAP、RESTful、GraphQL 和 gRPC 等。我将会从优缺点及应用场景等角度具体介绍这些 API。 1. SOAP (Simple Object Access Protocol)SOAP 是一种基于 XML 编码的近程调用协定。与传统的基于调用指令的办法不同,它是面向对象的且反对异步操作。其中包含 WSDL 和 UDDI 两个次要组成部分,用于定义 Web 服务的形容信息和业务参数等。长处是可能提供残缺的安全性、可扩展性和可靠性,同时还能跨平台、跨语言应用。然而,其劣势也非常显著,SOAP 技术较为简单,在解决工夫和网络资源使用率上效率较低。 SOAP 的应用场景包含:B2B 交易、客户/服务器通信、基于 Web 的电子商务利用、企业应用集成等。 2. RESTful API (Representational State Transfer)RESTful 是一种基于 HTTP 协定的架构,应用传统的 HTTP 性能如 GET、POST、PUT 和 DELETE 等办法来实现数据交互。相比于 SOAP 技术,RESTful 更加轻量化且易于应用。如果 HTML 中有一个指向网站 A 的链接,若需获取网站 A 中的资源,客户端(浏览器)间接将申请发给网站 A 的服务器即可,服务器返回对应的数据。长处在于更为灵便和自在,通常须要编写的代码量更少,而且效率也更高。但 RESTful 实质上只是一种实现理念,不足标准化的办法。此外其无状态性设计也可能带来肯定的安全性问题。 RESTful 的应用场景包含:面向网页我的项目、基于 Web 应用程序、HTTP+JSON 数据格式等。 3. GraphQL APIGraphQL 是由 Facebook 公司开源的一种数据查询语言和 API 执行引擎。GraphQL 不同于传统的 RESTful API,它容许前端工程师自在定义所需获得的属性,并重用查问代码。另外,通过“深度优先”的形式解决关系型数据中潜在的嵌套问题,例如 Mongodb 中的 NoSQL 数据库等。缺点则是限度了须要查问的语句比 RESTful 书写起来略微简单和繁琐一些。 ...

May 5, 2023 · 1 min · jiezi

关于开源软件:科普-API-是这么演变而来的

API,全称为 Application Programming Interface,中文翻译为应用程序编程接口,是为了不便应用程序之间的数据和性能交互而设计的一些规范办法。API 的应用让开发者可能疾速、高效地构建应用程序,从而减速了应用程序的开发速度。在 API 倒退的历史演变中,咱们能够看到技术和市场情况的变迁,以及 API 在带动应用程序和服务翻新、产业生态和商业模式等方面施展重要作用的过程。 1970s - 1980s在计算机科学晚期阶段,不同的应用程序除了通过共享内存实现数据交换外,简直没有其它的形式。然而,当网络开始倒退并且多个计算机连接起来的时候,这种形式也无奈满足,API 逐步呈现在可调用的函数(即库文件)上。最后的 API 设计是在软件外部定义的,并且通常仅实用于雷同编程环境下的调用。尔后,一些厂商开始提供跨平台的 API ,然而这些 API 通常针对无限的硬件和软件环境,同时因为硬件和操作系统固有的差别,因而进行跨平台 API 拜访依然很麻烦。 1990s - 2000s随着万维网的衰亡,API 开始产生了重大变动。最后的 Web API 很快流行起来,这些 API 经常应用 SOAP(Simple Object Access Protocol)进行通信,这是一种基于 XML 编码的近程调用协定。SOAP 的复杂性使其在实践中应用变得艰难,并且它须要更多的解决工夫和网络资源,因而更高效、轻量的 RESTful(Representational State Transfer)API 设计理念自然而然成为了支流。RESTful API 正式提出并欠缺了互联网服务的架构模式,包含 URI 标准设计、HTTP 申请解决和响应、认证和受权等内容。因为协定简略,容易了解和应用,可能接受更高负载、更疾速地响应,并且不容易受到网络故障影响,因而很快成为了次要的 API 交互方式。 2010s - 2020s在云计算和挪动设施遍及的背景下,API 的应用畛域不断扩大,大企业也开始将 API 凋谢给第三方合作伙伴应用。Google、Facebook 和 Twitter 等公司开始提供他们的 API,容许其余开发者应用他们的数据和服务构建更丰盛的应用程序。API 的应用畛域也蔓延到了 Web、挪动、桌面和 IoT(Internet of Things)等各种类型的应用程序,并促成了很多行业的翻新和改革,从而在产业生态和商业模式方面施展重要作用。 将来随着数字化和物联网利用一直遍及,应用程序之间的互操作性和合作将变得越来越重要,API 将成为实现应用程序集成和服务扩大所必要的核心技术之一。将来,咱们能够预感,API 技术将一直倒退和更新,波及更宽泛的场景和应用领域,减速了利用程序开发和服务交付的效率,推动数字化时代的继续倒退。 如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 ...

May 5, 2023 · 1 min · jiezi

关于开源软件:想搞懂-API-先学习这些技术吧

在学习 API 相干技术之前,咱们须要了解什么是 API。API(Application Programming Interface,应用程序编程接口)是为了帮忙不同的应用程序之间实现数据和性能替换而设计的一组软件接口。应用 API,开发者能够拜访底层数据和性能来构建高效、灵便和可扩大的应用程序。所以,学习 API 须要把握以下技术: 网络协议API 是通过网络传输数据的,因而须要学习网络协议的基础知识。例如,要理解 HTTP 协定,它是 Web API 通信的次要协定。理解 HTTP 版本、申请和响应报文构造、罕用的状态码等内容都是必要的。数据格式API 返回数据的格局通常有两种:JSON 和 XML。因而,学习 API 就须要学习这两种数据格式的相干常识。JSON 格局比拟易于解析,XML 的可扩展性更强,具备更多的长处和实用场景。RESTful APIREST (Representational State Transfer)作为一种 web 利用架构规范,当初已成为 API 设计的支流。学习 RESTful API 所需的技术包含 URI 标准设计、HTTP 申请解决和响应、认证和受权等内容。SDKAPI 用户能够基于 SDK(Software Development Kits)来拜访和调用 API 。学习应用 SDK 能够进步生产效率,疾速编写 API 的应用程序,并提供更好的可读性。API 文档API 的文档是 API 使用者理解接口的惟一渠道。API 文档蕴含的信息包含:API 的 RESTful 接口、申请参数、返回数据格式、谬误状态码、如何集成到利用中等内容。安全策略因为 API 公开的数据和性能,因而平安问题是十分重要的。无关 API 平安的内容有:如何认证和受权 API 用户、如何加密和爱护 API 数据传输以及如何避免歹意攻打等。理解这些方面能够为 API 的设计和实现提供帮忙。性能优化API 应该高效地解决申请,并疾速响应。理解如何优化 API 的性能是十分重要的,帮忙进步 API 的用户体验。相干技术包含缓存的应用、服务端的负载平衡、缩小网络往返次数等。总之,学习 API 相干技术须要一直总结和实际。理解并使用这些技术将使您可能更加高效地应用 API,构建出更持重、可扩大和动静的 web 应用程序。 ...

April 28, 2023 · 1 min · jiezi

关于开源软件:搞懂-API-API-这些特点要记住

API 是古代软件开发和应用程序中的必要组成部分,它为企业和开发者提供了极大的便当和工作效率。不过,API 也有其不足之处。上面将在这篇文章中具体探讨 API 的长处和毛病。 长处:1. 简化数据拜访和交互API 打消了传统的数据集成办法,缩短了开发工夫。开发人员能够间接申请返回 JSON 或 XML 格局的数据,无需通过数据库连接器等两头软件,使得数据的拜访更加便捷、快捷和平安。 2. 进步应用程序的可扩展性API 的设计容许零碎以模块化的形式构建,因而它们易于扩大和调整。开发人员能够编写新的 API,并将其与现有的软件进行集成,而无需影响到其余组件。它有助于简化开发流程,缩小新性能的增加和更新的工夫和老本。 3. 反对多平台和集成API 使应用程序之间的交互变得更加容易,因为它们反对不同的平台和技术栈之间的集成。API 减少理解耦的益处,容许开发人员在不同的软件之间进行替换和共享数据。 4. 改善应用程序的用户体验API 能够打造出更好的用户体验,为客户带来更高质量的服务。例如,一些应用程序应用 API 聚合数据来增强搜寻,从而产生更精确、更特定的后果。 5. 发明新型商业机会API 也是开放性和创新性的次要驱动力,它使得软件供应商和开发者可能发明新的产品或服务。它们提供了第三方软件或应用程序的拜访,容许用户进行自定义和扩大性能,这有助于吸引更多的开发人员和客户。 毛病:1. 平安危险因为 API 公开数据和性能,因而成为黑客攻击的指标。特地是,没有适当的身份验证措施,可能会导致未经受权的数据拜访和泄露,可能会危及客户隐衷。2. 复杂性减少随着 API 利用变得越来越简单,对于企业来说保护显得越来越具备挑战性。利用程序接口的更新须要进行测试,文档编写,如果不留神治理,则容易导致凌乱和谬误。3. 不兼容和抵触API 没有强制执行对立的规范,因而在解决不兼容和抵触问题时可能面临挑战。如果多个软件应用不同的格局和协定,就须要在编写 API 时进行额定的测试和验证。4. 保护老本创立好一个 API ,依然须要大量的工夫、人力和资源来保护它,包含增加新性能,更新文档,修复谬误等。这些工作可能会占用开发人员的工夫,并可能须要减少其余老本方面的投入。 API 在利用程序开发、数据拜访和扩大等方面都具备很多劣势。其同时也存在一些危险和挑战,如平安问题、复杂性减少、不兼容和抵触以及保护老本等。保持最佳实际,再联合长期的商业策略和打算,能够确保 API 以最大的收益为企业和开发者带来继续的胜利。 如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~Github:https://github.com/Postcatlab/postcat Postcat 外围性能:API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作Postcat 劣势:免登录即可测试:省去繁琐的验证登录的操作界面简洁:没有冗余的性能与简单选项收费:中小团队以及集体应用丰盛的插件:反对数据迁徙、主题、API 平安等高达 30 款插件国产:能更好的了解国内用户的需要,与开发团队沟通无障碍欠缺的用户文档:跟着操作就能疾速上手多提 Issue !多反馈!在应用过程中有任何疑难,能够进群交换,也能够在线提 Issue(强烈推荐这种开源的形式),提问题自身就曾经在奉献社区了:https://github.com/Postcatlab/postcat/issues ...

April 28, 2023 · 1 min · jiezi

关于开源软件:API-文档管理得这么玩才会效率加倍

随着互联网的迅速倒退,越来越多的企业和开发者开始采纳 API 接口作为数据交换和服务调用的规范形式。为了保障API接口的可靠性、稳定性和可维护性,API 文档治理变得愈发重要。 API 文档治理的重要性API 文档治理是指在开发过程中,对API接口进行规范化的文档治理和保护。它能够进步API接口的可读性和可维护性,缩小开发人员的沟通老本,进步开发效率和我的项目品质。具体来说,API 文档治理的重要性体现在以下几个方面: 进步开发效率:通过规范化的API文档,开发人员能够缩小沟通老本,更疾速地了解并应用API接口,从而进步开发效率。进步我的项目品质:规范化的API文档能够帮忙开发人员更好地了解接口标准和实现细节,缩小代码缺点和谬误,并进步我的项目的稳定性和可靠性。不便接口降级:API文档能够记录接口标准和协定变动,帮忙开发人员及时更新接口实现,防止兼容性问题和版本差别。促成内外部单干:API文档能够提供给外部和内部开发者应用,促成了团队单干和企业间互操作,推动业务倒退。目前有哪些重要的相干性能API 文档治理具备多种性能,可依据理论需要进行抉择和配置,常见的性能包含: 主动生成:API文档管理工具可能主动扫描我的项目中的代码,解析正文和注解等信息,生成易于浏览和了解的API文档。格局标准:API文档管理工具能够提供多种格局标准,如Swagger、OpenAPI等,使得文档易于治理和应用。版本控制:API文档管理工具能够反对版本控制,记录接口的历史变更和差别,不便团队单干和接口降级。接口测试:API文档管理工具能够提供接口测试性能,帮忙开发人员验证和测试API接口的正确性和可用性。平安审核:API文档管理工具能够反对用户权限管制和平安审核性能,确保API接口的安全性和合法性。如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~ Github:https://github.com/Postcatlab/postcat Postcat 外围性能:API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作Postcat 劣势:免登录即可测试:省去繁琐的验证登录的操作界面简洁:没有冗余的性能与简单选项收费:中小团队以及集体应用丰盛的插件:反对数据迁徙、主题、API 平安等高达 30 款插件国产:能更好的了解国内用户的需要,与开发团队沟通无障碍欠缺的用户文档:跟着操作就能疾速上手多提 Issue !多反馈!在应用过程中有任何疑难,能够进群交换,也能够在线提 Issue(强烈推荐这种开源的形式),提问题自身就曾经在奉献社区了: https://github.com/Postcatlab/postcat/issues

April 27, 2023 · 1 min · jiezi

关于开源软件:就这些了-常见-6-款API-文档工具推荐

8年开发教训,想分享一下我接触到这些 API 文档工具: Swagger: Swagger 是一个开源的 API 文档管理工具,能够通过注解主动生成 API 文档,并提供交互式 UI 和 API 调试性能。 Swagger 反对多种语言和格局,包含 Java、Python、JSON、YAML 等。Postman: Postman 是一个罕用的 API 开发和测试工具,同时也提供了 API 文档治理性能。用户能够通过 Postman 的界面编写 API 文档,并反对多种格局和导出选项。Apidoc: Apidoc 是一个基于 JSDoc 正文的 API 文档生成工具,能够主动生成 RESTful API 文档,并反对多种格局输入,包含 HTML、Markdown、Swagger 等。SmartDoc: SmartDoc 是一款 Java RESTful API 文档生成工具,可能主动扫描我的项目中的代码并生成易于浏览和了解的 API 文档。反对多种生成格局,包含 HTML、Markdown、Swagger 等。Apiary: Apiary 是一个在线的 API 设计和文档治理平台,用户能够应用 API Blueprint 语言编写 API 文档,并提供了交互式 UI 和 API 调试性能。同时,Apiary 还提供了多种集成和合作性能,不便团队协同开发和治理 API。Postcat 开源的 API 管理工具,目前我正在参加的开源我的项目,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 ...

April 25, 2023 · 1 min · jiezi

关于开源软件:搞懂-API-地图-API-制作方法分享

地图 API 是一种基于 Web 开发的应用程序编程接口,能够用于创立和展现地图及地理信息。以下是一些地图 API 制作的办法: 抉择地图 API 平台:目前市场上有很多地图 API 平台供选择,比方 Google Maps API、百度地图 API、高德地图 API 等,须要依据理论需要抉择适合的平台。注册开发者账号:在抉择了地图 API 平台之后,须要注册开发者账号并创立 API 密钥,以便于在应用程序中应用地图 API。集成 API:将所选平台提供的 API 集成到应用程序中,依照 API 文档进行配置和调用,以便于应用程序可能应用地图 API 来展现地图和地理信息。设计地图界面:依据理论需要设计地图界面,包含地图类型、缩放、地图标记、信息窗口等,以便于用户可能不便地浏览和交互地图信息。优化地图性能:为了进步应用程序的性能和用户体验,须要优化地图加载速度、升高地图流量、缩小地图申请等,能够采纳一些地图优化策略来实现。测试公布:在实现地图 API 制作后,须要进行测试和公布。测试须要确保地图可能失常地工作,包含地图加载、数据传输、用户交互等。公布须要将地图 API 部署到服务器上,并提供文档和反对以便于其余开发者应用。如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~ Github:https://github.com/Postcatlab/postcatDemo:https://postcat.com/zh/?utm_source=sf&utm_campaign=xh&utm_con... Postcat 外围性能: API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作Postcat 劣势: 免登录即可测试:省去繁琐的验证登录的操作界面简洁:没有冗余的性能与简单选项收费:中小团队以及集体应用丰盛的插件:反对数据迁徙、主题、API 平安等高达 25 款插件国产:能更好的了解国内用户的需要,与开发团队沟通无障碍欠缺的用户文档:跟着操作就能疾速上手多提 Issue !多反馈! ...

April 25, 2023 · 1 min · jiezi

关于开源软件:搞懂-API-后端-API-接口设计方法

后端 API 接口设计是开发 Web 利用和挪动利用的要害组成部分,好的接口设计能够进步利用的稳定性、可维护性和安全性。以下是一些罕用的后端 API 接口设计办法: 应用 RESTful API:RESTful API 是一种基于 HTTP 协定的 Web API 设计理念,它通过 URL 和 HTTP 办法来示意资源和操作,易于了解和应用。RESTful API 设计通常须要遵循一些规定和最佳实际,如应用名词示意资源、应用 HTTP 动词示意操作等。定义清晰的参数和返回值:API 接口设计须要清晰地定义参数和返回值的类型、格局和含意。参数应该依据须要进行限度和验证,返回值应该包含状态码、错误信息和响应后果等内容。思考安全性:API 接口须要思考安全性问题,如避免 SQL 注入和 XSS 攻打、实现身份验证和拜访受权等。设计正当的申请和响应构造:API 接口应该设计正当的申请和响应构造,包含申请头、申请体、响应头和响应体等,使开发人员能够不便地调用和解析 API。思考版本治理:API 接口设计须要思考版本治理问题,以便于后续的更新和降级,同时须要提供向后兼容性。所以,咱们能够发现,后端 API 接口设计须要遵循一些规定和最佳实际,包含应用 RESTful API、定义清晰的参数和返回值、思考安全性、设计正当的申请和响应构造以及思考版本治理等。 好的 API 接口设计能够进步利用的稳定性、可维护性和安全性,同时也能够晋升开发和调试效率。 如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~ Github:https://github.com/Postcatlab/postcatDemo:https://postcat.com/zh/?utm_source=sf&utm_campaign=xh&utm_con... Postcat 外围性能: API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作Postcat 劣势: ...

April 24, 2023 · 1 min · jiezi

关于开源软件:8年开发告诉你API-是什么如何看懂-API-文档

API 指的是应用程序编程接口,它是应用程序之间通信的一种形式,容许应用程序之间互相交互和传输数据。 API 文档是编写 API 的开发人员所提供的用户应用阐明,通常包含 API 的用处、参数、申请示例、返回格局等信息,以便开发人员应用该 API。以下是看懂 API 文档的一些根本步骤: 浏览概述:文档通常会提供 API 的根本信息和应用办法,这些信息通常包含 API 的性能和用处。确定申请形式:API 能够应用不同的申请形式,如 GET、POST、PUT、DELETE 等,依据文档中的阐明确定正确的申请形式。查看参数:申请 API 时须要提供参数,文档中通常会列出 API 的参数及其类型和格局,依据文档中的阐明提供正确的参数。查看申请示例:文档中通常会提供 API 的申请示例,以便开发人员能够更好地理解如何应用 API。查看返回格局:API 返回的数据格式通常以 JSON、XML 等形式进行,文档中通常会列出 API 的返回格局及其对应的字段,以便开发人员解析返回的数据。查看错误码:如果 API 申请失败,文档通常会返回错误码和谬误阐明,便于开发人员调试和修复问题。如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。 目前在 Github 上 3k star,如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~ Github:https://github.com/Postcatlab/postcat Demo:https://postcat.com/zh/?utm_source=sf&utm_campaign=xh&utm_con... Postcat 外围性能: API 文档治理:可视化 API 设计,生成 API 文档API 测试:主动生成测试参数,主动生成测试用例,可视化数据编辑插件拓展:泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台Mock:依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景团队合作:既能实现 API 分享也能能够创立云空间独特合作Postcat 劣势: 免登录即可测试:省去繁琐的验证登录的操作界面简洁:没有冗余的性能与简单选项收费:中小团队以及集体应用丰盛的插件:反对数据迁徙、主题、API 平安等高达 25 款插件国产:能更好的了解国内用户的需要,与开发团队沟通无障碍欠缺的用户文档:跟着操作就能疾速上手多提 Issue !多反馈!在应用过程中有任何疑难,能够进群交换,也能够在线提 Issue(强烈推荐这种开源的形式),提问题自身就曾经在奉献社区了: ...

April 24, 2023 · 1 min · jiezi

关于开源软件:好用的在线画图工具自研组件开源计划

PDDON在线画图自研组件开源打算,第一版开发历时2年,核心技术齐全自研,从前端到后盾均自研,外围开发仅一人,全栈开发者,临时还在迭代中,等我的项目稳固后,会抽空将一些自研组件和工具包进行开源,先来占坑,能够继续关注哦! 自研外围组件/工具包有: svg连线工具包(开源布局中)组件拖动、尺寸调整工具包(开源布局中)组件辅助线主动吸附对齐工具包(开源布局中)组件旋转管制工具包(开源布局中)组件分组管制工具包(开源布局中)图片预览/裁剪工具包(开源布局中)服务端API框架:popularmvc(已开源)该项目标初衷源于最开始想做一款低代码平台,在应用第三方的画图工具包时,用起来非常糟糕,灵便度不够,连线款式、事件管制等能力有余,所以前期自研了画线工具包,索性开发了一款齐全自研的画图工具,目前PDDON在线画图第一版曾经上线,反对绘制流程图、架构图、思维导图、UML、BPMN、网络拓扑图 、韦恩图、鱼骨图等,并且反对对象建模、数据库建模 、代码/脚本生成,提供了丰盛的定制化绘图性能组件库,拜访地址:http://pddon.com。 市面上的在线画图工具实现原理有两种 基于svg+html标签基于canvas进行绘制PDDON在线画图应用了前者,基于svg,次要起因在于,svg反对原生事件,而且能够和其余html标签组合成更简单的绘图组件,从易用性和实用性角度登程,采纳了svg的计划。 PDDON在线画图页面 PDDON在线画图工作区架构图 流程图 状态图/流动图 用例图 时序图 类图 韦恩图 自在格调 上面我带大家看看应用PDDON在线画图绘制的各种精美设计图架构图 流程图 UML图 ![]() ![]() 其余绘图 那么pddon与其余常见画图软件些区别呢?PDDON完全免费,但不同于其余免费软件,PDDON十分好用,而且始终在迭代更新,致力于提供更简略高效好看的绘图软件<!----> 服务pddon为每种类型绘图做了定制化性能加强,并非是纯图形绘制,技术层面采纳模块化设计,在逻辑性能上进行加强,更易于应用,性能更灵便丰盛对程序员和设计者更敌对,提供了低代码能力,主动生成SQL和代码节俭了编码的工夫,而且不易出错,能最大水平放弃设计稿与代码的一致性国人开发的,性能体验对国内用户更敌对提供了很多傻瓜式的智能操作性能,能主动调整绘图布局、疾速一键切换连线、绘图格调等等智能辅助绘图性能简化用户操作,对无绘图教训的用户更敌对近期刚推出1.0版本,广受用户青睐,好评一直总结此我的项目历时2年,齐全自研,付出过很多精力,熬过很多通宵,解决过有数难题和bug,同时也爆发了很多奇思妙想,并把它们付诸实践,非常感激一路上反对我的亲人敌人与合作伙伴,给了我很多帮忙和倡议,置信PDDON在线画图会越做越好! 各位看客能够收费体验和应用,喜爱的话能够给个点赞、关注、珍藏三连 在线画图地址: http://pddon.com 也能够关注微信公众号: PDDON在线画图 我的项目目前第一版刚上线不久,正在致力迭代中,后盾框架popularmvc已开源,其余工具包开源工作正在筹备中,能够继续关注哦,谢谢反对!

April 23, 2023 · 1 min · jiezi

关于开源软件:推荐一个好工具可以替代-swagger-生成文档

Swagger 是一个标准且残缺的框架,用于生成、形容、调用和可视化 RESTful 格调的 Web 服务。 Swagger 的指标是对 REST API 定义一个规范且和语言无关的接口,能够让人和计算机领有毋庸拜访源码、文档或网络流量监测就能够发现和了解服务的能力。当通过 Swagger 进行正确定义,用户能够了解近程服务并应用起码实现逻辑与近程服务进行交互。与为底层编程所实现的接口相似,Swagger 打消了调用服务时可能会有的猜想。 Swagger 的劣势反对 API 主动生成同步的在线文档:应用 Swagger 后能够间接通过代码生成文档,不再须要本人手动编写接口文档了,对程序员来说十分不便,能够节约写文档的工夫去学习新技术。提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还反对在线测试。参数和格局都定好了,间接在界面上输出参数对应的值即可在线测试接口。但相比于 Swagger 我更举荐这个国产的开源 API 管理工具——Postcat Postcat 和Swagger 有什么区别呢?Postcat 插件不会入侵到代码外部,无需增加任何jar包依赖 插件通过剖析用户正文进行接口解析,最终生成接口文档并上传至 Postcat 服务器,使得开发者能够在 Postcat 上进行 API 治理和分享,进步合作能力和开发速度。 Postcat 提供了多种拓展正文,如@path、@url、@method、@name、@hidden和@required,这些正文能够在设置界面进行自定义或兼容现有正文。 此外,Postcat 还提供了正文生成性能,对于没有或仅有大量正文的类和办法,开发者无需费劲手动增加,该性能能够分析方法字段含意并主动生成正文。开发者只须要查看或依据理论场景进行微调,即可生成一份较欠缺的API文档。 如果原有正文有余,Postcat 会通过增加形式补充正文,移除正文时只会移除 Postcat 提供的那些拓展性正文,不会毁坏用户本身的正文。同时,开发者还能够应用"用意"性能部分生成插件正文,并进行调整和批改。 Postcat提供了多种 API 上传形式,不便开发者在不同的场景下应用: 对于首次应用Postcat的现有我的项目,开发者能够应用主菜单中Tools分组下的Upload Project Api Doc来实现我的项目级别的接口上传。对于新需要下创立的Controller,在实现接口定义后,开发者能够右键菜单,抉择 Upload All Api 来进行单个文件级别全副上传,做到先有文档再有逻辑,前后端工作不再串行阻塞。对于某个局部独自接口的改变,无需全副上传,开发者能够右键菜单,抉择Upload Api性能,该性能会展现以后编辑类的接口信息,并提供接口预览和接口抉择界面,使得用户能够勾选须要更新或上传的指标API进行信息核查和上传。理解 Postcat:Postcat 是一个弱小的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,反对 REST、Websocket 等协定(行将反对 GraphQL、gRPC、TCP、UDP),帮忙你减速实现 API 开发和测试工作。 ...

April 19, 2023 · 1 min · jiezi

关于开源软件:JWT-鉴权插件上线让你的-API-更安全

API鉴权是保障API安全性和可用性的一项重要措施。通过API鉴权,零碎能够对用户或者利用进行无效的身份认证和权限治理。除了咱们之前更新的 Basic Auth 鉴权插件,这次给大家带来 JWT 鉴权插件。 JSON Web Token是一种凋谢规范,能够让服务器生成一个密钥签名的Token,该Token蕴含用户、其角色和过期工夫等信息。JWT Token会发送回客户端,而后传递到后续的API申请中,以对接下来的操作进行认证和受权。 如何应用在插件市场中找到 JWT 插件,装置 装置插件后,测试页面选中鉴权,填入数据后会主动在申请信息中增加头部 Authorization。 JWT 阐明 Client RequestGET /security/somethings HTTP/1.1Authorization: Basic bmFtZTpwYXNzd29yZA==包含: 头部 { "alg": "HS256", "typ": "JWT"}Payload { "name": "Postcat", "introduce": "An extensible API tool."}WT 规定了 7 个默认字段供开发者选用。 iss (issuer):签发人exp (expiration time):过期工夫sub (subject):主题aud (audience):受众,相当于接受者nbf (Not Before):失效的起始工夫iat (Issued At):签发工夫jti (JWT ID):编号,惟一标识签名 Signature 对于每种加密算法,签名都对应的一个计算公式。例如 SHA256 加密算法的签名如下: HMACSHA256(base64UrlEncode(header) + "." +base64UrlEncode(payload) + "." +Secret)后续咱们还会持续更新其余鉴权插件,欢送关注! 这个我的项目是开源的,感兴趣的话能够给我的项目 Star 和 fork 一下 ...

April 11, 2023 · 1 min · jiezi

关于开源软件:收集好了Chatgpt-各版本之间的优缺点分析

ChatGPT是一种基于自然语言解决(NLP)模型的对话生成程序,它应用机器学习算法来构建语言模型和对话零碎。ChatGPT的不同版本有不同的原理和利用场景,上面将从技术的角度解说ChatGPT的不同版本及其优缺点。 GPT-1GPT-1是第一个应用Transformer神经网络架构的语言模型,它应用了极大的文本数据集进行预训练。它的训练数据包含预约义的文本畛域,如天气、体育、新闻等。GPT-1采纳自回归模型预测下一个词的呈现概率,而后应用beam search算法生成下一句话。GPT-1在自建语料库上进行训练,训练失去的模型可用于各种上游工作,如基于工作的语言学习和对话生成等。长处:GPT-1是第一个应用Transformer自回归模型的自然语言解决模型,可用于各种文本语言工作,如机器翻译,文本生成,对话生成等。毛病:GPT-1没有全面的站点,在解决简单的对话工作中容易走样,并且其预测后果不太精确。GPT-2长处:GPT-2在GPT-1的根底上进一步改良了模型,通过减少更多的参数(1.5亿到15亿)来进步性能。同时GPT-2能够生成更长的文本,更好地解决对话,并且有更好的通用性。毛病:GPT-2的训练数据来自于互联网,这意味着它存在垃圾数据和不当信息的问题。这使得它偶然会生成不适当的答复。此外,GPT-2是关闭模型,无奈对其进行批改或改良。 GPT-3长处:与GPT-2相比,GPT-3更加弱小,它有1750亿个参数,并可能十分精确地执行一些工作,如语言翻译,问答与主动文本摘要。此外,GPT-3是凋谢模型,可供用户拜访,并且能够进行迭代和改良。毛病:只管GPT-3功能强大,但在某些状况下仍会呈现语义不清或不正确的答复,特地是对于特定畛域的问题。 总体而言,ChatGPT的每个版本都有其优缺点,抉择适合的版本取决于应用场景和须要。 跟着我,1 分钟就能搞定! 拜访 Postcat.com,间接应用github 账号登录或者注册: 右上角【插件广场】,找到 Chatgpt 插件,装置 装置插件后,自动弹出对话框即可应用当我尝试着问它第一个问题: 操作就是这么简略,无妨本人入手试试呢~这个我的项目是开源的,感兴趣的话能够给我的项目 Star 和 fork 一下 Github:https://github.com/Postcatlab/postcat Gitee:https://gitee.com/eolink_admin/postcat 对于 Postcat Postcat 是开源的 API 管理工具,有 API 相干的外围性能,还有丰盛的插件广场,帮你疾速地实现 API 的公布和测试性能。 外围性能: API 文档治理,可视化 API 设计,生成 API 文档API 测试, 主动生成测试参数,主动生成测试用例,可视化数据编辑Mock,依据文档主动生成 Mock,或创立自定义 Mock 满足简单场景插件拓展,泛滥插件扩大产品性能,打造属于你和团队的 API 开发平台团队合作,既能实现API 分享也能够创立云空间独特合作突出亮点: 免登录即可测试,省去繁琐的验证登录的操作界面简洁,没有冗余的性能与简单选项开源,收费,适宜集体以及小团队应用丰盛的插件,反对数据迁徙、主题、API 平安等高达 25 款插件国产,能更好的了解国内用户的需要,沟通无障碍欠缺的用户文档,跟着操作就能疾速上手

April 6, 2023 · 1 min · jiezi

关于开源软件:API-鉴权插件上线支持用自定义鉴权

0.4.0 版本更新次要围绕这几个方面: 分组独立的 UI,反对分组 API 鉴权API 测试反对继承 API 鉴权反对用户自定义鉴权插件,仅需局部配置即可公布鉴权插件开始介绍性能之前,我想先和大家分享一下鉴权功能设计的一些思考。 其实和大部分接口测试前要登录相似,鉴权是身份验证的一种形式。在大多数状况下,鉴权信息个别是: 对大多数 API 失效而不是仅某几个 API 须要鉴权测试应用不须要显示在文档信息中,个别会有个阐明文件全局阐明此我的项目下的 API 应用什么鉴权以下三种设计都能够满足在测试前主动鉴权的需要: 鉴权信息配置在分组/我的项目中,外部的 API 从父级继承鉴权信息每个 API 配置独立的鉴权在环境中配置鉴权信息,选中后 API 援用环境信息鉴权 咱们如何判断要将这个性能放在哪里呢?咱们先来剖析分组和环境的应用范畴: 分组:对一系列 API 失效,适宜搁置鉴权/登录等一系列 API 都可能用到的前置条件,也能够设置公共的断言(例如状态码等于 200)环境:灵便的全局变量用法,和 API 没有强关联关系,能够依据按不同用户创立(例如 Scar 本地环境/Jack 本地环境),也能够依照不同的服务器环境创立,适宜放一些和用户相关联的信息,例如每个测试人员可能都会应用本人的鉴权的账号、明码。所以一系列 API 都能用到的公共配置框架,咱们应该放到我的项目/分组去实现,同时通过环境来填写配置变量数据,这样能够复用大家的设置,让团队内的 API 和测试数据更不便保护。 基于下面思考,咱们的鉴权反对在分组配置。 咱们持续来看看如何应用~选中相应的分组-选中鉴权,因为鉴权值波及到敏感数据,为了在合作环境中工作时放弃此数据安全,咱们倡议应用全局变量。 增加环境,配置全局变量,增加后程序会主动选中这个环境。 再次测试,能够看到鉴权曾经胜利! 当然啦,除了官网提供的 Basic、JWT ,其实还有很多其余鉴权形式例如 NTLM、微信签名、AWS 签名等等。 所以咱们将鉴权功能设计成了可拓展的!! 例如这就是官网的 Basic Auth 鉴权插件代码,外围逻辑不到 30 行,非常简单易懂。 本月官网也打算反对更多鉴权插件: JWTBear TokenAPIKeyOAuth 2.0理解 Postcat:Postcat 是一个弱小的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,反对 REST、Websocket 等协定(行将反对 GraphQL、gRPC、TCP、UDP),帮忙你减速实现 API 开发和测试工作。 ...

April 6, 2023 · 1 min · jiezi

关于开源软件:API-环境管理一键切换如此简单

后面咱们都在讲接口测试、接口文档,这一期讲讲如何切换测试环境。 设置 API 的申请地址前缀、全局变量信息。在测试时,能够一键切换测试环境而不须要手动输出域名。咱们能够通过环境下拉框新增环境。 咱们能够通过切换测试环境对 API 实现以下操作:批改申请地址 URL通过全局变量动静扭转所有 API 的申请信息,例如 Query、 Body等参数 前置URL在测试时咱们只须要选中相应的申请地址,测试时域名就会主动加到 API 门路后面,能够通过切换环境疾速对开发、测试、线上环境的 API 进行测试 在 API 文档或测试中应用的形式援用环境变量,在发送申请时会主动将环境变量替换为响应的值。环境变量环境变量常用语以下场景:通过环境变量扭转 API URL 外面的版本门路,比方 api.postcat.com/user/login扭转申请参数的 Key 和 Value, 比方表单中有一个参数的 version,值是环境变量: 以上这个工具叫 Postcat,是国产的开源 API 工具,除了最罕用的文档和测试性能,目前的 v 0.2.0 版本,新增团队合作性能。除此之外他们还反对:弱小的文档功能丰富的插件市场,可拓展前后置脚本反对查看所有测试历史反对 Websocket 协定,后续也会新增反对更多的支流协定在线 在线 Demo 链接:https://postcat.com/zh/?utm_source=sf&utm_campaign=xh&utm_con... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/Postcatlab/postcatGitee:https://gitee.com/eolink_admin/postcat

March 30, 2023 · 1 min · jiezi

关于开源软件:2023-年开源现状报告确认安全是首要问题

申明:本文是 Javier Perez 所著文章《The 2023 State of Open Source Report confirms security as top issue》的中文译文。 原文链接:https://blog.opensource.org/the-2023-state-of-open-source-rep... 间断第二年,Open Source Initiative(OSI:凋谢源代码促进会)和 OpenLogic by Perforce 单干发动了一项对于组织中应用开源软件的寰球考察。咱们吸引了来自世界各地的数百份回答,后果再次阐明了整个开源畛域的状况,包含开源软件的应用、采纳、挑战以及投资程度和成熟度。 《2023 年开源现状报告》提出了要害的应用、采纳和趋势数据,描述了当今组织中开源软件的残缺风貌。该报告还包含按类别、人口统计学和公司统计学划分的最重要的技术。 技术的世界是一直变动的,要放弃对最新软件的理解是很难做到的。该报告介绍了 160 多种最受欢迎的开源技术和工具,以及对企业如何投资于开源以及最渴望取得的技术的洞察。 咱们激励你浏览感兴趣的局部或整个报告,其中涵盖了每个次要类别,包含 Linux 发行版、基础设施软件、云原生、编程语言和运行时、框架、数据技术、软件开发生命周期(SDLC)和构建工具、自动化和配置工具,当然还有继续集成/继续部署(CI/CD)。 一些要害的发现: 开源的位置一直进步;五分之四的考察对象(高达 80%)示意,他们在过来一年中减少了对开源软件的应用,其中 41% 反馈说有 "显著 "减少。开源技术在所有类型的业务中施展着不可或缺的作用。受访者将 Linux、Apache HTTP、Git、Node.js、WordPress、Tomcat、Jenkins、PHP 和 NGINX 列为其组织中最要害的业务软件。容器技术和软件开发生命周期(SDLC)工具被列为应用最多的技术。容器和容器编排在受访者中的使用率从18%跃升至33%,它们也取得了企业最高的投资额度。降低成本不再是采纳开源的一个要害起因。在 2022 年的报告中,升高许可证的老本和整体老本是应用开源的第二大起因,但往年它曾经降落到第九位。开源的首要驱动力依然是取得翻新和最新的技术,这阐明用户如何器重站在最前沿,并将其视为一种竞争劣势。企业抉择开源的起因还在于可能对我的项目做出奉献并影响其倒退方向。平安是首要问题。保护平安政策或合规性是应用开源的组织面临的首要反对挑战。超过46%的组织正在进行平安扫描以辨认破绽。装置、降级和配置问题都须要技术支持。值得注意的是,往年人员的教训和熟练程度在各种规模的组织中都被列为反对问题里的高优先级问题。原厂进行保护(EOL: End-of-life)的开源软件在企业中仍旧长期存在(并应用中)。例如在 AngularJS 成为进行保护状态近12个月之后,15%的组织仍在持续应用它,与咱们在2022年报告中看到的比例完全相同。在大型组织中,这一比例高达20%。正如预期的那样,进行保护的CentOS Linux的使用率有所降落;当初只有15.14%,而CentOS Stream和Rocky Linux逐步地失去了更宽泛的采纳。36.79%的组织为开源做出奉献,其中包含对我的项目或组织的奉献(代码或其余流动)。这比去年减少了5%,这个正向的趋势对许多社区来说是个好兆头。大多数行业中,超过25%的受访者正在生成软件物料清单(SBOM)。零售业、政府、银行业、保险业和金融服务业在这一类别中当先,其生成软件物料清单(SBOM)的施行率最高。OSI(凋谢源代码促进会)的会员人数在去年有所增长;17% 的受访者曾经资助 OSI。咱们受到了一直减少的社区的参加的激励,并对 2023 年行将举办的所有 OSI 倡导和流动感到振奋。《2023年开源现状报告》分明地表明,许多组织正在从单纯的消费者转变为开源社区参与者,并取得了残缺技术栈的专业知识。在某些状况下,他们甚至正在成为领导者--推动和影响新我的项目的方向。 报告下载链接:https://ter.li/yo54psJavier PerezPerforce Software 首席开源软件布道师兼产品治理高级总监 Javier 对技术和开源软件充满热情,是 Perforce 软件公司的首席开源布道者和产品治理高级总监。他负责开源软件的技术思维领导和宣传,同时推动 Perforce的 OpenLogic 产品。Javier 在利用开发、开源、云计算、利用平安、人工智能、SaaS 和挪动行业工作了 25 年以上。作为一名演讲者和博客作者,他有机会在世界各地的行业流动中发表演讲。哈维尔领有计算机系统的荣誉学位和 MBA 学位。 ...

March 23, 2023 · 1 min · jiezi

关于开源软件:开源的未来启动-Open100

申明:本文是 Andrei Brasoveanu, Arun Mathew, Daniel Levine, Vas Natarajan, David Waltcher, Varun Purandare, Adrian Colyer, Christine Esserman 所著文章《The Future of Open Source: Launching the Open100》的中文译文。 原文链接: https://www.accel.com/noteworthy/the-future-of-open-source-la... 开源领导人分享他们的洞察和要害提醒过来几年标记着开源软件(OSS)时代的成熟,因为专有软件供应商的态度产生了转变,大型 IPO 和收买强调了商业后劲,而开发者社区也不断扩大,远远超出了传统的科技枢纽。 不久前,人们还认为能够建设一个以开源为外围的数十亿美元的公司,这是一种高度的反向投资。随着对 Red Hat 和 GitHub 的收买,Elastic、Cloudera 和 MongoDB 的 IPO,以及更多基于开源的公司的大规模融资,产生了决定性的变动。这些经济事件反映了草根流动的激增:仅在 2019 年,就有超过 130 万首次贡献者退出了开源社区,而 GitHub 上 30% 的我的项目是新创建的。 正如咱们以前所写的,这些公司的增长反映了推动企业采纳开源的多种因素:与老本、社区和管制相干的显著劣势。开发人员日益增长的影响力和位置意味着大多数企业当初抵赖领有开源产品和策略的必要性。 随着开源软件的知名度和可信度的进步,它也在组织内扩充了它的脚印,并在 IT 技术堆栈中向上挪动。从基础设施和数据库解决方案开始,支流的操作系统当初逾越了从 API 治理到企业自动化、商业、合作、CMS 和设计的所有畛域。 其后果是整个利用堆栈中的 OSS 初创公司的寒武纪大暴发。作为这一畛域的长期投资者,Accel 决定通过创立 Open100 来布局其停顿。Open100 会集了在开源畛域具备重要意义的快速增长的初创企业,以社区增长、商业演进和翻新办法来掂量在新市场中推动 OSS 的采纳。从最驰名的公司到那些将开源引入新的垂直畛域的公司,Open100 反映了将一直增长的开源静止商业化的初创公司的数量和广度。 Open100 咱们最近在 Open Source Connect 上预览了 Open100,这是一个在 Hopin 上的虚构流动,将创始人和专家汇集在一起探讨 OSS 的过来、当初和将来。在与 Snyk、Rasa、Confluent、Sentry、Segment 和 Vercel 领导的探讨中,咱们探讨了开源的一些独特的商业建设挑战——商业化和社区建设之间的矛盾、销售和营销的具体需要,以及在不受它管制的状况下造就社区的必要性。 ...

March 14, 2023 · 1 min · jiezi

关于开源软件:ChatGPT-插件上线亲测更加便捷

ChatGPT 正火的时候,还有很多人都在忙着搜教程,大家想亲自体验原汁原味的 ChatGPTt,可搜到的资源要不是很难用,或者无奈迷信上网,挺折腾的,当初终于不必那么麻烦了。 跟着我,1 分钟就能搞定! 拜访 Postcat.com,间接应用github 账号登录或者注册: 右上角【插件广场】,找到 Chatgpt 插件,装置 点击右下角的【小机器人】,即可应用 当我尝试着问它第一个问题: 操作就是这么简略,无妨本人入手试试呢~ 这个我的项目是开源的,感兴趣的话能够给我的项目 Star 和 fork 一下 Github:https://github.com/Postcatlab/postcat

March 8, 2023 · 1 min · jiezi

关于开源软件:从没想过开源-API-工具的-Mock-功能这么好用

很多时候,接口尚未开发实现,在零碎交互单方定义好接口之后,咱们能够提前进行开发和测试,并不依赖上游零碎的开发实现。 通过应用Mock模仿数据接口,咱们即可在只开发了UI的状况下,毋庸服务端的开发就能够进行产品的演示。 明天给大家带来一款全新的 API 工具——开源 API 管理工具,Postcat,同样领有 MOCK 性能 创立 Mock进入API文档详情页面,点击 Mock 标签,点击新建 Mock,在弹窗中输出 Mock 的名称以及响应内容: 调用 Mock进入 Mock 列表页面,点击调用地址即可复制到剪贴板,在代码中间接对该 API 地址发动申请即可失去响应后果。 这个开源的 API 工具叫 Postcat,除了根本的文档和测试性能,还有插件广场和 MOCK 这些外围性能,集体应用后感觉还不错。还在为 API 工具发愁的盆友们,无妨试试这个。 Postcat 蕴含 API 文档、 API 治理 、API 测试等等性能,Postcat 是一款类 Postman 的开源 API 工具,它更轻量,同时可拓展。 目前的 v 0.2.0 版本,除了新增团队合作性能。他们还反对: 弱小的文档性能丰盛的插件市场,可拓展前后置脚本反对查看所有测试历史反对 Websocket 协定,后续也会新增反对更多的支流协定 在线 Demo: https://postcat.com/zh/?utm_s... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/Postcatlab... Gitee:https://gitee.com/eolink_admi...

February 23, 2023 · 1 min · jiezi

关于开源软件:真的很实用一文搞懂Websocket-接口测试方法

WebSocket介绍HTTP与WebSocket的区别WebSocket测试方法WebSocket介绍WebSocket 是一种基于在单个 TCP 连贯上进行全双工通信的协定,是从HTML5开始提供的一种浏览器与服务器之间进行全双工通信的网络技术,解决了HTTP协定不适用于实时通信的毛病,相较于 HTTP 协定,WebSocket 协定实现了长久化网络通信,能够实现客户端和服务端的长连贯,可能进行双向实时通信,协定名为"ws"。 HTTP与WebSocket的区别 两者都是基于TCP协定进行数据传输,具备牢靠的传输能力,而且都是应用层协定HTTP是单向的通信,只能由客户端向服务端发送申请,服务端无奈被动向客户端发送音讯WebSocket是双向通信,客户端和服务端是通过握手建设连贯,可实现全双工通信,单方能够同时被动向对方发送音讯WebSocket在建设连贯时数据是通过HTTP协定传输的,然而建设之后,真正传输数据时应用的是更加牢靠的TCP协定 二者关系WebSocket在建设连贯时,HTTP通过Upgrade音讯头来告诉客户端须要采纳WebSocket协定来实现这个申请,在发送完此响应最初的空行后,服务器就会切换到WebSocket协定,接口返回状态码为101,示意服务器曾经了解了客户端的申请,须要降级协定WebSocket测试方法点击 Tab 加号选中 Websocket 协定 输出地址后点击连贯按钮就能够和服务端进行通信啦 在 message 输出你想要发送的内容 在返回 message 信息流中查看内容 好了,基本操作就是这样,无妨你本人亲自体验下。以上的性能来自这个叫做 Postcat 的 API 工具。 在线 Demo 链接:https://postcat.com/zh/?utm_s... 文档链接:https://docs.postcat.com/?utm... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/Postcatlab...Gitee:https://gitee.com/eolink_admi...

February 23, 2023 · 1 min · jiezi

关于开源软件:又又又一个小更新主题插件上线这个开源-api-管理工具更好用

近日 Postcat 终于上新了用户期待已久的 12 款【主题插件】!喵喵我啊,想着这下再也没有哪位用户老爷会吐槽 咱们 Postcat 的主题过于简洁吧! 免装置即刻体验: https://postcat.com/zh/?utm_s... 你们提的每一个 issue 真的会被咱们认真对待,这不安顿上了么! 截止到发文,目前插件广场里有了 22 款插件,其中有不乏与其余平台单干的插件。 咱们始终保持做开源的初衷:通过插件生态,让 Postcat 成为简略、好用的开源 API 管理工具。 挑几款我偏好的主题插件,简略看看 第一款,开发不可不知的 VSCode ,咱们给大家筹备了【VSCode 主题】: 第二款,神秘的红色主题,我喜爱叫它波尔多红,红得没有很过分,所有刚刚好: 第三款,【德古拉主题】,当你在注视德古拉,德古拉也在注视你,我最爱这款,霎时让人沉迷: 第四款,【禅意黑】不同于一般的彩色,因为它黑的深厚: 当然还有其余特色主题:浅紫、Github、高比照等等,感兴趣的无妨本人试试,总有一款能适宜你! 如何领有同款主题插件呢? 第一步当然是找到咱们 Postcat ,装置 Postcat ! 找到插件广场 浏览并抉择喜爱的主题 点击装置后马上换肤!开发插件很好玩,我也想开发如果看到了这里,此时你的脑子里开始有想要参加开发插件的想法,那真的谢谢你!咱们 Postcat 整体开发人员示意热烈欢迎你的退出开源贡献者之列! 不必放心,没搞过开发插件?这都没关系!咱们都有开发交换群,随时发问。 咱们还有残缺的开发者文档,不便查看。 你的放心,不再是问题! 开发者文档: https://developer.postcat.com... 参加贡献者都有哪些福利呢? 咱们会把贡献者名单公布出来;你会收到咱们的定制周边;还有机会支付咱们的年初福利 本人入手开发插件,并没有那么难!来试试呀! 免装置即刻体验: https://postcat.com/zh/?utm_s...

February 22, 2023 · 1 min · jiezi

关于开源软件:新人如何使用-API-工具做-Websocket-测试

 在 API 测试中,对 Websocket 协定的反对呼声越来越高,明天给大家举荐一款 开源的 API 管理工具——Postcat,以及教教大家,如何利用 API 管理工具做 Websocket 测试。 在线 Demo 链接:https://postcat.com/zh/?utm_s... 上面我会配上示意图: 点击 Tab 加号选中 Websocket 协定 输出地址后点击连贯按钮就能够和服务端进行通信啦  在 message 输出你想要发送的内容 在返回 message 信息流中查看内容 好了,基本操作就是这样,无妨你本人亲自体验下 Demo:https://postcat.com/zh/?utm_s... 官网文档:https://docs.postcat.com/?utm... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/Postcatlab... Gitee:https://gitee.com/eolink_admi...

February 21, 2023 · 1 min · jiezi

关于开源软件:3-分钟上手不用再找-Chatgpt-资源了这里全都有

最近无论是关上社交网站,还是朋友圈,就连中午吃个饭都能听到大家都在聊 Chatgpt,好像如果这一刻你不懂这是个啥玩意儿,你就会感觉本人齐全搭不上他们的话... 那Chatgpt 是什么?百度上是这样解释的: ChatGPT是人工智能技术驱动的自然语言解决工具,它可能通过学习和了解人类的语言来进行对话,还能依据聊天的上下文进行互动,真正像人类一样来聊天交换,甚至能实现撰写邮件、视频脚本、文案、翻译、代码等工作。 简略说它不是简略的搜索引擎,它能一直通过学习,而后联合你的问题,在通过大量的机器学习以及运算后,向你输入问题后果,能聊天,甚至能帮你解题,写代码。 ChatGPT 这么有意思,那我也得连忙试试!在一番折腾后,我却发现所有都没有那么容易。 不容许中国注册 网上也有很多高仿的,我简略体验后,后果真的有点好笑(这TF粉丝不得盛怒么) 甚至我都还没开始用呢,各种打着 ChatGPT 旗号的,想割我的韭菜了 我就是想体验一下,真的须要那么简单么???? 疾速体验 ChatGPTPostcat 最近也上架了 ChatGPT 的接口,一键体验 ChatGPT,问什么答什么 极速体验: https://postcat.com/zh/?utm_s... 关上 Postcat -插件广场-APISpace-ChatGPT 接口 从当初开始,我给大家演示一下,如何 3 分钟,疾速体验 ChatGPT ,不花一分钱,不必海内注册,更不必到处搜教程 间接将 ChatGPT 接口增加到 Postcat 只须要两步,设置好【Token】 在下方输出你想要的发问 点击发送,期待返回后果即可! 小提示:点击发送之后,因为拜访 ChatGPT 的人多,所以须要急躁等一下会有后果~ 或者 ChatGPT 当前投入更大了,速度就更快了 当然,你还能够问 ChatGPT 其余的问题。 ChatGPT 答复问题的品质还是取决于发问的品质,所以如果你心愿它能给你精确的答复,你还是得须要好好发问,尽量精确形容! 极速体验链接: https://postcat.com/zh/?utm_s... Postcat 小介绍好了,轮到我本人简略介绍一下: Postcat 是一个可扩大的 API 工具平台。 Postcat 汇合根底的 API 治理和测试性能,并且能够通过插件简化你的 API 开发工作,让你能够更快更好地创立 API。 ...

February 10, 2023 · 1 min · jiezi

关于开源软件:我发现这个-API-工具支持各种加密测试

脚本分为 前置脚本 和 后置脚本 两种,别离对应 API 申请前 和 返回数据后 的两个阶段。 您能够通过编写 Javascript 代码,在 API 前置脚本中扭转申请参数,或者是在 API 后置脚本中扭转返回后果。 脚本罕用于以下几种状况: API 申请前对申请参数进行复制、加解密等操作,比方进行 Body 进行整体签名API 返回后果后对后果进行解密、断言等发动的 API 申请会顺次通过以下流程。其中如果你没有编写相应的 API 脚本,则会略过 API 脚本解决阶段。 Javascript 前后置脚本 在申请前对 API 数据进行解决 在申请后对返回参数进行断言 以上应用的工具是开源的 API 管理工具——Postcat,如果你想找一个轻量化且可拓展的,那它可能就是你要找的工具了。 Github:https://github.com/Postcatlab... Gitee:https://gitee.com/eolink_admi... 官网文档:https://docs.postcat.com/?utm...

February 10, 2023 · 1 min · jiezi

关于开源软件:发现新大陆超级好用的轻量级接口测试工具

明天小白给大家举荐一个超级好用的轻量级的接口测试工具,置信Postman的弱小大家都晓得,咱们平时在做接口测试和调试时,但我发现这个工具占用内容很高,很容易卡顿,苦楚的折磨让我一直寻找新的大陆! 两点要求:1、轻量;2、要快。 明天他来了:Postcat 一款国产的开源 API 管理工具,轻量化且可拓展 链接地址:https://postcat.com/ 根本介绍 1、简洁的界面 映入眼帘,咱们能够看到简洁的界面,清新又简略,没有太多冗余 2、简略的操作 咱们抉择申请形式,填写地址、申请文本类型、申请参数、间接发送 3、查看所有历史 测试实现后还能够查看所有测试历史 4、不仅仅HTTP,也反对多种协定连贯 5、插件广场 能够抉择装置本人须要的插件,当然也能够本人开发须要的插件 我也是老手,所以大家也能够本人钻研他的其余性能,然而基本操作就在本文,话不多说,下期再见!

February 10, 2023 · 1 min · jiezi

关于开源软件:来自开发者的点赞SOFAStack-入选-2022-中国技术品牌影响力企业榜

2022 年 1 月 4 日,中国技术先锋年度评比 | 2022 中国技术品牌影响力企业榜单正式公布。 作为中国当先的新一代开发者社区,SegmentFault 思否依靠数百万开发者用户数据分析,各科技企业在国内技术畛域的行为及影响力指标,最终评比出 30 家上榜企业。 SOFAStack 入选 2022 中国技术品牌影响力企业榜。 SOFAStack 社区于 2018 年 4 月 19 日开源,截至目前,共有 426 位贡献者,30000+ Star。 SOFAStack 开源社区可能疾速构建金融级云原生架构,同时在多个金融场景里均锻炼出最佳实际,具备以下特点: 凋谢:技术栈全面开源共建、 放弃社区中立、兼容社区、兼容开源生态,组件可插拔, SOFAStack 组件与其它开源组件可互相集成或替换; 金融级:蕴含构建金融级云原生架构所需的各个组件,让用户更加专一于业务开发,满足用户场景的现状和将来需要,经验过大规模场景的锻炼,特地是严苛的金融场景; 云原生:基于 SOFAStack 可疾速搭建云原生微服务体系,疾速开发更具可靠性、扩展性、更加易于保护的云原生利用。 SOFAStack 社区已有 50+ 公司用户,400+ 无效贡献者,其中内部贡献者有 356 人,起源蕴含知名企业、高校等,社区也与清华大学、北京大学、上海交通大学、北京邮电大学等高校均有单干。 社区始终都关注着开发者们的需要和感触。目前社区的整体参与者总计达几十万人,通过 PR、提 issue、社区活动(蕴含不限于 Meetup、Workshop、直播、圆桌会议等)等参加到社区中。 感激大家过来一年在 SOFA 社区中的参加和奉献,让 SOFA 社区在这刚刚过来的极其不寻常的一年里持续蓬勃发展。新的一年曾经降临,待到春暖花开时,咱们将迎来 SOFA 五周年的生日,届时又能够在线下相聚了,期待各位 SOFAer 的光顾! 《SOFAStack 社区 2022 年报》已收回,扫描下方二维码或点击此处填写问卷,有机会取得 SOFAStack 新年限定周边哦!

January 5, 2023 · 1 min · jiezi

关于开源软件:从开源安全看汽车安全新挑战

软件定义汽车的大趋势近些年,因为车联网、主动驾驶汽车、共享和电动(CASE)技术的提高,汽车行业走上了一条软件定义汽车的革命性路线。汽车正减速从传统的工业架构向智能化转型,智能汽车已成为寰球汽车产业倒退的策略方向。汽车不再仅仅表演从 A 地到 B 地的交通工具,现在,人们能够在汽车上实现从云端传输音乐,拨打免提电话,查看实时交通信息和个性化的路线支援,甚至是应用高级别的主动驾驶。 汽车实现智能化、网联化、电动化、共享化的能力背地是一直增长的代码量。2010 年,支流车型约含 1000 万行源代码,而 2016 年这一数字达到约 1.5 亿行。相比之下,一架波音 787 梦幻客机只蕴含约 1400 万行源代码。预计到 2025 年,汽车应用的代码量将达到 2 亿,并可能随着主动驾驶零碎的一直采纳而达到 10 亿行代码。大众汽车示意,到 2030 年,软件开发老本将占整车开发成本的一半以上。推动汽车行业技术反动的是软件,而这些软件大多是建设在开源代码的外围之上的。 整车中的软件大部分是由供应商提供的自研代码和第三方代码(包含专有和开源代码)的混合应用。因为有数千万行代码在多达 100 个基于微处理器的电子管制单元(ECU)上执行,并在整个汽车上联网,要精确理解应用了哪些开源组件,对 OEM 厂商来说是十分艰难的。并且当每年有数千个开源破绽不断涌现(例:2020 年新增 9658 个开源破绽, 起源:Mend, 《The State of Open Source Vulnerabilities 2021》)、且这一数字在一直增长的时候,汽车行业逐步意识到开源软件对于汽车的平安影响微小。其次,软件的许可证合规与基于 EAR 进口管制的合规也成为车企面临的微小挑战。对于如何确保整个研发流程中的软件供应链平安也是这些正在进行现代化转型的传统车企的噩梦。 轮子上运行的计算机(“Computer Running on Wheels”)面临的挑战1. 软件的复杂性大幅减少导致软件破绽可能成为威逼人身安全的重大因素依据麦肯锡的报告,“在过来的十年里,汽车行业单个软件我的项目的均匀复杂度增长了 300%。”例如,当有额定的性能需要时,OEM 厂商会发现现有的软件不能被复用,这意味着须要在一个齐全不同的系统配置上进行移植。这将导致额定的工作量和潜在的兼容性问题。更加简单的是,电子管制单元(ECU)上始终是采纳孤岛式的办法建造;每个单元都有本人的硬件和软件(其中包含中间件、操作系统和服务)。除此以外,人工智能(AI)和机器学习(ML)算法也在很大水平上导致了汽车中嵌入的软件越来越简单。 应用开源软件进行利用开发的状况每年都在持续增长。依据 Forrester 的报告,所有行业的各种规模的组织都在应用开源软件。起因很简略--开源升高了开发成本,放慢了上市工夫,并减速了翻新。但与此同时,开源也通过各种路径进入了车载利用。依附宽泛的组件和应用软件供应商,汽车制造商用开源组件构建解决方案并扩大开源平台。开源软件与自研代码一样都有很重大的安全性危险,并且开源代码的某些特点使一些宽泛应用的组件破绽对黑客来说十分有吸引力。开源代码被宽泛用于简直所有模式的商业和外部软件。对于黑客来说,寻找开源破绽的投资回报率很高。一个破绽就能够被利用来毁坏成千盈百的应用程序和网站。 当平安钻研人员证实他们能够通过互联网入侵吉普车以劫持其刹车和变速箱时,这便裸露了汽车软件存在极为重大的平安危险。因而克莱斯勒召回了 140 万辆汽车,以修复与此相关的软件中的 bug。近五年来,数百万辆通用的汽车和卡车受到一个近程破绽的影响,该破绽可能跟踪车辆,在高速上启动刹车,以及齐全禁用刹车。特斯拉 Model S 的信息娱乐零碎存在一个数年前的破绽,能够让攻击者通过近程黑客攻击齐全管制汽车。 许多汽车制造商及其软件供应商都部署了测试工具,如动态和动静应用程序平安测试(SAST 和 DAST)工具,以确定可能导致平安问题的编码谬误。尽管 SAST 和 DAST 在发现外部开发人员编写的代码中的谬误方面很无效,但它们在辨认第三方代码中的开源破绽方面并不能施展很大的成果。自 2004 年以来,美国国家破绽数据库(NVD)曾经披露了超过 74000 个破绽,但其中只有 13 个是由 SAST 和 DAST 工具发现的。 ...

January 3, 2023 · 1 min · jiezi

关于开源软件:为什么程序员不愿意写-API-文档了有什么好工具推荐么

一、程序员为什么不爱写文档?是他们变懒了吗?其实大多数程序员都不爱写文档,为什么呢? 我感觉能够从两个方面去拆解:客观原因、主观原因。 主观 - 工夫紧工作重,需要变动快需求方个别都是紧急需要,老板每次都要求麻利开发,疾速响应。按时交付的压力曾经让大多数程序员不堪重负,更别提写代码的同时同步保护文档了。而不写文档呢,或者糊弄写写文档又不影响相对重要的开发进度。尤其在互联网公司,需要变动十分快,代码不停地迭代,文档如果不迭更新的话,和理论代码差别很大。 主观 - 缺乏经验,写作艰难正是因为长期不写文档或者轻易一些,当须要去写的时候,发现无从下笔,写作可太难了!!! 而接口文档的要求相对来说较高,不仅须要内容详实,把问题形容分明,还须要有清晰的层级构造,让其余读者疾速获取到有用的信息,这对常常写代码不足文档教训的程序员来说,自身也是一项挑战。 二、写 API 文档这么麻烦,那到底写不写了?对于写 API 文档这件事件来说,往往短期高估文档的重要性,长期低估文档的重要性。短期以我的项目按时交付为主,我的项目细节也都还烂熟于心,然而长期来说,随着大脑的记忆内存被逐步回收,当再次迭代之前的代码时,甚至有人员变更时,不足文档的局部往往成为黑盒子,与其花大量工夫去摸索解密他人的代码,还不如整体重构来得快! 于是,咱们仿佛陷入了工作永远做不完的怪圈: 针对 API 文档这个老问题,我这里举荐一个款开源的 API 管理工具,有 API 相干的外围性能,叫 Eoapi Eoapi 是一个可扩大的 API 工具平台。 Eoapi 汇合根底的 API 治理和测试性能,并且能够通过插件简化你的 API 开发工作,让你能够更快更好地创立 API。 Demo 链接: www.eoapi.io/?utm_source=sf&utm_campaign=xh&utm_content=wendang 无妨本人试试,你相对会喜爱这个叫 Eoapi 的开源 API 管理工具 github 地址:https://github.com/eolinker/e...

December 29, 2022 · 1 min · jiezi

关于开源软件:LiteFlow-v294发布一款能让你系统支持热更新编排脚本编写逻辑的国产规则引擎框架

前言上海的天气降温让人猝不及防,然而咱们的迭代速度却颠三倒四。 明天咱们带来了LiteFlow v2.9.4版本。 咱们每次的公布的issue有很大一部分依靠于咱们的使用者社区,社区人越来越多。我看到了使用者在应用过程中遇到的问题,也收集了很多应用过程中很有意思的倡议。这些也正是咱们每一次迭代的方向。谢谢那么多的小伙伴的反对和倡议,LiteFlow始终会是一个以社区为驱动的开源框架。 LiteFlow是一个开源编排式规定引擎,可能让你的零碎逻辑任意编排,应用脚本书写逻辑,所有的逻辑和规定均可热变更。设计零碎和重构零碎的神器。 如果你是第一次晓得这个我的项目,能够去官网或相干的主页进行理解: 我的项目官网: https://liteflow.yomahub.com gitee托管仓库: https://gitee.com/dromara/lit... github托管仓库: https://github.com/dromara/li... v2.9.4介绍新版本咱们仍旧依靠于社区,一共实现了14个issue。 其中80%的issue来自于社区使用者。 2.9.4版本齐全兼容2.9.3版本,能够无缝降级。 新的脚本引擎鉴于之前社区有人反馈LiteFlow提供的Javascript脚本引擎是基于jdk的,而JDK的Javascript引擎只反对到ES5标准,且不反对Java 17。 所以这次咱们新增了一个Javascript引擎:GraalJs。反对ES6标准,且反对Java 8~17。 当然老的引擎咱们还是保留,如果是简略的js语法,你仍旧能够用老的引擎。 对于这块详情请参考官网的抉择脚本语言章节。 提供规定验证接口尽管LiteFlow在启动时会去编译所有的规定,如果有错也会具体报出,然而在更改脚本前,使用者可能不太确信本人的规定写的有没有问题。所以在社区内,有人提出了心愿减少一个验证规定的接口。 那这次咱们也提供了相应的接口。详情请参考官网的验证规定章节。 Zk和Etcd反对部分刷新机制如果你应用zk或者Etcd,你在zk和etcd里更改了规定,会主动推送到相应的利用进行无感主动刷新。 然而之前的实现模式是全副刷新,即不论你改了哪个规定,所有的规定刷新一遍。尽管LiteFlow刷新速度十分疾速,然而这种实现模式还是不够优雅。 这次咱们实现了部分刷新,即你扭转哪个即刷新哪个。 申明式组件的二次动静代理问题在社区内,咱们也收到了许多应用申明式组件个性小伙伴们的反馈,在申明式组件上应用相似事务标注等须要动静代理的个性时,LiteFlow的申明式组件会报错。 通过核验,咱们发现LiteFlow之前漏思考了二次动静代理的问题,这次咱们修复了。 其余修复在新版本中,咱们修复其余issue也有很多,包含脚本对元数据取值的bug,@ScriptBean标注所带来的一些小问题,脚本异样解决的优化等等。 残缺更新列表个性 #I61XYZ 额定提供GraalJs引擎,在js上多一个抉择https://gitee.com/dromara/liteFlow/issues/I61XYZ加强 #I63C31 zk,etcd反对只刷新扭转的局部https://gitee.com/dromara/liteFlow/issues/I63C31加强 #I61EMZ 减少一个验证EL规定的api,供查看之用https://gitee.com/dromara/liteFlow/issues/I61EMZ加强 #I633VH 倡议FlowBus提供批量移除子链办法https://gitee.com/dromara/liteFlow/issues/I633VH加强 #I61RI0 心愿能够凋谢对 QLExpress 的一些操作!https://gitee.com/dromara/liteFlow/issues/I61RI0加强 #I622I9 外部代码标准ChainName和ChainId问题https://gitee.com/dromara/liteFlow/issues/I622I9加强 #I61LYN 标准问题和 不必要的import 常量提取等https://gitee.com/dromara/liteFlow/issues/I61LYN修复 #I62PV3 申明式组件如果把LiteflowMethod定义在父类中,不执行https://gitee.com/dromara/liteFlow/issues/I62PV3修复 #I62DT1 如果对上下文标注@ScriptBean,那么脚本和java中拿到的上下文并不是同一个上下文https://gitee.com/dromara/liteFlow/issues/I62DT1修复 #I61H49 脚本异样心愿能够抛出到responsehttps://gitee.com/dromara/liteFlow/issues/I61H49修复 #I631ZF groovy脚本接入时,自定义异样抛出后被组件失败异样笼罩https://gitee.com/dromara/liteFlow/issues/I631ZF修复 #I61HIO 办法级的组件申明,而后在办法上打 Spring 的事务注解 @Transactional,会报错https://gitee.com/dromara/liteFlow/issues/I61HIO修复 #I62CB8 脚本与java交互取元数据的问题https://gitee.com/dromara/liteFlow/issues/I62CB8修复 #I61UZ6 switch抉择组件应用标签在同一组件时固定选到最初一个https://gitee.com/dromara/liteFlow/issues/I61UZ6社区LiteFlow的社区是一个异样沉闷的开源社区,这里有许多的开源大佬,技术大牛,群内的小伙伴也很乐意帮你去答复问题。 如果你在应用和学习中有任何问题,能够通过以下形式进入社区进行发问: https://liteflow.yomahub.com/...

December 1, 2022 · 1 min · jiezi

关于开源软件:Eoapi-x-OpenDLP-插件上线扫描-API-的敏感字段让你的-API-更安全

近日,开源 API 管理工具的 Eoapi 与哈尔滨工业大学(深圳)数据安全研究院发动的开源我的项目 OpenDLP,联结公布了单干插件——OpenDLP API 安全检查,小小插件能为 API 平安做什么呢?企业平安关注的事件很多,API 平安目前来讲是一个十分新兴的,然而十分重要的一个热点。软件世界数据通信万物互联的背景下,从我的视角来看,API 是一种新的可能更低成本去让数据买通,让软件集成融为一体,以及在某种程度上甚至可能以一种更好的生产方式,疾速实现企业软件交付的一种新模式。大家也曾经看到,各行各业的企业都曾经在做一些做业务或者做 API 化的策略转型,其实就在 API 外面。 基础设施增长的背地,肯定也会带来平安问题。咱们讲的黑客攻击,以利益为主导的黑客攻击它无非就是想管制你的资产,或者想偷你的数据,而 API 这两点它是都具备。 一方面,API 自身是裸露在网络上的,相当于软件构建的零碎,对网站攻打的手法齐全能够利用到 API 的场景里。API 的后端,比方一些 Java 的代码,也是各种各样的零碎,这些零碎它存在的破绽,也能够通过 API 打进去,最终导致本人的资产实现。这是传统攻防畛域的状况。 最近咱们看到一个更严厉的趋势,越来越多的 API 导致了十分重大的数据泄露。数据泄露对企业来讲,尤其是大型企业,以及关系到民生或基础设施的企业,他们一次大范畴的数据泄露是十分致命的,可能不仅仅是业务上损失,还会波及到监管层面。 以前的数据泄露事件,要层层攻打,从外网到内网到数据库打进去,打进去很吃力,最终能力把数据库的数据拖出来。当初不一样了,咱们只须要找到一个没有认证受权的 API 数据,轻易一个脚本就能够把数据拖出来,这是一个非常简单疾速的入侵链路,然而它的杀伤力微小。当初越来越多企业除了要面对破绽攻打,还要面对 API 导致的数据泄露。 进步 API 安全性的伎俩有很多,敏感数据辨认扫描就是其中之一。 OpenDLP 是一个开源的敏感数据辨认工具,咱们能够通过 OpenDLP 服务在 Eoapi 上对文档进行扫描,防止部署/凋谢带有敏感字段的 API 文档。 如何应用 OpenDLP 插件Docker 部署 OpenDLP 服务:Docker push longice/opendlp-eoapi:1.0.0 在 Eoapi 【插件广场】-【所有】-【OpenDLP】中找到 OpenDLP 插件一键装置 在 Eoapi 【插件广场】-【所有】-【OpenDLP】中输出 OpenDLP 服务地址,保留。 此时,在 API 详情页点击【扫描 API 敏感词】。 ...

November 24, 2022 · 1 min · jiezi

关于开源软件:有大量接口文档你该如何高效对接

在团队开发合作中,如果有大量的接口文档须要对接,每一个角色会如何解决 API 文档呢?通常是这样的(但不齐全是): API 设计人员应用 Swagger 写 API 文档前端开发 应用 mock.js mock 假的 API 数据后端开发 应用 Postman 调试 API测试人员 应用 JMeter 测试 API都 2022 年了,如果还这样做可能就会有这些问题: 前后端不能同步开发,整体进度会被拖慢;每一个角色拿到的 API 文档可能会不统一,长此以往,API 文档没有更新,版本太多。这个时候真的很须要一款 API 文档工具,既能进步开发效率,又能解决文档不统一的问题。给大家举荐一个比拟新的开源我的项目——Eoapi,一款开源可拓展的 API 工具,可能满足咱们开发者的外围需要。 目前这款软件曾经更新到 v1.9.0了,除了咱们常说的接口测试、接口文档、接口治理以及Mock 性能,新增团队合作、API 分享性能。除此之外他们还反对: 丰盛的插件市场,可拓展前后置脚本反对查看所有测试历史反对 Websocket 协定,后续也会新增反对更多的支流协定 在线 Demo: https://www.eoapi.io/?utm_sou... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github: https://github.com/eolinker/e... Gitee: https://gitee.com/eolink_admi...

November 18, 2022 · 1 min · jiezi

关于开源软件:Websocket-接口测试方法

WebSocket介绍HTTP与WebSocket的区别WebSocket测试方法WebSocket介绍WebSocket 是一种基于在单个 TCP 连贯上进行全双工通信的协定,是从HTML5开始提供的一种浏览器与服务器之间进行全双工通信的网络技术,解决了HTTP协定不适用于实时通信的毛病,相较于 HTTP 协定,WebSocket 协定实现了长久化网络通信,能够实现客户端和服务端的长连贯,可能进行双向实时通信,协定名为"ws"。 HTTP与WebSocket的区别 两者都是基于TCP协定进行数据传输,具备牢靠的传输能力,而且都是应用层协定HTTP是单向的通信,只能由客户端向服务端发送申请,服务端无奈被动向客户端发送音讯WebSocket是双向通信,客户端和服务端是通过握手建设连贯,可实现全双工通信,单方能够同时被动向对方发送音讯WebSocket在建设连贯时数据是通过HTTP协定传输的,然而建设之后,真正传输数据时应用的是更加牢靠的TCP协定二者关系WebSocket在建设连贯时,HTTP通过Upgrade音讯头来告诉客户端须要采纳WebSocket协定来实现这个申请,在发送完此响应最初的空行后,服务器就会切换到WebSocket协定,接口返回状态码为101,示意服务器曾经了解了客户端的申请,须要降级协定 WebSocket测试方法点击 Tab 加号选中 Websocket 协定 输出地址后点击连贯按钮就能够和服务端进行通信啦 在 message 输出你想要发送的内容在返回 message 信息流中查看内容好了,基本操作就是这样,无妨你本人亲自体验下。以上的性能来自这个叫做 Eoapi 的 API 工具。 在线 Demo 链接:https://www.eoapi.io/?utm_sou... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/eolinker/e... Gitee:https://gitee.com/eolink_admi...

October 28, 2022 · 1 min · jiezi

关于开源软件:开源-API-管理工具-v180-发布数据上云API-团队协作

大家好,时隔一个月,咱们又又又公布啦,本月的主题是:团队合作。 在开发模式是前后端合作的团队里,分享 API 文档信息会是前后端对接过程中重要的一环,我想在这次月报分享下咱们工具举荐的开发流程。 知乎上有一个热门问题:后端人员先开发后给文档正当吗? 我认为不合理,换位思考了下在这种开发模式下的前端人员,对接的过程应该蛮苦楚,前端开发的能力和教训决定后续改变代码的苦楚水平。 波及到多人独特合作实现一件事的时候,不应该把设计工作只交给其中的某一个人,应该先交换和沟通,将设计的流程前置,并用文档记录设计的过程和后果。 就像开发人员总会吐槽产品文档没写分明一样,前端人员也会吐槽后端不给文档或者写不分明,这个问题能够通过引入一个能合作设计并展现清晰的 API 信息的工具(明示 Eoapi)解决。 你能够思考在 Eoapi 尝试采纳以下繁难的合作流程: 设计接口原型,写接口文档;前后端同步写代码,依据文档对接;在对接过程中取得的信息优化接口原型,反复过程。更直观一些,两种合作流程的对比方图: 其实工作都是这些工作,但将设计的过程提前能够缩小很多合作问题。 敌人们,置信我,想通过不写文档节俭的工夫最终都会在对接扯皮过程中还给咱们;而且人多力量大嘛,不同的人有不同的角度,观点碰撞能够让设计更好更全面。 当然,决定在设计过程中投入多少工夫和精力是须要依据团队的状况调配的,团队很有默契不必约定也能设计统一,那文档什么时候写就不太重要了,适宜本人团队的流程就是最好的。 空间是什么?咱们在这个版本引入了空间的概念,一个空间个别是一个团队,咱们能够往空间里增加队友: 退出后就能够一起欢快地共享 API 和环境等空间内数据啦~ 想起在月初的时候,有用户恳(wei)请(xie)咱们肯定肯定肯定不要做登录的性能,我了解他的外围的诉求其实是关上就能用,别整那么多花里胡哨的。 作为 Eoapi 的产品和开发我想说:释怀吧,如果你用不上云端的性能,那就没有登录的必要,在本地空间内纵情应用吧~ 如何应用在服务端运行上面命令应用 Docker 一键启动。 git clone https://github.com/eolinker/eoapi-remote-servercd eoapi-remote-serverdocker-compose up -d --build在客户端中配置云服务地址点击连贯后就能够将数据上传到云端啦。 配置这一块咱们设计得非常简略,暗藏了很多配置细节,界面提醒能够指引你疾速上手新性能。例如初始化时能够让你抉择将本地的数据同步到云端。 后续打算Web 部署 目前咱们都是通过桌面端应用的,有的用户会感觉部署和更新不太不便。 所以咱们接下来会推出 Web 版本,不便大家关上浏览器就能应用(我集体更喜爱 Web 利用)~其实桌面端有桌面端的益处,不便找,加载快,不须要部署,萝卜青菜各有所爱。 API 分享 正在开发中,置信很快就能在 v1.9.0 和大家见面啦。 应用很简略,一键就能够通过分享链接疾速将 API 分享给相干的人员。原型图浅看一下: 取得 GVP除了新版本公布,还有一个好消息!本月咱们的开源我的项目终于也取得了 Gitee 官网的认可,荣获 Gitee 年度最有价值的开源我的项目名称——GVP,谢谢官网的认可!谢谢各位用户的反对! 致力晋升用户体验是咱们做开源我的项目的初心,只管咱们的我的项目在 Gitee 上传代码不久,但为了让所有用户能有较好的下载体验,咱们会在后续任何一个新版本公布的第一工夫同步 Gitee 。 ...

October 26, 2022 · 1 min · jiezi

关于开源软件:弄懂-Websocket-你得知道的这-3-点

WebSocket原理WebSocket同HTTP一样也是应用层的协定,然而它是一种双向通信协定,是建设在TCP之上的。 WebSocket是一种在单个TCP连贯上进行全双工通信的协定。WebSocket API也被W3C定为规范。 WebSocket使得客户端和服务器之间的数据交换变得更加简略,容许服务端被动向客户端推送数据。在WebSocket API中,浏览器和服务器只须要实现一次握手, 两者之间就间接能够创立持久性的连贯,并进行双向数据传输。 握手过程: 浏览器、服务器建设TCP连贯,三次握手。这是通信的根底,传输管制层,若失败后续都不执行。TCP连贯胜利后,浏览器通过HTTP协定向服务器传送WebSocket反对的版本号等信息。(开始前的HTTP握手)服务器收到客户端的握手申请后,同样采纳HTTP协定回馈数据。当收到了连贯胜利的音讯后,通过TCP通道进行传输通信。 Websocket默认应用申请协定为:ws://,默认端口:80。对TLS加密申请协定为:wss://,端口:443。 WebSocket与 HTTP 的关系相同点: 都是一样基于TCP的,都是可靠性传输协定。都是应用层协定。不同点: WebSocket是双向通信协定,模仿Socket协定,能够双向发送或承受信息。HTTP是单向的。WebSocket是须要握手进行建设连贯的。分割: WebSocket在建设握手时,数据是通过HTTP传输的。然而建设之后,在真正传输时候是不须要HTTP协定的。 WebSocket 与 Socket 的关系Socket其实并不是一个协定,而是为了方便使用TCP或UDP而形象进去的一层,是位于应用层和传输管制层之间的一组接口。tcp是牢靠的连贯,且连贯后才能够发送数据;udp是不牢靠的连贯,不连贯就能够发送数。 Socket是应用层与TCP/IP协定族通信的两头软件形象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把简单的TCP/IP协定族暗藏在Socket接口前面,对用户来说,一组简略的接口就是全副,让Socket去组织数据,以合乎指定的协定。 当两台主机通信时,必须通过Socket连贯,Socket则利用TCP/IP协定建设TCP连贯。TCP连贯则更依附于底层的IP协定,IP协定的连贯则依赖于链路层等更低层次。 WebSocket则是一个典型的应用层协定,Socket是传输管制层协定。 如果你在日常工作中须要进行 Websocket 协定测试,但又不晓得应用什么工具,那我举荐你用这一款开源的 API 管理工具——Eoapi: 在线 Demo 链接:https://www.eoapi.io/?utm_sou... 文档链接:https://docs.eoapi.io/?utm_so... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/eolinker/e... Gitee:https://gitee.com/eolink_admi...

October 21, 2022 · 1 min · jiezi

关于开源软件:如何使用-API-工具做-Websocket-测试

在 API 测试中,对 Websocket 协定的反对呼声越来越高,明天给大家举荐一款开源的 API 管理工具——EOAPI,以及教教大家,如何利用这款工具做 Websocket 测试。 在线 Demo 链接:https://www.eoapi.io/?utm_sou... 上面我会配上示意图: 点击 Tab 加号选中 Websocket 协定 输出地址后点击连贯按钮就能够和服务端进行通信啦 在 message 输出你想要发送的内容 在返回 message 信息流中查看内容好了,基本操作就是这样,无妨你本人亲自体验下. 在线 Demo 链接:https://www.eoapi.io/?utm_sou... 文档链接:https://docs.eoapi.io/?utm_so... 如果你感觉这个开源我的项目还能够的话,无妨点个 star 反对下他们,如果你感觉还须要持续优化,无妨去提个Issue. Github:https://github.com/eolinker/e...Gitee:https://gitee.com/eolink_admi...

October 21, 2022 · 1 min · jiezi

关于开源软件:规则引擎深度对比LiteFlow-vs-Drools

前言Drools是一款老牌的java规定引擎框架,早在十几年前,我刚工作的时候,曾在一家第三方领取企业工作。在外围的领取路由层面我记得就是用Drools来做的。 难能可贵的是,Drools这个我的项目在十几年后还仍旧放弃着开源和更新。 https://github.com/kiegroup/d...而LiteFlow也是一款java规定引擎,于2020年开源。通过2年的迭代,当初性能和个性也十分棒,很适宜用在高复杂度的外围业务上,同时又能放弃业务的灵活性。 https://gitee.com/dromara/lit...这篇文章咱们就来深刻比拟下这两款框架,都适宜用在什么样的场景,有什么异同点,以及在雷同的场景下表现力如何。 (其中Drools基于7.6.0版本,LiteFlow基于2.9.0版本) 尽管题主就是开源我的项目LiteFlow的作者,然而我这几天也深刻理解了下Drools,尽量从很主观的角度尝试去剖析。很多比对的后果都是基于理论应用后的感触。不过题主难免会带有一些主观的心理以及理解的片面性,尤其是Drools当初曾经更新到了8.X,说实话并没有应用过。所以说的不正确的中央也请斧正。 规定引擎的定义首先我想明确下规定引擎的定义,因为很多小伙伴容易把规定引擎和流程引擎的概念混在一起。 规定引擎通常是嵌入在应用程序组件中的,实现了将业务决策从利用程序代码中分离出来,并应用预约义的语义模块编写业务决策。承受数据输出,解释业务规定,并依据业务规定做出业务决策。 简略来说就是,规定引擎次要解决易变逻辑和业务耦合的问题,规定驱动逻辑。以前我的项目内写死在代码里的逻辑用规定引擎能够提出来,随时热变更。 而流程引擎实现了将多个业务参与者之间依照某种预约义的规定进行流转,通常须要波及到角色信息。 简略来说就是,流程引擎次要解决业务在不同角色之间的流转问题,如销假流程,审批流程,往往要通过多个角色。规定驱动角色流转。 两款框架的异同点Drools和LiteFlow都是优良的开源框架,都能把业务中的逻辑给剥离进去。并且领有本人表达式语法。 然而有所区别的是,Drools强调逻辑的片段规则化,你能够把外围易变局部写成一个规定文件,等同于原先写在java里的代码当初搬迁到了规定文件。规定文件里的代码全都是能够热变更的。 而LiteFlow是基于组件式的思维设计的,更强调组件的规则化,覆盖范围是整个业务。编排的最小单位是组件,规定文件用来串联组件间的流转。同时LiteFlow也反对片段式的代码规则化,因为LiteFlow也反对业务逻辑的脚本化。规定反对热变更。 所以评判一个规定引擎是否合格的次要因素有: 有没有灵便的规定表达式来反对规定和Java之间是否十分不便的联动API调用是否不便,和各种场景零碎的集成如何侵入性耦合比拟规定的学习老本,是否容易上手规定表达式是否有语言插件规定是否和业务松耦合,存储于其余中央规定的变更是否实时扭转逻辑是否有界面状态来反对非技术人员的应用框架的性能体现上面就从这几个方面来细细比拟两款框架的表现力 规定表达式Drools的规定表达式为Java量身定制的基于Charles Forgy的RETE算法的规定引擎的实现。 Drools的规定表达式贴近天然编程语言,领有本人的扩展名文件drl,语法反对全,基本上天然编程语言有的语法drl全有。所以,齐全能够把java的逻辑写在drl文件中。 来看下drl文件的大体样子: 能够看到,Drools定义规定的形式是一个规定一段,有明确的when...then,示意当满足什么条件时,做什么。在触发规定时候,会主动判断该去执行哪一段rule,如果满足多个条件,是能够触发多个规定的then的。 LiteFlow编排表达式简略易懂,底层用EL表达式语言包装而成。用于组件的流转,反对异步,抉择,条件,循环,嵌套等一些场景。 组件层面不仅能够是java组件,还能够用脚本语言来编写,目前反对了Groovy和QLExpress两种脚本语言。所有能用java实现的,用脚本语言都能够做到。 LiteFlow的规定文件大体长这个样子: 上述LiteFlow的编排表达式中,所表白的是上面一个逻辑流: LiteFlow编排表达式反对THEN(同步),WHEN(异步),SWITCH(抉择),IF(条件),FOR(次数循环),WHILE(条件循环)等大表达式,每个表达式又有许多扩大关键字可供选用。 脚本组件反对的Groovy根本和java语法差不多,Groovy语言反对的所有你均可应用。甚至能够在Groovy语法中额定定义类和办法。 论断 总的来说,两款框架都能用脚本来定义逻辑片段,在定义逻辑片段层面,Drools应用的是自研语法,LiteFlow应用的是插件式的Groovy,其实集体感觉Groovy更靠近java语法,你甚至于能够在其中定义类和办法。Drools在高级利用中,也能够用规定定义方法,然而我感觉并不那么天然。 LiteFlow最大的特点是除了定义逻辑片段外,还能够进行全局组件的编排。而这正是LiteFlow称之为编排式规定引擎的由来。应用简略的编排语法能够设计出简单的逻辑流。反对java和脚本混编。 和Java的数据交换在Drools的规定中,你能够通过import关键字来引入java的一些类包类进行调用。 在LiteFlow的脚本组件中,Groovy也能够通过import 来引入java的任何包来调用。 Drools中,能够间接援用到fact对象。 LiteFlow中,能够间接援用到context对象,context上下文贯通整个编排链路。 LiteFlow中,通过@ScriptBean注解,你甚至能够把spring上下文中的bean引入进来间接调用。利用这个个性,甚至于能够在脚本中调用rpc,调用数据库dao对象取数据。这个在Drools外面尽管也能够做到,然而要麻烦的多。 论断 根本都能满足和java的数据交换需要,然而LiteFlow在场景上反对的显然更加多一点。 API以及集成在API调用层面,Drools须要去定义KieContainer,KBase,KSession一系列对象。LiteFlow框架只须要应用到LiteFlowExecutor对象。 Drools反对了编程式接入,然而在springboot中须要本人写很多配置类来去集成。 LiteFlow不仅反对了编程式接入,在springboot环境下更是提供了主动拆卸的starer接入形式,连定义LiteFlowExecutor都不须要,间接从上下文中就能够拿到主动拆卸后的对象进行调用。 论断 LiteFlow api更加简略,同Springboot集成度更加高。 侵入性耦合比拟Drools须要在java代码里须要用到规定的中央用KSession对象去匹配规定进行调用。规定和java是拆散的。在调用层面耦合了KSession调用对象。 LiteFlow的规定和java也是拆散的,然而LiteFlow多了组件这一概念,所以在组件层面是须要继承的,然而同时也提供申明式组件的抉择,应用申明式的形式耦合绝对要缩小一些。在调用层面也须要去调用LiteFlowExecutor对象。 论断 在耦合度下面,因为LiteFlow提供编排个性,API耦合度绝对稍高一些。Drools耦合少一些。 规定的学习老本Drools的规则学习老本挺高的。因为是自研的规定语法,须要一个很全面的相熟过程。而且文档全英文。 LiteFlow的编排规定极其简略,如果你不应用脚本组件的话,基本上10分钟即可上手。就算应用了groovy脚本,因为groovy十分相似于java,学习老本也非常少。况且有大量的学习材料能够参阅。 LiteFlow的文档中英文齐全,还有良好的中文社区能够答疑解惑。 论断 在规则学习老本上,Drools的规定学习曲线比LiteFlow高出不止一丁点。 是否有语言插件Drools在Eclipse和IDEA上均有插件来做语法的高亮,预检查和提醒。 LiteFlow在IDEA上有插件来做高亮,预检查和提醒。Eclipse上没有。 论断 思考到应用eclipse的人简直很少了,基本上2款规定引擎在语言插件上都做到了。 规定的存储Drools的规定实践上反对你的规定存于任何中央,但这所有都须要你手动去额定实现。本人去存,本人去取。 Drools还有款workbeanch的插件,能够将规定存于workbeanch中。只有这个是不须要本人存取的。 LiteFlow除了本地规定以外,原生反对将规定存储于任何规范SQL的数据库,还原生反对了Nacos,Etcd,zookeeper等注册核心。只须要配置一下即可。除此之外,还提供了扩大接口,不便你本人扩大成任意的存储点。 论断 LiteFlow的规定存储反对比Drools丰盛的多。 规定的变更是否实时扭转逻辑Drools热刷新规定的形式当初看起来有点傻,它的规定是通过生成jar的形式。而后零碎近程动静读取jar包来实现规定刷新的。 而且肯定得通过workbench的形式进行规定的热变更。 LiteFlow在这个层面做的高级很多。如果你是用Nacos,Etcd,zookeeper等形式存储,不必做任何事,扭转即主动刷新。如果你是SQL数据库存储,或者本地存储。在扭转规定之后,须要调用LiteFlow框架提供的一个API进行热变更。2种形式均可热更新。并且在高并发状况下是平滑的。 论断 ...

October 18, 2022 · 2 min · jiezi

关于开源软件:安势清源-SCA-助力超大规模高科技企业加速开源风险治理

近日,上海安势信息技术有限公司的清源 SCA 工具在腾讯胜利部署。 开源软件在促成寰球的技术创新方面施展着越来越重要的作用,企业越来越依赖开源软件来减速开发与翻新。据 Gartner 的调查报告,现在超过 90% 的企业在其重要的 IT 零碎中应用了开源软件。不过正如 2021 年底暴发的 Log4j 事件对整个软件供应链造成的影响,开源平安问题依然充斥挑战。通过 SCA (Software Composition Analysis, 软件组成剖析) 工具,可帮忙企业构建精确的 SBOM (Software bill of materials, 软件物料清单),提供清晰的软件成分可视性剖析,升高和治理利用或容器中因应用开源软件和其余第三方代码(软件)引入的平安、品质与许可证合规性危险。 在软件开发过程中,企业将不可避免的间接或间接引入开源软件。如在开发阶段由开发人员引入的代码片段,通过 Maven 等罕用的包管理器引入的依赖等,正是因为开源软件可能通过多种不同模式引入代码库,这就要求 SCA 工具必须具备不同的探测技术来精确辨认在各种场景下引入代码库中的开源软件。在这一点上,清源 SCA 充沛笼罩所有的引入场景: 1、多维度的探测技术 清源 SCA 可进行代码片段辨认、文件辨认、组件辨认、依赖辨认和容器镜像扫描。 通过多种行业当先的算法打造出平安、合规、高效、易用的软件成分剖析零碎,为企业梳理研发过程中的软件物料清单,提供弱小的技术支持。 SCA 工具的挑战之一是如何残缺、精确的辨认出产品中所引入的开源组件,除了多维度的探测技术和匹配算法外,同时必须有一个弱小的数据库,在此基础上,关联组件版本的许可证、破绽、加密算法等其余特色数据。 2、弱小的数据库 清源 SCA 领有海量数据储备,其中蕴含 24 万破绽数据、1 亿 7 千万的组件信息、3 万亿行开源代码、2,000 多种许可证类型、1000 亿文件特色信息等,检测范畴笼罩各大开源组件仓库。 清源 SCA 宏大的数据库为精确辨认开源组件提供弱小的撑持,保障组件辨认的完整性。同时,清源 SCA 的专家团队一直优化数据库匹配算法的效率和性能,保障继续更新和积攒。 随着近年 DevOps 的利用与倒退,SCA 工具作为工具链当中的一环,集成与接入能力显得尤为重要;其次,作为一款成熟的企业级的 SCA 工具,必须通过大型企业的落地实际测验,产品性能须要满足大型企业的高标准的要求,工具绝不能成为影响研发效率的卡点。通常大型企业的业务场景、组织架构比较复杂,所以一款企业级 SCA 工具必须具备负载平衡等灵便的形式来满足企业简单的需要场景。 3、企业级的解决方案 清源 SCA 作为一款已在大型互联网企业落地实际的 SCA 工具,具备以下特点: ...

October 17, 2022 · 1 min · jiezi

关于开源软件:超级好用的轻量级接口测试工具-Eoapi

明天小白给大家举荐一个超级好用的轻量级的接口测试工具,置信 Postman 的弱小大家都晓得,咱们平时在做接口测试和调试时,但我发现这个工具占用内容很高,很容易卡顿,苦楚的折磨让我一直寻找新的大陆! 两点要求:1、轻量;2、要快。 明天他来了:Eoapi 一款国产的开源 API 管理工具,轻量化且可拓展 Demo 地址:https://www.eoapi.io/?utm_sou... 文档地址:https://docs.eoapi.io/?utm_so... Github:https://github.com/eolinker/e... Gitee:https://gitee.com/eolink_admi... 根本介绍1、间接点击链接,倡议珍藏映入眼帘,咱们能够看到简洁的界面,清新又简略,没有太多冗余 2、简略的操作咱们抉择申请形式,填写地址、申请文本类型、申请参数、间接发送 3、查看所有历史测试实现后还能够查看所有测试历史 4、不仅仅HTTP,也反对多种协定连贯 5、插件广场能够抉择装置本人须要的插件,当然也能够本人开发须要的插件 我也是老手,所以大家也能够本人钻研他的其余性能,然而基本操作就在本文,话不多说,下期再见!

October 14, 2022 · 1 min · jiezi

关于开源软件:一款替代-postman-的国产开源-API-管理工具

大家都晓得,Postman 是一个十分受欢迎的 API 接口调试工具,提供有 Chrome 扩大插件版和独立的APP,不过它的很多高级性能都须要付费能力应用。 但我明天要举荐的是另外一款国产开源的 API 管理工具——Eoapi 无妨能够先体验一番。 在线 Demo: https://www.eoapi.io/?utm_sou... Eoapi 用户文档:https://docs.eoapi.io/?utm_so... Github 地址:https://github.com/eolinker/e... Gitee 地址:https://gitee.com/eolink_admi... 目前这个我的项目是有专门的开源团队在保护的,目前曾经更新到 v 1.8.0 版本: 反对 websocket 协定前后置脚本反对查看所有测试历史团队合作性能后续的话,打算更新: 反对 HTTP API 测试用例插件反对 UI 管制更多协定反对看她们产品的 Roadmap ,有明确的布局,所以别放心他们会中途放弃。我的项目在 github 上的反馈也很不错,目前数据在稳步增长。 产品界面长这样,简洁清新,是我对它的评估: 当然,如果你须要英文版的,也能够去设置,切换语言版本: 好了,是时候试试新的 API 管理工具了,你不尝试新的,国产开源 API 管理工具怎么有机会翻身?不试试新的,你怎么发现有更好用的呢?!

October 14, 2022 · 1 min · jiezi

关于开源软件:国产规则编排引擎LiteFlow-v290发布超多特性汹涌而至

前言LiteFlow v2.9.0明天正式公布!同时带来的还有LiteFlowX 1.1.0 IDEA插件正式版! LiteFlow v2.9.0版本带来了大量的个性,一共19个issue,还有数不清的优化。是所有公布的版本中个性最多的一次。 咱们纵向拓展了LiteFlow的深度,赋予新版本的LiteFlow在编排时领有更多的能力,适应更多的场景。 咱们也同时横向拓展了LiteFlow的广度,推出了规定插件机制,赋予LiteFlow能反对更多的中间件的能力。 让咱们一起来看看此次2.9.0版本中咱们新增了哪些激动人心的个性吧。 如果你是第一次晓得这个我的项目,能够去官网或相干的主页进行理解: 我的项目官网: https://liteflow.yomahub.com gitee托管仓库: https://gitee.com/dromara/lit... github托管仓库: https://github.com/dromara/li... 循环表达式尽管之前LiteFlow在表达式层面领有诸多的关键字,能够满足大部分的编排场景。然而在循环层面,并没有原生提供语法来反对。很多小伙伴只能依附隐式流程本人来实现循环操作。 在2.9.0版本中,咱们新增了次数循环表达式和条件循环表达式。 次数循环表达式: <!-- 间接写数字 --><chain name="chain1"> FOR(5).DO(THEN(a, b, c);</chain><!-- 在java组件里获取次数 --><chain name="chain1"> FOR(x).DO(THEN(a, b, c);</chain>条件循环表达式: <chain name="chain1"> WHILE(w).DO(THEN(a, b, c);</chain>退出循环关键字: <!-- BREAK能够和FOR...DO连用 --><chain name="chain1"> FOR(x).DO(THEN(a, b).BREAK(c);</chain><!-- BREAK能够和WHILE...DO连用 --><chain name="chain1"> WHILE(w).DO(THEN(a, b).BREAK(c);</chain>对于循环表达式的具体阐明请查看[循环编排]章节。 https://liteflow.yomahub.com/...中间件的原生存储反对之前LiteFlow只反对本地文件和zk形式存储,如果你想用其余的形式存储规定,LiteFlow提供了扩大接口,须要使用者本人去实现。 这无疑减少了一些应用老本。 在v2.9.0版本中,官网从底层推出了规定存储插件机制,并一口气推出了SQL数据库,Nacos,Etcd的反对,当然之前的ZK反对也独立出了插件。 应用插件,你无需再去本人扩大接口实现。只需引入插件。配置参数即可。大大降低了应用老本。 当然,对于没提供的中间件插件实现,你仍旧能够自行扩大去实现。 ZK规定插件具体阐明:[ZK规定文件配置源] https://liteflow.yomahub.com/...SQL数据库规定插件具体阐明:[SQL数据库配置源] https://liteflow.yomahub.com/...Nacos规定插件具体阐明:[Nacos配置源] https://liteflow.yomahub.com/...Etcd规定插件具体阐明:[Etcd配置源] https://liteflow.yomahub.com/...办法级的申明式组件之前LiteFlow推出了申明式组件,不晓得大家都用过没。 申明式组件有一个最大的益处就是无侵入,你仅需通过注解就能够定义出一个组件。提供了自在扩大的可能。 然而类申明组件也是须要一个类对应一个组件。如果你的组件超多,达到上百个,那就须要定义上百个类。造成了类爆炸的景象,不好治理。 v2.9.0推出的办法级的申明式组件正好能解决这个痛点。新版本容许你在一个类里通过办法上的注解实现多个组件的申明。这所有仅仅须要一个注解即可实现。 对于办法级的申明式的具体应用办法请参考:[办法级别式申明] https://liteflow.yomahub.com/...任意Bean均可引入至脚本早在2.6.X的时候LiteFlow就反对了脚本编写,有些易变且简略的逻辑你能够用脚本来进行编写。 然而之前的版本,脚本里只能援用上下文。 有的小伙伴心愿脚本领有更多的能力,让脚本和java代码之间领有更多的交互,比方用脚本读个文件?比方用脚本进行一次RPC的调用? 这次v2.9.0带来了新的个性,任意Bean均可引入至脚本,换而言之,就是在脚本里能够调用任意Java Bean的对象。 这所有只须要一个注解即可实现。 对于脚本与Java之间交互的加强的具体应用办法请参考:[与Java进行交互] https://liteflow.yomahub.com/...反对单组件的多定义LiteFlow之前的版本是不反对单组件多定义的,也就是把一个组件定义成不同的NodeId。如果你这样去定义,那这个组件总是被最初一个NodeId所笼罩。 v2.9.0当初反对了这种定义形式,你能够用动静代码来构建组件,给同一个组件构建不同的nodeId。 对于动静代码构建组件的具体应用办法请参考:[如何动静结构] https://liteflow.yomahub.com/...组件级别的规定参数设置之前LiteFlow在规定层面是没法给组件设置额定的参数的。 参数只有request层面的参数,由FlowExecutor调用的时候传入。大多数状况,reqeust传入的参数就曾经够用了。 ...

October 11, 2022 · 1 min · jiezi

关于开源软件:直播预告-Homebrew-作者-Max-Howell如何打造杰出的开发者工具

本期 DevData Talks 邀请到 Homebrew 作者 & Tea.xyz 的 CEO Max Howell,与咱们一起聊聊开发者工具和开源社区。 越来越多优良的 To Developer 产品来自开源社区。开源社区中,社群的积极参与、产品用户与社区贡献者角色的连接,都为开发者工具的进化提供了加速度。 与此同时,开源也并非银弹。相当一部分我的项目也因为种种原因陷入停滞,止步不前。 作为 macOS 生态内最胜利的包管理工具,Homebrew 在产品思路、社区培养方面有哪些值得分享的教训?作为 Homebrew 作者的 Max 如何了解当下的开源现状? 置信他乏味辛辣的分享,将给你带来贵重的教训参考和对待开源的陈腐视角。 直播亮点: 作为最胜利的 macOS 包管理工具,Homebrew 做对了什么?打造优良的开源开发者工具,须要关注哪些因素?开源模式正在面对哪些挑战?线上直播工夫直播工夫:8月31日 (周三) 直播工夫:20:00-21:20 海报 流动福利参加直播间流动,将有机会取得《软件研发效力晋升实际》实体书、小度智能音箱、充电宝、时尚咖啡杯、神奇宝贝手办、打工人必备 U 型枕等等。 对于DevData TalksDevData Talks 是一个凋谢分享研发效力实践经验与方法论的系列栏目。 DevData Talks 会邀请行业专家分享研发效力晋升、数字化治理等相干先进实际与深刻思考,继续积淀优质干货内容。与搭档们独特探讨研发效力畛域的实际与思考,一起交换、学习、成长。 独行者速,众行者远。 如何成为 DevData Talks 讲师?DevData Talks 也期待更多研发效力专家参加到 DevData Talks 当中来分享深度思考和贵重教训,与从业者们互动探讨,在这里你将播种: 晋升集体影响力:分享深度思考与贵重教训,减少集体影响力,与从业者们互动探讨晋升品牌影响力:输入高效求实的工程师文化,建立研发效力畛域先进形象,助力企业雇主品牌建设超万次曝光量:DevData Talks 经营团队基于您分享的主题与内容纲要,定制多样的流传计划,触达微信社群、CSDN、开源中国、思否、掘金、TesterHome、QECon、B站等媒体与社区,打出最佳流传配合深度思考:通过复盘实际筹备内容、与社群搭档沟通交流等过程,梳理思考脉络,相互启发思考如果你想要报名加入 DevData Talks ,欢送扫描下方二维码回复“讲师”分割 DevData Talks 进行报名!

August 30, 2022 · 1 min · jiezi

关于开源软件:Excelize-发布-261-版本更新支持工作簿加密保护

Excelize 是 Go 语言编写的用于操作 Office Excel 文档根底库,基于 ECMA-376,ISO/IEC 29500 国际标准。能够应用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创立的电子表格文档。反对 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格局,高度兼容带有款式、图片(表)、透视表、切片器等简单组件的文档,并提供流式读写 API,用于解决蕴含大规模数据的工作簿。可利用于各类报表平台、云计算、边缘计算等零碎。入选 2020 Gopher China - Go 畛域明星开源我的项目(GSP)、2018 年开源中国码云最有价值开源我的项目 GVP (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档根底库。 开源代码GitHub: github.com/xuri/excelize Gitee: gitee.com/xurime/excelize 中文文档: xuri.me/excelize/zh-hans 2022年8月22日,社区正式公布了 2.6.1 版本,该版本蕴含了多项新增性能、谬误修复和兼容性晋升优化。上面是无关该版本更新内容的摘要,残缺的更改列表可查看 changelog。 此版本中最显著的变动包含: 兼容性提醒重命名导出类型 TabColor 为 TabColorRGB重命名导出常量 TotalColumns 为 MaxColumns重命名导出变量 ErrMaxFileNameLength 为 ErrMaxFilePathLength重命名导出变量 ErrWorkbookExt 为 ErrWorkbookFileFormat移除了导出变量 ErrEncrypt工作表名称不再辨别大小写新增性能新增 34 项公式函数: CONVERT, COVARIANCE.S, DAVERAGE, DAYS360, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EOMONTH, EUROCONVERT, GROWTH, HYPERLINK, MINVERSE, MMULT, NETWORKDAYS, NETWORKDAYS.INTL, PEARSON, RSQ, SKEW.P, SLOPE, STDEVPA, STEYX, TREND, WEEKNUM, WORKDAY, WORKDAY.INTL新增 DeleteComment 函数反对删除单元格批注,相干 issue #849通过 AddShape 函数增加形态时反对指定宏新增对 1900 和 1904 日期零碎的反对,相干 issue #1212新增更新超链接反对,相干 issue #1217通过 AddPicture 增加图片时,现已容许插入 EMF、WMF、EMZ 和 WMZ 格局图片,相干 issue #1225优化关上工作簿失败时的谬误提示信息,新增导出变量 ErrWorkbookPassword 定义了关上工作簿时明码验证失败的谬误提示信息,以便开发者可依据不同的谬误类型进行采取相应解决新增导出常量 MinFontSize、MinColumns 和 MaxCellStyles 以定义最小字号、最小列号和单元格款式数量下限公式引擎新增数组公式反对反对依据给定的明码对工作簿进行加密爱护,相干 issue #199设置单元格富文本格式时,反对通过指定 RichTextRun 中的 vertAlign 属性设置上标和下标通过 DeleteDataValidation 函数删除数据验证时,反对省略第二个援用区域参数以删除工作表中的全副数据验证,相干 issue #1254公式计算引擎反对带有百分比符号的条件比拟表达式公式计算引擎反对依赖依赖公式计算,相干 issue #1262新增文档关上选项 MaxCalcIterations 以反对指定公式迭代计算的最多迭代次数新增导出类型 ColorMappingType 以定义色彩转换枚举类型插入或删除行列时反对主动调整表格区域反对设置与获取工作表标签色彩索引、主题和色调,相干 issue #1283行迭代器新增函数 GetRowOpts 反对读取行属性,相干 issue #1296兼容性晋升晋升与外部蕴含有效款式计数工作簿的兼容,解决 issue #1211晋升与 Google Sheet 的兼容性,解决 issue #1244 和 #1314流式写入器将不再为值为 nil 的单元格写入工作表,解决 issue #1299问题修复修复当数据透视表中值区间与行/列区间蕴含雷同字段时,生成的工作簿损坏问题,解决 issue #1203修复因短少单元格类型查看导致的获取单元格富文本内容异样问题,解决 issue #1213修复读取单元格值时,因单元格类型推断谬误导致的读取后果异样问题,解决 issue #1219修复读取带有 0 占位符数字格局表达式款式的单元格时,值为空的问题,解决 #1312 和 #1313修复局部状况下设置单元格值时,单元格继承行列款式有误的问题,解决 issue #1163修复在不蕴含视图属性设置的工作表中设置窗格时将呈现 panic 的问题修复局部状况下公式引擎多参数公式计算结果有误的问题修复因外部页眉页脚属性定义程序有误导致的生成工作簿损坏问题,解决 issue #1257修复局部状况下单元格赋值生效的问题,解决 issue #1264修复设置工作表视图属性时可能呈现的 panic修复局部状况下因工作表外围属性中 dcterms 属性为空,导致生成的工作簿损坏问题修复新建工作表后工作簿属性失落问题,解决 issue #1298性能优化进步按行赋值和合并单元格的性能,复原因修复 issue #1129 时导致的性能降落优化了公式计算引擎的性能升高 AddComment 增加批注时的内存开销并缩小耗时,解决 issue #1310其余Go Modules 依赖模块更新单元测试与文档更新,修复单元测试在 go1.19 下的兼容性问题蕴含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新致谢感激 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表: ...

August 22, 2022 · 2 min · jiezi

关于开源软件:又更新了新版本-V-130-发布了新增前后置脚本查看所有测试历史国际化

Eoapi V 1.3.0 版本性能终于在这个夏天公布了,UI 进行了降级,更清新、更简略。 看进去哪里改变了吗? 公布了几个大性能: 零碎、插件多语言反对测试反对前后置 Javascript 脚本,反对加解密、断言、全局变量等等性能查看所有测试历史反对预览选中环境本月更新主题围绕:优化 UI、测试加强、国际化。其实从 Eoapi 立项开始就有一个终极大指标:建设 API 生态系统。 咱们心愿有种独特的环境可能把零碎外部任意两个或多个和 API 无关的利用通过 API 信息连接起来。 咱们晓得一个生态系统想要保障稳固和凋敝,须要源源不断地输出能量,在 Eoapi 中,API 信息就是这生态系统中的能量,从这个角度看: 记录 API 信息等同于从内部输出能量开发插件等同于减速生态系统中能量的传递所有开发者都是生产者也是消费者所以咱们所有的性能决策都是围绕这个指标开展的,比如说反对多语言能够让产品接触不同文化背景、开发习惯的用户,打磨不同的场景使零碎更凋敝、更强壮。 我晓得很多产品都是先在国内有肯定的用户根底后,再抉择出海。 但我感觉越早思考国际化对于打磨产品、建设社区、用户数据积淀都有益处,能被寰球拜访的 Github 曾经提供了孵化的土壤。 咱们人不多,尽量减少翻译老本或者就能够做了,那就做吧,初生牛犊不怕虎。 抉择优化和加强测试体验,是因为目前大多数使用者是集体开发者/极客,最最最罕用的性能就是 API 测试,所以咱们退出了全局测试历史、前后置脚本等性能。 更新图文版1、多语言目前反对中英文两个版本 2. Javascript 前后置脚本在申请前对 API 数据进行解决 在申请后对返回参数进行断言 3. 查看所有测试历史测试实现后,能够在查看所有测试历史,点击测试历史能够回溯当初的测试数据 4. 反对预览选中环境点击小眼睛能够看到【全局变量】和【以后选中的环境信息】 5. 插件主动降级之前降级插件只能手动卸载再重新安装,当初已装置插件能够在后盾主动降级。 这是咱们的第 2 篇产品月报 Eoapi 是一款类 Postman 的开源 API 工具,它更轻量,同时可拓展。 代码仓库:https://github.com/eolinker/e...Eoapi 开发文档https://docs.eoapi.io/?utm_so...在线Demo https://demo.eoapi.io/zh 如果你对于 Eoapi 有任何疑难或者倡议,都能够去 Github 提个Issue,我看到了都会及时回复的。 ...

August 11, 2022 · 1 min · jiezi

关于开源软件:GeoAO一种快速的环境光遮蔽方案

【博物纳新】专栏是UWA旨在为开发者举荐新鲜、易用、乏味的开源我的项目,帮忙大家在我的项目研发之余发现世界上的热门我的项目、前沿技术或者令人惊叹的视觉效果,并摸索将其利用到本人我的项目的可行性。很多时候,咱们并不知道本人想要什么,直到某一天咱们遇到了它。 明天举荐的我的项目来自UWA开源库:https://lab.uwa4d.com/lab/5b5... 一、概览AO(Ambient Occlusion)是一种基于全局照明中的环境光(Ambient Light)参数和环境几何信息来计算场景中任何一点的光照强度系数的算法。AO形容了外表上的任何一点所承受到的环境光被四周几何体所遮蔽的百分比,因而使得渲染的后果更加富裕层次感,对比度更高。 该我的项目介绍了一种疾速的基于顶点的AO算法,将AO看做模型顶点的一个属性,通过深度相机对模型多地位的采样,联合模型顶点的深度校验来计算对应的AO值。该办法相比拟于SSAO,是一种比拟玲珑快捷的繁难办法。通过对该项目标学习,读者能够初步理解AO算法的思维,也能够学到该算法的具体简化策略。 二、原理概述总体来说,该算法能够分为两个步骤: 1.采样:通过扭转深度相机的地位并对指标物体渲染,把各个地位获取到的深度图保留下来作为采样数据。2.计算AO:将采样数据通过深度校验来辨认出须要遮蔽的模型顶点并依照肯定权重累加遮蔽值,以达到暗影成果。 该办法并不是一个实时计算的办法,而是一个一步到位的办法,实质上是在运行刚开始时就计算好了一个带有AO的材质并替换掉模型原有的材质。所以它并不会随着光照的扭转而扭转,艰深来讲就是“把容易变暗的中央的色彩画得暗一点”。 三、具体实现从geoAO.cs来看,所有的工作都是在Start()中实现的,如下图,而采样和计算AO的次要逻辑大都在DoAO()中。 1. 采样该步骤须要一个深度摄像机来采样深度图,摄像机的创立在CreateAOCam()中实现: 该摄像机从创立开始就是暗藏状态(148行),因为咱们并不需要OnRenderImage()每帧都执行,咱们想要它“按需执行”,确切来说是为了让Blit函数“按需执行”(如下图),那么咱们能够通过把相机暗藏,用Camera.Render()来手动调用OnRenderImage()。 除此之外,咱们也留神到为了模仿平行光成果而把摄像机模式改成了正交(150行),且开启了深度模式(158行),这时一个深度相机就曾经筹备实现了。 采样环节最外围的环节如下图,该局部在DoAO()函数中: 首先,该for循环的循环次数对应着采样次数,也就是最终渲染进去的深度图样本数量,而样本个数决定了AO的精度高下: 在每一轮采样过程中,AO摄像机(AOCam)作为一个独自的深度摄像机,会达到一个新的曾经计算好的地位(256行),而后看向模型(257行),接着把筹备好VP矩阵传给Shader,最初渲染。 这里能够留神到276行就是在手动调用OnRenderImage()函数,但其实计算AO这一步就是在276行在Shader(VertexAOCompute.shader)中进行的,相当于每一轮循环都会做一次AO运算,而后每轮得出的AO值最终会累加在一起附给一个新的材质。 2. 计算AOAO的计算在VertexAOCompute.shader中。下图是片元着色器局部: 判断到底哪些点须要有“遮蔽”的局部就是120-121行。从118行的正文咱们也能够晓得,变量o“决定了遮蔽会有多暗”,而120行通知咱们,对于vertex.z和z相差过大的点,也就是被遮蔽的点,o不会参加累加(121行),因为o越大模型就会越亮。最初的累加会带上权重,只不过每次采样的权重都一样而已(124行)。 而上一步计算出的AO(65行)作为上图中的_AOTex参加了最终图像插值时的权重值(67行)。最终渲染出的图像会附着在一个新材质球上,而该材质球会替换掉模型原有材质(如下图),至此AO成果就增加到了模型上。 3. Tips该工程计算AO的过程很间接地体现出了AO算法的思维。 概括来讲,环境遮挡被定义为从外表上某一点可能逃离场景的射线的比例。上文提到的每一轮AO采样计算相当于图中每条绿色的射线,而判断深度是在看该射线是否会被遮挡,最初的累加就是在计算比例,而这里通过样本均值来估算积分的过程也是蒙特卡洛积分思维的体现。 四、性能剖析本次测试用的是低端机型OPPO A32(4G RAM),测试分为开启和不开启GeoAO这两种状况。首先,下图显示的是开启状况下的FPS均值和GPU耗时状况: 下图是不开启该插件的状况: 能够看出即便在低端机型上,该工具的开启也没有为GPU和FPS造成压力,相同的是,GPU耗时反而比不开启的状况下要低,这是因为该插件只是在Start()函数中置换了一下物体材质,而新材质比不开启时的材质(Standard)更轻量化的缘故。 提醒:并不倡议在游戏中途加上该成果,因为它会因为Shader.CreateGPUProgram和AO计算而引起卡顿。其中,Shader.CreateGPUProgram的耗时能够进一步通过收集变体并预热的形式排除,能够参阅《一种Shader变体收集和打包编译优化的思路》;而剩下的AO计算局部放在场景加载阶段实现则是能够承受的开销。 综上所述,该插件是一个比拟轻量级且成果尚可的计划。 作者公布我的项目时的介绍应用的是英文编写,为了不便大家浏览,UWA开源库已将其翻译成中文版本,欢送大家独特学习。 明天的举荐就到这儿啦,或者它可间接应用,或者它须要您的润色,或者它启发了您的思路......

August 3, 2022 · 1 min · jiezi

关于开源软件:2022-开源软件安全状况报告超-41-的企业对开源安全没有足够的信心

依据上周刚刚公布的两项钻研显示,开源软件早已成为大多数应用程序的中坚力量,但它同时也为开发人员和平安团队带来了平安挑战,而这些挑战能够通过采纳“平安左移”的形式解决。 开发者平安公司 Snyk 和 Linux 基金会的钻研人员在他们的《2022 开源平安情况》报告中走漏,超过41%的组织对他们的开源平安没有足够的信念。 报告中也表明在过来的三年中修复开源我的项目中的安全漏洞所需的工夫始终在稳步减少,从2018年的49天到2021年的110天,减少了一倍以上。 开源之争:要高产还是重视平安?一个基于 550 位受访者的考察显示,一个应用程序的开发我的项目中均匀会有49个破绽和80个调用开源代码的间接依赖项。 而且,该报告还发现只有不到一半的企业(49%)会对开源软件的开发或者应用采取安全策略。更蹩脚的是,在大中型企业中这个比例只有27%。“明天的软件开发商有他们本人的供应链,”Synk 开发者关系总监 Matt Jarvis 在一份申明中解释说,“与组装汽车零件相似,他们将现有的开源组件与他们本人的代码通过打补丁的形式组装起来。尽管晋升了生产力,放慢了翻新,但也造成了重大的平安问题”。 平安左移能更早地裸露破绽AppSec 左移停顿报告表明,通过将平安向“左”移或更靠近软件开发生命周期的终点,能够实现更好的开源软件安全性。该报告基于用户对 ShiftLeft 外围产品的体验,发现76%的新破绽能够在两个 Sprint 周期内失去修复。破绽之所以可能疾速修复的其中一个起因是它们在晚期就曾经被发现。“每个开发人员在代码中的更改都会在90秒之内扫描实现,”ShiftLeft CEO 和联结创始人 Manish Gupta 提到,“因为代码在开发人员脑海中仍历历在目,所以他们更容易修复破绽。”该报告抵赖扫描时间的缩短并不仅仅因为其软件失去了改善。“咱们理解到应用程序的均匀代码行数缩小了”报告指出,“这与更多的组织转向微服务和更小、更模块化的应用程序的现状统一。” 减少对破绽的扫描缩小修复工夫ShiftLeft 的客户还发现,他们须要在本人应用程序中解决的开源软件破绽数量降落了97%,因为对手只能利用其中 3% 的破绽。Gupta 指出,在剖析开源软件破绽时,重要的不是应用程序有多少破绽,而是它们在哪里会被好人利用。ShiftLeft还报告说,其客户将解决破绽所需的均匀工夫升高了37%,从2021年的19天下降到2022年的12天。报告中将这种降落归因于开发人员和平安团队在开发过程的晚期进行更多的扫描。“咱们的一些客户每月进行多达30,000次的扫描。” Gupta 提到。 是否每个破绽都会被利用?报告中还提出了一个问题:“攻击者是否真的能够涉及到每个破绽?”。这在解决 Log4j 这样的 0-Day 破绽时十分重要,一些组织在2021年12月发现 Log4j 的几个月后仍在应答这一破绽。报告中提到,在其客户的应用程序中应用的96%的 Log4j 没有被攻打的危险。补救不可利用的破绽对危险的影响为零,因而企业应该升高此类破绽的修复优先级,把注意力放在其余方面。 参考链接: AppSec Progress Report 2022 https://www.businesswire.com/...

July 20, 2022 · 1 min · jiezi

关于开源软件:势说新语浅谈软件许可证

软件从闭源为主到开源成为支流,经验了几十年的倒退。世界范畴内,因为知识产权越来越受到重视和法律层面的爱护,开源软件许可证也曾经被宽泛视为一种具备法律效力的合约,它规定了在软件应用和散发过程中的权力和任务。 近年来,开源软件的非法应用在中国越来越受到重视,从数字地狱和两柚子案到罗盒案,因为具备强传染性的 GPL 协定导致的争议为很多企业敲响了警钟,许多无意识的企业开始对应用的开源组件进行梳理。特地是一大批有出海业务的企业,因为随时可能面临内部的审查,这种对开源组件治理的需要会更加迫切。但目前,我国大部分企业对于开源软件许可证的了解和意识尚处于初级阶段: 开源许可证这个概念起源于东方,且开源的概念也是从东方发动的,咱们要迅速实现从被动参与者到被动贡献者角色转变的难度比拟大。开源许可证超过 2000 多种,大部分企业外部短少业余的团队来对许可证条款进行具体解读。开源组件的许可证通常是英文的条款,即使是对同一个条款,不同的法律人士解读的角度也会不同。本文将为大家介绍一些常见开源许可协定。 首先聊聊开源许可证的品种,其实分类的办法有很多,然而笔者认为不同的分类并没有对错之分,更多的是为大家在进行开源治理的时候提供较为清晰的思路。 对等型许可证许可证的代表为 GPL 和 AGPL,它们具备如下特点: 软件自身必须开源具备强传染性,与其有链接关系的代码都必须以 GPL 许可对外开源,即与该软件在同一过程中运行的代码都必须开源。GPL 全称为 GNU General Public License, 第一个版本公布于 1989 年,之后又在 1991 年和 2007 年陆续公布了 v2、v3,还有其余衍生的许可证。GPL 许可证被认为是应用最宽泛的开源许可证,咱们罕用的 Linux 外围就是以 GPLv2 公布的。 GPL 各个版本次要规定的权利义务如下: GPLv1 次要在两方面做了限度:1.如果拷贝或者散发了 GPLv1 协定下的软件,那么必须凋谢源代码,不能够可执行的二进制文件进行公布;2.基于 GPLv1 公布的软件不能够与其余限制性更强条款公布的软件相结合。 GPLv2 次要的特点是 Liberty or Death 条款,这个条款表明,被许可人只有在满足所有许可证的任务下才能够散发蕴含 GPL 受权的软件,即便他们可能领有其余的法律义务。此条款是为了保障和尊重用户在许可证下的自在免受专利侵权或者其余诉讼的侵害。GPLv2 是使用最宽泛的一个版本。 GPLv3 次要在 GPLv2 的根底上做了如下改良: GPLv3 对专利做了明确的阐明GPLv3 对 TiVo 这类硬件做了要求使用者能够依照要求加一些补充条款(次要是免责和爱护版权人权利方面的)Linux 的创始人 Linus Torvalds 对 GPLv3 表白了明确的拥护,因为 GPLv3 的第六条要求 TiVo 这类的厂商提供签名的私钥,使得人们能够运行批改后的代码,而 Linus 认为软件开发人员没有权力规定硬件厂商的行为,所以 Linux 应用的仍然是 GPLv2。 ...

July 14, 2022 · 2 min · jiezi

关于开源软件:如何参与开源项目-细说-GitHub-上的-PR-全过程

本文作者:Daniel Hu 个人主页:https://www.danielhu.cn/ 一、概述明天我筹备和你具体介绍如何开始参加开源我的项目,帮忙你在 GitHub 上实现第一个 PR 的合入。 当然,除了失常的 PR 合入流程之外,我还筹备具体介绍一下如果一个 PR 提交后遇到了抵触、须要追加 commits、须要合并 commits 等等绝对简单问题该如何解决。 总的来说,本文打算分为4个局部: 谈谈为什么要参加开源我的项目以及我为什么要介绍如何 PR谈谈怎么开始参加开源我的项目,也就是如何寻找适合的开源我的项目、如何寻找奉献点介绍怎么上手 PR 流程,即从 fork 到 push 全流程介绍提交了 PR 之后遇到各种常见问题如何解决Ok, let's get started! 二、为什么要参加开源我的项目本文我不打算简明扼要“为什么要参加开源”,具体介绍参加开源我的项目的播种,我想仅从“晋升编码能力”角度谈一谈“为什么要参加开源我的项目”。 在面试的时候我有个习惯,如果候选人在本人的简历里说到本人相熟某一门语言,我就会习惯性问他一个问题: 你有没有浏览过某个开源我的项目的源码?或者更进一步,有没有参加过某个开源社区,或者说给开源我的项目提过 PR? 如果答案是必定的,比方候选人说本人读过局部 Kubernetes 模块的源码,再进一步我确认他真的读过并且读懂了或者说真的提交过 bugfix/feature 类型的 PR,那我就不再问编程语言层面的问题了,因为我置信能看懂一个成熟的开源我的项目局部模块源码或者可能提交 bugfix/feature 类型的 PR 曾经阐明了所有。 我本人在学习 Golang 的时候,大抵分为两个阶段: 学习根底语法,开始写我的项目,直到可能纯熟实现各种业务性能的开发;看了一些开源我的项目的源码,深感受害颇多,编码程度再上一个台阶。差不多也就是在看 Kubernetes 我的项目源码的时候,我粗浅意识到个别的企业外部我的项目和会集全世界最优良的程序员智慧结晶的开源我的项目之间的微小差距,也意识到学习优良开源我的项目源码对于一个程序员编码程度晋升的重要性(当然,你能够说 Google 外部也存在非开源的十分优良的代码,这毫无疑问,然而我想明天咱们没有必要探讨特例)。 认真浏览开源我的项目源码,你总会发现一些小瑕疵,这时候提一个 PR(Pull Request),让你的代码合入开源我的项目,运行在“世界每一个角落”,那是如许乏味的事件!而胜利合入第一个 PR 往往就像关上潘多拉魔盒一样,你会进入到另外一个世界,开始接触到开源社区,感触开源的魅力! 三、为什么我想介绍如何 PR我司开源了 2 个我的项目,别离是: CNCF Project DevStream Apache DevLake DevStream 我的项目和 DevLake 我的项目隔三差五就会有新贡献者提交 PR 过去,然而少数贡献者在提交第一个 PR 时往往会遇到一个或多个问题,比方产生抵触、commits 记录过多或者凌乱、commit 没有签名、commit message 不标准、各种 ci 流程查看报错等等。 ...

July 8, 2022 · 6 min · jiezi

关于开源软件:HAVE-FUN-飞船计划活动最新进展

飞船打算 2.0 咱们有欠缺的文档和上千人的技术交换群,你的问题齐全能够失去解答,和更多酷爱技术崇尚开源的小伙伴,一起开启你的开源探索之旅吧~ 和社区独特成长,不再做开源旁观者! 具体的流动规定 请点击 点击文末浏览原文支付工作 https://github.com/mosn/layotto/issues/654 「流动停顿♂️」 本周举荐浏览“SOFA 星球”闯关打算 2.0——Layotto 飞船焕新登程 SOFARegistry 源码|数据同步模块解析 社区文章|MOSN 构建 Subset 优化思路分享 Nydus —— 下一代容器镜像的摸索实际

July 7, 2022 · 1 min · jiezi

关于开源软件:华兴证券混合云原生架构下的-Kitex-实践

华兴证券是 CloudWeGo 企业用户,应用 Kitex 框架实现混合云部署下的跨机房调用。 企业用户如何搭建针对 kitex 的可观测性零碎?如何在 K8s 集群下应用 Kitex ? 华兴证券后端研发工程师,DevOps 负责人张天将从以下 4 个方面介绍 Kitex 在多机房 K8s 集群下的实践经验,包含: 针对 Kitex 的可观测性零碎搭建教训;服务压力测试中遇到的问题以及解决方案;Kitex 的不同连贯类型在 K8s 同集群/跨集群调用下的一些问题和解决方案;实际中遇到的其余问题以及解决方案。以下内容来自张天老师的分享。 Kitex 的可观性零碎搭建华兴证券 CloudWeGo-Kitex 应用状况首先介绍下咱们团队的 Kitex 应用状况。去年 6 月 1 日。咱们团队成立。Kitex 在 7 月 12 日公布了首个版本,10 天后咱们就引入了 Kitex。抉择 Kitex 的起因是:咱们团队晚期成员比拟理解 Kitex,为了疾速撑持业务迭代和验证,抉择最相熟的框架,岂但应用上比拟习惯,对性能和性能方面也比拟有把握。起初也撑持了咱们 APP 的疾速上线。大概 4 个月之后就上线了 APP 的第一个版本。 下图是咱们的微服务调用关系图,一共有三十多个微服务,调用链路数超过 70。咱们的服务别离部署在两个机房。外围业务比方交易、行情等部署在公有机房。非核心的业务,比方资讯、股票信息等部署在阿里的金融云,这样可能更好地利用金融云已有的基础设施比方 MySQL、Kafka 等,作为初创团队,可能升高整体的运维压力。思考到性能以及平安方面的因素,两个机房之间专门拉了专线。服务之间存在一些跨机房的依赖。跨机房调用会产生很多问题,后文会具体阐明。 Tracing 选型服务数多了之后,咱们须要一套链路追踪零碎来描述调用链路每个环节的耗时状况。思考到 Kitex 原生反对 Opentracing,为缩小集成老本,咱们调研了合乎 Opentracing 标准的产品。 排除掉免费的、客户端不反对 Go 之后,就剩阿里云的链路追踪产品和 Uber 公司出品的 Jaeger,思考到公有机房也要部署,最终抉择了 Jaeger。 ...

June 30, 2022 · 4 min · jiezi

关于开源软件:SLSA-成功-SBOM-的促进剂

作者:Brandon Lum, Isaac Hepworth, Meder Kydyraliev 翻译:王峰 校对:孙文龙 SBOM 的全称是 Software Bill of Materials,中文译为软件物料清单,它不是一种特定的文件格式。SBOM 有不同的格局,然而其实质都是对于组件、依赖、破绽、许可证、版权等信息的展现。 SLSA 的全称是 Supply-chain Levels for Software Artifacts, 中文译为供应链级别的软件制品,它是一个创立“安全软件供应链”的框架。 SBOM 和 SLSA 能够互相补充,遵循相干 SLSA 准则能够更容易地生成 SBOM。因为 SBOM 取决于准确性、完整性和可信度,因而领有软件制品的 SLSA 源头数据能够进步 SBOM 的品质和完整性。 如果您正尝试构建和运行平安的软件,您可能据说过 SBOM,或称为软件物料清单。作为软件的“成分”标签,SBOM 是提供软件中所蕴含的软件包和组件的嵌套列表的文档。SBOM 作为平安的软件供应链中的一部分,失去了白宫公布的“对于晋升网络信息安全 2021 年行政令”的反对。 SBOM 能够很好地帮忙消费者更好地治理他们应用的软件带来的(潜在)危险,并能更轻松地应答破绽。为了让 SBOM(在各种组织中)被更宽泛地驳回,目前须要在 SBOM 的相干畛域投入大量工作。然而,就像其余等同规模的行业改革一样,这其中有很多亟待解决的问题。例如:SBOM 目前没有包含或要求足够的信息来帮忙用户响应构建篡改和攻打,例如 Solarwinds 和 Codecov;散发和验证 SBOM 文档的生态系统尚不欠缺;生成 SBOM 最常见的形式为写好代码之后应用代码审计工具进行扫描,然而这可能导致 SBOM 的准确性升高。 咱们置信,SLSA(供应链级别的软件制品)作为一种创立安全软件供应链的框架,当它与 SBOM 联合应用时,能够解决这些潜在的问题。本篇文章阐释了 SBOM 和 SLSA 的劣势以及它们之间的基本区别,并展现了 SLSA 准则如何既能够反对生成高质量的 SBOM 又能够帮忙消费者应答供应链攻打。 ...

June 23, 2022 · 1 min · jiezi

关于开源软件:安势信息加入-OpenSSF-开源安全基金会-共建软件供应链安全

咱们很快乐与大家分享安势信息已于近期退出 OpenSSF(开源平安基金会),与华为、腾讯、阿里云等企业一起成为该基金会的次要成员。 由 Linux 基金会联结多家硬件和软件厂商独特成立的 OpenSSF(开源平安基金会),其外围主旨是进步开源软件(OSS)的安全性。 这个世界依赖于开源软件(OSS),现在绝大多数应用程序都是应用开源软件构建的,这曾经不是什么机密,开源软件的大量利用与麻利开发使开发速度越来越快,一方面帮忙企业将产品与服务以更快的速度推向市场,从而放弃竞争力;另一方面,这种日益增长的依赖也给企业带来了平安危险。 还是以近期的 Log4j2 事件为例,Log4j2 作为 Java 代码我的项目中宽泛应用的开源日志组件,它的一个重大安全漏洞对于寰球的软件供应链生态来讲不亚于一场新冠病毒对人类社会的影响。寰球新一轮的产业数字化降级对开源软件的依赖日益晋升,我国《十四五布局 & 2035 年近景指标大纲》中也提到要“反对数字技术开源社区等翻新联合体倒退,欠缺开源知识产权和法律体系”。而开源软件的全球化和凋谢共享的个性使得任何一个十分底层和根底的开源组件的破绽都有可能像一个新冠病毒一样疾速流传,对寰球的数字化产业带来无法估量的影响。 鉴于开源软件(OSS)的开放性和公共性,没有专门的机构负责确保开源的品质、保护和安全性,因此须要共同努力来升高这种危险。咱们退出 OpenSSF 的指标是与社区严密单干,并利用安势的技术尽可能帮忙开源事业的倒退。 安势的 CleanSource ( 清源 ) SCA 作为一款企业级的软件成分剖析工具,提供多种探测技术,如:代码片段辨认、依赖辨认、文件辨认、组件辨认,联合弱小的数据库,可为利用和容器构建精确的软件物料清单(SBOM)。作为一款企业级的 SCA 工具,CleanSource ( 清源 ) 具备疾速、精确、全面等特点,“疾速”体现在业界当先的扫描速度,不影响企业失常的开发流程,这对保障企业开发效率至关重要;“精确”体现在多种扫描引擎辨认不同形式引入的开源组件;“全面”体现在多种探测技术能够提供不同颗粒度的扫描辨认生成残缺的软件物料清单等。同时,依据企业不同需要场景,可满足云端或本地部署。 另外,咱们置信 PPT(People-Process-Technology)即:组织-流程-技术/工具相互协作的形式是无效开源治理的最佳实际,联合咱们多年在不同行业、不同规模的企业开源治理实际,咱们能够为企业提供开源治理咨询服务,帮忙企业真正做好开源治理,平安合规应用开源软件。 此外,正如 OpenSSF 提到的跨行业的合作对于软件凋谢的将来和进步开源的安全性至关重要。咱们也留神到信通院作为国内的官网机构正在联合国内如汽车业、制造业等行业成立相干的开源社区,将来安势也将踊跃退出此类社区并利用安势的技术为国内的开源产业提供助力。 咱们很快乐能成为 OpenSSF 的一员,并期待与 Linux 基金会和 OpenSSF 合作伙伴一起爱护世界开源软件的平安!

June 14, 2022 · 1 min · jiezi

关于开源软件:安势信息技术市场总监王峰OpenChain-线上研讨会首秀

在 5 月 30 日 OpenChain 组织召开的第 42 期线上研讨会上,作为 DevSecOps 畛域中国首家 OpenChain 我的项目成员,上海安势信息技术有限公司(下称安势信息)的技术市场总监王峰受邀缺席并发表名为《SCA 厂商在中国市场面临的时机与挑战》的全英文主题演讲。 王峰领有威斯康星大学麦迪逊分校电子工程学士、宾夕法尼亚大学电子工程硕士学位,曾负责美国有线电视运营商 Comcast 高级软件工程师,负责网络自动化软件开发等工作,作为企业外部开源贡献者(Innersource Contributor)将我的项目和软件在企业外部进行分享应用。他在美国工作学习 11 年,在感触到开源软件在中国市场的蓬勃发展后,王峰抉择回国并退出安势信息。 正如王峰在《SCA 厂商在中国市场面临的时机与挑战》主题演讲中提到的,开源软件在中国市场经验了由萌芽到蓬勃发展的阶段。 开源软件在中国的缘起、落地与倒退 中国的开源软件产业相较于欧美发达国家而言起步绝对较晚,大抵经验了从萌芽、云计算 &人工智能减速落地和高速倒退的三个阶段。目前,中国曾经逐渐建设了绝对成熟的开源生态系统。 在中国的开源生态畛域,由云计算、科技企业孵化、开办的开源企业/我的项目和由开发者社区、代码托管平台、开源基金会、开源联盟独特形成了开源软件市场的参加主体。 中国企业在积极参与寰球开源生态建设的过程中,影响力一劳永逸。截止目前 GitHub 有 755 万名中国开发者,人数位居寰球第二;更多的中国企业进入寰球开源畛域行业的前列;中国正成为寰球开发者社区中不可漠视的重要力量。 此外,在这一时期,中国外乡开办了很多的开源组织和社区,企业踊跃募捐开源我的项目,相干开源基金会的成立,独特推动中国开源产业发展壮大。安势信息此次退出 OpenChain,很荣幸能与中国信通院、华为和 OPPO 等搭档共建可信、平安的软件供应链。 开源产业同样引起了国家层面的高度重视。政府将开源明确列入“十四五”布局中,并从法律层面明确增强对知识产权的爱护。一些因违反开源许可证应用协定( 例如: GPL 3.0 ) 引发的版权纠纷案也引起了企业对开源许可证合规的器重。 国内的开源生态倒退经验了一个从无都有,再到蓬勃发展的过程,对寰球开源的奉献和影响力也会越来越大。 SCA 的倒退 挑战与时机并存 Apache Log4j 破绽事件的暴发,让开源软件供应链平安的话题热度继续走高的同时,也为网络安全市场吹来了新的风向。随着开源危险的继续扩充,SCA(Software Composition Analysis,软件成分剖析)正在失去更宽泛的利用。 为了在 SCA 产品需要爆发式增长的市场中抢占洼地,利用平安赛道涌现了一大批新的 SCA 厂商。据统计,中国 SCA 初创公司的数量较去年增长了 1 倍,资本也纷纷入局,开源畛域的融资案例数量和资金总额不断创新高。 放眼寰球,以后国内企业在软件平安方面的资金投入仅占寰球企业软件平安均匀投入金额的三分之一,中国网络安全市场的空间微小。 随后,王峰别离从政治、经济、文化和技术四个角度别离阐释了 SCA 厂商以后面临的时机和挑战。时机来自于在国家产业转型降级的大环境下,政府对开源产业高度重视,相干政策和知识产权法律爱护程度都有了显著晋升。 对于 SCA 厂商面临的挑战,王峰别离列举了外乡 SCA 厂商和海内 SCA 厂商亟需解决的问题并开展阐明。中国开源软件产业起步绝对较晚,相干业余技术人才绝对匮乏;另一方面,企业对开源合规的重要性意识还不够;很多厂商提供的 SCA 工具往往更多的是基于平安而非合规,对于提供成熟的开源合规治理工具方面仍有很多教训须要积攒。 ...

June 14, 2022 · 1 min · jiezi

关于开源软件:图像审核产品侦图-Milvus-在翼支付风控场景中的应用

本文从翼领取风控的理论利用场景登程,介绍了图像审核产品“侦图”如何检测虚伪营业执照,店内门头照、类似模板照的辨认问题,“侦图”产品通过引入 Milvus 来进行特征向量检索,在检索速度上,千万级别向量查问时,单条向量查问工夫不高于 1 秒,批量查问的单条均匀工夫不高于 0.08 秒,极大节俭了开发成本,并显著进步了零碎的检索性能。 我的项目背景近年来,随着电商衰亡、线上领取的遍及,一些利用互联网破绽、通过技术手段来“薅羊毛”的彩色产业迅速发展壮大。这群“羊毛党”战斗力惊人,曾经造成有组织的产业化运作。他们惯于利用技术手段合成虚伪照片通过认证,在平台注册大量虚伪账户进行非法牟利。中国裁判文书网颁布的判决书显示,2021年12月,某个人通过非法渠道购买用户个人信息,在某银行挪动APP注册后骗取积分,兑换礼品并对外销售获利,在不到3个月的工夫内,薅走了该行的上万张视频会员卡、700多张星巴克饮品券,还有其余泛滥礼品。相似黑产案例不可胜数,这些虚伪账户一旦注册胜利,岂但会收割一般消费者的红利,还将对平台造成难以挽回的损失。 彩色产业凭借技术让本人的权势迅速扩张蔓延,一旦平台破绽修复不及时,分分钟变天坑。面对宏大且迅速更新的数据量,传统的风控伎俩曾经难以无效洞察危险。基于此,翼领取利用深度学习技术和数字图像处理技术,在各个利用场景需要的驱动下,打造了以深度学习技术为外围的图像审核产品——“侦图”。“侦图”波及图像审核的各种场景,其中一个重要的畛域就是对虚伪营业执照、店内门头照、类似模板照的辨认和检测(如下图)。 (虚伪营业执照模板) 传统的类似图像比对算法有 PSNR [1] 和 ORB [2] 等算法,这些算法不仅速度慢,而且准确率较低,个别只能利用于离线工作,不能大规模实时利用。而深度学习可能实时处理大规模的图像数据,是解决类似图像比对工作最合适的办法。通过深度学习模型,图像数据可能转化成海量特征向量,咱们采纳了 Milvus 向量搜索引擎专门解决这些非结构化数据。凭借 Milvus 向量搜索引擎搭建出的类似危险模板照检测零碎可能为万亿级向量数据建设索引,使其可能在数千万级别的图像中,高效地检索出指标危险模板照。 “侦图”产品简介在翼领取研发团队和 Milvus 社区的共同努力下,咱们通过深度学习模型将海量图像数据转化成特征向量导入 Milvus ,研发出一个类似危险模板照检测零碎,作为翼领取整体视觉风控产品“侦图”的一部分。“侦图”是翼领取自研多媒体视觉风控产品,具备整套人脸识别解决方案、证照鉴伪和图背景中介聚类等多项行业当先能力,深度交融了机器学习技术、神经网络图像识别技术,产品内置的算法模型,可能对用户认证时存在的虚伪危险和中介团伙危险进行准确辨认,毫秒级响应,真正做到事先阻断;在产品部署层面,依靠大数据平台能力,跨畛域买通底层数据壁垒,满足各类高并发业务场景下信息辨认调用需要,反对业务性能横向扩容。凭借当先的技术利用和独创的解决方案,“侦图”曾经通过了5项专利申请,取得了2项软件著作权。同时,“侦图”曾经在多家银行与金融机构业务中取得理论利用,帮忙业务提前发现危险。 零碎流程翼领取目前领有超过千万张商户证件照片,理论的数据量还在随着业务的倒退成倍的增长。为了从如此宏大的图片库中疾速地检索出最类似可能存在危险的模板照,“侦图”抉择了 Milvus 作为特征向量类似度计算引擎。其类似危险模板照检测零碎的大抵构造如下图所示。 (类似危险模板照检测零碎结构图) 该零碎的业务流程中大抵能够分为四个流程: 图像预处理。对输出的图像进行降噪去噪和对比度加强等预处理操作。预处理既能保障原始信息的完整性,又能去除图像信号中无用的信息。特征向量提取。应用专门训练好的深度学习模型提取图片的特征向量。将图像转化为向量再进行类似搜寻是惯例的操作。归一化解决。对提取的特征向量进行归一化,这有助于进步后续的解决效率。Milvus 检索。将归一化后的特征向量嵌入到 Milvus 数据库中进行向量类似度检索。部署计划接下来简略介绍一下“侦图”的类似危险模板照检测零碎是如何部署的。(Milvus零碎架构图) 上图为 Milvus 的零碎架构图,咱们应用 Kubernetes 来实现 Milvus 集群部署,确保零碎可能领有高可用性以及享受云服务实时同步的弹性能力。大抵步骤为: 查看可用资源,运行指令 kubectl describe nodes 查看整个 Kubernetes 集群可为已创立实例调配的资源。配置资源,运行命令kubect --apply xxx.yaml应用 Helm 为 Milvus 集群组件分配内存与 CPU 资源。利用新配置,运行如下指令。helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml在 Milvus 集群中利用新配置。应用这种形式部署的集群不仅不便咱们依据业务的需要缩扩容,也可能较好地满足该我的项目对海量向量数据的高性能检索需要。 针对不同的业务场景,咱们能够通过调整 Milvus 的零碎参数,来确保不同场景下的不同类型的数据,都可能领有良好的查问性能,上面举两个例子: ...

June 10, 2022 · 1 min · jiezi

关于开源软件:2022-Excelize-开源活动开始报名了

Excelize 是 Go 语言编写的用于操作 Office Excel 文档根底库,基于 ECMA-376,ISO/IEC 29500 国际标准。能够应用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创立的电子表格文档。反对 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格局,高度兼容带有款式、图片(表)、透视表、切片器等简单组件的文档,并提供流式读写反对,用于解决蕴含大规模数据的工作簿。可利用于各类报表平台、云计算、边缘计算等零碎。自 2016 年开源以来已成为云原生利用尤其是 Go 语言开发者在解决电子表格办公文档时的热门抉择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。入选 2020 Gopher China - Go 畛域明星开源我的项目 (GSP)、2018 年开源中国码云最有价值开源我的项目 GVP (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档根底库。 上面介绍 2022 Excelize 开源流动状况: 面向高校学生 由中国计算机学会开源倒退委员会举办的 GLCC 开源夏令营曾经开启,Excelize 入选本期夏令营我的项目并设立了课题奖金,欢送高校的同学们申请 Excelize 相干技术课题,报名工夫: 2022/05/26-6/24,申请链接: https://www.gitlink.org.cn/gl... 面向开发者 Excelize 入驻了由腾讯“腾源会”推出的开源奉献激励我的项目“开源摘星打算”,不限参加人群,通过教训分享、初步奉献、深度奉献累积奉献积分有机会取得证书、礼包等,欢送感兴趣的敌人加入,具体参加阐明: https://github.com/weopenproj... 独行者速、众行者远。期待开源有你,愿你的付出为开源世界更美妙。

June 9, 2022 · 1 min · jiezi

关于开源软件:社区动态|SelectDB-联合传智教育推出免费-Apache-Doris-中文视频教程

导读: 为了让大家更加直观便捷地学习和应用 Apache Doris ,SelectDB 联结传智教育旗下高端 IT 教育品牌黑马程序员推出 Apache Doris 中文视频教程,并面向社区用户收费凋谢。近日,SelectDB 与传智教育旗下高端 IT 教育品牌黑马程序员,联合推出 Apache Doris 中文视频教程,并面向社区用户收费凋谢。 Apache Doris(incubating) 是基于 MPP 架构的高性能、实时的剖析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应工夫即可返回海量数据下的查问后果,不仅能够反对高并发的点查问场景,也能反对高吞吐的简单剖析场景。基于此,Apache Doris 在多维报表、即席查问、用户画像、实时大屏、日志剖析、数据湖查问减速等诸多业务畛域都能失去很好利用。 随着 Apache Doris 社区的疾速倒退,目前 Apache Doris 在寰球范畴内都领有着极其宽泛的用户群体。截止目前,Apache Doris 已在寰球超过 500 家企业的生产环境中失去利用。 在社区用户规模飞速增长的同时,社区用户对于 Apache Doris 学习材料的需要也愈发旺盛。除了 Apache Doris 官网文档、技术博文以及源码浏览与解析系列课程以外,也亟需实际系列视频教程,从实战经验角度登程,帮忙社区用户更好上手应用 Apache Doris。由传智教育旗下子品牌黑马程序员担纲制作的 Apache Doris 中文视频教程,及时满足了社区成员这一需要,在此特别感谢! 教程简介教程分为三大版块:根底入门篇、利用进阶篇和实战案例篇,涵盖最新个性和性能: 根底入门篇: 介绍 Apache Doris 的根底定位、外围个性、倒退历程、利用场景和装置部署等根底概念;利用进阶篇: 介绍 Apache Doris 的理论应用技巧,包含 数据模型、建表、数据导入、索引构造、物化视图、动静分区以及罕用函数等;实战案例篇: 从电商场景的理论我的项目登程,联合 Flume 和 Canal 进行数据采集,利用 Apache Doris 进行剖析,并联合 FineBI 进行数据展现与可视化。视频观看地址Bilibili 地址:https://www.bilibili.com/vide... ...

June 7, 2022 · 1 min · jiezi

关于开源软件:星动云即时通讯IM仿微聊天V信社交APP多端原生开发

随着信息社会的疾速倒退,网络作为扭转世界的最重要的因素。泛滥的企业纷纷应用局域网聊天来满足工作与交换高效、疾速执行的需要。企业中应用外部局域网能够使外部信息交互的过程得以简化,从而达到进步工作效率的目标。所以经上所述,公司外部应用即时通讯的形式在各台计算机之间进行交换曾经是时代倒退的趋势。 即时通讯软件即所谓的聊天工具,作为进行文字传输、文件传输的工具被应用在互联网的客户端上。从业余角度来介绍,即时通讯软件个别分为依赖于服务器的与依赖于P2P的。 从现状来看,互联网上深受用户青睐的即时通讯软件次要有以下几个:微信、QQ、YY等等。现在的社会是信息社会,正是因为用户大量的需要促成了即时通讯的开发,信息疾速的传递越来越受到重视同时使得互联网技术越来越成熟,在其中即时通讯软件承当了相当一部分的作用,在这些软件中,一些优良且易用的聊天工具被各位用户所青睐。在中国,腾讯QQ无疑获得了极大的胜利,简略易用,功能齐全,在满足用户根本需要的同时为各位用户提供其它使人满意的性能。即时通讯软件之所以可能取得成功,正是因为其适应了时代,合乎了信息时代用户的需要,它不仅能够提供全面,大量信息给用户,同时也能够使用户的生存更加的精彩,胜利满足了本身商业利益的获取也构建了人们谐和便当的生存。 星动云是做真正稳固的IM即时通讯服务定制商,本产品为纯原生开发。源码破费大量工夫修复开发,非h5,wap网页封装网上下载不能用的产品。星动云IM齐全自主研发,技术难度大,目前性能90%曾经修复成熟,二开开源版已足够定制开发,彻底辞别第三方每月费用!全原生开发技术端:JAVA,C#,OC等。零碎在后续中是会持续进行性能的欠缺与拓展,来实现文件传输,语音传输等各种形式来增强用户的体验,为用户带来极大的便当。 (1)客户提供需要列表,我方依据需要评估费用(2)交易可走线上担保也可走线下合同形式,每个我的项目有专属服务开发qq群对接(3)我的项目最终交付依据需要列表以客户称心为准,提供可上线运行的产品和最终源码(4)任何bug问题,我方随时收费批改,新的需要,依据需要评估酌情免费 理解更多能够登录官网征询 https://www.tokim.cn

June 3, 2022 · 1 min · jiezi

关于开源软件:开源CRM管理系统源码­­客户关系管理软件开发

 CRM管理系统代表“客户关系管理系统”,是指企业为开发、放弃和获取顾客而采纳的所有策略、技术、工具和技术。该软件保障了与消费者互动的每一步都能顺利、高效地进行,从而进步整体利润。该软件从多个渠道收集客户数据。因而,CRM存储对于整体购买历史、个人信息甚至购买行为模式的详细信息。 开源crm管理系统源码及演示:c.xsymz.icu 开源CRM管理系统 在大多数状况下,当人们议论CRM时,他们指的是CRM零碎-以帮忙公司销售和服务为目标。CRM软件使企业可能专一于公司与客户、共事、供应商等的关系。有了业余的CRM,找到新客户、博得他们的信赖变得更加容易,提供合格的反对,并在整个关系中提供额定的服务。 CRM零碎最棒的局部是简直任何组织单位都能够从中受害——从销售和客户服务到招聘、营销和业务开发。好的开源CRM治理系统软件为治理内部关系。将所有客户信息存储在一个地位、记录服务问题、确定销售机会、治理营销流动—这些只是其中的一些性能CRM性能. 因为CRM提供了对数据的不便拜访,因而用户在不同的流程上合作并进步生产率也变得更加容易。另一个反对CRM的无力论据是它适宜企业任何大小的。CRM解决方案包含容许用户通过各种可用渠道跟踪客户和公司交互的性能。这些渠道包含分割表格、电子邮件、电话等等。 CRM软件为销售和市场营销团队提供一套工具来治理整个销售和营销渠道,从潜在客户资格鉴定到机会治理、预测和交易完结。它使客户服务团队通过遵循事后定义的卓越客户关心流程来治理客户申请和自动化服务操作。 CRM零碎具备跟踪性能,可记录大量在线客户互动。此外,CRM自动化了日常流程,并为管理者提供了容许跟踪和掂量公司的绩效和生产力。例如,CRM软件能够提醒您在给定工夫须要实现的工作。你能够让它执行预先安排好的流动,比方发送电子邮件打电话。CRM所做的所有都会被记录下来,给你足够的工夫来制订更好的行动计划来完结任何潜在的销售。一些crm还提供剖析性能,容许用户跟踪各种营销流动产生潜在客户和转化的效率。 开源CRM管理系统的指标 开源CRM治理系统软件通过知情和卓越的客户体验,反对弱小、高效、虔诚的客户关系。指标是什么?通过提供让您的客户一直回来的体验来进步客户取得率和保留率。开源CRM管理系统既是一种策略,也是一种工具,在五个要害方面反对这些体验。 答复最根本的客户问题 开源CRM管理系统帮忙您找到新客户,向他们销售产品,并与他们建设虔诚的客户关系。这些零碎收集许多不同类型的客户数据并对其进行组织,以便您更好地理解您的客户/潜在客户,并可能答复(甚至预测)他们的问题。 治理客户数据 蹩脚的决策源于不足对客户数据的拜访和解释能力。可能在自动化零碎中存储、跟踪和验证客户数据将使销售和营销团队可能优化客户参加策略并建设更好的关系。 自动化销售流程 销售人员自动化使销售更高效,帮忙您更快地销售。最好的CRM零碎应用人工智能(AI)以及对立的客户数据,通过提醒卖家举荐的下一个最佳操作,使销售过程自动化。 个性化营销流动 客户和潜在客户通过各种渠道达到,包含网站、社交媒体、电子邮件、线上/线下流动等。可怜的是,许多企业很难将所有这些渠道的营销致力分割起来。通过利用CRM零碎,营销团队能够进步转化率,增强客户关系,并在数字客户渠道中协调消息传递。 协调销售和市场营销 有了开源CRM管理系统,市场营销和销售更好地协同工作,以推动销售和增加收入。当销售和市场营销同步时,销售效率会随着市场投资回报率的进步而进步。 CRM性能和长处 开源CRM管理系统解决方案是最大和增长最快的企业应用软件类别之一。2019年CRM市场规模估值为419.3亿美元,预计2027年达到963.9亿美元,从2020年到2027年,复合年增长率为11.1%。 越来越多的公司应用CRM解决方案来取得更多的销售线索,改善销售渠道,进步生产率,进步客户满意度。然而,许多公司都遇到了从老本超支、CRM集成挑战到零碎限度的各种问题。这些都是能够防止的问题,您能够通过关注客户至上的策略来帮忙确保胜利。 对于企业来说,将其客户和潜在客户的解决方案/产品趣味、客户服务需要和购买历史进行集成、可定制和全面的视图是至关重要的。CRM零碎应该提供一个很好的视图。所有数据都在一个地位,能够通过优化的仪表板查看。 此外,您的营销团队能够利用CRM解决方案来安顿个性化营销和潜在客户开发流动。这些零碎能够帮忙跟踪从参加到购买的所有跨渠道互动。成熟的云CRM解决方案做得更多。它们与后盾解决方案齐全集成,以胜利地反对整个客户旅程。因为它治理所有渠道的潜在客户和客户参加点,所以您的CRM零碎能够告诉您的所有通信和营销流动,提供真正连贯的全渠道体验所需的360度客户视角。 开源CRM管理系统类型 CRM软件解决方案的外围是用来治理客户关系和销售互动。尽管如此,许多企业仅仅将这些零碎作为销售人员自动化工具加以利用。但这些解决方案,如Oracle的解决方案,提供了许多更具价值的性能,这些性能涵盖了宽泛的营销和销售性能,包含市场营销、客户服务、销售和合作伙伴渠道治理。 明天的CRM软件能够反对整个客户旅程。但一家公司可能须要的CRM零碎与另一家公司可能须要的有很大不同。为了帮忙您为您的组织抉择适合的CRM,理解CRM解决方案次要有三种类型:合作式、操作式和剖析型。 CRM如何改善客户服务 CRM软件解决方案帮忙销售代表组织他们的销售线索,自动化跟踪,并治理他们的机会和渠道。但销售部门并不是组织中惟一能够从CRM平台获益的部门。市场营销、客户反对、产品开发、内容治理和人力资源都能够从CRM解决方案中取得高投资回报。 例如,因为您的解决方案蕴含无关每个客户的根本信息,所以您的客户反对团队能够很好地利用这些客户数据。有了CRM数据,客户反对代表(CSR)能够更深刻地理解客户是谁、他们的需要和动机,以及他们过来与您的品牌之间的关系类型。此信息为您的客户服务代表提供了与这些客户交互时的上下文。CRM代表“开源CRM管理系统”是指企业为开发、放弃和获取顾客而采纳的所有策略、技术、工具和技术。该软件保障了与消费者互动的每一步都能顺利、高效地进行,从而进步整体利润。该软件从多个渠道收集客户数据。因而,CRM存储对于整体购买历史、个人信息甚至购买行为模式的详细信息。

May 6, 2022 · 1 min · jiezi

关于开源软件:Go-实现-json-格式定义-http-协议压测脚本

原文由bugVanisher发表于TesterHome社区,点击原文链接可与作者间接交换。前段时间,我主导推动组里实现了一套基于Locust+boomer的通用的压测平台,次要目标是满足咱们组内的各种压测场景,比方grpc、websocket、webrtc、http等协定的压测场景。正好咱们公司的技术栈以go为主,咱们能够轻松地应用go编写脚本,通过公司的部署平台编译打包后横向扩缩施压集群,能够说解决了各种压测需要。然而咱们发现,只管本人编写脚本十分自在,然而对不理解平台、不理解Go的同学来说,应用老本是比拟大的,尤其是首次接触,因而我开始思考如何简化脚本的编写和部署。 从http开始来源于httprunner和公司其余Group的工具的灵感,我想到用json的形式去定义http压测场景,而后用go去解析执行,能够预感的是这种形式的压测性能不如间接写代码,然而如果能够通过可承受的性能损耗来换取更简略的接入形式,更对立的应用形式,也是极好的,毕竟咱们不缺机器。针对http协定,以下大略梳理了一下须要实现的能力。 简略阐明下: 多接口 很好了解,压测的时候须要满足多个接口按肯定的比例同时压测。在某些非凡场景下,可能还存在接口依赖的问题,这也要思考到。 登录态 压测的接口可能有登录校验,那么压测的时候须要带上登录态,如果能买通账号平台主动批量生成登录态就不便很多了。 参数化 定义的脚本须要提供参数化能力,总不能所有参数写死,比方动静生成工夫戳,ID,变长字符串等等,如果简略的参数生成无奈满足,用户本人上传也是挺好的。 校验 响应内容校验是接口测试很重要的局部,在压测场景也是一样的。 定义Json构造接下来,定义Json构造,尽量去满足下面所形容的需要。http协定,无非就是三个局部,body、header、url,因而每一个接口须要蕴含这个三个字段,当然,名字是必不可少的,还有一个十分重要的字段,就是校验字段validator,上面就来看看这个Json应该是什么样子。 { "debug": true, "domain": "https://postman-echo.com", "header": {}, "declare": [ "{{ $sessionId := getSid }}" ], "init_variables": { "roomId": 1001, "sessionId": "{{ $sessionId }}", "ids": "{{ $sessionId }}" }, "running_variables": { "tid": "{{ getRandomId 5000 }}" }, "func_set": [ { "key": "getTest", "method": "GET", "url": "/get?name=gannicus&roomId={{ .roomId }}&age=10&tid={{ .tid }}", "body": "{\"timeout\":10000}", "validator": "{{ and (eq .http_status_code 200) (eq .args.age (10 | toString )) }}" }, { "key": "postTest", "method": "POST", "header": { "Cookie": "{{ .tid }}", "Content-Type": "application/json" }, "url": "/post?name=gannicus", "body": "{\"timeout\":{{ .tid }}, \"retry\":true}", "validator": "{{ and (eq .http_status_code 200) (eq .data.timeout (.tid | toFloat64 ) ) (eq .data.retry false) }}" } ]}func_set应该挺好了解的,这里解释一下declare、init_variables、running_variables: ...

May 6, 2022 · 2 min · jiezi

关于开源软件:酷瓜云课堂腾讯云开源版-v151-发布

更新内容举荐课程等列表补充属性修改后盾评估列表中的搜寻链接修改后盾点播设置视频码率后500谬误问题修改多码率近程播放地址局部为空播放问题修改更新套餐课程缓存传参数据类型问题修改第三方登录解除绑定失败问题应用ServiceTrait演绎获取服务代码优化anonymous暗藏局部字符函数调整积分兑换相干定义命名去除js_vars中对于IM客服的配置减少验证码开关零碎介绍酷瓜云课堂,依靠腾讯云根底服务架构,采纳C扩大框架Phalcon开发,GPL-2.0开源协定,致力开源网课零碎,开源网校零碎,开源常识付费零碎,开源在线教育零碎。100%全功能开源,无加密无阉割,收费商用。 零碎性能实现了点播、直播、专栏、面授、会员、群组、积分、秒杀等,100% 真开源在线教育解决方案,能够收费商用。 托管仓库gitee 仓库github 仓库意见反馈在线反馈(举荐)官方论坛(举荐)

March 22, 2022 · 1 min · jiezi

关于开源软件:LiteFlow-v2611版本正式发布小而美的规则引擎

前言LiteFlow v2.6.11版本正式公布!依赖包已公布地方仓库,文档做了大量的更新和补漏。 其实单看本次更新的Issue的确没多少,然而代码量却不少。次要工作花在构造依赖的改变上,和大量细节代码的优化上。同时我终于下决心恶补了下LiteFlow的测试用例,从100来个测试用例补到了289个。 新版本当初终于能够在非Spring的体系中也能够不便的应用LiteFlow了,可能有小伙伴会有纳闷,非Spring体系的我的项目还有必要反对么,还有人在用非Spring体系搭建我的项目吗? 其实自己一开始也有这个纳闷,然而最终促使我改的起因并不是有人在用非Spring体系用不了LiteFlow,而是从我的项目构造来说,外围包强依赖一个第三方框架,始终让我感觉这不是一个好的设计。如何用一套外围代码,在不同体系的零碎框架下失效,而不是用硬代码去强判断环境,也是我想尝试的。所以就开始扭转模块依赖构造。 在改的过程中,也让我有机会把以前细节做的不好的中央又重写了一遍。顺便对简直所有的场景都补了测试用例。测试用例补的共事又反过来让我发现了一些细枝末节的bug,在这个版本的开发中,我就这样来来回回的重构,改bug,写测试用例。 废话了那么多,只想通知你们,v2.6.11应该会是一个稳固的版本(话也不能说太死,就怕打脸:P)。 如果你是第一次晓得这个我的项目,能够去官网或相干的主页进行理解 我的项目官网: https://liteflow.yomahub.com gitee托管仓库: https://gitee.com/dromara/lit... github托管仓库: https://github.com/dromara/li... 对于测试用例其实对于如何更好的了解LiteFlow的每个个性,我更倡议大家去PULL下源码,联合下文档本人跑下测试用例。会了解的更为透彻。 测试用例目前总共有5个模块,大部分场景都有笼罩。 对于文档随着新版本公布,我对文档也进行一小部分的重整。把局部章节进行了合并归类,使老手浏览起来,更加条理清晰,同时也对文档进行了查缺补漏,补充了一些文档。 另外我每天在群里答复小伙伴提出的各种问题,工夫一长,有很多人问出的问题都十分相似。为了防止反复问题的许可,我把大家常常问的问题整顿了一下,并到了问题汇总和答疑中。心愿小伙伴提问题,能够先在这章寻找下有没有你想要的答案,如果没有再在群里发问。 v2.6.11更新日志个性 I4UPWG 模块架构调整,反对非Spring的我的项目应用 https://gitee.com/dromara/lit... 加强 I4VTWB 代码动静构建规定,setClazz办法应用全限定名不太敌对 https://gitee.com/dromara/lit... 加强 I4TIWM whenExecutors目前不必注入到spring上下文中了 https://gitee.com/dromara/lit... 修复 I4VEV2 用spring扫描组件,然而流程用动静代码创立,会呈现slot无奈调配的bug https://gitee.com/dromara/lit... 修复 I4VGCN 在非spring环境下,LiteflowConfigGetter无奈获取到原始的config实例 https://gitee.com/dromara/lit... 反对为了开源我的项目的更好推广,如果你的我的项目中用了LiteFlow框架并且还感觉不错的话,心愿能够在以下地址注销你的公司,注销的公司都会更新到文档中的用户一栏中。 https://gitee.com/dromara/lit... 当然你也能够抉择请我喝杯咖啡:P,这会是对我以及我致力成绩的最大必定! 请我喝咖啡地址:https://liteflow.yomahub.com/...

March 14, 2022 · 1 min · jiezi

关于开源软件:GPL30许可证软件著作权纠纷案例解析-续一

作者:陈元熹律师,海华永泰律师事务所 合伙人 在上一篇《GPL3.0许可证软件著作权纠纷案例解析》中咱们解析了以下几个法律问题:开源软件作者断定与主体适格问题,GPL开源许可证的法律性质,违反许可证的结果与侵权抵偿。咱们得出结论,署名的人就是开源软件作者,能够在中国法院起诉;GPL3.0许可证被认为是合同,用户违反了许可证的约定,须要承当违约责任或侵权责任。 小伙伴反馈说想多理解这一系列案件的前因后果,于是决定将上文次要援用两个案件深入分析,再提出几个问题与答案,供小伙伴参考。 作为续集第一篇,咱们将重点关注一个外围问题:VirtualApp还是不是开源软件。 首先,咱们谈到的这两个案件别离为: 济宁市罗盒网络科技有限公司诉福建风灵创景科技有限公司,北京风灵创景科技有限公司与深圳市腾讯计算机系统有限公司侵害计算机软件著作权纠纷一案,案号(2019)粤03民初3928号,深圳市中级人民法院裁判日期2021年4月30日,当前都简称“风灵案”。济宁市罗盒网络科技有限公司诉广州市玩友网络科技有限公司,深圳冠准航科技有限公司,深圳奥斯坦科技有限公司,祥运实业(深圳)有限公司侵害计算机软件著作权纠纷一案,案号(2019)粤73知民初207号,广州知识产权法院裁判日期2021年9月29日,当前都简称“玩友案”。这两个案件被告都是罗盒公司,起诉的都是本人开发的VirtualApp这个安卓沙盒程序源代码被不同的公司不正当应用。 一、 VirtualApp是什么,从哪里来。 综合两份判决书中的证据和法院认定事实,咱们依照工夫程序整顿如下: 2016年7月7日Lody在Github网站上传了VirtualApp的初始源代码共计31097行,README文件记录“About Author:Lody (imlody@foxmail.com),次日附加了LGPL3.0协定;2016年9月10日,LICENSE.txt文件记录将LGPL 3.0许可协定更换为GPL 3.0许可协定;2016年9月23日,Lody标注“VirtualApp已申请国家专利,并取得软件著作权爱护,当你的行为对我的项目或是我的项目作者形成利益冲突时,咱们将查究法律责任”;2017年1月24日,Lody标注“您无权收费应用我的项目,VirtualApp已申请国家专利,并取得软件著作权爱护,当你的行为对我的项目或是我的项目作者形成利益冲突时,咱们将查究法律责任。若需应用本我的项目,请与作者分割”;2017年3月12日,Lody申明“您没有权力将VirtualApp的app模块作为您本人的app上架到软件市场,一经发现,结果你懂的。您须要受权才能够应用lib的代码,VirtualApp已申请国家专利,并取得软件著作权爱护,当你的行为对我的项目或是我的项目作者形成利益冲突时,咱们将查究法律责任。若需应用本我的项目,请与作者分割”;2017年7月3日,Lody申明“当您须要将VA用于商业路径时,须要进行受权,因而请务必与作者分割(联系方式见下)”;2017年8月8日,股东罗迪(即Github注册用户Lody)、张璐、张淼和广州壹龙投资治理企业(无限合伙)成立罗盒公司;2017年9月12日,Lody申明“您无权将VirtualApp的APP模块作为您本人的APP上传到软件市场,一经发现,咱们将起诉或报警。当您须要将VirtualApp用于商业用途时,请务必与受权负责人分割QQ/微信1*。购买受权是对咱们最大的反对和激励,您将失去咱们1vs1技术支持和帮忙,并取得未凋谢的商业版本”;2017年10月8日,Lody申明“VA目前被广泛应用于双开/多开、利用市场、模仿定位、一键改机、隐衷爱护、游戏批改、自动化测试、无感知热更新等技术畛域,但它决不仅限于此,Android自身就是一个极其凋谢的平台,免装置运行APK这一Feature关上了有限可能--这都取决于您的想象力。当您须要将VirtualApp用于商业用途时,请务必分割QQ1购买商业受权”;2017年10月29日,Lody删除GPL3.0协定;2017年11月8日,罗盒公司获得计算机软件著作权注销证书(登记号为20177SR613528),记录软件为“罗盒(VirtualApp)插件化框架虚构引擎零碎[简称:VirtualApp]V1.0” 开发实现日期为2015年2月28日、首次发表日期为2015年7月18日;2017年12月7日,Lody申明“VirtualApp凋谢源代码只能用于集体技术钻研和开辟思路。当您须要将VirtualApp用于商业用途时,请务必分割QQ1购买商业受权;2017年12月30日由Lody提交的更新(对应Git码为8e6d9cd925af55b53a7e93046c469dd69676c38b)的CHINESE.md文件内载明“VirtualApp(中文名为罗盒)2017年8月份正式公司化运作,当您须要将VirtualApp用于商业用途时,请务必分割QQ 购买商业受权。其中的重点环节能够总结为: 源代码上传Github;源代码以LGPL3.0许可证形式许可;批改为GPL3.0许可证;退出商用付费条款;宣称获得专利;注:本律师应用关键词Lody,罗迪,Virtual App在国家知识产权局的零碎中均未查问到相干专利。成立公司;删除GPL3.0许可证;获得软件著作权注销证书;进行更新Github。二、VirtualApp还是不是开源软件 明确了罗盒及作者Lody做了一些什么,当初回到咱们的外围问题,VirtualApp还是不是开源软件。 首先,VirtualApp是不是开源软件。VirtualApp一开始应用了LGPL3.0宽许可,是能够与GPL3.0协定相结合的。两个案件的法院均认为VirtualApp应用的是GPL3.0,实际上应该认为是LGPL3.0与GPL3.0联合应用,具体应用上遵循GPL3.0许可证。 其次,Lody的各种操作当前,VirtualApp还是不是开源软件。 退出商业付费条款:风灵案中法院对退出商业付费条款不做审查。然而,在玩友案中,法院认为“罗盒公司的商业应用限度保留条款对于用户应用其源代码的目标进行了限度,从而也限度了用户范畴,即只有非商业用途的用户才能够应用其源代码,这显然与GPL V3协定的“著佐权”个性矛盾。该限度保留条款也不属于第7条规定的能够增加的6种补充附加条款之一,应属于非许可性附加条款,属于第10条中的“进一步限度”,因而罗盒公司无权在实用GPL V3协定的涉案VirtualApp我的项目中增加商业应用限度保留条款。”对此,咱们认为:退出商业付费条款与GPL3.0并不一定抵触。尽管GPL3.0许可证要求不得收取版权费,但实用的范畴是开源版本,如果对商业版本收取版权费是能够的。依据GPL3.0协定,源代码发布者是能够要求用户付费来获得拷贝的,也能够要求用户付费来获取绝对应的服务或者衍生工具。GNU网站载明“你能够向人们免费来给出你的软件拷贝。然而当人们从其他人那里取得拷贝时,你不能要求人们向你付费。”所以,退出商业付费条款并不当然导致VirtualApp从开源软件变成一个商业软件。删除GPL3.0许可证; 两案中主审法院均认为,依据GPL3.0许可证的条款,只有某个软件版本退出GPL V3协定,则无奈随便删除GPL V3协定,该版本源代码将永恒放弃开源,即便受权方删除也无回溯力,并不影响此前版本持续实用。所以删除许可证并不会影响VirtualApp持续实用GPL3.0许可证。所以,两个法院均最终认定案件争议的软件版本是开源版,VirtualApp依然还是一个开源软件。 三、 开源软件的商业化开源软件是不是商业化这始终是值得探讨与钻研的话题。GPL许可证的强传染性,让应用GPL许可证受权的开源软件商业化又显得不同凡响。 在《看看中国法院是怎么看待GPL协定的》一文中,卫学生提出问题 “如果说作者用了GPL,作者就不能改别的协定,那还有哪个作者违心用GPL呢,再说,咱们常见的双重受权:“GPL受权、商业受权并存”,岂不是也违反GPL要求了?” 其实GPL受权与商业受权是能够共存的。首先,共存的前提是有一个GPL许可证受权的开源软件。其次,商业受权建设在已有的开源版本上,发售的是商业许可与增值服务。Dual License双重许可的一个典型案例就是Oracle的MySQL软件,这一问题早在MySQL推出第一个企业付费版本的时候就曾经有了宽泛探讨。现今Oracle除了依据GPLv2受权给开发者应用的开源版本的MySQL外,还向企业用户发售商业版本软件的商业许可。正如咱们在下面商业付费条款探讨环节中所述,GPL3.0协定并不拥护开源软件源代码发布者要求用户付费来获得一份拷贝。同时,Oracle在付费后还提供一系列增值服务,这些也是GPL3.0协定所容许的。 [1] https://www.gnu.org/licenses/...,拜访日期:2022年2月20日;[2] Licensing Information User Manual – MySQL[3] https://mp.weixin.qq.com/s/zj...,拜访日期:2022年2月20日;[4] https://www.mysql.com/about/l... ,拜访日期:2022年2月20日;[5] https://betanews.com/2007/08/... ,拜访日期:2022年2月20日;

February 22, 2022 · 1 min · jiezi

关于开源软件:GPL30许可证软件著作权纠纷案例解析

作者:陈元熹律师,海华永泰律师事务所 合伙人 工信部 《“十四五”软件和信息技术服务业倒退布局的告诉》提出了“凋敝国内开源生态”的指标,我国将大力发展国内开源基金会等开源组织,欠缺开源软件治理规定,遍及开源软件文化。开源软件的治理与生态建设,离不开法律对开源软件作者著作权的爱护。 本文将通过剖析最近中国法院无关GPL3.0许可证的实际判例,初步探讨中国法下开源许可证的性质与法律效力,开源软件侵权纠纷抵偿等问题,以期能为开源软件开发者与使用者爱护本身权力、防止纠纷提供参考。 一、 开源软件作者断定与主体适格问题 开源软件受著作权法律爱护 计算机软件是《著作权法》明确规定的作品,作品不管是否发表,作者都应享有著作权。开源软件作为一种曾经公布在网络平台上,可供用户拜访应用的软件,作者享有包含发表、署名、批改、复制、网络信息流传等著作权。所以,开源软件的作者作为著作权人,能够依据法律爱护本人的合法权益,并在受到侵权时要求侵权人承当相应的责任。署名者即为软件作者依据我国现行的《著作权法》,如无相同证据证实,在作品上署名的即为作者。《计算机软件爱护条例》也规定,计算机软件的著作权属于软件开发者,如无响应证实,在软件上署名的自然人、法人或者其余组织为开发者。除了署名以外,作者能够通过其余形式证实本人的权力。依据《最高人民法院对于审理著作权民事纠纷案件适用法律若干问题的解释》第七条规定:“当事人提供的波及著作权的底稿、原件、非法出版物、著作权注销证书、认证机构出具的证实、获得权力的合同等,能够作为证据。”其中,作者能够在中国版权保护核心(国家版权注销门户网)提交著作权注销申请,获得注销证书,明确作品的名称、实现日期、发表日期、地点、作者身份等权力归属,并在主张权力时作为领有权力的初步证实。 在(2018)京民终471号判决书,即数字地狱(北京)网络技术有限公司诉柚子(北京)科技有限公司等进犯计算机软件著作权纠纷一案(以下简称“数字地狱案”)中,数字地狱公司对其开发的HBuilder软件中的三个插件,即代码输入法性能插件、真机运行性能插件、边改边看性能插件别离进行了著作权注销并获得了注销证书,法院认可数字地狱公司有权主张著作权。 Github我的项目人作为诉讼主体是否适格Github的规定要求我的项目人容许任意用户查看与复制仓库内容。依据GitHub网站的规定,开源软件我的项目人将软件源代码上传到网站后,如果将页面和仓库设为公开显示,则示意我的项目人向每个用户授予非独占、寰球许可,容许他们通过 GitHub 服务应用、显示和执行内容。除了Github默认的规定要求外,我的项目人还能够采纳许可证的模式,进一步授予用户更多的权力。 Github规定与开源软件的个性容许这些用户在修复开源软件的bug或减少性能,将批改后的源代码反馈给我的项目人,向我的项目人收回pull request,如果我的项目人批准,批改后的源代码就正式merge到该开源软件的源代码中,成为一个新的版本。这些用户在Github网站上被标记为贡献者。 在(2019)粤73知民初207号判决书,即济宁市罗盒网络科技有限公司诉广州市玩友网络科技有限公司等侵害计算机软件著作权纠纷(以下简称“玩友案”)中,法院认为罗盒公司起诉不须要另外32位贡献者的批准。法院认为现有证据无奈认定VirtualApp属于单干作品,即便属于单干作品,因为贡献者散布于世界各地,如果要求必须通过所有贡献者的受权能力提起诉讼,那么将导致开源软件维权无从提起。法院认定玩友公司进犯的是该软件开源版的著作权,同时认为如果其余贡献者能够向罗盒公司主张宰割赔偿款。 对此,本文作者认为存在肯定争议:罗盒公司主张的是其获得注销证书的VirtualApp开源版的著作权被进犯,其中曾经蕴含了32位贡献者批改的代码本案的争议作品的公布与批改都是通过Github网站进行的,同样也能够通过该网站或者其余形式获得贡献者的批准,并没有证据证实贡献者与我的项目人签订协定受权我的项目人代表其诉讼,也没有任何证据表明罗盒公司对此进行了致力。法院认为贡献者并非著作权人,同时容许贡献者主张宰割赔偿款,本文作者认为存在肯定矛盾。通过认定超过百分之90的代码由我的项目人提供,否定贡献者对开源软件独创性的奉献,将我的项目人认为繁多著作权人,将大大打击贡献者的积极性,不利于开源社区生态的倒退。实际中,咱们发现大型开源我的项目经常会签订贡献者受权协定来解决受权问题。 二、 GPL开源许可证的法律性质 GNU通用公共许可协定,英文GNU General Pubic License, 缩写为GNU GPL或GPL,是开源软件畛域最受欢迎的软件许可证之一。GPL3.0许可证作为一种Copyleft许可证,具备“高传染性”。GPL3.0许可证容许开源软件用户能够对开源软件进行自在的复制、散发、批改及再公布,但要求用户应同样应用GPL3.0许可证颁布相应的源代码。所以,作者通过应用GPL3.0许可证,不仅将局部著作权授予用户,也为用户设定了以雷同条件开源的任务。我国判例偏向于将GPL3.0许可证认定为附条件的合同。玩友案中,广州知识产权法院采纳“要约说”,认为GPL3.0许可证属于软件权力人与用户之间订立的合同,是一种非典型、通过行为订立的书面格局合同,其中开源软件公布视为要约,用户应用视为承诺,在应用时合同即成立。首先,依据《民法典》及早前履行的相干法律规定,能够认为开源软件作者应用GPL3.0许可证的行为属于一种附条件的民事法律行为;其次,在(2019)粤03民初3928号判决书,即济宁市罗盒网络科技有限公司诉福建风灵创景科技有限公司等侵害计算机软件著作权纠纷一案(以下简称“风灵案”)中,深圳市中级人民法院认为,GPL3.0许可证的内容与模式都具备合同的特色。 三、 违反许可证的结果与侵权抵偿 违反GPL3.0许可证的结果 “风灵案”中法院认为“GPL3.0协定规定的应用条件(如凋谢源代码、标注著作权信息和批改信息等)系授权人许可用户自在应用的前提条件,亦即协定所附的解除条件。一旦用户违反了应用的前提条件,将导致GPL3.0协定在授权人与用户之间主动解除,用户基于协定取得的许可即时终止。”本文作者认为,依据GPL3.0许可证的文本,违反该许可证的任何流传或批改作品的希图都是有效的,并将主动停止用户通过该许可证取得的权力;然而许可证同时规定了当用户不再违反许可证时,该受权能够复原。所以,尽管咱们能够将GPL3.0许可证作为中国法下附条件的合同,然而当用户违反许可证的前提条件时,许可证这一合同主动停止,而非间接终止而导致合同权利义务毁灭。 不论是法院认为的许可终止,或者是能够复原的停止,违反GPL3.0许可证后,用户对开源软件的复制、应用、公布、批改等行为就失去了权力起源,形成著作权侵权。 侵权损害赔偿依据2010年版《著作权法》,著作权侵权损害赔偿金额依照:1. 理论损失;2. 守法所得确定,包含正当开销或由法院在五十万元以内酌定抵偿。我国于2020年对《著作权法》进行了订正,其中对著作权侵权损害赔偿进行了较大批改:1. 法定抵偿中减少了能够参照权力使用费给与抵偿;2. 引入了惩罚性抵偿的机制,情节严重的能够参照法定抵偿金额一到五倍抵偿;实用惩罚性抵偿须合乎:侵权人成心进犯著作权、情节严重,理论损失、守法所得与权力使用费难以计算;3. 酌定抵偿的金额从五十万元晋升为五百元以上五百万元以下。 因为案件事实均产生在2020年以前,在“数字地狱案”,“玩友案”与“风灵案”中,法院均裁决原告需赔付被告总金额五十万元。这几个案件简直都是依照过后履行法律的最高限额裁决。能够预感,将来开源软件著作权侵权损害赔偿将很有可能依照五百万元进行裁决,甚至可能让原告付出远超守法所得的惩罚性抵偿。 四、结语: 开源软件的公布、共享、批改与再公布,甚至商用等行为,都是离不开开源协定这一基石。GPL3.0许可证作为数以百计的开源协定的一种,曾经失去中国法院的抵赖与爱护。在中国法院的判例中,咱们看到了出名开源软件我的项目方在应用开源协定中的凌乱行为,而开源软件用户进犯著作权,违反开源协定的行为也失去了判罚。作为开源软件的参与者,开发者与开源软件用户都应该器重开源协定的抉择、应用等问题。 开源软件的企业用户更应被动建设合规体系并做好开源合规,理解各类开源协定的权利义务,做好事先、事中与预先审查,对企业外部应用开源软件进行审查,避免出现无心中进犯开源软件著作权的行为;如果发现侵权,应及时进行补救,采取与作者和解、购买商业版本许可等补救措施,免得减轻本身责任,付出高额代价。 参考资料:[1] https://www.gnu.org/licenses/...,拜访日期:2022年2月16日[2] https://zh.wikipedia.org/wiki...通用公共许可证,拜访日期:2022年2月16日[3] https://jxself.org/translatio...,拜访日期:2022年2月16日[4] 《中华人民共和国民法典》[5] https://ipc.court.gov.cn/zh-c...,拜访日期:2022年2月16日[6] 开源软件著作权侵权现状之实证钻研,吴梦晨,青海民族大学,《大国策》2021年06期[7] 工业和信息化部对于印发“十四五”软件和信息技术服务业倒退布局的告诉,http://www.gov.cn/zhengce/zhe...,拜访日期:2022年2月16日[8] 版权案例丨GPL3.0协定具备“高传染性”!衍生作品等亦需遵循协定凋谢其源代码,https://mp.weixin.qq.com/s/fd...,拜访日期:2022年2月16日[9] Alibaba Open Source Individual CLA

February 18, 2022 · 1 min · jiezi

关于开源软件:如何低成本测试云原生K8s应用

摘要KubeOrbit是一款云原生利用的微服务集成测试工具。本篇文章将从其技术实现的角度,为大家介绍波及到的技术及设计逻辑,帮忙大家了解这个开源产品,也期待将来有更多开发力量的退出。 1 背景介绍上图是 Red Hat 提供的一张服务网格数据立体的构图,绿色局部是理论的应用程序,蓝色局部便是网络代理,这在服务网格中被称为 Sidecar ,Sidecar 利用与应用程序共享雷同的生命周期,与应用程序一起创立和退出。云原生技术倒退至今,服务网格曾经被大量企业施行落地,通过接管分布式服务的通信层流量,胜利让许多企业团队开箱即可取得负载平衡、服务发现、认证受权、监控追踪、流量管制等分布式系统所须要的性能。然而目前仅通过服务网格无奈实现高效的微服务多环境测试,KubeOrbit即是解决这类场景设计出的。KubeOrbit 是一个 Kubernetes Operator, 提供逻辑环境隔离的计划,同时借助现成的流量治理基础设施层以低成本的形式帮忙用户解决测试环境治理的痛点。 2 技术实现2.1 KubeOrbit概念介绍KubeOrbit 次要的能力是通过创立逻辑隔离环境的形式,基于 Kubernetes 定制的资源对象,将其下发至各种服务网格的数据立体,建设起带标识的调用链路,达到按需增量扩大测试和联调环境的需要,外围组件展现如下: 2.2 OrbitOrbit 对象代表一个残缺的,独自的一套逻辑隔离环境,通过形容 provider 抉择集群中的(或者部署新的)服务网格。以 Istio 实现为例,Spec 中定义的配置会转化成相应的 Istio CRD,通过生成 Outbound Filter 为隔离环境中带标识的工作负载实现标识传递。 2.3 ServiceRouteServiceRoute 的作用次要是:定义具体的服务路由被转发的策略,如转发到哪些正本,默认的转发策略,以及通过何种流量标识转发。这里还是以 Istio 实现举例,Spec中定义的路由策略会转化成Istio VirtualService 和 DestinationRule,来反对不同正本的流量转发。 2.4 流量门路实现 CRD 的创立后,流量即可按规定路由至环境中携带流量标识的工作负载,以入口为微服务网关为例,东西向的流量调度示意如下: 2.5 染色透传如果在流量源头将申请染色,那么申请通过网关时,网关作为代理会将申请一成不变的转发给入口服务。紧接着,申请流量会从入口服务开始调用下一个微服务,会依据业务逻辑造成新的调用申请。那么咱们如何将流量标识增加到这个新的调用申请,从而能够在链路中传递上来呢? 现在的微服务之间调用是从本地过程的服务调用远端过程中的服务,并且远端服务可能以多正本容器模式部署,以至于一条申请流经的节点是不可预知的、不确定的,这对于通明代理 Sidecar 来说想通过不侵入的形式接管更是无能为力,KubeOrbit 以后版本中的流量标识可能在链路中始终传递上来,须要依赖 Trace 计划中的自定义信息性能,将来会对接常见的 Skywalking、OpenTelemetry、Zipkin等社区计划。 3 瞻望下一步 KubeOrbit 将持续迭代外围性能,扩大利用场景,次要会有以下几个局部: 支流微服务注册核心反对常见 Layer-7 协定反对CLI 工具目前,KubeOrbit已凋谢全副代码,欢送各位开发者敌人退出,一起探讨。GitHub地址:https://github.com/teamcode-inc/kubeorbit同时,任何疑难或想法,也欢送通过Discord频道及时与咱们反馈和交换。Discord频道: https://discord.gg/5XaTS9VArf 关注咱们公众号|知乎:TeamCode微博:TeamCode官博 理解更多KubeOrbit官网:http://www.kubeorbit.ioTeamCode官网:http://www.teamcode.com简历投递:hr@teamcode.com

February 8, 2022 · 1 min · jiezi

关于开源软件:Apache-APISIX-2120-版本发布新功能更适配新一年

继 2.11.0 版本公布之后,Apache APISIX 也在行将到来的新春佳节,为大家带来 2022 年第一个带有新性能的版本。在此也算携手新版本给大家拜个早年了! 新性能:更多的 Serverless 集成还记得在上个版本里,Apache APISIX 减少了对 Azure Function 的反对。而这次新版本中也是用意满满,在性能上又退出了对更多 Serverless 厂商的反对。 现在用户也能够在 Apache APISIX 中联合 AWS Lambda 和 Apache OpenWhisk,在网关上进行特定函数的裸露。 新性能:更多的鉴权插件此次的新版本,还将带来两个众人翘首以盼的新插件:forward-auth 和 opa。 forward-auth 插件跟 Traefik 的同名插件性能相似,该插件能够容许把以后申请的信息发送给内部服务进行鉴权。opa 插件则整合了驰名的 Open Policy Agent,该插件能够通过 OPA 来实现简单的鉴权性能。通过上述两个插件,将为 Apache APISIX 的鉴权性能精益求精,给用户带来更多丰盛和上手简略的鉴权操作。 新性能:更多的日志性能除了上边提到的鉴权插件,本次新版本还将带来三个新的日志插件:google-cloud-logging、splunk-hec-logging 以及 rocketmq-logger。 从插件名称上也很容易了解,通过上述三个插件能够把日志别离发送到 Google Cloud、Splunk 和 Apache RocketMQ。将来,Apache APISIX 将会对接越来越多的日志服务商和开源 Broker,让日志解决变得更加轻松。 反对记录响应体同时,此次 2.12.0 版本还在日志层面反对记录响应体。与 Apache APISIX 其余性能一样,该性能也能够通过表达式进行动静开启。这样在应用中,就能够实现仅在上游返回特定的 Content-Type 和 Content-Length 时进行日志记录,不必再去顾虑全量采集响应体而带来的问题了。 具体示例可参考下方: { "plugins": { "kafka-logger": { "broker_list" : { "127.0.0.1":9092 }, "kafka_topic" : "test2", "include_resp_body": true, "include_resp_body_expr": [ [ "sent_http_content_length", "<", "4096" ], [ "sent_http_content_type", "==", "application/json" ], ] } }, "upstream": { "nodes": { "127.0.0.1:1980": 1 }, "type": "roundrobin" }, "uri": "/hello"}上述配置会仅在 Content-Length < 4096 且 Content-Type 为 "application/json" 才记录日志。反对注册自定义变量另一个跟日志严密相干的性能,就是新版本的 Apache APISIX 已反对注册自定义变量。同时联合 APISIX 的自定义日志格局,就能够实现齐全自定义上报的日志内容。即无需批改具体的日志插件,就能实现日志生成和上报的解耦合。这里咱们通过一个示例进行简略演示一下。 ...

January 27, 2022 · 2 min · jiezi

关于开源软件:使用免费开源软件时遇到问题该怎么办

很多人在应用开源软件时,因为「不善于」发问,给开源作者和本人都带来了很多困扰,本文联合 LeanCloud 工程师曾分享的「社区发帖标准」为大家分享一些如何发问的小教训,帮忙大家在遇到问题时可能更快地失去解决。 发问前在与开源作者分割前,咱们能够尝试以下形式: 浏览开源我的项目开发文档在常见问题(FAQ)中寻找答案尝试互联网搜寻关键词寻找解决办法在遇到问题时咱们能够先通过查问文档尝试解决。一般来说,开源软件的作者都会写一份文档来帮忙使用者。在应用开源软件的过程中,局部问题可能在文档中找到答案,如果找不到,咱们还能够在 Stack Overflow (特地是比拟风行的开源软件)以及这个开源软件在 github 仓库的 issue(如果这个开源软件在 github 有仓库)中试一试。 在文档内容过多时,还能够尝试应用搜寻关键词疾速找到对应内容。 发问标准首先咱们应该写一个好的题目,尽量用一句话形容分明问题,并表明所应用的语言、平台。 正确示例: 小程序真机上传数据时,控制台存储中显示的 Class 表名被压缩为单个字母。配置 download 非法域名时显示「该域名因违规被禁止设置。」谬误题目: 救命,忽然就运行不了了这两天也有人反馈同样的问题,还是不行的除了形容分明问题外,最好还可能提供一些更加具体的信息,这些能够帮忙原作者更快定位问题,为你提出解决方案。 认真分明地形容问题,蕴含前因后果残缺的复现代码提供如硬件设施、操作系统、软件版本、网络等环境信息留神: 在发问波及代码局部时,留神不要应用图片来展现代码,因为没有人会照着图片手敲代码。 社交礼仪开源软件作者通常没有任务收费帮咱们解决问题,所以在寻求帮忙时,阐明来意,并应用「请」、「谢谢」等礼貌用语,以感激作者们无偿花工夫帮忙咱们,敌对礼貌的社交形式也会减少咱们失去有用回复的机会。 最初,心愿大家看完这篇内容后都可能学会如何更好地解决问题,开源我的项目的用户和作者之间不是甲方和乙方的关系,碰到问题时更多应该抱着「一起单干来解决这个问题」的心态,独特的输出,才会呈现更多优良的开源我的项目。

January 25, 2022 · 1 min · jiezi

关于开源软件:KubeOrbit正式开源期待更多开发技术力量的加入

KubeOrbit产品开源TeamCode设计和研发的云原生集成测试工具KubeOrbit正式凋谢源代码啦!(GitHub地址: https://github.com/teamcode-inc/kubeorbit)欢送各位开发者敌人、技术小伙伴退出我的项目,分享你们的智慧、注入开发力量!咱们心愿能利用这种公开通明的分布式合作模式,推动产品疾速迭代,一直摸索、独特发明更加便捷高效的合作开发和测试工具。 KubeOrbit的开发背景最近几年,在开发者群体中开始涌现出云原生浪潮,体现了组织对于更加高效的解决分布式系统开发体验的谋求。然而在企业上云的过程中,经常遇到一些问题和挑战,比方:云技术的应用存在肯定门槛,如何赋能更多开发人员使用、晋升研发效力?如何将复杂度解耦形象、缩小跨组织沟通,进步团队自治能力?如何利用平台对立能力,清晰组织边界,优化组织架构? 以研发日常工作中占较大比重的微服务联调为例,它是个多方合作的过程,但在团队开发和测试中常常会遇到各种各样的合作难题。最常见的就是开发团队每天都要面对微服务联调及测试,当呈现多feature并行联调时,繁多的测试环境会引发测试排队,资源受限等问题。比方在新版本上线期间,不同性能的开发团队都须要赶在发版前进行测试,造成测试环境的拥挤,团队测试效率较低。此外,如果微服务链路中某一服务引入未稳固的个性,其它服务又依赖于这个服务,就会导致全链路报错的状况。又或者测试环境上有大量不同团队负责的微服务,某团队往测试环境推了性能导致测试环境呈现问题和不稳固的状况,妨碍QA团队的工作进展。 基于这些现有问题和挑战,TeamCode设计和研发了云原生集成测试工具KubeOrbit,能够帮忙团队高效地进行微服务联调。 在传统团队测试流程中,如果我要同时测试多个feature,须要依赖多套测试环境来实现。如果我要测试服务A、B、C,须要为每一个服务独自调配测试工夫和相干测试人员,无奈同时进行。如何实现基于一套环境的多feature测试,节省时间和研发老本呢? KubeOrbit给出了解决方案:通过在微服务测试环境内创立测试通道,在发动微服务申请的时候指定测试通道,KubeOrbit也会把你须要测试的微服务增加至指定通道中,并与其余不同版本的微服务隔离开来。这样就能够在一个通道内测试依赖于服务B的服务A,另一个通道测试服务C,实现并行测试,省时高效又平安稳固。 从产品性能上来说,KubeOrbit 反对用户按feature建设联调通道用于测试,不同通道内的微服务流量之间互不影响,不再受单个测试环境的限度无需排队应用测试环境;反对任意 Layer-7 协定和微服务框架、反对任意语言:无论你是用Java、Python还是Golang开发微服务,架构中应用HTTP还是gRPC通信,都能够应用本产品。更重要的是,它对现有业务和架构没有任何侵入性,能够与调用链无缝联合,资源随用随取,无需关怀底层细节。KubeOrbit的将来布局KubeOrbit产品领有隔离性、应用便捷等个性:用户无需调整已有的技术栈和架构,KubeOrbit会自动识别并适配现有的微服务体系,还可能隔离不同测试通道之间的流量,轻松实现多feature联调测试。通过KubeOrbit测试环境中创立与删除测试通道的过程非常简略,几秒内即可实现操作。在将来的产品设计中,咱们会反对更多框架及协定,提供更多样的工具优化应用流程,一直晋升产品应用体验。同时大家也能够退出 Discord ,获取最新版本信息,提出产品倡议和反馈。 微信号:TeamCode | 微博:TeamCode官博 | 知乎:TeamCodeKubeOrbit官网:www.kubeorbit.ioTeamCode官网:www.teamcode.com简历投递:hr@teamcode.com

January 24, 2022 · 1 min · jiezi

关于开源软件:Fakerjs-作者删库跑路引开源圈震动该开源项目现已被社区控制

5 年前,一位程序员因删除了本人开源我的项目 left pad 中的一些代码而让大半个互联网瘫痪、导致有数代码库解体并引发热议。当初,同样的事件再次发生了 —— 上上周,出名工具库 Faker.js 的作者做了同样的事件,当初的后果也和5年前差不多。 据最新报道显示,目前 Faker.js 我的项目当初已成为由 8 名来自不同背景和公司的工程师组成的团队社区所管制。而 Faker.js 的作者 Marak 已正式“出局”。 Faker.js 作者“删库跑路”引开源圈“触动”1 月初,Faker.js 的作者 Marak Squires 被动歹意毁坏本人的我的项目后“删库跑路”。该事件产生之后,霎时引发了开源圈“触动”。 据悉,Marak 不仅将本人的 Faker.js 我的项目仓库的所有代码清空,留下了一个简短的自述文件"What really happened with Aaron Swartz?",还注入了导致程序死循环的恶意代码,引起泛滥应用程序解体。 作为一个十分有用的工具,Faker.js 能够生成可用于利用程序开发/测试方面的 Fake 数据,其受欢迎水平甚至被《财产》世界 500 强企业在内的数百家公司应用。 而始终以来,开发和保护 Faker.js 我的项目的作者 —— 程序员 Marak 向来都被认为是一位颇具争议的人物。报道称,Faker.js 我的项目作者 Marak 此前就有过删除本人热门我的项目的记录。早在 2020 年,Marak 就曾声称他曾经“受够了保护 Faker.js ”。 而在此次口头之前的“预兆”中,Marak 在一份代码提交中申明:“恕我直言,我将不会再为《财产》世界500强(以及其余规模较小的公司)提供收费反对。” 家喻户晓,js代码库是开源收费的,这须要有人领取几十万的薪水来持续反对保护。但作为收费应用该代码库的一些世界企业及公司们,却在代码库无奈应用或出情况的时候第一工夫进去指摘作者而不必付出任何代价,这一点也的确让开源我的项目的作者感到悲观。 由此也看来得出,Faker.js 作者此次事件的产生也并非“忽然”了。 此前在 reddit 上,有不少热门帖也示意,Marak 清空 Faker.js 仓库的代码是因为不足资金和被他人滥用开源我的项目。 ...

January 19, 2022 · 1 min · jiezi

关于开源软件:线程池如何观测这个方案让你对线程池的运行情况了如指掌

明天咱们来聊一个比拟实用的话题,动静可监控可观测的线程池实际。 这是个全新的开源我的项目,作者提供了一种十分好的思路解决了线程池的可观测问题。 这个开源我的项目叫:DynamicTp 地址在文章开端。 写在后面略微有些Java编程教训的小伙伴都晓得,Java的精华在juc包,这是赫赫有名的Doug Lea老爷子的杰作,评估一个程序员Java程度怎么样,肯定水平上看他对juc包下的一些技术把握的怎么样,这也是面试中的基本上必问的一些技术点之一。 juc包次要包含: 1.原子类(AtomicXXX) 2.锁类(XXXLock) 3.线程同步类(AQS、CountDownLatch、CyclicBarrier、Semaphore、Exchanger) 4.工作执行器类(Executor体系类,包含明天的配角ThreadPoolExecutor) 5.并发汇合类(ConcurrentXXX、CopyOnWriteXXX)相干汇合类 6.阻塞队列类(BlockingQueue继承体系类) 7.Future相干类 8.其余一些辅助工具类 多线程编程场景下,这些类都是必备技能,会这些能够帮忙咱们写出高质量、高性能、少bug的代码,同时这些也是Java中比拟难啃的一些技术,须要坚持不懈,学以致用,在应用中感触他们带来的奥秘。 上边简略列举了下juc包下性能分类,这篇文章咱们次要来介绍动静可监控线程池的,所以具体内容也就不开展讲了,当前有工夫独自来聊吧。看这篇文章前,心愿读者最好有肯定的线程池ThreadPoolExecutor应用教训,不然看起来会有点懵。 如果你对ThreadPoolExecutor不是很相熟,举荐浏览上面两篇文章 javadoop: https://www.javadoop.com/post/java-thread-pool 美团技术博客: https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 背景应用ThreadPoolExecutor过程中你是否有以下痛点呢? 1.代码中创立了一个ThreadPoolExecutor,然而不晓得那几个外围参数设置多少比拟适合 2.凭教训设置参数值,上线后发现须要调整,改代码重启服务,十分麻烦 3.线程池绝对开发人员来说是个黑盒,运行状况不能感知到,直到呈现问题 如果你有以上痛点,这篇文章要介绍的动静可监控线程池(DynamicTp)或者能帮忙到你。 如果看过ThreadPoolExecutor的源码,大略能够晓得其实它有提供一些set办法,能够在运行时动静去批改相应的值,这些办法有: public void setCorePoolSize(int corePoolSize);public void setMaximumPoolSize(int maximumPoolSize);public void setKeepAliveTime(long time, TimeUnit unit);public void setThreadFactory(ThreadFactory threadFactory);public void setRejectedExecutionHandler(RejectedExecutionHandler handler);当初大多数的互联网我的项目其实都会微服务化部署,有一套本人的服务治理体系,微服务组件中的分布式配置核心表演的就是动静批改配置,实时失效的角色。那么咱们是否能够联合配置核心来做运行时线程池参数的动静调整呢?答案是必定的,而且配置核心绝对都是高可用的,应用它也不必过于放心配置推送呈现问题这类事儿,而且也能缩小研发动静线程池组件的难度和工作量。 综上,咱们总结出以下的背景 广泛性:在Java开发中,想要进步零碎性能,线程池曾经是一个90%以上的人都会抉择应用的根底工具不确定性:我的项目中可能会创立很多线程池,既有IO密集型的,也有CPU密集型的,但线程池的参数并不好确定;须要有套机制在运行过程中动静去调整参数无感知性,线程池运行过程中的各项指标个别感知不到;须要有套监控报警机制在事先、事中就能让开发人员感知到线程池的运行状况,及时处理高可用性,配置变更须要及时推送到客户端;须要有高可用的配置管理推送服务,配置核心是当初大多数互联网零碎都会应用的组件,与之联合能够大幅度缩小开发量及接入难度简介咱们基于配置核心对线程池ThreadPoolExecutor做一些扩大,实现对运行中线程池参数的动静批改,实时失效;以及实时监控线程池的运行状态,触发设置的报警策略时报警,报警信息会推送办公平台(钉钉、企微等)。报警维度包含(队列容量、线程池活性、回绝触发等);同时也会定时采集线程池指标数据供监控平台可视化应用。使咱们能时刻感知到线程池的负载,依据状况及时调整,避免出现问题影响线上业务。 | __ \ (_) |__ __| | | | |_ _ _ __ __ _ _ __ ___ _ ___| |_ __ | | | | | | | '_ \ / _` | '_ ` _ | |/ __| | '_ \ | |__| | |_| | | | | (_| | | | | | | | (__| | |_) | |_____/ __, |_| |_|__,_|_| |_| |_|_|___|_| .__/ __/ | | | |___/ |_| :: Dynamic Thread Pool :: 个性 ...

January 17, 2022 · 3 min · jiezi

关于开源软件:使用Tin快速安装TKY全网最快

TYK是一个开源的轻量级 API 网关计划。这里提供一个不必下载依赖,不必思考零碎版本,小白也能操作的装置体验TYK的办法。 先介绍下实现这一过程的工具:TeamCode Tin是一个可能疾速从源码构建可运行实例的工具。Tin利用已将TYK所需的运行环境打包成容器,用户应用Tin利用即可间接在云端运行TYK。 操作步骤:1.点击TKY的Tin链接https://www.teamcode.com/tin/... 2.点击后进入TeamCode登录页面实现登录(已登录用户可跳过该步骤)。你能够抉择邮件、手机号、google账户、微信以及QQ进行疾速登录。注册TeamCode的用户,每个月都有肯定的收费额度能够应用。 点击 Clone,将TYK克隆到本人的Tin工作空间。4.点击 RUN NOW,Tin利用会立刻运行。 点击Endpoint Lists,能够看到拜访TYK的入口。点击Endpoint入口(图中红框的链接),在新关上的窗口链接开端增加 /keyless-test/ 即可立刻拜访TYK。立刻体验TYK如果你想同样疾速的装置应用其余开源网关如APISIX,能够查看我的其余文章。如果你想跳过环境装置配置过程疾速应用你喜爱的我的项目,能够在TeamCode官网查看Tin的具体使用指南 https://www.teamcode.com/docs...,更多功能等你发现。 点击查看: Tin技术文档 一键试用:Tin|Pylon|Could-IDE 简历投递:hr@teamcode.com 分割咱们:dev.relation@teamcode.com 想要理解更多?来 slack 与咱们聊天吧

December 31, 2021 · 1 min · jiezi

关于开源软件:使用Tin快速安装SwaggerUI两分钟以内

Swagger UI 容许任何人(无论是开发团队还是客户)查看可视化 API 资源并与之交互。它依据OpenAPI(以前称为 Swagger)标准主动生成,带有可视化文档,便于后端实现和客户端应用。 这里提供一个不必下载依赖,不必思考零碎版本,小白也能操作的装置体验Swagger-UI的办法。 先介绍下实现这一过程的工具:TeamCode Tin是一个可能疾速从源码构建可运行实例的工具。Tin利用已将Swagger-UI所需的运行环境打包成容器,用户应用Tin利用即可间接在云端运行Swagger-UI。 操作步骤:1.点击Swagger-UI的Tin链接https://www.teamcode.com/tin/... 2.点击后进入TeamCode登录页面实现登录(已登录用户可跳过该步骤)。你能够抉择邮件、手机号、google账户、微信以及QQ进行疾速登录。注册TeamCode的用户,每个月都有肯定的收费额度能够应用。 点击 Clone,将Swagger-UI克隆到本人的Tin工作空间。点击 RUN NOW,Tin利用会立刻运行。点击Endpoint Lists,能够看到拜访Swagger-UI的入口。点击Endpoint入口(图中红框的链接),即可立刻拜访Swagger-UI。立刻体验Swagger-UI。如果你想同样疾速的装置应用其余开源我的项目,跳过环境装置配置过程,能够在TeamCode官网查看Tin的具体使用指南 https://www.teamcode.com/docs...,更多功能等你发现。 点击查看: Tin技术文档 一键试用:Tin|Pylon|Could-IDE 简历投递:hr@teamcode.com 分割咱们:dev.relation@teamcode.com 想要理解更多?来 slack 与咱们聊天吧

December 31, 2021 · 1 min · jiezi

关于开源软件:使用Tin快速安装-Apache-APISIX全网最快

APISIX 是一个开源的、高性能、可扩大的微服务 API网关。 这里提供一个不必下载依赖,不必思考零碎版本,两分钟疾速装置Apache APISIX的办法。 先介绍一个这个工具:TeamCode Tin是一个可能疾速从源码构建可运行实例的工具。Tin利用已将SonarQube所需的运行环境打包成容器,用户应用Tin利用即可间接在云端运行Grafana。 操作步骤:1.点击Apache APISIX的Tin链接(https://www.teamcode.com/tin/...) 2.点击后进入TeamCode登录页面实现登录(已登录用户可跳过该步骤)。你能够抉择邮件、手机号、google账户、微信以及QQ进行疾速登录。 注册TeamCode的用户,每个月都有肯定的收费额度能够应用。 点击 Clone,将Apache APISIX克隆到本人的Tin工作空间。4.点击 RUN NOW,Tin利用会立刻运行。 点击Endpoint Lists,能够看到拜访Apache APISIX的入口。点击Endpoint里的apisix-dashboard入口(图中红框的链接),即可立刻拜访Apache APISIX。你已胜利装置Apache APISIX,立刻登录应用吧。(是不是很快!)如果你想同样疾速的装置应用其余开源网关如TYK,能够查看我的其余文章。如果你想跳过环境装置配置过程疾速应用你喜爱的我的项目,能够在TeamCode官网查看Tin的具体使用指南 https://www.teamcode.com/docs...,更多功能等你发现。 点击查看: Tin技术文档一键试用:Tin|Pylon|Could-IDE简历投递:hr@teamcode.com分割咱们:dev.relation@teamcode.com想要理解更多?来 slack 与咱们聊天吧!

December 27, 2021 · 1 min · jiezi

关于开源软件:实用攻略之如何有效地宣传你的开源项目

将我的项目放在开源交流平台上如果您有一个开源我的项目,请记得放到 GitHub 和 Open Hub 等分享平台上。施展创意并将其放在所有出名开发者平台上。将网站放在您的论坛签名中,和其余所有有意义的中央,然而要留神,不要发送垃圾邮件,那样很容易事与愿违。这里再举荐一些开源我的项目交流平台和社媒网站:知乎, 思否,CNode, V2EX, CSDN, Hacker News, Product Hunt, 让你的软件便于应用你当然不会喜爱难用难装置的软件,因为那样会浪费时间。通常状况下,应用开源我的项目,咱们须要浏览文档,依据提醒在本地装置,这往往会消耗几十分钟甚至更多工夫。更别说有些文档还十分难读懂,可能少了某个要害信息,工夫节约了而且还装置不胜利。我的倡议是从开始测试你的软件,并充分考虑用户体验。 充分利用效力工具访客心愿晓得你的我的项目是做什么,怎么工作运行,如何疾速应用的。通常的做法是提供一个动图或视频demo。更重要的是,你能够利用效力工具,比方TeamCode的Tin,访问者可一键试用你的我的项目,十分有利于我的项目的测试和流传。 放弃我的项目的最新状态人们都不喜爱过期的开源我的项目,如果你的我的项目超过 1 年未更新,那么你将失去用户,因为这表明了它没有失去保护。提前布局,做好我的项目更新排期,并据此来更新你的我的项目和使用手册。有打算、法则地推出软件我的项目的新版本,向访问者表明你的软件我的项目是实时保护更新的。

December 24, 2021 · 1 min · jiezi

关于开源软件:如何使用Tin安装SonarQube史上最快

Sonar (SonarQube) 是一个开源的代码品质治理平台, 能够检测代码中的谬误,破绽以及代码异样。这里提供一个不必下载依赖,不必思考零碎版本,百分之百胜利装置SonarQube的办法。TeamCode Tin是一个可能疾速从源码构建可运行实例的工具,已将SonarQube所需的运行环境打包成容器,用户点击即可间接在云端运行。 用户操作步骤:1.点击SonarQube的Tin链接(https://www.teamcode.com/tin/...) 2.点击后进入TeamCode登录页面实现登录(已登录用户可跳过该步骤)。你能够抉择邮件、手机号、google账户、微信以及QQ进行疾速登录。 注册TeamCode的用户,每个月都有肯定的收费额度能够应用。 点击 Clone,将SonarQube克隆到本人的Tin工作空间。4.点击 RUN NOW,Tin利用会立刻运行。 点击Endpoint Lists,能够看到拜访SonarQube的入口。点击Endpoint入口(图中红框的链接),即可立刻拜访SonarQube。你已胜利装置SonarQube,登录应用。(是不是有一种做了火箭的感觉!)如果你想疾速装置SonarQube的其余版本或其余开源我的项目,跳过环境装置配置过程,将这种一键装置的Tin利用分享给别人。能够在TeamCode官网查看Tin的具体使用指南https://www.teamcode.com/docs...,更多功能等你挖掘。 点击查看: Tin技术文档一键试用:Tin|DCS|Could-IDE简历投递:hr@teamcode.com分割咱们:dev.relation@teamcode.com想要理解更多?来 slack 与咱们聊天吧!

December 24, 2021 · 1 min · jiezi

关于开源软件:如何使用TeamCode-Tin快速访问Jenkins

Jenkins是一个开源软件我的项目,是基于Java开发的一种继续集成工具,用于监控继续反复的工作,旨在提供一个凋谢易用的软件平台,使软件我的项目能够进行继续集成。 TeamCode Tin已将Jenkins所需的运行环境打包成容器,用户点击即可间接在云端运行Jenkins我的项目。 用户操作步骤:1.点击Jenkins Tin利用的链接(https://www.teamcode.com/tin/...) 2.点击后进入TeamCode登录页面实现登录(已登录用户可跳过该步骤)。你能够抉择邮件、手机号、google账户、微信以及QQ进行疾速登录。注册TeamCode的用户,每个月都有肯定的收费额度能够应用。 点击 Clone,像fork github我的项目一样,将Jenkins我的项目克隆到本人的Tin工作空间。4.点击 RUN NOW,Tin利用会立刻运行。 点击Endpoint Lists,能够看到拜访Jenkins的入口。点击Endpoint入口(图中红框的链接),即可立刻拜访Jenkins。你已胜利关上Jankins,依照Jenkins的页面提醒进行操作即可。你也能够应用Tin工具疾速关上其余我的项目,并跳过环境装置配置过程,具体操作指南能够在TeamCode官网查看。 点击查看: Tin技术文档一键试用:Tin|DCS|Could-IDE简历投递:hr@teamcode.com分割咱们:dev.relation@teamcode.com想要理解更多?来 slack 与咱们聊天吧!

December 23, 2021 · 1 min · jiezi

关于开源软件:普华基础软件加入龙蜥并成为理事单位共创开源操作系统新生态

近日,经龙蜥社区理事会表决通过,普华根底软件股份有限公司(以下简称“普华根底软件”)正式退出龙蜥社区,并成为社区理事成员单位。 普华根底软件是中国电子科技团体有限公司倒退根底软件的重要平台,是国内率先可提供从实时嵌入式操作系统、通用桌面操作系统、服务器操作系统到云操作系统全线产品、服务与解决方案的根底软件企业。普华通用操作系统产品以开源 Linux 为根底,反对 X86、ARM、SW64、LoongArch 等架构,蕴含鲲鹏、申威、海光、龙芯、飞腾、兆芯等国产芯片,满足信息化基础设施、办公零碎、管理系统、业务零碎、生产作业系统等多个畛域的利用需要,为客户提供全生命周期的服务保障。作为软件开发的基石,“开源”正在成为数字化翻新倒退的要害。普华根底软件将基于龙蜥开源操作系统公布商业版本,推动基于龙蜥技术的商业化疾速落地,帮助社区进行操作系统生态建设,与产业链上下游厂商发展软硬件兼容适配工作,推动龙蜥成为国内先进操作系统。同时,还将积极参与社区版本开发,组建和奉献社区 SIG 工作组,独特布局社区版本公布和技术路线,培养开源生态根底。一直壮大开源人才队伍,保障社区生态可继续倒退。普华根底软件事业部总经理沈翔示意:“龙蜥是国内当先的操作系统开源社区,普华是一家具备开源基因的国产操作系统公司。面对根底软件架构正在产生的变动,普华根底软件用‘两横两纵’的形式构建了新的数字化建设底座,心愿在龙蜥社区开源、凋谢、日益凋敝的生态与利用之上,为用户打造好用的利用生态平面综合撑持及运维平台,进步国家数字基础设施的产业创新能力,独特发明一个面向未来的开源操作系统。”龙蜥社区理事长马涛示意:“普华根底软件作为国内有重要影响力的业余操作系统厂商退出到龙蜥社区,必将减速社区的联结翻新,晋升社区的技术价值和产业影响力,推动国产操作系统产业的降级倒退。” —— 完 —— 退出龙蜥社群 退出微信群:增加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;退出钉钉群:扫描下方钉钉群二维码。欢送开发者/用户退出龙蜥社区(OpenAnolis)交换,独特推动龙蜥社区的倒退,一起打造一个沉闷的、衰弱的开源操作系统生态! 对于龙蜥社区龙蜥社区(OpenAnolis)是由企事业单位、高等院校、科研单位、非营利性组织、集体等依照被迫、平等、开源、合作的根底上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、凋谢的Linux上游发行版社区及翻新平台。 短期指标是开发龙蜥操作系统(Anolis OS)作为 CentOS 代替版,从新构建一个兼容国内 Linux 支流厂商发行版。中长期指标是摸索打造一个面向未来的操作系统,建设对立的开源操作系统生态,孵化翻新开源我的项目,凋敝开源生态。 龙蜥OS 8.4已公布,反对 x86_64 、ARM64、LoongArch 架构,欠缺适配 Intel、飞腾、海光、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密反对。 欢送下载: https://openanolis.cn/download 退出咱们,一起打造面向未来的开源操作系统! https://openanolis.cn

December 9, 2021 · 1 min · jiezi

关于开源软件:最受-IT-公司欢迎的-30-款开源软件

本文起源:http://www.360doc.com/content...所谓开源,就是把软件的源代码凋谢进去,大家都能看到源代码,大家能够一起钻研源代码并对软件的进行优化和改良。越来越多的IT公司对开源持凋谢态度,一方面有了优良的开源我的项目,就不必再反复造轮子,能够间接拿来应用;另一方面,本人公司有优良的自研我的项目,为了发展壮大能够抉择将我的项目开源,让更多的开发者参加进来,一起致力晋升软件的性能!近些年来,国内很多大型IT公司也逐步推出了一些高质量的开源我的项目,比方华为开源了鸿蒙零碎、腾讯开源了自研的顶级数据库TBase、 阿里开源了自研的科学计算引擎Mars等。 上面,咱们先大略的回顾一下红帽公司公布的企业开源现状的调查报告,而后简略的介绍一下最受IT公司青眼的一些开源我的项目。这些次要是面向企业的应用软件我的项目,涵盖Web服务器、大数据、云计算、云存储、操作系统、数据库等几大类别。 红帽公布2019年企业开源调查报告 开源技术已被广泛应用于企业中,这一点毋庸置疑。像谷歌和微软这样的科技巨头也抵赖开源的力量——谷歌云最近与 MongoDB、redis Labs、Neo4j 和Confluent 等公司建设合作伙伴关系便是很好的佐证。但这些企业如何对待开源?为什么抉择开源?它们对于开源的下一步打算又是什么?基于以上疑难,红帽发动了“企业开源状态”考察,并于 2019年4 月16日公布了调查报告。 这份报告是对世界各地 950 位 IT 领导者进行访谈后的成绩,考察区域包含美国、英国、拉丁美洲及亚太地区,旨在理解不同天文区域的企业开源详情。 企业是否认为开源具备战略性意义?这是红帽最先抛出并且最心愿理解的一个问题。 考察结果显示,950 位受访者中,绝大多数人认为开源对企业整体的基础架构软件策略具备策略重要性。事实上,超过 69% 的人示意这十分或极其重要。 另外,在过来的 12 个月中,68% 的企业减少了对企业开源的应用,超过 59% 的企业预计在将来 12 个月内将持续应用企业开源。 今时今日,企业开源也能够取代专有软件,用于从虚拟化到音讯总线再到应用服务器等许多不同目标。开源还有助于定义和塑造从容器化到软件定义存储和网络的基础架构的新办法。 其中,应用开源技术达成基础架构现代化和利用现代化的企业占比别离为 53% 和 42%。 不过,开源软件不仅仅是为了替换旧的基础设施。42% 的受访者示意他们正在将其用于数字化转型,具体次要利用于大数据分析和数据库治理。这一趋势不容小觑。 开源的独特之处在于,它使集体和组织可能以最小的阻碍进行合作,实现独特指标。 现如今许多新类别的软件都受到开源技术的影响。人工智能、软件定义的基础架构和云原生平台就是一些很好的例子。 当今软件世界的许多翻新都是在开源的状况下产生的,依赖软件来反对其业务的组织都心愿可能利用这一翻新。 正如红帽 CEO Jim Whitehurst 在调查报告开篇所讲:“这个时代产生的最激动人心的技术创新正在开源社区造成”。 Part1 web服务器1、Nginx Nginx (engine x) 是俄罗斯人开发进去的一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,Nginx的并发能力在同类型的网页服务器中体现较好,很多人应用Nginx来做负载均衡器和web反向代理。 反对的操作系统:windows、linux 和 OS X 相干网站:https://nginx.org 2、Lighttpd Lighttpd是一个轻量级的开源Web服务器软件,其基本的目标是提供一个专门针对高性能网站,平安、疾速、兼容性好并且灵便的web server环境。具备非常低的内存开销、cpu占用率低、效力好以及丰盛的模块等特点。宽泛的利用于一些嵌入式的web服务器上。 反对的操作系统:Windows、Linux 和 OS X 相干网站:https://www.lighttpd.net/ 3、Tomcat Tomcat服务器是一个收费的凋谢源代码的Web 应用服务器,属于轻量级应用服务器,次要用于运行JSP 页面和Servlet。因为Tomcat 技术先进、性能稳固,而且收费,因此深受JAVA 爱好者的青睐并失去了局部软件开发商的认可,成为目前比拟风行的Web 应用服务器。 ...

November 10, 2021 · 2 min · jiezi

关于开源软件:BFE-Ingress-Controller正式发布

大家期待已久的BFE IngressController终于在近日正式公布! BFE Ingress Controller是基于 BFE 实现的Kubernetes Ingress Controller,用于反对在 Kubernetes 中应用 Ingress来裸露服务并进行负载平衡、SSL终结等,现已正式公布并能够下载应用。BFE Ingress Controller 采纳Apache-2.0 License,我的项目地址:https://github.com/bfenetwork... 。 背景随着云原生、容器化的一直推动,以及用户对BFE弱小能力的应用和理解,咱们一直收到社区的反馈,心愿可能为在Kubernetes环境中部署的服务,应用BFE进行流量接入和转发。 在Kubernetes中,对外裸露服务有Ingress、LoadBalancer、NodePort等多种形式。Ingress是对服务的内部HTTP/HTTPS拜访进行治理的 API 对象。采纳Ingress裸露服务时,须要部署Ingress Controller,以依据 Ingress 资源上定义的规定对流量进行管制和路由。 往年2月,BFE开源社区的开发者们发动了基于BFE的Ingress Controller的我的项目,目标是提供一款Ingress Controller,使用户可能在应用Ingress进行流量接入时,享受到BFE的泛滥优良特点和弱小能力。通过大半年的开发和测试,BFE Ingress Controller终于在本月公布了。 次要性能BFE Ingress Controller实现了Kubernetes原生Ingress的性能,并基于BFE的能力,扩大了路由规定形容能力和服务间的流量调度能力。次要性能包含:1、HTTP/HTTPS流量路由 反对依据Host、Path、Header、Cookie对申请进行路由反对Path的准确匹配、前缀匹配反对Host的准确匹配、通配符匹配2、多Service之间负载平衡 反对在提供雷同服务的多个Service之间按权重进行负载平衡3、TLS终结 4、灰度公布 反对基于HTTP Header/Cookie的服务灰度公布更多信息,见BFE Ingress Controller的文档:https://github.com/bfenetwork...。 如何部署咱们提供了BFE Ingress Controller的Docker镜像、所需的yaml配置文件、欠缺的手册,您能够依据文档中的“部署指南”,疾速上手部署BFE Ingress Controller。 Ingress配置通过配置Ingress资源,能够定义 Kubernetes 集群内服务对外提供服务时的流量路由规定。BFE Ingress Controller反对Kubernetes原生定义的Host规定、Path规定,并利用注解(Annotation)反对了Header规定、Cookie规定,以及多服务之间的负载平衡。 在文档中的“配置指南”局部,咱们提供了具体的阐明和多个示例。 后续打算接下来,咱们会将更多的BFE的成熟能力,退出到BFE Ingress Controller当中,并提供对Gateway API的反对。 期待您的应用反馈,并心愿有更多人退出BFE开源社区一起建设。 点击进入取得更多技术信息~~

October 18, 2021 · 1 min · jiezi

关于开源软件:如何实现多数据中心流量调度

1. 需要场景目前互联网的服务广泛都部署在数据中心(Data Center)内。数据中心是一个很简单的零碎,波及到供电、制冷、供水等一系列的环节。因为设施故障、供电故障和自然灾害等因素,数据中心也可能呈现故障。从服务的高可用角度,个别须要将服务部署在多个数据中心内,以便在数据中心呈现故障的状况下,依然保障服务的继续提供。 在多数据中心场景下,须要思考网络流量如何在多个数据中心之间调度。如下图所示,有2个数据中心,每个数据中心内都部署了雷同的服务(别离命名为服务1和服务2)。每个数据中心各有一个网络接入点。上面要解决的问题是如何将用户流量在多个数据中心部署的服务间做调度。 图1 多数据中心场景下的流量调度 2. 基于DNS的调度计划2.1 计划阐明在多数据中心调度方面,目前比拟广泛采纳的是基于智能DNS的计划。工作原理如下图所示。 每个数据中心的接入点有不同的VIP(别离为1.1.1.1和2.2.2.2)。客户端在向服务发送申请前,首先通过智能DNS将域名(www.demo.com)解析为IP地址。智能DNS依据待解析的域名和客户端的IP地址(3.3.3.3),基于设置的解析策略,返回解析的后果(1.1.1.1)。 在每个数据中心内,发往这个数据中心接入点的申请都仅由同数据中心内的服务来解决。在下图中,发往1.1.1.1的申请仅由服务1来解决,发往2.2.2.2的申请仅由服务2来解决。 图2 在多数据中心场景下利用智能DNS 如果数据中心产生了故障(如:接入点1产生了故障,或服务1产生了故障),能够通过扭转智能DNS的策略,将2.2.2.2返回给客户端,从而将用户流量从数据中心1中的服务1调度到数据中心2中的服务2。 图3 基于智能DNS实现故障切换 2.2 计划的问题尽管基于DNS的多数据中心调度计划已广泛采纳,然而这个计划也存在着非常明显的问题。计划的问题包含: (1) 失效速度慢。DNS采纳缓存机制,在客户端和客户端间接拜访的Local DNS(位于客户端所处的网络或运营商内)内个别都有缓存。缓存能够升高客户端对于权威DNS和Local DNS的拜访压力,但同时也减少了失效的延迟时间。例如,如果在权威DNS中将TTL设置为5分钟,则最终的失效提早会达到8-10分钟。还可能存在有故障或不遵循DNS TTL的Local DNS,从而导致对应的用户应用更长的工夫实现切换,甚至始终都不切换。 (2) 控制精度低。对于智能DNS的期待,是能够比拟准确的管制达到各数据中心接入点的流量。但这个指标是无奈实现的。这一方面是因为上文所提到的DNS缓存机制,客户端在每次DNS解析后发送的申请数量不确定;另一方面,在DNS解析的过程中存在Local DNS,权威DNS无奈判断每个Local DNS所代表的用户规模。 图4 权威DNS难以判断Local DNS代表的用户规模 3. 基于七层负载平衡的调度计划为了解决基于DNS的调度计划中所存在的问题,能够在转发的过程中引入七层负载平衡零碎(如BFE)。 3.1 计划阐明图5 引入七层负载平衡零碎后的调度计划 具体的计划如上图所示。在各数据中心内各部署一个BFE集群。BFE能够依照指定的权重,将流量转发至多个后端集群。 这个计划要求在多个数据中心之间有较好的内网互联。在同城的多个数据中心之间,这个条件是比拟容易满足的。并且在同城内,数据中心之间的网络提早能够管制在1-2ms内,对于转发整体的网络提早影响也不大。 对于位于不同地区的多个数据中心,如果在数据中心间接有比拟好的内网互联,也能够利用七层负载平衡做内网调度;如果没有短缺的内网互联,只能持续应用基于DNS的调度计划。 3.2 计划的收益和只应用DNS的计划相比,在引入七层负载平衡零碎后,能够取得如下收益: (1) 失效速度快。多集群间分流的权重配置在BFE加载后,能够立即失效。这相比DNS的分钟级提早有了微小的进步。而且相比于DNS计划中Local DNS的不可控性,BFE的集群齐全在服务提供方的管制之下。 (2) 控制精度高。在引入BFE后,转发至后端服务集群的流量能够准确的依照给定的权重来管制。这为后端服务的容量治理和压力过载场景下的处理提供了便当。 4. 利用场景阐明上面联合几个具体的场景,阐明七层负载平衡如何在多数据中心流量调度中发挥作用。 4.1 场景1:服务故障在某些场景下(如服务的灰度公布),可能呈现单个数据中心内的服务呈现故障,从而导致服务容量降落甚至齐全无奈提供服务。这时能够调整BFE上的分流权重,将流量调度到其它数据中心,疾速实现止损解决。 图6 服务故障场景下的解决 4.2 场景2:外网流量突增可能呈现某个地区的用户流量突增,导致单个数据中心内的服务压力超过容量。这时能够将局部流量调度到其余子集群来服务。 图7 外网流量突增场景下的解决 4.3 场景3:外网故障在外网故障的场景下,会在外网通过DNS将局部流量从一个网络接入点调度到另外一个网络接入点。这样可能会导致另一个数据中心内的服务(下图中的服务2)压力超过容量。这时能够将局部流量调度到服务1来服务,以升高服务2的压力。 图8 外网故障场景下的解决 5. 延长浏览本文阐明了在多数据中心场景下如何通过应用七层负载平衡零碎BFE来实现更好的流量调度成果。有趣味的读者,能够浏览以下资料进一步理解: (1) BFE多服务间分流权重比例的配置。能够查看《万亿级流量转发:BFE核心技术与实现》的第11章,或《深刻了解BFE》(在线版本)的第21章。 (2) BFE多服务间负载平衡的实现机制。能够查看《万亿级流量转发:BFE核心技术与实现》的第14章,或《深刻了解BFE》(在线版本)的第32章。

September 26, 2021 · 1 min · jiezi

关于开源软件:充电RTThread7月和8月优秀文章收集汇总帖

相互分享,共同进步!汇总了7月和8月左右的优良文章拿来与大家分享。有工夫能够来看看,给本人充充电 。作为一名合格的开发者,继续学习是技术晋升的要害! 充电结束后,也别忘记来分享噢,RT-Thread每月都有原创文章征集流动,激励大家多多分享技术文章! 8月优良文章收集汇总 RT-Thread Nano PIN设施接口及对接RTT软件包https://club.rt-thread.org/ask/article/2984.html本文介绍了如何在 RT-Thread Studio 上应用 RT-Thread Nano,并基于BearPI-IOT STM32L431RCT6的根底工程进行解说如何应用PIN设施接口及相干软件包应用。 如何在RT-Thread studio上应用GIT进行工程治理【应用技巧】https://club.rt-thread.org/ask/article/2969.html本文解说了对于git治理studio工程的内容,欢送大家查看和补充! rt-thread 系统优化系列(三) 之 软定时器https://club.rt-thread.org/ask/article/2967.html本优化系列所有提到的更改曾经提交到 gitee ,欢送大家测试 基于AStyle的代码格式化脚本 [已开源]https://club.rt-thread.org/ask/article/2965.html这是一个简略的windows端脚本,次要用于C/C++代码的格式化 rt-thread 线程间同步和通信你用对了吗https://club.rt-thread.org/ask/article/2957.html本文给各位 rt-thread 使用者一些应用信号量、邮箱、音讯队列等同步和通信机制的倡议 TLS 如何在 sal 接口上实现https://club.rt-thread.org/ask/article/2956.html本文具体解说了RT-Thread 基于SAL接口的TLS实现季拓展,欢送查看~ 应用 Rust 进行嵌入式开发https://club.rt-thread.org/ask/article/2944.htmlRust 是一门赋予每个人 构建牢靠且高效软件能力的语言,本文可作为rust终点教程 7月优良文章收集汇总 对于CUBE RTT Studio构建SDIO的FATFS文件系统的分享https://club.rt-thread.org/ask/article/2930.html 串口 V2 适配指南https://club.rt-thread.org/ask/article/2920.html这篇文章次要解说如何适配串口V2驱动,上面以STM32F411RE-NUCLEO的BSP为例,解说如何疾速适配到该开发板上 串口框架V1和V2版本比照https://club.rt-thread.org/ask/article/2915.html本章节次要介绍了串口V1和V2比照差别,并引出串口V2的一些设计实现思维 RTT串口V1版本的应用剖析及问题排查指南(一)https://club.rt-thread.org/ask/article/2894.html本文会先联合STM32为平台,以串口V1版本做剖析阐明 (第一局部),并总结遇到串口方面的问题该如何解决的办法(第二局部) RTT串口v1应用剖析以及问题排查指南 (二)https://club.rt-thread.org/ask/article/2898.html本章节将联合 FinSH组件的串口相干问题 和 应用层上应用串口设施的相干问题 这两个方面进行剖析。这一章节探讨FinSH组件上的串口问题 RTT串口V1版本的应用剖析及问题排查指南(三)https://club.rt-thread.org/ask/article/2904.html本文总结串口应用时遇到的一些问题 为STM32H743VIT6开发板制作一个简略的bootloaderhttps://club.rt-thread.org/ask/article/2922.html 柿饼派M3 RW007 制作连贯蓝牙手柄https://club.rt-thread.org/ask/article/2897.html 0.1元老本柿饼派实现红外管制空调了https://club.rt-thread.org/ask/article/2893.html RT-Thread qemu 环境运行 BLEhttps://club.rt-thread.org/ask/article/2895.html本文介绍如何在 RT-Thread 的 qemu 环境里接入 Bluetooth Controller ...

August 25, 2021 · 1 min · jiezi

关于开源软件:百度万亿流量转发平台背后的故事

注:本文转自微信公众号“章老师说”。原文发表于2020年12月11日。 在Gopher China 2020上,我以《百度万亿流量转发平台背地的故事》为题分享了BFE的一些研发办法和理念。之前很屡次的分享,讲的次要是BFE是怎么实现的、其中有哪些技术难点。而这次分享的次要重点是,在背地驱动BFE技术研发的思维和方法论到底是什么。 就像我在多个场合讲的:过往皆成历史。学技术,如果只是看他人做成什么样子,那只能亦步亦趋,永远跟在他人前面。只有学会了办法,才可能独立进行发明。从“中国制作”到“中国发明”,一字之差,在方法论上存在微小的差别。尤其是在“工程能力”和“钻研能力”的进步方面,咱们还有很长的路要走。 这次的分享,其实揉入了我在百度外部的多个讲课资料。因为工夫的关系,只可能走马观花。心愿可能对大家有帮忙。 在此,也感激Gopher China 2020的组织方,尤其是Asta Xie。组织一个这样的盛会十分不容易。在Gopher China遇到了很多对技术十分有激情的同学,可能和大家一起交换真的是一件十分欢快的事件。祝福Gopher China可能越办越好。 深刻介绍BFE开源我的项目的书籍已由电子工业出版社正式出版,书名为《万亿级流量转发 - BFE核心技术与实现》。 可通过扫描下方的二维码优惠购买。 欢送关注“BFE开源我的项目”公众号,取得本我的项目的更多更新。谢谢!

August 23, 2021 · 1 min · jiezi

关于开源软件:BFE转发表的升级说明

在《BFE和Nginx有什么差别?转发模型的比照》中,对BFE的转发模型进行了具体的阐明。 在BFE转发的过程中,“转发表”是一个十分重要的组件。在BFE中为每个租户保护一张独立的“转发表”,在转发表中蕴含多条程序执行的转发规定。 在2015年后,BFE转发表的设计没有做过大的批改,除了减少一些“条件原语”(什么是“条件原语”,见 BFE开源我的项目帮忙文档 中的阐明)。往年,咱们对转发表做了一个较大的降级。 1. 转发表降级的背景之前BFE转发表的劣势是:(1) 转发表在多个租户间互相独立,升高了转发表的复杂性和保护老本(2) 基于BFE特有的条件原语和条件表达式,能够形容非常复杂的转发条件(3) 在转发表内,转发规定的程序执行,非常容易管制 但BFE的转发表也有一个缺点,就是无奈反对较大规模的转发表。程序执行的算法复杂度为O(N),当转发表中规定的数量达到肯定规模(上百条),会察看到性能有显著的降落。 这个问题在设计之初就是晓得的,然而因为之前的应用场景中一个租户内转发规定的数量都比拟少,这方面的问题并不突出。往年在某个应用场景中,单个租户的转发规定数量达到了几百条、甚至上千条,性能降落的景象比拟显著,这就给转发表的优化降级价发明了契机。 2. 转发表的新计划在降级后,BFE每个租户的转发表蕴含2局部:(1) 根底规定表:可应用域名(Host)和门路(Path)作为匹配条件。反对最长匹配准则。(2) 高级规定表:反对应用申请中的多种信息做匹配。反对程序匹配。在高级规定表中能够设置默认规定。 和原计划相比,BFE原来的转发表成为“高级规定表”,持续放弃原来机制形容能力强、执行顺序控制能力强的劣势;新增的“根底规定表”,应用树形查找,匹配速度快,能够反对较大数量(几千甚至上万)转发规定的疾速查找。 依据实测,在单租户内规定规模为3000条(这些规定只应用域名和门路作为匹配条件)的状况下,应用根底规定表比原来的计划性能晋升了5倍。 上面重点介绍引入根底规定表后的变动。对于高级规定表的状况,请大家参考BFE开源我的项目中原有的材料。 3. 转发表内的优先级在根底规定表和高级规定表之间有明确的优先级。BFE会依照根底规定表、高级规定表的程序来查找,以确定指标集群。在根底规定表中,也能够将某条规定的指标集群设置为“ADVANCED_MODE”(高级模式)。如果在根底规定表中匹配到这条规定,则转至高级规定表进一步匹配。 具体的匹配程序见下图。 4. 根底规定表根底规定表由多条“根底规定”组成。 根底规定的匹配条件包含域名(host)和门路(path)两个局部。目标集群通过集群名称来指定,也能够设置为“ADVANCED_MODE”转至高级规定表持续匹配。多条根底规定之间没有前后程序关系,而是基于准确优先的准则。根底规定表的具体匹配规定,见BFE开源我的项目文档中“集群间分流”中的阐明。 上面是根底规定的表的一个例子,用于帮忙大家了解根底规定表的匹配过程。有四条根底规定,别离为: 规定1:host条件:*.test1.com,path条件:空值,指标集群:StaticCluster规定2:host条件:*.b.test1.com,path条件:/interface/* ,指标集群:PhpCluster规定3:host条件:*.b.test1.com, path条件:/*, 指标集群:StaticCluster规定4:host条件:www.test1.com, path条件:/interface/d, 指标集群:PhpCluster收到一个申请,申请URL为vip.b.test1.com/interface/d,匹配的程序如下: 首先对host(vip.b.test1.com)进行匹配: 1.1 对host做准确匹配,未匹配胜利1.2 对host做通配符匹配,发现申请的host(vip.b.test1.com)能够满足规定2和规定3的host条件。持续对path(/interface/d)进行匹配: 2.1 对path做准确匹配,未匹配胜利2.2 对path做前缀匹配,发现申请的path(/interface/d)能够满足规定2和规定3的path条件。依据最长匹配准则,匹配到从左开始有最多路径元素的那条规定,即规定2。匹配完结,在根底规定表中命中规定2。依据规定2的设置,将申请转发到集群PhpCluster。 5. 一个例子上面举一个例子,综合应用了根底规定表和高级规定表的能力。 产品线demo,蕴含多种服务集群:Demo-A, Demo-B, Demo-C, Demo-D,Demo-E。 冀望的转发逻辑条件如下: 对于host为www.a.com,path为"/a/*" (除了"/a/b")的申请,转发至Demo-A集群对于host为www.a.com,path为"/a/b"的申请,转发至Demo-B集群对于其余host为*.a.com的申请,转发至Demo-C集群对于host为www.c.com的申请,转发至Demo-D集群针对Demo-D集群,另外开启了一个灰度集群Demo-D1。如果cookie中蕴含deviceid,且这个cookie的值以“x”结尾,则转发至Demo-D1其它申请,都发往Demo-E对应以上要求,根底规定表的配置为: host条件path条件指标集群www.a.com/a/*Demo-Awww.a.com/a/bDemo-B*.a.com*Demo-Cwww.c.com*ADVANCED_MODE在根底规定表中,多条规定之间是无序的。匹配程序见下面对于根底规定匹配程序的阐明。 针对Demo-D1集群的灰度公布,因为须要应用cookie中的信息,所以应用ADVANCED_MODE将满足条件的申请透传到高级规定表持续解决;在不须要灰度公布的时候,在根底规定表中指标集群能够写为Demo-D。 高级规定表的配置为: 匹配条件指标集群req_host_in("www.c.com") && req_cookie_value_prefix_in("deviceid", "x", false)Demo-D1req_host_in("www.c.com")Demo-DdefaultDemo-E在高级规定表中,多条规定之间是有序的。须要将转发给Demo-D1的规定放在后面。 在高级规定表中蕴含默认规定,对于没有命中其它规定的申请将被转发到Demo-E。 以上配置信息,对应的配置文件(/conf/server_data_conf/route_rule.conf)如下: { "Version": "1.0", "ProductRule": { "demo": [ { "Cond": " req_host_in(\"www.c.com\") && req_cookie_value_prefix_in(\"deviceid\", \"x\", false)", "ClusterName": "Demo-D1" }, { "Cond": " req_host_in(\"www.c.com\")", "ClusterName": "Demo-D" }, { "Cond": "default_t()", "ClusterName": "Demo-E" } ] }, “BasicRule”: { "demo": [ { "Hostname": ["www.a.com”], “Path”: [“/a/*”], "ClusterName": "Demo-A" }, { "Hostname": ["www.a.com"], “Path”: [“/a/b”], "ClusterName": "Demo-B" }, { "Hostname": ["*.a.com"], “Path”: “*”, "ClusterName": "Demo-C" }, { "Hostname": ["www.c.com"], “Path”: “*”, "ClusterName": "ADVANCED_MODE" } ] }}6. 总结BFE开源软件已实现对于转发表能力的降级。在降级后,BFE既能够反对以域名和门路作为匹配条件的大量规模规定,也能够持续放弃对于转发条件的弱小形容机制。基于这个能力,BFE能够适应更宽泛的利用场景,满足大家对于七层转发的各种需要。 ...

August 19, 2021 · 1 min · jiezi

关于开源软件:揭秘万亿流量转发背后的秘密BFE亮相GOTC2021

8月1日,为期两天的 GOTC 2021 寰球开源技术峰会深圳站圆满结束。BFE开源我的项目加入了此次盛会,并在开源云原生计算时代论坛,向社区和与会来宾分享了BFE的技术原理和开源之路。 寰球开源技术峰会(The Global Opensource Technology Conference, GOTC)是由凋谢原子开源基金会与 Linux 基金会联结开源中国发动的,面向寰球开发者的一场隆重开源技术盛宴。峰会携头部开源公司和顶级开源我的项目一起亮相,笼罩云原生、人工智能、物联网、区块链、大前端、音视频、平安、操作系统、数据库、开源治理等多个技术畛域,为开发者带来了寰球最新、最纯正的开源技术,同时流传开源文化和理念,推动开源生态的倒退和建设。 在现场的BFE我的项目展板前,泛滥来宾、开发者纷纷就BFE开源我的项目和前端接入技术进行了探讨和交换。而新书《万亿级流量转发 - BFE核心技术与实现》的海报,也吸引了不少观众扫码预购(对于本书的具体介绍参见之前的文章《万亿级流量转发 - BFE核心技术与实现》开始预售) 在本次峰会的“开源云原生计算时代论坛”,来自百度的资深产品专家宋健做了题为《百度万亿流量转发平台的开源之路》的主题演讲。本次演讲简要介绍了网络前端接入技术和负载平衡技术,并解说了百度如何利用BFE反对每日万亿级申请规模的流量转发和接入,同时深刻阐明了BFE开源我的项目的背景、设计思维和实现机制,并分享了我的项目的最新进展和将来布局。 对于未能到现场的读者,咱们在前面附上了残缺的演讲PPT,并欢迎您在BFE社区和咱们持续探讨。 附:《百度万亿流量转发平台的开源之路》PPT

August 3, 2021 · 1 min · jiezi

关于开源软件:酷瓜云课堂腾讯云版v139-发布-开源知识付费解决方案

v1.3.9(2021-07-25)更新内容修改分类下无课程时会查问出所有课程问题修改sitemap中的局部门路问题修改课程套餐相干问题优化问答局部相干逻辑优化评论局部相干逻辑优化浏览器Title显示优化审核和举报相干逻辑优化命令行脚本执行输入优化API的分页返回构造减少文章,问答,评论相干API减少从新统计tag中相干计数打算工作减少tag的应用范畴,文章,问题,课程计数站点logo和favicon应用随机文件名减少评估,征询审核去除编辑器中的酷瓜云课堂标识清理数据迁徙文件我的项目介绍酷瓜云课堂,依靠腾讯云根底服务架构,采纳C扩大框架Phalcon开发,GPL-2.0开源协定,致力开源网课零碎,开源网校零碎,开源常识付费零碎。 零碎性能实现了点播、直播、专栏、面授、会员、群组、积分、秒杀等,100%真开源在线教育解决方案,能够收费商用。 托管仓库gitee仓库github仓库意见反馈在线反馈(举荐)官方论坛(举荐)开源助力毫无保留的真开源不容易,如果对你有帮忙,请给咱们 STAR !!!

July 25, 2021 · 1 min · jiezi

关于开源软件:源启-2021-I-OpenTEKr-生态图鉴

生态建设是一场长久的攻坚战,咱们要做的事件有一箩筐,可干的事业不止一箩筐。所以,咱们期待有更多自驱力强的青年才俊一起前行,追光、造物、干实事,让世界因你而有所不同! 无论你退职还是在读,如果你对开源哲学、凋谢科技、数字经济与开源商业感兴趣,意愿为生态建设奉献一份力量,欢送与咱们取得联系。内容、流动、经营、品宣、外联的板块永远都欢送新鲜血液的退出,晚期「开辟士」殷切盼望着满怀热诚的新搭档们的退出!详情点击 求贤 I 源力沉睡,OpenTEKr 拍了拍你 申请志愿者或实习生,请发送邮件至 contributor@opentekr.com,邮件题目备注:OpenTEKr 2021 志愿者/实习生_姓名_岗位。

June 25, 2021 · 1 min · jiezi

关于开源软件:WGCLOUD快速入门和简介说明

WGCLOUD是国人开源的运维监控我的项目,笨重实用,比其余监控工具集成水平要高。 "反对主机各种指标监控(cpu状态/温度,内存状态,磁盘容量/IO,硬盘smart监控,零碎负载,网卡流量,硬件零碎信息等),数据可视化,过程利用监控,大屏可视化,服务接口检测,DOCKER监控,主动生成网络拓扑图,端口监控,日志文件监控,webSSH工具,告警信息推送(默认邮件,可集成钉钉微信短信等)"反对监测Linux系列:debian、redhat、centos、ubuntu、麒麟、统信、龙芯、树莓派等反对监测windows系列:windows server2003以上(不含2003),win7,win8,win10等反对监测unix系列:solaris反对监测macOS系列:macOS amd641、网站下载:http://www.wgstart.com 咱们抉择最新版本下载即可,有linux版本和win版本,两个版本能够混用,比方咱们server用的是linux,那agent既能够在win上,又能够在linux上,只有放弃同一个版本就行 2、server主机须要装置jdk1.8,opjdk也能够用 3、须要装置mysql数据库创立数据库wgcloud,并保障server能连贯到mysql,很多时候因为mysql端口没凋谢,或mysql用户不容许其余主机拜访,导致server连不上mysql,这点要十分留神 4、解压并批改配置网站有装置阐明和步骤,咱们跟着操作就行了,除必要的批改配置外,其余默认即可,根本就是解压操作 5、启动 linux下的server和agent都是执行start.sh来启动win下的server用start.bat启动,agent右键管理员运行wgcloud-agent-releae.exe就行了 如果有问题的话,留神看server和agent的日志文件,都在log目录下 6、拜访server端拜访地址:http://localhost:9999/wgcloud,localhost改为本人的理论ip地址

June 23, 2021 · 1 min · jiezi

关于开源软件:Docgeni开箱即用的-Angular-组件文档工具

本文由 Worktile 产品研发部负责人 @徐海峰 分享如果说 2020 年惟一的遗憾是什么,那就是没有把 Docgeni 开源进来,尽管代码早就公开了。然而脚手架和文档始终没有欠缺,再加上整个实现还是比拟毛糙,所以始终没有对外发表,从2020年3月26日提交的第一行代码到当初一年多了,明天在 2021-05-20 的好日子正式发表开源并公布1.0.0版本。 什么是 Docgeni?Docgeni 是一款为 Angular 组件开发场景而生的文档工具,反对组件文档和一般的 Markdown 文档生成。 Docgeni 会主动依据目录构造和 FrontMatter 生成对应的文档导航、菜单和路由,同时反对配置一级导航和路由以满足自定义需要;另外,为了便于开发组件和展现组件 Example, Docgeni 反对在 Markdown 语法中导入 Example。 个性 开箱即用,让你疾速开启文档编写和组件开发 独立的 Angular 组件预览体验,蕴含:组件概览,示例,API 对 Markdown 语法进行扩大,在文档中间接导入 Example 多语言反对 两种模式以及多种格调反对动机那么你必定会问:社区曾经有很多文档生成工具了,为什么又造一个轮子? 2018年,咱们开始应用 Angular 搭建本人的组件库,通过了2-3年咱们的组件库曾经有50+个组件了。 那么对于组件库开发来说,文档和示例是十分重要的一环,咱们一开始也是和其余组件库一样间接在仓储中写一个 Demo 站点作为文档和示例展现,每当新增一个组件就须要在示例中新增这个组件对应的示例模块,示例组件等等,写组件示例和文档十分的繁琐,同时加上咱们2019年开始搭建业务组件库,意味着同样的示例根底性能我还要再次写一遍,特地麻烦,另外就是之前的文档站点很不业余,所以就开始寻找 一款 Angular 组件开发生成文档和组件示例的工具。 寻找和钻研了很多组件文档生成工具,发现 React 和 Vue 框架的计划有很多,Angular 框架竟然没有一个开箱即用的组件文档的生成工具。大家比拟相熟的 Angular 组件库(比方:Material Design、ng-zorro-antd、ngx-bootstrap 等)都是在仓储外部搭建的示例站点,无奈间接被其余组件库复用,所以最终就萌发了咱们要本人写一个为 Angular 组件开发而生的文档工具的想法。 awesome-docgen 这个仓储列举出了咱们过后调研的一些文档生成工具,storybook 可能是惟一一个反对 Angular 框架的文档生成工具,然而它的展现状态和写法挺繁琐了,最终没有抉择应用它。 我在很多场合都表白过:Angular 是一款十分优良的前端框架,咱们也始终想回馈社区,然而 Angular 苦于一款开箱即用的组件库文档生成工具都没有,为了让 Angular 框架的生态更加凋敝,咱们决定将 Docgeni 开源,当然 Docgeni 目前并不欠缺,只是临时满足了咱们公司外部的根本需要,一些高级个性还未反对,咱们也会始终继续保护更新迭代。 ...

May 26, 2021 · 2 min · jiezi

关于开源软件:开源的7大理念

公众号微月人话,原文链接:开源的7大理念 软件正在从容不迫地吞噬世界,开源正在从容不迫地吞噬软件业。 软件正在吞噬世界?是的,对于购物、吃饭、健身、交停车费都须要应用软件的年代,对于均匀每人每天都要花费5到6个小时应用手机软件的年代,有什么理由不置信软件正在吞噬整个世界呢。 开源正在吞噬软件业?是的,因为在软件越来越富裕的年代(也即软件不再稀缺),不开源的软件,最终是没法和开源软件竞争的。举个简略例子,如果有人要在很多个文件加密软件中抉择一个应用,在性能和价格都差不多的状况下,抉择开源的还是闭源的?当然要抉择开源的,因为谁晓得闭源的软件中,会不会有后门? 前言开源的胜利水平,或者说开源的浸透水平,从中国银行业的宽泛采纳就可以看进去,银行作为一个在IT方面相当审慎和激进的行业,在2012年(一个大概的年限)之前对开源基本上等闲视之,应用的基本上全是商业软件(这里是指专有软件),他们认为商业软件更业余、品质更高、更可信赖、更有保障,他们中不少人视开源软件为异类,对其性能、性能、安全性示意担心,最重要的是,他们放心开源软件出问题后找不到“原厂”解决问题和“承担责任”。 然而就在2012年当前,银行业逐步减少了开源的应用比例,这外面有很多起因,最重要的一个起因是,在Linux面世20年后,很多开源软件曾经成为比商业软件更好的存在,以至于征询商、集成商、开发商们在为银行提供解决方案时,所拿出的最佳计划曾经是基于开源的计划,银行(作为甲方)曾经有力回绝。比方,现在当一个银行要建设其自用的云平台时,在征询和调研一大圈下来,他简直肯定会抉择基于openstack的计划,如果想应用容器技术,就简直肯定会抉择容器编排软件kubernetes,这时,曾经顾不上有没有“原厂”了(事实上还是有服务商兜底),因为没有太多更好的抉择了。 银行尽管还在应用Vmware、Oracle、Websphere、Weblogic,然而KVM、Mysql、Apache、nginx的浸透曾经越来越重大,少数银行的Linux主机数量早已超过了Windows服务器,因为Linux早已成为整个世界的支流的服务器操作系统,而且还有像Redhat这样的商业反对,为什么不应用呢。 如果有条件,你能够实地调查一下,各家银行的IT部门,在最近5年内,曾经不得不侧面开源这种“新事物”给他们带来的“问题”,因为对开源的引入、应用和运维,显然和以往闭源软件有显著不同,他们开始写出开源软件应用治理方法,并指定专门处室来负责管理。 而那些有先见之明的企业(尤其是互联网企业),早已组建了开源办公室,早已把本人的整个零碎建设在开源软件之上,并且早已在开源世界投入了大量的资金和人员,毫无疑问,他们也早已从开源中取得了微小的收益。 那么,开源到底依附什么,让本人大获胜利? 本文剖析了开源的7大理念,有助于读者更好了解开源的实质因素,这些理念为“齐全自主”、“高度凋谢”、“自发自治”、“自下而上”、“自由竞争”、“赢在名誉”、“社区赋能”,如果你感觉曾经从字面意思都齐全了解了,能够间接翻到文末支付福利。 注:在读这篇文章的时候,你会发现,这些理念事实上是交错在一起的,很多事例同时命中多个理念。因为开源自身就是一件事,我只是从不同侧面对其进行了描述。 注:本文所称的“黑客”采纳的是黑客(hacker)的原始含意,也即黑客是热衷于计算机软硬件的技术高手,而不是媒体上所说的计算机犯罪分子。在肯定水平上,本文不再辨别“黑客”、“程序员”这两个概念,你能够认为他们是一回事,也能够把黑客看作是技术高超的程序员,总之,黑客是一个侧面概念。另外,本文也不再辨别“企业”和“公司”,不再辨别“开源我的项目”和“开源软件”,而认为它们是一回事。 1、齐全自主开源之所以可能大行其道,是因为所有程序员都喜爱源码。 这就是开源的原生能源。 黑客心愿本人有齐全自主和齐全可控的世界,这和其他人没有两样,但黑客有可能在计算机软件畛域实现这一点。 没有源代码就无奈掌控世界吗?是的,如果一个操作系统是闭源的,黑客在应用操作系统时遇到bug而无奈批改,遇到需要而不被驳回,试图钻研而无从下手,遇到垄断、高价、霸王条款而无可奈何,哪里还谈得上掌控世界。 再如,黑客写程序,他心愿有一个本人可能管制或者是能让本人释怀的编辑器,不仅仅须要这个编辑器足够好用,而且最好不会有后续的麻烦,比方不会有license的麻烦,不会有厂商进行服务的麻烦。黑客心愿这个编辑器能尽在把握之中,遇到bug,本人或者有人能将其修复,一些想要的性能,本人或者有人能将其实现,而且最好是,本人怎么折腾这个软件,也不会陷入法律方面的麻烦。 也就是说,黑客喜爱在一个自由自在的、无拘无束的环境下,干本人喜爱做的事,这是如许美好! 黑客想要开源的操作系统,想要开源的编辑器,还想要开源的编译器、开源的浏览器、开源的数据库、开源的web server、开源的云环境、开源的虚拟机软件、开源的大数据工具、开源的人工智能软件。。。总之,如果所有都开源了,这就是黑客感觉最自在和最自主的环境,这就是黑客的现实。 如果很多人都有这样的需要,而又有人能把它实现,那这件事就必然会产生。 人类社会是很有意思的,一些人的需要,会成为另一些人的能源,当程序员们渴望源码的时候,天然就会有黑客奉上本人精心打造的源码,不论他们是否意识到,在所有的需要满足背地,都暗藏着丰富的回报。 当黑客们想要开源操作系统的时候,Tanenbaum带着MINIX呈现了,当人们心愿它有更多的个性时,Linus拿出了Linux,当人们须要web server时,NCSA拿出了Apache,作者一开始开源本人的代码时,并没有想太多,可能仅仅就是想说:“兄弟们,看看我写的这个货色怎么样?你们试试用一下?有啥问题,或者有什么新想法,欢送给我发邮件!” 时至今日,在企业越来越多主导开源的年代里,这种原始的动机依然存在,前段时间开源的TDengine,其次要作者陶建辉在文章1中写道: “要是有程序员认真钻研咱们源码,看咱们是怎么做到的,我会特地的开心。要是有程序员能把我这套办法借鉴过来,把他当初臃肿的零碎大幅裁剪,把性能大幅晋升,那我更会闷闷不乐。昨天有人在微信群里通知我,说RPC模块写的高效简洁,筹备驳回,真让我有点得意洋洋。” “两年多的工夫,近二十万行代码,放在了GitHub上。好多敌人关切的问我,开源怎么赢利?抛开开源的商业模式不提,我想,只有咱们开源的代码真正发明了价值,有人用,那我和团队就是最大的赢家。如果30年后,还有人在用TDengine,哪怕只是其中一个模块,其中一个函数,那就是对咱们两年多日夜奋战的最大必定,就是给我这个程序员的最大回报。” “如果你发现什么问题,我只会快乐,不睡觉都想尽快去解决它。如果喜爱,更欢送参加到咱们这个我的项目中来。五年之内,世界上90%以上的数据都将是物联网采集的数据,如果咱们一起开发出一个极为高效的数据处理引擎来解决这些数据,而且为寰球开发者所应用,你是贡献者之一,那是一个如许骄傲的事件。” 就这样,在需要和供给的能源下,开源从底层的操作系统开始,充斥了整个开发环境和中间件,始终到最上层利用,只有是人们想要的货色,黑客就会把它们实现,如果有一样货色还没有开源,那肯定还不是黑客很想要的货色,或者是,他们认为这个货色没有必要开源(比方赖以赚钱和生存的货色,比方比拟客户化的货色)。 所以,咱们看到,操作系统Linux、Android;编辑器Vim、Emacs、Atom、Brackets、VS code,版本管理系统SVN、Git;数据库MySQL、MongoDB、Redis、Postgres;大数据平台Hadoop、Elasticsearch、Hbase、Spark;Web服务器Apache、Nginx、Node.js、Tomcat;DevOps工具Jenkins、Maven、Ansible、Chef;虚拟化软件KVM、Xen、Docker、Kubernetes,如雨后春笋般应运而生,这些列出的和没有列出的开源软件,造成了一个残缺的软件生态环境,黑客们曾经生存在一个很幸福的时代,他简直是想要什么就有什么,而简直在所有的IT企业和大型非IT企业里,你都能看到这些开源软件的身影。 看到这里,你可能会有所明确,开源,其实是程序员送给程序员的礼物。 因为真正须要源码的人,是程序员,真正能写出源码的人,也是程序员。 2、高度凋谢对软件而言,源码都凋谢了,还有什么不能凋谢? 这要看状况,软件凋谢到什么水平,齐全取决于其许可证(license)。(对于许可证的基本知识,倡议看一下阮一峰的文章《开源许可证基础知识扫盲》2) 最凋谢的状况莫过于“任何人无能任何事”(anyone can hack anything),也即没有任何事件能够阻止人们运行该产品,获取其源码、复制其源码、批改其源码,推动其向不同方向演进,并宣称是该产品。 这可是太过凋谢了,以至于拿到别人源码后,“克隆”或者“山寨”出一个产品将没有任何法律层面的压力,为什么开源会凋谢到如此境地? 一方面,在源码曾经凋谢的前提下,你事实上很难阻止他人克隆、批改你的代码并换个名字公布。尽管程序员通常不会这么做,但他们不违心有限度,在一个广泛宽松的环境下,如果你限度太多,程序员就不太会参加你的我的项目。 另一方面,这是一个激励充沛竞争的世界,如果黑客们就我的项目的方向产生分歧,而又无奈达成统一,异见者就能够分叉进去自立门户。比方,EGCS分叉自GCC,OpenSSH脱胎于走向商业化前的SSH,Veracrypt派生自Truecrypt,再如近年来比拟驰名的事件:一些人不认可BTC的方向,分叉进去BCH,而后又有人不认可BCH,分叉进去BSV,尽管这个过程中有很多争吵,但没有人能够阻止这些。 为了更好地了解开源所给予用户的高度凋谢,上面咱们看看自由软件是如何定义它所赋予用户的自在3:(尽管开源软件和自由软件并不是一回事,但只有很少的开源软件不是自由软件,而简直所有自由软件都是开源软件4 ,所以这里咱们不去纠结自由软件和开源软件的种种区别,而是对立思考为FOSS(Free and Open Source Software),并去了解其背地的初衷。) 如果一个软件是自由软件,那么它必须为用户提供以下四项根本自在: 自由度0:用户能够依照本人的志愿,自在地运行该软件,而不管出自何种目标。 自由度1:用户能够自在地学习该软件,能够依照本人的志愿批改该软件,所以,用户首先要能失去源码。 自由度2:用户能够自在地散发该软件的拷贝,这样就能够帮忙别人。 自由度3:用户能够自在地散发该软件批改后的拷贝,借此,用户能够将其批改分享给整个社区,令别人也从中受害。 “自由软件”不等于“非商业软件”。一个自由软件必须容许商业用户、商业开发和商业公布。商业开发自由软件早就司空见惯了,这样的自由软件十分重要。你可能须要花钱购买自由软件,也可能收费拿到。然而无论你如何取得你的拷贝,作为用户,你的四大自在都会被保障,你能够自在地运行、批改、公布,甚至发售自由软件。 你(即,软件用户)能够把软件原版或修改版再公布给其余用户。你能够收费公布,也能够收取费用(注:市场经济下,他人收费公布,你免费公布,你要思考提供如何益处能力让人买单)。软件能够公布给任何中央的任何人。所谓“自在”,意味着你的这些行为不用当时征得任何人的许可,也不用为此额定领取任何费用。 从以上对自由度的定义能够看出,FOSS的初心是让人们可能更好地学习别人代码、复用别人代码,欠缺别人代码、并能够将软件分发给须要的人,从而尽可能让更多的人从软件和源码中受害。 但开源的这种自在凋谢精力,会不会受到国家的限度?比方受到美国进口管理条例(Export Administration Regulation, EAR)的管制?这个问题已经成为往年(2019年5月)的关注焦点,参考无关专家解读5,这里汇总解释如下。 依EAR,美国人、美国公司将软件进口至美国境外,或在美国境内提供给外国人作为进口的准备行为,必须申请获得许可。 但合乎“公开可获取(Publicly available)”定义的软件,不在 EAR 管制范畴(EAR 734.7 (a)),也就是说,少数开源软件,进口上不须要申请许可。 但 EAR 734.7 (b) 同时阐明,公开可获取软件虽不需许可,但若波及加解密技术,依然必须申请许可,除非是这个加解密技术自身也是公开可获取的,那就能够采纳EAR 742.15(b) 款提供源代码或揭发源代码起源的形式,来登录备查。 ...

April 29, 2021 · 2 min · jiezi

关于开源软件:JAP-101-以及-JAP产品技术白皮书正式发布

快讯JAP 1.0.1 正式公布《JAP产品技术白皮书》正式公布。立刻获取:白皮书JAP 1.0.1 版本内容新增性能/反对增加 com.fujieid.jap.core.util.RequestUtil实现jap-ids模块jap-ids 是基于 RFC6749、RFC7636、RFC7033等标准协议和 OpenID Connect Core 1.0 认证协定,实现的一款轻量级、业务解耦、开箱即用的新一代国产受权认证框架。此处附上我精心绘制的jap-ids 业务流程图: 如果图片模糊不清(可能被平台压缩),你能够在“码一码”公众号中回复“ids”取得以上业务流程图。 jap-ids 目前已反对以下性能: 受权码模式(Authorization Code Grant)受权码-PKCE模式(Proof Key for Code Exchange)隐式受权模式(Implicit Grant)明码受权模式(Resource Owner Password Credentials Grant)客户端受权模式(Client Credentials Grant)刷新 access_token回收 access_token获取以后受权用户的根本信息校验登录状态异样响应退出登录服务发现(OpenID Connect Discovery)JWK 端点(JWKS)JWK 令牌颁发自定义 JWT 加解密证书全场景 response type 反对(code、token、id_token、id_token token、code id_token、code token、code id_token token)等对于 jap-ids 的更多应用详情,请参考示例我的项目:jap-ids-demo,或者查阅文档:IDS OAuth 2.0 服务端 代码批改/优化[jap-oidc] 优化 OidcStrategy#authenticate 办法,缓存 OidcDiscoveryDto,缩小不必要的 http 申请[jap-oidc] 优化 OidcUtil 工具类的代码,解决一些已知问题[jap-social] 解决一些已知问题重构 com.fujieid.jap.core.cache.JapLocalCache,实现定时器,定期清理本地缓存合并 PR合并 Gitee PR #9 by @dreamluIssue解决 Gitee Issue #I3DC7NJAP 产品技术白皮书通过两个月的整顿、批改、迭代,咱们 JAP 的技术白皮书,终于实现了! ...

April 21, 2021 · 1 min · jiezi

关于开源软件:数据虚拟化引擎-openLooKeng-介绍

大数据分析的现状及问题21世纪是信息爆炸的世纪,随着IT技术的飞速发展,越来越多的利用源源不断的产生数以亿计的数据。在过来的近一个世纪里,科学家与工程师创造了各种各样的数据管理系统来存储与治理各种各样的数据:关系型数据库、NoSQL数据库,文档数据库、Key-value数据库,对象存储系统等等。状态多样的数据管理系统为企业组织在治理数据上带来便当的同时,随之而来的是治理与充分利用这些数据系统存储的数据的难题。无论是关系型数据库中的PostgreSQL或者MySQL,抑或是Hadoop体系下的Hive或者HBase,这些目前业界通用的数据管理系统都有自成体系的一套SQL方言。数据分析师想要剖析某一种数据管理系统的数据,就得熟练掌握某一种SQL方言;为了对不同数据源进行联结查问,那么就得在利用程序逻辑中应用不同的客户端去连贯不同的数据源,整个剖析过程架构简单,编程入口多,系统集成艰难,这对于波及海量数据的数据分析师而言这样的剖析过程非常苦楚。 为了解决多数据源造成的数据孤岛的联结查问问题,业界正在宽泛应用数据仓库这一解决方案。数据仓库在过来的数年里疾速倒退,它通过抽取(Extract)、转换(Transform)、加载(Load)各种各样数据源中的数据,通过ETL这一整套流程,将加工后的数据集中保留在专题数据仓库中,供数据分析师或用户应用。但随着数据规模的进一步增长,不得不指出的是,业界曾经逐步意识到将数据搬运到数据仓库的过程是低廉的,除了数据仓库的硬件或软件的老本,保护与更新整个ETL逻辑系统的人力老本也逐步成为数据仓库的重要开销之一。数据仓库ETL流程同时也是轻便且耗时的,为了获取到想要的数据,数据分析师或用户不得不斗争于数据仓库T+1的数据分析模式,想要疾速进行业务剖析摸索对于数据分析师来说始终是一个待解的难题。 人们为了解决各种各样的数据管理系统的数据孤岛问题,针对不同的业务利用又创造了专题数据仓库,但随着业务利用的增多,日益增多的专题数据仓库又变成了数据孤岛。所以勇敢的“屠龙壮士”随着工夫的流逝都不可避免的会变成“恶龙”吗?是否有一种零碎架构简洁、编程入口对立、零碎集成度好的解决方案呢?兴许明天,咱们是时候回到最后的终点,来从头看看大数据数据分析的另一种范式了。 数据虚拟化引擎openLooKeng:咱们不搬运数据,咱们是数据的”连接器“所以当咱们回头来看数据仓库碰到的各种各样的问题的时候,聪慧的您很容易发现,数据仓库这个”屠龙壮士“之所以逐步变成“恶龙”是因为它在不停的搬运数据,搬运数据正是导致数据仓库的建设与剖析过程沉重、费时、低廉的“首恶”。既然搬运数据导致了这些问题,那么让咱们回到大数据分析的出发点,思考下“林中的另一条路”,而这条路正是openLooKeng正在走的变数据搬运为数据连贯的路。 简明扼要的讲,openLooKeng数据虚拟化引擎剖析数据的形式是通过各种各样的数据源Connector连贯到各个数据源零碎,用户在发动查问时,通过各个Connector实时的去获取数据并进行高性能的计算,从而在秒级或分钟级内失去剖析后果。这与以往的数据仓库通过T+1的ETL数据搬运过程解决好数据再给用户应用的形式有很大差别。与以往数据分析师须要学习各种各样的SQL方言不同的是,当初数据分析师只须要熟练掌握ANSI SQL2003语法。而各种各样的数据管理系统在SQL规范上的差别则由openLooKeng作为中间层进行了屏蔽,用户不必再学习各种SQL方言,这些繁冗的SQL方言转换的工作都将由openLooKeng来实现。通过将用户从各种各样的SQL方言中“解放”进去,用户能够专一于构建高价值的业务利用查问剖析逻辑,这些剖析逻辑造成的无形资产往往才是企业商业智能的外围,openLooKeng正是出于帮忙用户疾速构建高价值的业务剖析逻辑这一目标来构建本人的整个技术架构的。因为无需搬运数据,用户的剖析查问灵感能够疾速的应用openLooKeng进行验证,从而达到比以往T+1的数据仓库剖析处理过程更快的剖析成果。 让咱们站得更高一点来看,既然openLooKeng能够通过Connector连贯到关系型数据库、NoSQL数据库等数据管理系统,那么可不可以将openLooKeng本身也作为一个Connector呢?答案是必定的。当咱们将openLooKeng本身也作为一个数据源提供给另一个openLooKeng集群时,能够失去这样的益处:之前因为跨地区或者跨DC的网络带宽或者时延限度,导致的多个数据中心之间的数据要实现实时联邦查问基本上是不可用的,而当初openLooKeng集群1将本地数据进行计算后将后果再传递给openLooKeng集群2进行进一步剖析,防止了大量原始数据的传输,从而躲避了跨域跨DC查问的网络问题。 openLooKeng的对立SQL入口,丰盛的南向数据源生态,肯定水平上解决了以往跨源查问架构简单、编程入口太多、零碎集成度差的问题,实现了数据从“搬运”到“连贯”的模式转换,不便了用户疾速实现海量数据的价值变现。 openLooKeng的要害个性兴许在看了下面的介绍之后,您曾经急不可待的想晓得openLooKeng能在哪些场景下应用了,从而来解决目前业务利用的痛点问题。但在持续介绍openLooKeng实用的业务场景之前,让咱们先来看看openLooKeng的一些要害个性,以便于您更深刻的了解openLooKeng为什么适宜这些业务场景,甚至您也能够基于openLooKeng的这些能力进一步摸索更多的业务场景。 专为海量数据设计的内存计算框架openLooKeng从一诞生便是针对TB甚至PB级海量数据的查问剖析工作而设计的,其对于Hadoop文件系统具备人造的亲和性,其SQL on Hadoop的分布式解决架构,采纳了存储与计算拆散的设计理念,可不便的实现计算或存储节点的程度扩大。同时openLooKeng内核采纳基于内存的计算框架,所有数据的解决都在内存中以并行的流水线式作业实现,可提供秒级到分钟级的查问时延响应。 ANSI SQL2003语法的反对openLooKeng反对ANSI SQL2003语法,用户应用openLooKeng语法进行查问时,无论底层数据源是RDBMS还是NoSQL 或者其余数据管理系统,借助openLooKeng的Connector框架,数据能够仍然寄存在原始的数据源中,从而实现数据“0搬迁”的查问。 通过openLooKeng的对立SQL入口,可实现对底层各种数据源SQL方言的屏蔽,用户无需再关怀底层数据源的SQL方言便可获取到该数据源的数据,不便了用户生产数据。 多种多样的数据源 Connector正如数据管理系统的多种多样一样,openLooKeng针对这些数据管理系统开发了多种多样的数据源Connector,包含RDBMS(Oracle Connector、HANA Connector等),NoSQL(Hive Connector、HBase Connector等),全文检索数据库(ElasticSearch Connector等)。openLooKeng能够通过这些多样的Connector不便的获取到数据源数据,从而进一步进行基于内存的高性能联结计算。 跨DC的跨域DataCenter ConnectoropenLooKeng不仅提供跨多种数据源联结查问的能力,还将跨源查问的能力进一步延长,开发了跨域跨DC查问的DataCenter Connector。通过这个新Connector能够连贯到远端另外的openLooKeng集群,从而提供在不同数据中心间协同计算的能力。 其中的关键技术如下: 并行数据拜访:worker能够并发拜访数据源以进步拜访效率, 客户端也能够并发从服务端获取数据以放慢数据获取速度。 数据压缩:在数据传输期间进行序列化之前,先应用GZIP压缩算法对数据进行压缩,以缩小通过网络传输的数据量。 跨DC动静过滤:过滤数据以缩小从远端提取的数据量,从而确保网络稳定性并进步查问效率。 高性能的查问优化技术openLooKeng在内存计算框架的根底上,还利用许多查问优化技术来满足高性能的交互式查问的须要。 索引openLooKeng提供基于Bitmap Index、Bloom Filter以及Min-max Index等索引。通过在现有数据上创立索引,并且把索引后果存储在数据源内部,在查问打算编排时便利用索引信息过滤掉不匹配的文件,缩小须要读取的数据规模,从而减速查问过程。CacheopenLooKeng提供丰盛多样的Cache,包含元数据cache、执行打算cache、ORC行数据cache等。通过这些多样的cache,可减速用户屡次对同一SQL或者同一类型SQL的查问时延响应。动静过滤所谓的动静过滤是指是在运行时(run time)将join一侧表的过滤信息的后果利用到另一侧表的过滤器的优化办法,openLooKeng不仅提供了多种数据源的动静过滤优化个性,还将这一优化个性利用到了DataCenter Connector,从而减速不同场景关联查问的性能。算子下推openLooKeng通过Connector框架连贯到RDBMS等数据源时,因为RDBMS具备较强的计算能力,个别状况下将算子下推到数据源进行计算能够获取到更好的性能。openLooKeng目前反对多种数据源的算子下推,包含Oracle、HANA等,特地地,针对DC Connector也实现了算子下推,从而实现了更快的查问时延响应。高可用个性 HA AA双活openLooKeng引入了高可用的AA个性,反对coordinator AA双活机制,可能放弃多个coordinator之间的负载平衡,同时也保障了openLooKeng在高并发下的可用性。Auto-scalingopenLooKeng的弹性伸缩个性反对将正在执行工作的服务节点安稳退服,同时也能将处于不沉闷状态的节点拉起并承受新的工作。openLooKeng通过提供“已隔离”与“隔离中”等状态接口供内部资源管理者(如Yarn、Kubernetes等)调用,从而实现对coordinator和worker节点的弹性扩缩容。openLooKeng的常见利用场景通过上述对openLooKeng要害个性的介绍,想必您的脑海中曾经浮现出了不少openLooKeng的利用场景,上面让咱们一起来看看它在事实业务的利用场景吧。 高性能的交互式查问场景openLooKeng基于内存的计算框架,充分利用内存并行处理、索引、Cache、分布式的流水线作业等技术手段来疾速的进行查问剖析,能够解决TB甚至PB级的海量数据。以往应用Hive、Spark甚至Impala来构建查问工作的交互式剖析利用零碎都能够应用openLooKeng查问引擎来进行换代降级,从而获取更快的查问性能。 跨源异构的查问场景正如前文所述,RDBMS、NoSQL等数据管理系统在客户的各种利用零碎中宽泛应用;为了解决这些数据而建设起来的Hive或者MPPDB等专题数据仓库也越来越多。而这些数据库或者数据仓库往往彼此孤立造成独立的数据孤岛,数据分析师经常苦于: 查问各种数据源须要应用不同的连贯形式或者客户端,以及运行不同的SQL方言,这些不同导致额定的学习老本以及简单的利用开发逻辑。如果不将各种数据源的数据再次汇聚到一起,则无奈对不同零碎的数据进行联邦查问。应用openLooKeng可实现RDBMS、NoSQL等数据库以及Hive或MPPDB等数据仓库的联结查问,借助openLooKeng的跨源异构查问能力,数据分析师可实现海量数据的分钟级甚至秒级查问剖析。 跨域跨DC的查问场景对于省-市、总部-分部这样两级或者多级数据中心的场景,用户经常须要从省级(总部)数据中心查问市级(分部)数据中心的数据,这种跨域查问的次要瓶颈在于多个数据中心之间的网络问题(带宽有余、时延大、丢包等),从而导致查问时缩短、性能不稳固等。 openLooKeng专为这种跨域查问设计了跨域跨DC的解决方案DataCenter Connector,通过openLooKeng集群之间传输计算结果的形式,防止了大量原始数据的网络传输,躲避了带宽有余、丢包等带来的网络问题,肯定水平上解决了跨域跨DC查问的难题,在跨域跨DC的查问场景有较高的实用价值。 计算存储拆散的场景openLooKeng本身是不带存储引擎的,其数据源次要来自各种异构的数据管理系统,因而是一个典型的存储计算拆散的零碎,能够不便的进行计算、存储资源的独立程度扩大。openLooKeng存储计算拆散的技术架构可实现集群节点的动静扩大,实现一直业务的资源弹性伸缩,适宜于须要计算存储拆散的业务场景。 疾速进行数据摸索的场景如前文所述,客户为了查问多种数据源中的数据,通常的做法是通过ETL过程建设专门的数据仓库,但这样带来低廉的人力老本、ETL工夫老本等问题。对于须要疾速进行数据摸索而不想构建专门的数据仓库的客户,将数据复制并加载到数据仓库的做法显得既费时又费劲,而且还可能得不到用户想要的剖析后果。 openLooKeng可通过规范语法定义出一个虚构的数据集市,联合跨源异构的查问能力连贯到各个数据源,从而在这个虚构的数据集市语义层定义出用户须要摸索的各种剖析工作。应用openLooKeng的这种数据虚拟化能力,客户可疾速的建设起基于各种数据源的摸索剖析服务,而无需构建简单的、专门的数据仓库,从而节约人力与工夫老本,对于想疾速进行数据摸索从而开发新业务的场景应用openLooKeng是最佳的抉择之一。 展望未来数据虚拟化引擎openLooKeng在摸索跨域跨DC的交互式查问场景上有了肯定的停顿。展望未来,还有不少问题须要咱们去验证和解决,比方除了交互式剖析场景,如何解决openLooKeng在流解决和批处理上的问题?用户还须要什么样的数据源Connector?衷心期待宽广用户和开发者退出到openLooKeng开源社区中来,携手开发openLooKeng我的项目,解决更多的用户问题,让大数据更简略。 • • •openLooKeng是一款开源的高性能数据虚拟化引擎,提供对立SQL接口,具备跨数据源/数据中心剖析能力,为大数据用户提供极简的数据分析体验。欢送退出openLooKeng社区,一起做点有意思的事儿,让大数据更简略! openLooKeng开源社区官方网站: openlookeng.io/zh-cn/ openLooKeng代码仓地址: gitee.com/openlookeng

April 17, 2021 · 1 min · jiezi

关于开源软件:北京市委书记蔡奇调研-PingCAP-立足自主研发和开源战略助推产业数字化转型

2021 年 3 月,开源正式被列入国家十四五布局倒退大纲,能够预期,开源将成为中国将来倒退根底软硬件技术的要害门路。3 月 23 日上午,北京市委书记蔡奇一行参观考查 PingCAP(平凯星辰),专题调研数字经济,与 PingCAP 创始人兼 CEO 刘奇就开源自主翻新实际与数字经济建设开展了交换。刘奇首先代表 PingCAP 对蔡奇书记一行的到来表示感谢,随后汇报了 PingCAP 在产品研发、技术冲破、开源生态、国际化策略等方面的成绩。PingCAP 成立之初即立足自主研发和开源,动摇国际化策略,踊跃融入寰球产业体系,继续推动中国的根底软件在寰球获得技术当先和商业认同。团队研发出的业界当先的开源分布式数据库 TiDB,为寰球 1500 余家用户提供服务。 北京市委书记蔡奇与 PingCAP 现场交换 蔡奇必定了 PingCAP 立足自主研发和开源两大策略,推动中国根底软件在寰球获得技术当先和商业胜利,他指出,工业根底软件是数字经济倒退的基石,要持续借助开源的高效合作,减速根底软件自主体系建设。动摇国际化策略,踊跃融入寰球产业体系,把国内规模化数字利用场景劣势转化为寰球竞争技术劣势。施展开源体系劣势,助力中小企业升高翻新门槛,为北京产业数字化转型作出更大奉献。 PingCAP 成立 6 年来,始终保持开源凋谢,间断两年成为 CNCF 贡献度排名寰球第六,中国第一的公司,来自寰球的我的项目贡献者超过 1200 名,立足自主翻新,借助全方位开源,推动寰球背景的“规模化场景 - 凋谢通明合作 - 汇聚翻新智慧”飞轮继续转动。 蔡奇在调研时强调,要增强根底钻研,超前布局前沿底层技术,抢占数字技术制高点。保持以凋谢引领翻新,减速构建以北京为外围的国际化开源社区,打造开源软件基地。 北京市领导殷勇、张家明,PingCAP 联结创始人兼 CTO 黄东旭、CFO 崔秋加入。

March 25, 2021 · 1 min · jiezi

关于开源程序:真拜师学艺2021中科院开源之夏开源大牛1V1万元奖金只等你来

京东开源、目前 ASF 首个分布式数据库中间件生态圈我的项目 Apache ShardingSphere也退出到了此次流动中,针对重要开源软件的开发与保护提供我的项目,并面向全国高校学生凋谢报名。 “开源软件供应链点亮打算 - 暑期 2021”即开源之夏,暑期 2021为此系列的第二届流动。此系列流动是受 Google Summer of Code(GSoC)等流动启发,心愿独特进一步推动开源社区的倒退。目前,流动侧面向寰球高校学生凋谢报名,依据我的项目的难易水平和实现状况,报名者还将有机会获取“开源软件供应链点亮打算-暑期2020”流动奖金和奖杯。 在本流动中,学生可自主抉择感兴趣的我的项目进行申请,并在当选后取得该软件资深维护者(社区导师)亲自领导的机会。目前,Apache ShardingSphere 社区作为 mentor 组织已申请加入流动中,为参加的同学们提供多方面的领导和帮忙,欢送同学们报名加入,也欢送社区PMC/committer/contributor 作为导师参加! <1>如何参加与暑期 2020 类似,“开源软件供应链点亮打算 - 暑期 2021”由学术、社区、导师三局部参与方组成: 学生:学生抉择社区我的项目,与社区导师沟通实现计划并撰写我的项目计划书,被当选的学生将在导师的领导下实现我的项目开发工作,并将成绩奉献给开源社区。社区评估学生的完成度,主办方依据评估后果发放赞助金额给学生。社区:社区提供我的项目列表和形容,并安顿我的项目对应的导师,导师与申请者沟通计划、并从申请者中选中一位承接我的项目。在为期三个月的开发周期中,导师领导学生进行对应我的项目的开发工作。导师:社区针对每一个我的项目指定一个社区导师,与学生一起制订适合的开发计划和计划,领导学生按计划实现开发。<2>流动处分每个我的项目难度分为高、中、低三档,对应税前奖金别离为高(12000 元)、中(9000 元)、低(6000 元)。(注:奖金数额为税前金额)。 难度分级由社区依据我的项目工作决定。所有通过结项考核的同学都会收到对应我的项目的全额奖金,我的项目是否评为优良不影响奖金的发放。<3>流动日程 本流动次要针对高校大学生,可拜访以下网址理解更多信息: 官网流动阐明:https://summer.iscas.ac.cn/ 学生指南:https://summer.iscas.ac.cn/he... 热点问题:https://summer.iscas.ac.cn/help/ ShardingSphere 社区公共邮箱:dev@shardingsphere.apache.org <4>Apache ShardingSphere本次流动 Apache ShardingSphere 我的项目工作列表,请复制下述网址浏览器查看详情: https://cwiki.apache.org/conf... 扫码进入 Apache ShardingSphere 专属微信交换群 理解更多我的项目工作详情 (如无奈退出,可在后盾回复“ ShardingSphere 社群”) <5>对于Apache ShardingSphereApache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,已于2020年4月16日成为 Apache 软件基金会的顶级我的项目。 社区官网:http://shardingsphere.apache.... 我的项目地址:https://github.com/apache/sha... Apache ShardingSphere 由 JDBC、Proxy 和 Sidecar(布局中)这 3 款既可能独立部署,又反对混合部署配合应用的产品组成,旨在充沛正当地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。当今,关系型数据库仍然占有微小市场份额,是企业外围零碎的基石,将来也难于撼动,Apache ShardingSphere 更加重视在原有根底上提供增量,而非颠覆。 ...

March 23, 2021 · 1 min · jiezi

关于开源软件:在开源的世界里应该讲开发者都能懂的语言

鸡同鸭讲这种事件会经常产生,每个人不同的成长背景和处于不同的空间,难免会有一些沟通上的阻碍,不过更可怕的是置换了空间之后,而没有做到灵便扭转,笑话可能是件小事,可怕的是侵害了某些后果。作者:李建盛 引子2021年3月16号,其实没什么特地的事件,当然开源世界里最大的城市——GitHub,也是波澜不惊,大家循序渐进的做着日常的事件,偏偏其中的一个issue的回复,来自Apache顶级我的项目 APISIX , 引来了一阵邪风,触动了一些人, 就是因为一名id 叫做zcgewu的GitHub 用户在探讨技术细节的长长的comment 中,来了如此一句话: 能不能语言自信点,母语不说飙英文,就能国际化胜利吗独一无二,刚刚入选Apache 软件基金会董事的吴晟甚至发动了一个小组:https://twitter.com/wusheng1108/status/1371847479193432074?s=20。吴晟老师更是深受其中困扰,除了在Apache SkyWalking 的我的项目中也会相似APISIX的事件,还会在社交媒体上遇到,笔者亲历在一个开源中国CTO红薯组建的群里被质问过为何没有中文文档。 这些事件不是个例,它仿佛每天都在开源世界里产生着,这意味着这是一种景象,景象则具备广泛问题。于是脑子里开始检索起以前产生的事件,伺机把这个理掰扯掰扯。不吐不快。 不过在正式的开始之前,我须要给大家讲一个近代以来最为要害的一个文化事件。 从胡适学生的《文学改进刍议》说起1916年底,在美国留学的胡适,将其《文学改进刍议》的文稿寄给了陈独秀主编的《新青年》,发表在第2卷5期上。开篇即震惊文学界: 今之谈文学改进者众矣,记者末学不文,何足以言此。然年来颇于此事再四研思,辅以友朋答辩,其后果所得,颇不无探讨之价值。因综括所怀见解,列为八事,别离言之,以与当世之注意文学改进者一钻研之。吾认为今日而言文学改进,须从八事动手。八事者何? 一曰,须言之有物。 二曰,不摹仿今人。 三曰,须讲求文法。 四曰,不作无病之呻吟。 五曰,务去滥调套语。 六曰,不用典。 七曰,不讲对仗。 八曰,不避俗字俗语。 自此以后,一场轰轰烈烈的文学改进静止开始了,也从此扭转了中国的文学创作和发表。可能应用像笔者当初所写的白话文,得益于胡适、陈独秀、鲁迅等一干有为青年。从此文字再也不是被多数群体垄断的,任何人都能够应用日常的用于表白自我。 《刍议》的发表,咱们看到其中的谦虚和前辈的尊重,只管这是一个釜底抽薪式的反动。请大家留神几点: 该文式发表在国内的《新青年》该文应用的是文言文中国过后的全国识字率不超过5%汉语表白日常与软件工程开发之间不同的空间和沟壑人类创造文字,以记录,这是人类最为弱小的能力之一,它能够塑造出一个全新的空间,不是,是有数的空间,让后辈人类受害无穷。在施展传授的新书《破茧:隔离、信赖与将来》的序言中援用了如此一段话: 美剧《势力的游戏》中肥宅山姆,这个柔弱又凶恶的人,在北境长城的雪原中经验了各种生死之变,在失望之际到学城来领受本人的号召。他从荒蛮残忍的丛林世界中挣扎着来到学城,进入学城的图书馆时,忽然看到有数排巍峨的书架,霎时感触到一种撼人心魄的森严。这里贮存着世界的记忆,里面那些荒蛮残忍的人,可能齐全不晓得这里的存在,但这是正是挣扎在血污当中的人们,无论是强人还是弱者,最终有机会取得作为人的尊严的心愿所在。学城的大学士对山姆说:“在学城,咱们活着有不同的目标。咱们是这个世界的记忆,山姆威尔·塔利。没有咱们,人类只会比狗强一点。是的,没错,文字打造了齐全不同的事实空间。然而这个空间也不是单纯的、对立的,而是博尔赫斯笔下的那座梦中的图书馆:将全天下所有常识都囊括的图书馆。有着不同的语言,不同的畛域,无穷无尽、无边无际。 那么其中有个空间的世界,它就是开源的世界,这个世界由数以千万计的开源我的项目、数以千计的开源组织、各种围绕开源的商业公司、数不清的电子邮件和即时聊天、大大小小的会议、社交垂直媒体的热议……所塑造。而这个世界的次要群体是受过专业训练的计算机程序设计人员,他们大多数承受过零碎的古代教育,有着很好的数学逻辑素养,把握计算机的原理,以及各种算法,当然包含计算机程序设计语言——英语的子集。这个开源的空间,只管大多是产生在互联网空间,然而也会和事实所混淆。 汉语有着数以千年的平凡优良传统,也是目前世界上最为发达的语言零碎之一,也领有着微小的应用人口。中国的教育和日常书面交换等也是以汉语为主。当然,在微小无际的互联网,以中文为次要语言的服务站点规模也是微小无比的,社交媒体、电子商务、常识问答等等无所不包,在这些空间里的人,大家讲的都是中文,偶然蹦出零星的hi、love、bye等等英文词汇也是稀松平时。然而这些空间,和开源世界是齐全不同的。 上述两个空间的交加:所应用的人,有不多。他们之间的沟壑也是十分的深: 开源的世界是业余的、精湛的,开源的空间少数是在探讨解决某一个具体的技术问题开源的空间融入互联网,无处不在开源世界的探讨所应用的语言在开源世界里,通用的语言当然是计算机程序语言,以及围绕计算机程序所进行的验证、探讨。 毫无疑问,全部都是以英语的子集,象形文字的编程语言是不存在的,至多当初没有人创造进去。就目前寰球开源编程语言排名而言: 说的直白一点,咱们是看不到中文的任何影子的。 从计算机科学的角度来谈谈逻辑表白那么这个时候咱们不仅要问了,为什么英文是计算机编程语言的支流,而象形文字简直没有任何机会进入这个畛域?这还要追溯到语言学自身的个性。 从词法剖析、语法分析、语义剖析的角度(编译原理术语),词法剖析重视的是每个单词是否非法, 以及这个单词属于语言中的哪些局部。语法分析的上下文无关文法重视的是输出语句是否能够根据文法匹配产生式。那么, 语义剖析就是要理解各个语法单位之间的关系是否非法。理论利用中就是对构造上正确的源程序进行上下文无关性质的审查, 进行类型审查等。象形文字的歧义太多,保留字难以取舍,势必减少解释器、解析器的难度。 因为计算机只能意识0、1二进制的数字,想要将人类的自然语言翻译为二进制的指标码,是须要进行严格的逻辑推理和编码的。如此看来,源自昂格鲁的英文是最佳抉择。就目前看来,博大精深的中文想要实现曾经实现如上节提到的现有的编程语言,外加适配的CPU解决,难度恐怕是高不可及。 浅近的编码、编译、剖析技术,咱们留给想将中文等象形文字的语言的计算机编程语言专家们,心愿他们能早日克服这个难关。 为什么我要应用汉语来写这篇文章其实答案很简略:如果我用英文写了的话,还能让那位在issue 的comment里讲中文的看到吗? 回到咱们所举的胡适学生的《文学改进刍议》上来,如果胡适学生当年没有应用文言文,而是用英文写了一篇文章,他能让须要改革的老一辈传统文人的捍卫者们通晓吗? 再说回来,开源之道就是用自然语言,将开源相干的思维、常识和价值,以中文为母语的群体为指标,进行开源的遍及、解释与流传。也就是说我在这个它应该所在的空间进行谈论。 作为公共空间的探讨和谈论,须要在适合的同类人相处的空间。在不合时宜的场合下说不合时宜的话,通常是在电影、戏剧等艺术体现中罕用的讥刺、风趣等成果。在事实中就显得十分的乖僻、顺当。 “鸡同鸭讲”的跨空间的通用应答办法中国有句古话,叫做“入乡随俗”,也就是说,咱们首先要分辨出本人所处的空间,而后依据空间的局势和状态进行察看、学习,而后在进一步的找人沟通。 那Apache APISIX 这个issue的答复来说,哪位叫嚷汉语自信的同学,显然是走错了门,他应该去榕树下之类的网站寻找本人的自信,比方和《三体》的作者刘慈欣探讨下将来宇宙中汉语的声音,或者是给诺贝尔文学奖得主莫言学生最近的《晚熟的人》进行评论。 在业余的共同体里,有其独特的文化和传统,应用什么样的语言、激励什么样的措辞、配合什么样的语气表白都是由其自主特色的。起初跟进的人,应该尊重共同体的做法。 这个世界上没有任何对立的标尺,将所有事件都囊括。自然语言自信应该在其本身的畛域里寻找,而不是到十分业余的计算机专业畛域里寻找存在感,这无异于缘木求鱼。 由X-lab发动,同济大学开源学博士赵生宇领导的《GitHub 2020全域报告》里明确指出“孤岛我的项目”少数是非英语我的项目,是没有融入开源世界的,或者是想进入开源世界的通道没有关上,语言成为了不可逾越的沟壑。 开发者们遇到相似的状况应该怎么办?面对相似本文引子局部状况,开源世界有一部分人的体现是悲观、无奈、甚至有点寒心,但更多的是无奈了解,世上怎么会有这种青红皂白不分之人?气愤之余,还真没有什么好的方法。 然而,认真思考,利用开源世界的同理心文化,无妨想想如下几个问题: 这位同学年龄多大?身居何处?教育背景如何?会不会是真的英文差?了解不了内容而将自我贬低映射到别人身上?他想由此而取得什么目标?而后,利用Google 等搜索引擎,依据其 ID 进行搜寻,以及撰写的代码、文章和系统的评论。此时,基本上就能够判断出ta是否具备歹意。如果是歹意行为的话,永恒禁止其在我的项目的任何行为即可,而且要广而告之,警示上下游我的项目的同行,遇到此人则一律封杀。 如果并非歹意,而是巨婴行为,其实这个景象居多,成熟晚是咱们这个时代的重要特色,则咱们还是要试一试换一种做法,如果能够取得联系的话,还是要打个电话或当面谈谈,更加深刻的理解一下需要的状况和需要。 当然,可能有很多开发者会说本人工夫那么缓和,那么忙,哪里有工夫理睬这个,应该是社会来承当,可是不要忘了咱们本人也是社会的一部分,开源我的项目的建设是依附的共同体,那么共同体就要有其显明的凋谢容纳姿势,置信大多数人是敌对而具备良心的,只是在解决问题上不足一些常识和想象力,能被启蒙的话,还是能够为开源争取一份力量的。 感激特别感谢Apache SkyWalking 吴晟、柯振旭提供的线索。

March 23, 2021 · 1 min · jiezi