关于github:Github的一个奇技淫巧

背景前段时间给 VictoriaLogs 提交了一个 PR:https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4934 原本所有都很顺利,只等合并了,但在临门一脚的时候社区保护人员问我可否给 git commit 加上签名。 于是我就默默的调试到了凌晨四点 以前我也没怎么留神过这个选项,通过 Google 后发现 Idea 在提交的时候能够自行设置。 当我勾选了这个提交新的代码后,仍然被告知没有正确的签名,这时我才发现了解谬误了。 为 GitHub 的提交签名联合这位社区大佬给的文档,他所须要的是每次提交的代码都是有签名的,相似于这样: 如果咱们想要 GitHub 事实 Verified 这个标签,那就须要对 commit 或者是打的 tag 进行签名。 而签名的形式有三种:GPG, SSH, S/MIME,这里我以 GPG 签名为例,整体流程如下: 先在https://www.gnupg.org/download/这里下载安装 GPG 的命令行程序。 gpg --full-generate-key应用这个命令生成 key,之后会依据提醒录入一些信息,蕴含你的 ID 和邮箱,倡议都和 GitHub 的 ID 邮箱保持一致即可,而后一路回车完事。 之后能够应用这个命令查看方才创立的 Key: gpg --list-secret-keys --keyid-format=long------------------------------------sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]uid Hubot <hubot@example.com>ssb 4096R/4BB6D45482678BE3 2016-03-10咱们须要将 3AA5C34371567BD2 这个 Key 的 ID 字符串复制,之后执行: gpg --armor --export 3AA5C34371567BD2# Prints the GPG key ID, in ASCII armor format此时会打印出公钥,咱们将 ...

September 19, 2023 · 1 min · jiezi

关于github:开源即时通讯IM项目OpenIM源码部署流程

因为OpenIM依赖的组件较多,开发者需要不一,导致OpenIM部署始终被人诟病,通过几次迭代优化,包含依赖的组件compose的一键部署,环境变量设置一次,全局失效,以及脚本重构,目前OpenIM部署比拟丝滑,特写文章分享给大家。OpenIM是什么OpenIM不是一个独立的聊天产品,它不像telegram、Signal、rocket.chat那样是一个齐全独立、能够间接装置应用的聊天应用程序。而是一个开源的即时通讯解决方案,为开发者提供了一系列的工具和服务,以便于他们在本人的应用程序中集成即时通讯性能。Telegram、Signal、rocket.chat等是一些齐全独立的聊天利用,用户能够间接下载安装应用,这些利用通常蕴含了残缺的前端界面和后端服务。OpenIM是一个开源的即时通讯解决方案,包含OpenIMSDK和OpenIMServer两个次要局部。开发者能够应用这些工具和服务在本人的应用程序中实现音讯的发送、接管、用户治理、群组治理等性能。OpenIMSDK: 这是一个软件开发工具包,开发者能够应用这个工具包在本人的应用程序中集成即时通讯性能。OpenIMSDK提供了一系列的API接口,使开发者可能不便地实现音讯发送、接管、用户治理、群组治理等性能。该SDK通常蕴含不同的版本,以适应不同的平台和编程语言,例如iOS、Android、Web、Windows等。OpenIMServer: 这是即时通讯的服务器端组件。它负责管理用户的连贯、音讯的转发、音讯的存储等性能。OpenIMServer通常部署在云端或者自有的服务器上。该组件通常包含了用户治理、音讯存储、音讯转发、音讯推送、文件传输等模块。OpenIM的次要劣势是它是开源的,这意味着开发者能够依据本身的需要对其进行定制和扩大。同时,OpenIM也提供了一系列的文档和示例代码,帮忙开发者更快地了解和应用这个解决方案。此外,OpenIM通常提供了一套残缺的即时通讯解决方案,包含了客户端和服务器端,这使得开发者可能更加集中精力在本人的应用程序的开发上,而不须要破费太多工夫在即时通讯性能的实现上。 开发者在app client中集成OpenIMSDK,同时编写带有本身业务逻辑的app Server代码,通过REST API和callback和OpenIMServer源码部署环境及零碎要求注意事项具体阐明操作系统linux零碎即可, Ubuntu 7.5.0-3ubuntu1~18.04最优,root用户硬件资源可用内存2G以上,用户量小于10万,可用单机部署,8C 16G 10Mb 1T一般磁盘即可golang1.18及以上dockerDocker version 24.0.5, build ced0996及以上git2.17.1及以上存储组件存储组件倡议版本mongodb6.0.2及以上redis7.0.0及以上zookeeperlatestkafkalatestmysql5.7及以上miniolatestOpenIM不是一个残缺的聊天软件,而是开源的即时通讯组件,包含open-im-sdk和open-im-server ,自身不蕴含账号的注册和登录服务。 为不便大家测试,咱们开源了包含登录注册性能的 chat 仓库,同时部署chat和open-im-server,即可搭建一个残缺的聊天产品。一、先部署组件clone仓库并切换公布分支(release-v3.3及之后的版本)git clone https://github.com/openimsdk/open-im-server && cd open-im-server 设置环境变量# 个别状况下只须要设置mysql/mongodb/redis/minio组件明码PASSWORD,如未设置,则为默认明码openIM123 export PASSWORD="openIM123" # 设置mysql/mongodb/redis/minio组件明码,至多8位,不能蕴含特殊字符,默认是openIM123export USER="root" # 设置mysql/mongodb/redis/minio用户名,目前只反对rootexport API_URL="http://127.0.0.1:10002" # 内网环境下,需设置 OpenIM Server API 提供服务的地址,外网环境下会主动获取export DATA_DIR="./" #设置组件挂载的数据卷目录,默认为./部署组件make init && docker compose up -d查看组件状态docker ps 二、编译/启动/检测/进行open-im-server编译./scripts/build-all-service.sh 2.启动./scripts/start-all.sh检测./scripts/check-all.sh 进行./scripts/stop-all.sh其它问题如想应用某些内部组件,该如何批改举例说明,如想应用内部的mysql,操作步骤如下:1.编辑 docker-compose.yml 在此文件中正文掉mysql相干配置项2.编辑scripts/install/environment.sh 批改mysql的ip port及明码等配置项3.make init使配置失效4.docker compose up -d启动组件启动程序组件->open-im-server->chat 需依照这个程序启动docker版本 新版docker曾经整合docker dompose作为其外围性能的一部分,不需独自装置docker-compose 如果您的docker版本过低,倡议降级到新版本,官网应用的是23.0.1版本升级问题如组件账号密码不做批改,则能够间接降级,降级前确保过程都被进行了如组件启动后再批改组件明码1. 需先停掉组件docker 删除整个components目录(如数据不重要)export PASSWORD=newpassword启动组件docker使明码失效更多配置项不要间接批改config/config.yaml文件,倡议编辑scripts/install/environment.sh后 make init 使配置失效日志查看 logs/OpenIM.log.all.*:记录运行时日志 _output/logs/openim_20230909.log:记录启动日志三、编译/启动/检测/进行chatclone仓库并切换公布分支(release-v1.3及之后的版本)#先回到上一级目录cd .. git clone https://github.com/openimsdk/chat.git && cd chat2.编译./scripts/build_all_service.sh3.启动./scripts/start_all.sh4.检测./scripts/check_all.sh --print-screen5.进行./scripts/stop_all.sh其它问题如果zk连贯失败 确认zookeeper的ip端口是否正确。如果组件部署时批改过zookeeper相干配置,则须要批改config/config.yaml文件中的zookeeper配置项如果用户注册失败 确认openIMUrl的ip端口是否正确,如果组件部署时批改过open-im-server的ip和端口,则须要批改config/config.yaml文件中的openIMUrl配置项,确保chat能拜访open-im-server的api端口日志查看 logs目录下 ...

September 12, 2023 · 1 min · jiezi

关于github:一个可读性高的代码对程序员有多重要

人们都认为编写任何程序员都可能浏览和了解的代码是软件开发人员的固有技能。事实上只有20%的程序员具备这种能力。你所写的代码不仅要被机器了解,而且还要被人类了解。在软件开发中,代码品质应该是每个开发人员的重中之重。因而,在整个开发过程中,交付高质量的工作代码应该是每个开发人员的首要指标。 什么是代码品质? 代码品质松散地定义了代码在一个较长的期间内的有用性和可维护性。更正式一点来说,代码品质由一组不同的属性和需要组成,而这些属性和需要是由你的业务决定并确定了其重要性。这意味着今天能够抛弃的代码是低质量的代码。相同,那些可能从一个产品传递到另一个产品,可能进一步加以开发,甚至在确定其价值后可能开源的代码是高质量的代码。所以,一个能被称之为“良好”品质的代码,至多应该合乎以下要求应该可能实现它应该实现的性能。应该遵循统一的格调。应该易于了解。应该有良好的文档。应该能够测试。为什么要关注代码品质?举个例子,每个人都喜爱读一个好故事。对于一个不懂文学的普通人来说,一个好故事就是一个容易浏览和了解的故事。平凡的作家写的书外面都有引人入胜的故事,它很容易浏览和了解。正如一个作家写出的作品必须易于浏览和了解一样,软件开发人员写出的代码也应该如此。毕竟,从某些方面来看,代码就是开发人员写的故事。 在代码品质上斗争以满足我的项目的最初期限可能是很迷人的,然而如果你心愿你的代码可能短暂存活上来,那么必须让你写出的代码满足所有代码质量标准。代码的品质决定了你是一个什么样的开发人员。可能你是一个十分好的程序员,能够在10分钟内编写出100行代码,然而你须要从可维护性的角度来构思你的代码。你能确保保护这个我的项目的人或你的共事了解你蠢才的想法吗?此外,高质量的代码能够放慢软件的长期开发速度,因为它们能够被重用,开发人员不用花那么多工夫来修复旧的谬误和欠缺代码。高质量的代码还可能使得新的我的项目成员更容易退出我的项目。所有这些反过来又能够升高技术债权。如何进步代码品质?既然咱们曾经确信代码品质是软件开发不可或缺的一部分,我置信你肯定想晓得如何进步代码品质?因而,我在上面列出了一些能够改良代码品质的办法:建设版本控制和代码评审机制。遵循继续集成流程。制订并遵循编码标准。运行测试。剖析谬误。掂量代码品质。以上改良代码品质的几个办法,绝对繁琐且简单,而随同AI技术的倒退,很多AI开发工具综合了以上几点,致力于在晋升开发效率的根底上,保障代码的品质。以飞算 SoFlu 软件机器人推出的专一AI生成Java函数的 FuncGPT(慧函数)为例,咱们来看一个具体的发开案例:面对一个工作管理系统,其中蕴含工作的创立工夫和截止工夫。当初须要应用Java函数来实现计算工作剩余时间的性能,以便揭示用户还剩多少工夫实现工作。函数性能:计算两个日期相差天数(返回字符串)参数1:参数名称:startTime;参数类型:Date;参数形容:开始工夫参数2:参数名称:endTime;参数类型:Date;参数形容:完结工夫参数3:参数名称:format;参数类型:String;参数形容:格式化字符,例:天,时,分返回值:String通过应用飞算 SoFlu 软件机器人推出的专一AI生成Java函数的 FuncGPT(慧函数)试一下。仅用24秒,FuncGPT(慧函数)就主动生成以下代码:// 类名:DateUtils// 函数名:calculateDateDifference// 函数性能:计算两个日期相差天数// POM依赖包:// <dependency>// <groupId>joda-time</groupId>// <artifactId>joda-time</artifactId>// <version>2.10.10</version>// </dependency>import org.joda.time.DateTime;import org.joda.time.Days;public class DateUtils { /** * 计算两个日期相差天数 * @param startTime 开始工夫 * @param endTime 完结工夫 * @return 相差天数字符串 */public static String calculateDateDifference(DateTime startTime, DateTime endTime, String format) { Days days = Days.daysBetween(startTime, endTime); // 应用Joda-Time计算相差天数 int difference = days.getDays(); String result; switch (format) { case "天": result = difference + "天"; break; case "时": result = difference * 24 + "小时"; break; case "分": result = difference * 24 * 60 + "分钟"; break; default: throw new IllegalArgumentException("Invalid format"); // 如果格局不非法,抛出异样 } return result;}}// 函数示例// 计算两个日期相差天数示例// 入参:startTime,开始工夫,类型为DateTime;endTime,完结工夫,类型为DateTime;format,格式化字符,类型为String// 出参:result,相差天数字符串// 调用示例:// DateTime startTime = new DateTime(2022, 1, 1, 0, 0); // 创立开始工夫对象// DateTime endTime = new DateTime(2022, 1, 5, 0, 0); // 创立完结工夫对象// String result = DateUtils.calculateDateDifference(startTime, endTime, "天");// System.out.println(result);// 输入后果:例如,计算2022年1月1日和2022年1月5日相差天数为:4// 则输入后果为:4天以上代码咱们不难看出FuncGPT(慧函数)所生成的代码可读性较好,命名注解标准,类名和函数名可能清晰地表白代码的性能。而且实现办法简略直观,通过应用Joda-Time日期工夫库提供的办法简化了日期相差天数的计算逻辑,并提供了更精确的参数类型。 ...

September 4, 2023 · 1 min · jiezi

关于github:多种方式让你快速访问-GitHub

平时工作中,你可能和笔者一样会遇到拜访 GitHub 迟缓或者打不开的问题。这里我总结了一些办法或者能够帮忙你快速访问 GitHub,下载大我的项目还是获取小型代码和文档我的项目都有不同计划。 一:应用镜像网站如果须要下载大型项目,特地是下载耗时较长(超过5分钟)且文件较大(超过30MB)的我的项目,强烈推荐应用代理网站或者将我的项目转移到 Gitee 上进行下载。 国内有许多 GitHub 镜像网站能够减速拜访,上面是一些罕用的镜像网站: https://hub.fastgit.xyz/https://cdn.githubjs.cf/https://gitclone.com/https://www.github.do/https://ghproxy.com/对于较小的我的项目,如代码或文档类我的项目,你能够尝试应用 CDN 减速以取得适当的下载速度。 示例:应用 GitHub 镜像网站GitHub 镜像网站是一个不便的抉择,只须要将我的项目地址中的 github.com 替换为 github.com.cnpmjs.org 即可: 原地址: arduinoCopy code https://github.com/xxx.git 替换为: arduinoCopy code https://github.com.cnpmjs.org/xxx.git 而后应用以下命令进行下载: bashCopy code git clone https://github.com.cnpmjs.org/xxx.git 你还能够尝试应用其余镜像网站,如 https://hub.fastgit.xyz/。 二:代理网站下载如果须要下载 GitHub Release 中的大文件,举荐应用代理网站。这些代理网站能够显著晋升下载速度,而且无需注册。 以下是一些举荐的代理网站: https://ghproxy.com/https://toolwa.com/github/三:CDN 减速(批改 Hosts 文件)通过批改零碎 Hosts 文件的形式,你能够绕过国内 DNS 解析,间接拜访 GitHub 的 CDN 节点,从而实现拜访减速。以下是实现这一办法的具体步骤: 关上 https://www.ipaddress.com/ 查问以下四个链接的 DNS 解析地址: github.comassets-cdn.github.comgithub.global.ssl.fastly.netraw.githubusercontent.com关上零碎的 Hosts 文件,门路为 C:\Windows\System32\drivers\etc,并增加以下内容(需管理员权限):140.82.114.3 github.com185.199.108.153 assets-cdn.github.com199.232.69.194 github.global.ssl.fastly.net185.199.108.133 raw.githubusercontent.com请留神,对于 macOS 或其余 Linux 零碎,须要进入 /etc 目录下的 Hosts 文件进行批改,并确保保留后刷新 DNS 缓存。 ...

August 23, 2023 · 1 min · jiezi

关于github:一个-Github-Star-值多少钱

大家好,我卡颂。 当咱们看一个开源我的项目时,根本都会看下他有多少star。尽管Github Star是一个虚荣指标,但却有实际意义,比方: 很多开发者会关注Github Star增长趋势,更多的star会取得更多关注star数量往往是技术选型的一个根据。即便你的团队最终没有应用一个star很多的开源库,但通常也不会应用一个star很少的库换个思路来看兴许更能体现Github Star的价值 —— 软件开源并不意味着不赚钱,这只是一种产品开发策略。star数肯定水平上反映了这种策略执行的是否胜利。 而策略执行是否胜利又会影响投资人的投资决策,以及团队是否以更低成本(甚至白嫖)招募优良的开发人员。 有利益驱动就会有刷量、造假行为呈现。既然微博僵尸粉都能影响广告主的投放决策,那Github Star造假就难能可贵了。 那么,一个Github Star值多少钱? 欢送围观朋友圈、退出人类高质量前端交换群,带飞 Star的售价网上曾经有公开渠道购买Github Star,比方:GitHub24或Baddhi Shop(在这个网站,你能花钱刷各种网站的行为数据,甚至能刷IMDb电影评分)。 Star的售价差别很大,比方: 64刀能够买到1000个三无账号的star要买到100颗有沉闷行为账号的star,可能得85刀 如何辨认刷Star之所以两者差别微小,是因为甄别难度不同。 对于这个zadahmed/music_recommender仓库,能够显著看到有局部点赞者的账号是同一天注册的: 再深究的话,会发现这些点赞账号还有很多共性,比方: Followers < 1Following < 1集体公开仓库数量 < 4很多个人信息(比方邮箱、简介)为空这类共性让这些假账号很容易被辨认,Github官网会定期清理这些账号。所以,如果你花钱刷了1000star,可能过一个月就都隐没了。 除了Github官网以外,还有些工具能够辨认假账号,比方: astronomerfake-star-detector想想,如果本人的我的项目好不容易做出点名气,但被人扒出已经刷star,那就难堪了。 辨认高端造假但对于那些高价刷的star,这类检测机制就不太好用了。因为这类账号会模拟失常开发者的行为,光从行为数据上,很难将他们和失常开发者辨别。 这里开源编排平台dagster提供了一个检测思路 —— 他们应用一种被称为unsupervised clustering(无监督聚类)的机器学习技术。简略来讲,咱们能够用一组行为特色来形容一个Github账号,比方: 提交代码给其余仓库提PRstar某个我的项目批改个人简介这样就能将这个Github账号示意为高维向量空间中的一个点。那些向量空间中相近的点对应的Github账号,能够被归类为同类账号。 基于以上原理,dagster成员新建了个仓库,并高价刷了star: 这么做的目标是用那些点star的Github账号做聚类分析,标记出一个类。当实现聚类后,如果发现某个Github账号也属于这个类,那就能够狐疑这个账号也是假账号。 那么,为什么假账号可能聚类呢?这是因为这些账号尽管在模拟失常开发者,但他们之间也有很多相似行为,比方: 他们的行为可能都是同一个脚本在操作,那么在行为逻辑、行为执行的工夫上比拟相似他们都会给同一批仓库(服务的卖主)点star举个例子,有两个Github账号,尽管他们之间并无交加(仓库的编程语言不同、开发者国籍不同...),但他们都在某几天做着同类的事(比方先浏览一些仓库,再发表评论,最初给某个仓库star),那么他们会被划分为同类。 如果他们的同类中有实锤的假账号,那么他们大概率也是假账号。 在上面的图表中,掂量了上述刷star的仓库(100% star都是刷的)中,点了star的那些Github账号的行为,其中: 横轴是日期跨度纵轴是账号交互的仓库总数蓝色局部是所有用户红色局部是明确的假Github账号黄色局部是依据聚类,被狐疑的假账号 因为已知这个仓库的所有star都是刷的,所以其实黄色局部的账号也都是假账号,通过聚类的形式他们被很好的辨认进去了(和红色局部同类)。 而对于齐全没有刷star的我的项目(这里以dagster为例),点star的用户行为根本不会与假账号有交加: 对于一个刷了star,同时又有理论参与者的我的项目,剖析后果如下图: 总结尽管star数是虚荣指标,但因为他是很多决策的参考根据,这就诞生了刷star的需要。 比方,okcash是一款开源的加密货币,有578star。 然而,通过上述dagster的形式检测后会发现,所有为okcash点star的账号中,疑似虚伪刷star的账号占比达到97% 。置信这一后果会对这款加密货币的市场信念造成肯定影响。 如果你也想用dagster的形式检测其余开源库,能够参考这里。

August 18, 2023 · 1 min · jiezi

关于github:再见了百度网盘

大家好,我是Java陈序员。咱们常常会应用网盘来存储本人的媒体信息,例如百度网盘,然而常常又受限于下载速度和不能良好的预览。明天给大家举荐一款网页版的网盘工具——ZFile。该工具是开源的,咱们能够拿来应用,收费搭建齐全属于本人的网盘。 介绍基于 Java 的在线网盘程序,反对对接 S3、OneDrive、SharePoint、Google Drive、多吉云、又拍云、本地存储、FTP、SFTP 等存储源,反对在线浏览图片、播放音视频,文本文件、Office、obj(3d)等文件类型。 官网地址: https://www.zfile.vip/GitHub 地址: https://github.com/zfile-dev/zfile特色反对在线浏览文本文件、PDF、图片、音乐、视频(反对 mp4、flv、hls)反对文件操作:上传、下载、重命名、删除、新建文件夹等反对 S3 协定, 阿里云 OSS, FTP, 华为云 OBS, 本地存储, MINIO, OneDrive 国内/家庭/个人版/世纪互联版/SharePoint, , 七牛云 KODO, 腾讯云 COS, 又拍云 USS.文件生成文件分享连贯和二维码反对文件/文件夹暗藏、文件夹加密本地文件一样的操作体验,反对拖拽抉择,Ctrl + 鼠标左键 多选,Shift + 单击 多选,Ctrl + A 全选,Esc 勾销全选本地文件一样的上传体验,反对 Ctrl + V 粘贴上传文件/文件夹,拖拽粘贴上传文件/文件夹反对 Docker、Docker Compose(amd64/arm64)部署性能预览在线体验地址: https://demo.zfile.vip/local-demoJava文件预览 Html文件预览 Markdown文件预览 Xml文件预览 Word预览 Excel预览 PPT预览 Pdf预览 图片预览 视频预览 装置上面咱们应用 Dokcer 装置 ZFile. Docker 镜像托管在 DockerHub:https://hub.docker.com/r/zhaojun1998/zfile首先须要先下载配置文件: curl -k -o /usr/local/zfile/application.properties https://c.jun6.net/ZFILE/application.properties配置文件内容: spring.config.import=classpath:application-default.propertieszfile.debug=falsezfile.log.path=${user.home}/.zfile-v4/logszfile.db.path=${user.home}/.zfile-v4/db/zfilezfile.preview.text.maxFileSizeKb=512server.port=8080# -------------- database config start --------------## sqlitespring.datasource.driver-class-name=org.sqlite.JDBCspring.datasource.url=jdbc:sqlite:${zfile.db.path}## mysql#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zfile?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true#spring.datasource.username=root#spring.datasource.password=passwordspring.profiles.active=prod# ingroe zfile-pro upgrade sqlspring.flyway.ignore-migration-patterns=V5__.*,V6__.*,V10__.*# -------------- database config end --------------启动命令: ...

July 6, 2023 · 1 min · jiezi

关于github:三分钟教你如何用Github找开源项目值得一看

GitHub各位应该都很相熟了,寰球最大的开源社区,也是寰球最大的同性交友网站(( •_•)),然而大部分同学应用GitHub应该就是通过他人的开源链接,点进去下载对应的我的项目,而真正应用Github来查找开源我的项目的还是多数。 面试总得有几个和所求岗位相干的我的项目,如果应届生、转行的童鞋没有我的项目,就靠简略的javaSE或者其余语言根底那只能说“你太难了”。 通过 Github ,你能够很不便的下载本人须要的我的项目,理解实时热点的我的项目,通过对优良的开源我的项目的学习,更好的进行学习与进步。 那么如何应用Github高效率的查找我的项目呢? 这篇文章带你理解一下仓库分几种?本地仓库:建设在本地的文件夹。近程仓库:建设在互联网的服务器内的文件夹。分布式版本控制系统配有两个仓库,在你的电脑上有一个 本地仓库 ,在近程的服务器上有一个 近程仓库 。咱们在提交文件的时候会先提交到本地仓库,而后在有网络的状况下,再从本地仓库提交到网络上的近程仓库。Git 就是一个典型的分布式版本控制系统。Github就负责了上述的近程仓库这一角色,就是一个寄存在外网服务器上的一个文件夹。并且Github是收费的开源的托管平台。什么是GitGit(读音为/gt/)是一个开源的分布式版本控制系统,能够无效、高速地解决从很小到十分大的我的项目版本治理。GitHub是一个面向开源及公有软件我的项目的托管平台,因为只反对git 作为惟一的版本库格局进行托管,故名GitHub。 Github常用词含意watch:会继续收到我的项目的动静fork:复制某个我的项目到本人的仓库star:点赞数,示意对该我的项目示意认可,点赞数越多的我的项目个别越火clone:将我的项目下载到本地follow:关注你感兴趣的作者,会收到他们的动静一个残缺的我的项目界面 ① 此处是我的项目作者名/我的项目名② 此处是我的项目的点赞数,和fock数,越火的我的项目点赞和fock就会越多③ 我的项目的Description 和Website 和tags 也就是我的项目的阐明和标签, 通过此处你能够一眼理解该项目标性能和简介④ 我的项目的commits提交数 ,个别比拟好的我的项目,保护会比拟频繁,更新也会频繁,提交数就会多⑤我的项目提交工夫, 通过这里你能够看到我的项目的提交工夫,避免本人下载了一些远古我的项目⑥ README.md README.md文件是一个我的项目的入门手册,外面介绍了整个我的项目的应用、性能等等。所以README文件写得好不好,关系到这个我的项目能不能更容易的被其他人理解和应用。应用Github搜寻我的项目个别人用Github的步骤 间接搜寻,抉择一下Languages设置下我的项目排序程序 就间接下载,而后就是克隆仓库,浏览md,看我的项目源代码,看不懂,敞开我的项目,删除。 这样是很难找到真正适宜本人的我的项目的。 GitHub外面有很多有价值的开源我的项目和代码,如何在海量的代码库中搜寻咱们须要的信息,那么接下来将带你理解下如何利用GitHub弱小的搜寻性能,来找到适宜本人的我的项目。 GitHub的高级搜寻GitHub有高级搜寻性能,search/advanced能够输出关键字、代码库大小、蕴含作者、代码语、代码蕴含后缀文件名等。 这里咱们假如正要学习 Spring Boot,要找一个 Spring Boot的 Demo 来进行参考学习。 精准搜寻仓库题目、仓库形容、READMEin关键词限度搜寻范畴 依照我的项目名/仓库名搜寻(大小写不敏感)公式 in:name xxx 我的项目名蕴含xxxin:description xxx 我的项目形容蕴含xxxin:readme xxx 我的项目介绍文档里含有xxx比方我搜寻我的项目名里含有 Spring Boot 的 in:name Spring Boot会发现我的项目数量由17W变成了11W 搜寻我的项目形容里含有 Spring Boot 的 in:description Spring Boot stars或fork数量去查找一个我的项目 star 数的多少,个别代表该项目标受欢迎水平 越受欢迎的我的项目,star数和fork数肯定也不会少。 公式 stars:>xxx stars数大于xxxstars:xx..xx stars数在xx…xx之间forks:>xxx forks数大于xxxforks:xx..xx forks数在xx…xx之间查找star数大于等于5000的springboot我的项目 spring boot stars:>=5000 查找fork数大于500的springcloud我的项目 spring cloud forks:>500 查找fork在100到200之间并且stars数在80到100之间的springboot我的项目 spring boot forks:100..200 stars:80..100咱们进一步放大范畴,Star数量过滤,要求Star数量大于3000in:name spring boot starts :> 3000 ...

July 4, 2023 · 1 min · jiezi

关于github:快速搭建一个匿名聊天室

大家好,我是Java陈序员,明天给大家举荐一个基于 livekit 和 Next.js 的匿名聊天室 —— anonymous-chat-room。 GitHub 地址: https://github.com/velor2012/anonymous-chat-room在线体验地址: https://chat.cwy666.eu.org/特点反对文本聊天,也能够应用 emoji,无需登录反对视频,语音聊天(默认只容许语音)音频降噪,反对 speex 以及 RNNdenoise(默认开启), 整合 web-noise-suppressor, 不反对 safari反对浏览器间接录制麦克风,扬声器和屏幕(Chrome, Edge 能够齐全反对, safari 不反对扬声器录制)反对设置房间明码部署简略,前端反对间接部署到 vercel, 后端能够间接应用 livekit cloud 的收费服务,也能够依照官网文档自建本地部署克隆或下载: git clone https://github.com/velor2012/anonymous-chat-room.git进入到我的项目目录: cd anonymous-chat-room装置我的项目依赖 yarn install在 http://cloud.livekit.io 上创立一个新的 Project. 而后生成 apikey project settings. 依照提醒,批改 env.example 中的环境变量,而后重命名为 env.local 而后运行以下命令 npm run dev之后就能够在浏览器 http://localhost:3000 关上. 最初举荐的开源我的项目曾经收录到 GitHub 我的项目,欢送 Star: https://github.com/chenyl8848/great-open-source-project大家的点赞、珍藏和评论都是对作者的反对,如文章对你有帮忙还请转发反对下,谢谢!

July 3, 2023 · 1 min · jiezi

关于github:Github-Copilot-功能介绍

Copilot 是一款由 GitHub 和 OpenAI 共同开发的编程工具,它基于人工智能技术,旨在帮忙开发人员进步编码效率。Copilot 联合了 GitHub 的代码存储库和开源社区的力量,以及 OpenAI 的自然语言解决和机器学习能力,为开发人员提供智能化的代码倡议和生成性能。 Copilot 应用了一种被称为 GPT(生成式预训练)的技术,该技术是由 OpenAI 开发的一种语言模型。GPT 能够依据输出的上下文和提醒来生成连贯的文本。在 Copilot 中,这一技术被用于生成代码片段,它能够主动实现代码、提供函数和类的倡议、生成正文和文档等。 以下是一些示例,阐明 Copilot 如何在编程中提供帮忙: 主动实现代码:当您在编写代码时,Copilot 能够依据上下文主动推断可能的代码补全选项,并为您提供倡议。例如,如果您正在编写一个函数来计算斐波那契数列,Copilot 可能会主动实现函数定义和循环构造,并生成相应的代码。提供函数和类的倡议:Copilot 能够依据您以后正在解决的问题和上下文,为您提供函数和类的倡议。例如,如果您在解决字符串操作,Copilot 可能会举荐应用内置的字符串处理函数或相干的类。生成正文和文档:Copilot 能够帮忙您生成正文和文档,以进步代码的可读性和可维护性。它能够依据函数的名称、参数和返回值生成根本的正文模板,并填充相干的信息。这能够节俭您编写文档的工夫,同时使代码更易于了解和合作开发。提供示例代码:Copilot 能够依据您的需要和上下文,为您生成示例代码,帮忙您了解特定性能或解决问题的办法。例如,如果您须要应用正则表达式进行模式匹配,Copilot 可能会生成一个根本的正则表达式示例,供您参考和批改。语法纠错和格调倡议:Copilot 还能够帮忙您纠正语法错误和改善代码格调。它能够辨认常见的语法错误,并提供修复倡议。此外,它还能够依据编码习惯和最佳实际,提供代码格调的倡议,例如缩进、命名约定等。提供文档和资源链接:Copilot 还能够为您提供与特定代码片段或问题相干的文档和资源链接。这些链接可能指向官网文档、开发者社区或相干的 Stack Overflow 问题。这样,您能够疾速获取更多对于特定性能或概念的详细信息。值得注意的是,Copilot 不是一个齐全自主的代码生成工具。它并不会齐全代替开发人员的思考和判断,而是作为一个辅助工具来提供代码倡议。开发人员依然须要审查和验证生成的代码,以确保其正确性和安全性。 总结起来,Copilot 是一个集成了人工智能技术的编程工具,旨在帮忙开发人员进步编码效率。它能够主动实现代码、提供函数和类的倡议、生成正文和文档、提供示例代码、纠错语法错误和改善代码格调,同时还提供相干的文档和资源链接。这些性能的联合使得 Copilot 成为一个弱小的工具,能够减速开发过程,进步代码品质,并促成开发者之间的常识共享和合作。

June 19, 2023 · 1 min · jiezi

关于github:精彩回顾-GitHub-Copilot-开发者训练营超燃实况放送

北京工夫5月24日0点,微软年度开发者大会Build在西雅图揭幕,会上着重介绍了GitHub与OpenAI合作开发的“智能副驾(Copilot)”这一重磅的前瞻开发工具。而在不久前的5月20日,GitHub Copilot 开发者训练营北京&上海线下专场也圆满举办,一起来回顾一下当日的名局面吧! 星耀收场:以正确形式关上 GitHub Copilot在 Keynote 环节,微软首席项目经理 Scott Hanselman、微软大中华区 Azure 事业部总经理陶然、野村信息 .NET 高级工程师/Avalonia 中文社区发起人董彬、微软大中华区开发者市场与生态经理杨娜,围绕“开启开发者工具 2.0 时代”议题,多角度解读如何应用 GitHub Copilot 疾速构建 Demo,分享 GitHub Copilot 如何助力开发者更好地了解代码逻辑和语法规定,让开发者更加专一于业务实现。 Keynote 环节现场精彩霎时 梦幻联动:专家对话演绎超常效力专家联动环节,GitHub 高级解决方案架构师冯金时,微软高级云布道师卢建晖,在流动当天围绕“使用 Github Copilot,大幅晋升开发生产力”议题,与开发者们进行了深刻的交换和探讨。解说 GitHub Copilot 企业版和个人版的性能特色和应用办法,助力企业和集体开发者抉择更适宜本身的 GitHub Copilot 版本,进步编码速度和品质。 流动当天技术专家跨屏对谈交换 案例研习:解读 GitHub Copilot 最佳实际在客户案例分享环节,微软 RD & MVP/SmartIDE 开源我的项目创始人徐磊,台湾微软技术核心技术架构师周其衡两位专家联合本身的行业实战经验,深度分析客户胜利开发案例,帮忙到场开发者把握借助 GitHub Copilot,实现高效开发的胜利之道。 技术专家为开发者解说开发案例 实战演练:GitHub Copilot 初体验实际出真知,实战获教训。在入手实验室环节,微软高级云布道师卢建晖和微软 RD & MVP,SmartIDE 开源我的项目创始人徐磊老师,别离现身上海和北京线下会场,领导泛滥编程狂热爱好者撸起袖子入手实操,体验 GitHub Copilot 主动补全、自定义代码片段和快捷键,及智能提醒等性能。同时,两位技术专家还针对开发者们遇到的问题进行解答和领导,让开发者在实际操作中感触 GitHub Copilot 带来的劣势和便当。 北京 & 上海线下专场开发者入手体验 GitHub Copilot 拥抱变动,即是拥抱价值。身为开发者唯有敏锐感知时机、善用工具,能力将提效利器交融至本身的工作流中。本次“减速跨界翻新” GitHub Copilot 开发者训练营未然完结,但咱们置信,本次训练营踊跃传递的翻新精力与播撒的智慧开发理念,将在将来赋能更多翻新开发场景。 ...

May 29, 2023 · 1 min · jiezi

关于github:即时通讯IM开源项目OpenIM对WebAssembly支持提升web端体验

WebAssembly 是什么?2019 年 12 月,W3C 规范批准了第四种官方语言:WebAssembly (Wasm)。这种语言在构造、应用和性能方面与以前的语言有很大不同。WebAssembly 是一种新的编码方式,能够在古代的Web浏览器中运行 - 它是一种低级的类汇编语言,具备紧凑的二进制格局,能够靠近原生的性能运行,并为诸如 C / C ++等语言提供一个编译指标,以便它们能够在 Web 上运行。它也被设计为能够与 JavaScript 共存,容许两者一起工作。对于Web平台而言,WebAssembly 具备微小的意义——它提供了一条路径,以使得以各种语言编写的代码都能够以靠近原生的速度在 Web 中运行。在这种状况下,以前无奈以此形式运行的客户端软件都将能够运行在 Web 中。WebAssembly 被设计为能够和 JavaScript 一起协同工作——通过应用 WebAssembly 的 JavaScript API,你能够把 WebAssembly 模块加载到一个 JavaScript 利用中并且在两者之间共享性能。这容许你在同一个利用中利用 WebAssembly 的性能和威力以及 JavaScript 的表达力和灵活性。什么时候应用WebAssembly?开发人员可能心愿在两种个别状况下应用 Wasm。一种是作为想要编写性能更高的代码的 Web 开发人员。另一种是作为软件开发人员,心愿将现有技能与其余编程语言(如 C++ 或 Rust)联合应用来构建在 Web 上运行并通过 Web 浏览器拜访用户的软件,而无需额定的步骤(例如下载和安装程序)。 尽管开发人员在第一种状况下仍须要应用 JavaScript,但他们也能够应用 Wasm 将须要靠近原生速度的局部生成为模块并应用 JS 加载它们。这是因为 JS 和 WebAssembly 模块之间双向通信的能力使应用程序可能利用 WebAssembly 的杰出性能。开发人员能够持续应用 React 等风行的 UI 库来构建 Web 应用程序的 UI,并间接应用 Wasm 来实现高性能的外部逻辑。Figma 等风行的应用程序通过应用 React 和 C++ 采纳了这种技术。 对于第二种状况,开发人员能够应用 Rust、C++ 或 C# 等语言与 Blazor 一起编写 Web 应用程序。或者甚至用 C# 设计一个游戏并轻松将其编译为 Wasm,而后通过网络将其提供给消费者。简而言之,开发人员能够通过以下形式应用 Wasm:除了 JS,开发者还能够在 Wasm 中编写高性能的关键性代码,并用 JS 导入。开发人员能够应用 Wasm 作为编译指标,编写使其余编程语言可能在 Web 上运行的代码。OpenIM通过WebAssembly解决了什么问题?OpenIM是由IM技术专家打造的开源的即时通讯组件。OpenIM包含IM服务端和客户端SDK,实现了高性能、轻量级、易扩大等重要个性。开发者通过集成OpenIM组件,并私有化部署服务端,能够将即时通讯、实时网络能力疾速集成到本身利用中,并确保业务数据的安全性和私密性。目前github 11k star,上万开发者,广泛应用在政务协同办公,社交等畛域。重点有如下特色(1)开源:外围代码开源,数据自我掌控,打造寰球当先的IM开源社区,括客户端SDK和服务端,打造寰球当先的IM开源社区。(2)易扩大:服务端采纳golang实现,独创“所有皆音讯”的通信模型,轻松实现自定义音讯和扩大性能。(3)高性能:反对集群分层治理架构,禁受过海量用户测验,形象在线音讯、离线音讯、历史音讯存储模型。(4)全平台反对:iOS、Android原生;Flutter、uni-app、ReactNative跨端;React、Vue等所有支流web前端框架;小程序;PC反对Electron。咱们的客户端SDK底层库openim-sdk-core是通过Go语言编写,并通过Gomobile工具打包为AAR和Framework库轻松集成到Android和iOS两端,并且扩大反对了局部支流跨平台开发框架如:Flutter 、ReactNative、Uniapp等。当初咱们借助WebAssembly技术将openim-sdk-core再次移植到了Web平台,底层复用一套代码,升高了SDK的保护老本,同时充分发挥wasm的个性。帮忙开发者能够更加疾速、稳固的将即时通讯、实时网络能力集成到本身利用中。同时,咱们还借助sql.js(同样应用emscripten将SQLite编译为 webassembly)和IndexedDB在Web环境中减少了音讯本地存储能力,这使得SDK整体应用更加高效。以后大多数IM的JSSDK都是间接通过API每次到服务器拉取大量数据,给服务器带来微小压力的同时也让用户可能取得不太好的体验,如弱网环境下获取聊天记录的漫长期待。但在open-im-sdk-wasm中,因为音讯记录都被贮存在了IndexedDB中,使得用户能够稳固达到100~200ms内拉取记录的丝滑体验。github地址:https://github.com/OpenIMSDK/官网:https://www.rentsoft.cn/WebAssembly的将来WebAssembly 是作为客户端技术创造的,但它也被证实在服务器端十分有用。 服务器端 WebAssembly 在古代 Web 和服务端应用程序中都存在至关重要的劣势。高性能。WebAssembly 实现了靠近原生的性能。与 Java、Python 或 JavaScript 运行时相比,它能够快 10 倍到 100 倍(这怎么可能?)。它也比 Docker 快得多,尤其是在冷启动和零碎拜访方面。平安。WebAssembly 是一个具备基于能力的平安模型的沙箱。它不仅比原生二进制文件更平安,而且比 Docker 这样的操作系统级容器更平安。然而,它提供了对底层零碎的拜访,包含新的硬件性能。可移植。WebAssembly 应用程序能够用 C、C++、Rust、Go 编写,并且无需更改即可在不同的操作系统和硬件平台上运行。易于治理。WebAssembly 程序能够由其余应用程序配置、启动、热交换、进行和挪动。WASI是一种将 WebAssembly 跑在任何零碎上的标准化零碎接口,当 WebAssembly 的性能逐步加强时,WASI 能够提供一种可行的形式,在任意平台上运行任意的代码,就像 Docker 所做的一样,然而不须要受限于操作系统。正如 Docker 的创始人所说:“ 如果 WASM 和 WASI 早在 2008 年就存在,那么咱们就不须要创立 Docker。可见 Wasm 是如许重要。服务器上的 WebAssembly 将会是“计算”的将来模式。而当初的问题是短少标准化的零碎接口。心愿 WASI 可能胜任这项工作!“Wasm 尽管起源于 Web,但现在,它曾经不止于 Web。那就让咱们来一起期待 Wasm 带来的,那个领有有限可能的世界吧! ...

May 22, 2023 · 1 min · jiezi

关于github:520来-GitHub-Copilot-开发者训练营与技术大咖们约个会

官网钻研显示,应用 GitHub Copilot 后:90% 开发者示意能够更快地实现工作;75% 开发者感到更有成就感;73% 开发者能放弃顺畅并节俭精力。看到这里的你,是不是曾经急不可待地想要体验 GitHub Copilot?别着急,在这个520表白节,微软携手 GitHub 面向开发者发动告白盛会——GitHub Copilot 开发者训练营行将开启! 本次流动面向寰球技术开发者、IT 技术专家,以及酷爱编程的在校学生,分享 GitHub Copilot 最新技术动静、实用的技巧和亮点性能,通过最佳实际分享、Demo 演示和入手实操的形式,带你领略智慧编程工具 GitHub Copilot 的无穷魅力。 报名这场开发者训练营,你将可能: 取得收费 GitHub Copilot 试用账号:抉择北京/上海任一地点参会,有机会收费体验 GitHub Copilot 试用账号,数量无限,先到先得;对话开发大牛:Scott Hanselman 携手 GitHub 原厂工程师等专家,传授 GitHub Copilot 应用技巧;现场入手实操:提供我的项目实战演练场景,近距离体验 GitHub Copilot 魅力;会面寰球开发者:与来自世界各地的开发者齐聚一堂,分享开发教训;疾速进阶晋升:凝听 GitHub Copilot 胜利案例,理解最新技术动静,进步编程效率。码上预约,晋升开发效率 流动嘉宾5月20日14:00来和技术畛域的专家大咖开启一场浪漫的技术约会吧! 流动日程 无论你是一名编程老司机还是一名刚刚上路的萌新选手是时候降级你的开发体验啦! 关注微软开发者MSDN公众号,依据本人的参会城市,后盾回复“北京”或“上海”,退出该城市流动群,及时参加本场流动。 5月20日14:00,咱们不见不散~

May 15, 2023 · 1 min · jiezi

关于github:提高产品功能发布效率的5个开源项目

Feature Flag 技术在国外产品研发中被宽泛应用,被视为进步研发效率的利器。在国外,Feature Flag 技术曾经失去宽泛遍及并被企业宽泛采纳,许多出名公司都在应用该技术进步产品开发和交付的效率,例如 Facebook、Google、Netflix等,同时也有很多相干的开源我的项目和服务。而在国内目前只有一些大型公司在应用该技术做性能公布,字节跳动的火山引擎、滴滴出行的 Apollo 等,但开源我的项目绝对较少。 作为 Feature Flag 技术的布道者和受益者,上面咱们来盘点一下国内外有哪些 Feature Flag 技术的开源我的项目。 一、FeatureProbe FeatureProbe 是一款国产的功能丰富的 Feature Flag(性能开关)治理平台,旨在帮忙团队实现继续交付和逐渐公布性能,它蕴含了灰度放量、AB试验、实时配置变更等针对『性能粒度』的一系列治理服务,让团队能够更好地管制性能公布和拜访。 我的项目特点性能标记治理: 容许团队创立和治理性能标记,以在不同用户群体中逐渐公布和管制性能。它提供了灵便的标记配置选项,如按指标用户、分段规定和百分比进行性能散发。 实时性能切换: 性能标记能够实时切换性能状态,而无需重新部署代码。这使得团队可能在生产环境中灵便地管制性能的开启和敞开,升高危险并提供更好的用户体验。 A/B 测试: 提供了 A/B 测试性能,使团队可能比拟不同性能变体的成果,并基于实时数据做出更好的决策。 可视化仪表板和剖析: 提供了直观的仪表板和剖析工具,以帮忙研发团队可视化性能标记的应用状况、成果和影响。这使得团队可能更好地理解性能的成果,并进行数据驱动的决策。 平安和稳定性: 重视平安和稳定性,提供了平安的数据传输和存储,以及高可用性和弱小的性能,确保性能开关的牢靠运行。 开源协定 Apache-2.0 license 二、Unleash Unleash 是一个开源的Feature Flag(性能开关)和试验平台,用于治理和控制软件利用中的性能公布。能够依据自定义的规定进行平安测试和公布新性能,目前 Unleash 提供了一些支流语言的集成框架,能够实用于不同模块的我的项目。 我的项目特点反对第三方集成: 具备宽泛的生态系统反对,能够与多种第三方平台和工具进行集成,包含剖析平台、监控工具等,提供全面的性能和扩展性。 反对局部支流语言SDK:  提供备用机制和SDK反对,能够在产生故障或异常情况时疾速切换回备用计划,并放弃本地备份,确保零碎的可靠性和稳定性。 性能监控: 提供业务性能监控性能,能够实时监测和剖析性能标记的影响和性能,帮忙团队及时发现和解决问题。 渐进式公布治理: 弱小的渐进式公布治理性能,能够灵便管制性能的逐渐公布。 开源协定Apache-2.0 licence 三、GrowthBook GrowthBook 是一个开源的Feature Flag(性能开关)和试验平台,指在帮忙企业进行数据驱动的决策,并提供了一系列的性能,包含精准用户定位、渐进式公布、A/B 测试以及切换性能的开启和敞开等性能。 我的项目特点可拜访性: 为所有团队服务,无论是产品开发团队、数据迷信团队还是市场营销团队,他们都能够利用 GrowthBook 进行数据驱动的决策和试验。 精准用户定位性能:  提供了先进的试验定位性能,使团队可能精确地将试验指标定位到特定用户群体或用户细分。这种精密的定位可能提供更精确的试验后果和更有针对性的决策。 模块化、可定制化: 能够依据用户的需要进行灵便配置和扩大。用户能够抉择应用残缺的测试平台、插件切换工具或数据分析引擎,以构建适宜本人团队的解决方案。 不限度性能开关: 用户能够创立和治理任意数量的标记。这使得用户能够自在地管制性能的公布和性能试验,以更好地满足业务需要。 开源协定MIT license 四、Flipt [Flipt] (https://github.com/flipt-io/flipt) 是一款全开源性能公布及治理我的项目,它反对所有根本的性能标记用例,例如基于段(例如新用户、电子邮件、地区等)进行性能公布,多个变体以及百分比阈值用于性能公布。  ...

May 11, 2023 · 1 min · jiezi

关于github:删除GitHub上的历史commit

1. 背景因为之前的加水印脚本存在问题,在对同一张图片进行加水印时,会有肯定的概率产生不一样md5的图片,在git提交的时候,就认为被批改了,从而被提交的github仓库中,如此反反复复,到当初曾经有11个G大小了;明天把水印脚本重写了一下,解决了上述问题,所以筹备给之前的垃圾提交清理了,让我的博客变成一个“新库”。 2. 过程创立并切换到孤儿分支(该分支与现有分支无关,齐全独立) git checkout --orphan d4m1ts以后文件夹下的所有内容都被默认增加到暂存区,间接commit提交即可 git commit -m "更新水印,从头做起"删除原来的分支(默认是master,也有可能是main) git branch -D master把以后分支重命名为主分支 git branch -m master强行推送到近程仓库 git push -f origin master 3. 成果历史commit被革除 从新clone,也是失常大小,不携带历史commit 4. 危险代码失落: 删除历史 commit 可能会导致一些代码失落,这可能会影响到我的项目的完整性和可用性。团队单干受影响: 如果多集体在同一个分支上工作,删除 commit 可能会影响到其他人的工作。如果其他人应用被删除的 commit 进行工作,他们可能会遇到谬误,这可能会导致合作的停滞和沟通的艰难。Git 历史记录凌乱: 删除 commit 可能会导致 Git 历史记录变得凌乱不清。如果您不小心删除了重要的 commit,您可能会失去对我的项目演变的残缺历史记录。这可能会导致对我的项目的分支、合并和代码审查的跟踪艰难。代码库中的依赖关系受到影响: 如果我的项目中的其余组件依赖于被删除的 commit,删除 commit 可能会导致依赖关系的毁坏。这可能会导致其余组件无奈失常工作,或者可能须要破费大量的工夫来修复问题。

May 7, 2023 · 1 min · jiezi

关于github:掌握这些GitHub搜索技巧你的开发效率将翻倍

作为开发it行业一员,学习借鉴别人我的项目是很有必要的,所以咱们个别都会从github或者Gitee 下面去参考借鉴别人的我的项目来学习减少本人的我的项目教训 然而个别我还是在github上看我的项目比拟多,毕竟人家实力我的项目量摆在那里 ,然而国内拜访github有时候比较慢,或者拜访不了,这里须要用到迷信上网举荐 一个 我始终在用的 这里提供一个拜访里面的工具 然而github你真的用对了嘛,他的性能其实很弱小!!! githu我的项目搜寻关键字搜寻在Github搜寻栏中输出与您感兴趣的技术相干的关键词,例如“machine learning”或“web development” 留神在这里 搜寻关键词须要打上英文引号 搜寻指定语言比方咱们须要搜寻vue我的项目或者java指定语言我的项目, 语言过滤:应用“language:”筛选器来限度搜寻后果的编程语言。例如,“language:python”。 这样咱们搜寻进去的都是对于指定Java语言的我的项目, strats排序搜寻星级排序:应用“stars:>”筛选器来按星级排序后果。例如,“stars:>10”将只显示星级大于10的我的项目。 更新工夫搜寻更新频率:应用“pushed:>”筛选器来按更新日期排序后果。例如,“pushed:>2021-01-01”将只显示自2021年1月1日以来更新的我的项目。 更多搜寻贡献者搜寻:应用“involves:”筛选器来查找蕴含指定用户的我的项目。例如,“involved:username”将列出该用户最近参加的我的项目。README搜寻:应用“in:name,description,readme”筛选器来搜寻项目名称、形容和README文件的所有内容。例如,“in:name,description,readme python”将搜寻所有蕴含“python”关键词的我的项目。Forks搜寻:应用“forks:”筛选器来搜寻特定数量的分支。例如,“forks:>200”将只显示领有200个以上分支的我的项目。按关注者数排序:应用“followers:>”筛选器按关注者数排序后果。例如,“followers:>100”将只显示其关注者超过100个的我的项目。按许可证搜寻:应用“license:”筛选器来搜寻特定类型的许可证。例如,“license:MIT”将只显示应用MIT许可证的我的项目。高级搜寻按关键字排除后果:应用“-”符号来排除不感兴趣的我的项目。例如,“machine learning -tensorflow”将排除诸如“tensorflow”之类的我的项目。按文件类型搜寻:应用“filename:”筛选器按文件类型搜寻。例如,“filename:app.js”将只显示名为“app.js”的文件的我的项目。按畛域搜寻:在关键词后增加特定畛域的词汇能够放大搜寻范畴。例如,“machine learning healthcare”将返回与医疗保健畛域相干的机器学习我的项目。依据我的项目流动搜寻:应用“activity:”筛选器来依据提交、问题、推送和挑战等流动搜寻我的项目。例如,“activity:pushed”将只显示最近有推送行为的我的项目。依据开发者类型搜寻:应用“user:”筛选器来搜寻具备特定开发者类型的我的项目。例如,“user:github”将只显示由GitHub组织创立的我的项目。应用通配符:应用“”来匹配任何字符,并帮忙在不确定的状况下搜寻我的项目。例如,“dockerapi”将搜寻带有“Docker”的所有我的项目,并将返回所有蕴含“api”的我的项目。按我的项目大小搜寻:应用“size:”筛选器按我的项目大小搜寻。例如,“size:>5000”将只显示大于5,000KB的我的项目。聚焦特定畛域:应用 GitHub Topics 搜寻性能能够聚焦特定畛域的我的项目。例如,通过搜寻 "Topic: React" 能够找到和 React 相干的所有我的项目。应用高级搜寻语法:高级搜寻语法能够帮忙你更加粗疏地筛选出合乎你要求的我的项目。例如,应用 "user:username" 搜寻 Github 上特定用户的我的项目。应用 Shields.io:shields.io 能够帮你为我的项目生成一些标签,用于显示我的项目的要害信息,例如我的项目的版本、许可证信息、followers 数量等等,这些标签能够帮忙你更快地理解我的项目。应用 Repository-metadata: "repo-metadata" 库可让你以格式化的形式检索您可能须要的我的项目元数据,包含蕴含在 readme 文件中的关键字,以及我的项目成员的名称和邮件地址。可视化搜寻当然这些是咱们间接通过搜寻语法进行搜寻的,咱们也能够在github上通过可视化界面进行搜寻 点击这个搜搜寻条件去搜寻 github必备插件October在GitHub浏览我的项目代码时,经常感到不太不便。每次点击文件后,整个我的项目文件列表都会被暗藏,想查看其它文件就必须回退后再次进入。如果文件夹构造很简单,查找起来就十分麻烦。 不过,有一款叫做octotree的工具能够很好地解决这个问题。它在GitHub页面的左上角增加了一个按钮,当你点击它时,就会开展一个菜单,显示整个我的项目的文件夹构造。通过octotree,你能够十分不便地浏览或下载单个源文件。 下载地址 当咱们装置胜利后github我的项目左侧就会有这个开展目录构造 sourcegraph如果你认为octotree曾经很好地解决了上述问题,那么你肯定会喜爱sourcegraph。sourcegraph相似一个Web IDE,让浏览GitHub的代码成为一种全新的体验。 只需单击仓库主页上的sourcegraph按钮,你就能跳转至sourcegraph官网,通过该网站能够实现更深刻的代码探索。 sourcegraph容许你对代码进行全文搜寻、代码跳转、援用查找等性能,让你在疾速浏览代码时受益匪浅。此外,sourcegraph还提供一些其余工具,可用于剖析代码品质、评估代码可读性等方面的问题。总之,应用sourcegraph,你能够以一种更加高效的形式摸索GitHub的代码库。 下载地址 装置实现后点击这里 到了sourcegraph,网页就变成了相熟的相似本地IDE的界面了 变量定义、函数调用、代码搜寻、查看文件提交记录等等性能都有,切实是太不便了 github-file-icon如果你常常拜访GitHub,你可能曾经留神到,GitHub上展现的文件图标相当枯燥,这使得不同类型的文件难以辨别。然而,有一个叫做github-file-icon的插件能够帮忙你解决这个问题。这个插件提供了一套十分炫酷的文件图标,使文件看起来更加直观,不便辨别不同类型的文件。 ...

May 5, 2023 · 1 min · jiezi

关于github:IvorySQL上榜中国开源项目TOP100

4月17日,业界出名媒体InfoQ 钻研核心公布了《中国开源生态图谱 2023》,由瀚高股份设计研发的IvorySQL开源数据库公布一年多,凭借代码的衰弱度和社区的活跃度位列中国开源我的项目GitHub Top100 第 35 名,集中式数据库第 1 名。 • 代码的衰弱度体现为社区成员一直地修复和更新代码, 造成研发价值的指数级增⻓; • 社区沉闷是保障开源价值最⼤化的基本,被开源世界公认的社区价值是评估开源项⽬最次要的因素。 InfoQ 钻研中⼼⾪属于极客邦科技单数研究院,秉承主观、深度的内容准则,心愿通过《中国开源⽣态图谱 2023》的公布,以中国开源项⽬名录和图谱的模式,为中国开源畛域提供便捷易⽤地⼯具,让国内开发者、企业、研究院、基⾦会等开源⽣态理解中国开源的项⽬现状,并为中国开源产品添砖加瓦。 IvorySQL作为惟一一款兼容Oracle个性的开源数据库软件,基于PostgreSQL开发,旨在为企业和开发者提供一个高性能、可扩大和平安的数据库解决方案。自公布一年多以来,已在GitHub播种475+⭐。IvorySQL紧跟PG国内社区,疾速进行版本迭代,放弃与最新版本PostgreSQL数据库内核同步,累计公布 8 个版本,并反对丰盛的PG周边工具和扩大。基于Oracle兼容性能,曾经推出包含Package、层级查问、全局惟一索引、各种兼容函数和类型等Oracle兼容性能近百个。 IvorySQL开源根社区以平安、兼容、易用为特色,以“链接开发者” 为外围。社区变地多样性,社区成员可「利用IvorySQL Operator、IvorySQL Cloud、IvorySQL HA、IvorySQL DevTool」等资源及工具,进行创意产出及深度开发。社区代码提交次数、issue、 修复bug、开发新个性都有了显著晋升,社区活动及社区规模日渐丰盛及扩充。 近期,IvorySQL将会举办「线下Meetup」与宽广开源爱好者线下交换互动,为社区用户提供更凋谢自在的学习交流平台。 将来,IvorySQL根社区将持续本着“凋谢,自在,共享,共建,共治”的精力,专一、业余的为开源世界贡献力量。 官网网址:https://www.ivorysql.org/zh-cn/社区仓库:https://github.com/IvorySQL/IvorySQL IvorySQL社区欢送并赞叹所有类型的奉献,期待您的退出!还有,别忘了在Github给咱们一个 ⭐奥~

April 20, 2023 · 1 min · jiezi

关于github:玩转AIGC5分钟-Serverless-部署-Stable-Diffustion-服务

有没有一种可能,其实你早就在AIGC了?阿里云将提供收费Serverless函数计算产品资源,邀请你,体验一把AIGC级的毕加索、达芬奇、梵高等巨匠作画的快感。上面请纵情施展你的设想空间!!双重奖品设置,实现体验场景可得社区1000 积分兑换奖品,还可加入 AI 生成图像较量赢取 Airpods、500 元猫超卡及社区定制抱枕! 体验地址:https://developer.aliyun.com/topic/aigc 1. 试验资源筹备费用问题体验前必看完!体验前必看完!体验前必看完! 注意事项本场景可能会产生函数计算资源应用费用,请您肯定仔细阅读完本页,防止产生意料之外的费用。计费状况详情请参考计费概述。 如需长期应用本服务,请仔细阅读函数计算(FC)资源应用费用,防止产生意料之外的费用;如仅为体验性能不做长期应用,请依照文档最初删除步骤,部署之后立刻删除。 一、资源形式介绍本试验反对开明收费试用、个人账户资源两种试验资源形式。在试验开始前,请您抉择其中一种试验资源,单击确认开启试验。 倡议首次开明函数计算用户抉择开明收费试用。函数计算老用户抉择个人账户资源。 二、抉择开明收费试用(函数计算首次开明用户)请留神:试用额度不反对抵扣公网出流量和磁盘使用量的费用。如您未购买相干资源包,公网出流量使用量和超出512 MB的磁盘使用量将计入按量付费。本体验波及应用大量公网出流量和磁盘使用量,计费状况详情请参考计费概述。 本实验设计应用大量公网出流量和磁盘使用量,为了防止停机危险,请您确保账号中有至多1元余额”,具体计费状况请参考计费概述。 在本试验页面下方卡片会展现本试验反对的试用规格,抉择函数计算FC并单击立刻试用。 新客户收费试用资源额度如下: 2023年04月06日20:00之后开明函数计算的用户,可0元享老客户专享套餐,有效期3个月,总价值150元。套餐限购1次,内含四个试用包:50万vCPU秒 + 100万GB秒 + 400万次函数调用 + 10万GB*秒GPU。 首次开明函数计算的新客户,能够在函数计算新客首购套餐页面,单击立刻购买。 二、抉择个人账户资源(无收费试用资格或函数计算老客户)如果您没有收费试用资格或者在4月6日20:00前已开明函数计算服务,请您抉择个人账户资源进行试验。您有两种付费形式: 形式一:您能够间接应用函数计算后付费开始试验,计费规范详情请参考计费概述。请您仔细阅读计费规范,避免有意料之外的付费。 形式二:本试验举荐您购买函数计算老客户专享套餐包,进行试验。 额度如下:2023年04月06日20:00之前开明函数计算的用户,可9.9元享老客户专享套餐,有效期3个月,总价值150元。套餐限购1次,内含四个试用包:50万vCPU秒 + 100万GB秒 + 400万次函数调用 + 10万GB*秒GPU。 请留神:专享资源包不反对抵扣公网出流量和磁盘使用量的费用。如您未购买相干资源包,公网出流量使用量和超出512 MB的磁盘使用量将计入按量付费。本体验波及应用大量公网出流量和磁盘使用量,计费状况详情请参考计费概述。 具体操作为:返回函数计算治理控制台。在概览页面,单击老客户专享套餐。在函数计算老客首购套餐页面,单击立刻购买。 2. 创立利用本试验可领用下方卡片中的函数计算收费额度;首次开明函数计算的新客户,能够购买新客首购套餐;如您是函数计算老客户,可购买老客户专享套餐包(所有套餐包购买请查看第一步骤形容信息)。 请留神领用/购买套餐包进行试验,如抉择后付费模式进行试验,请留神账户扣费。计费状况详情请参考计费概述。 返回函数计算控制台。在左侧导航栏中,单击利用。留神:如果您之前应用过利用核心,在单击利用之后呈现相似于上面的页面,此时您能够单击创立利用持续流程。在单击利用/创立利用之后,您能够看到利用列表。在利用页面,搜寻并抉择AI数字绘画stable-diffusion,单击立刻创立。在创立利用页面,抉择间接部署。此时还须要关注页面上角色名称局部,例如:此时须要单击返回受权进行受权,受权实现可能会提醒:阐明:如果您的角色名称已有相干权限,可疏忽此步骤。利用可反对部署地区为北京、杭州、上海、深圳,请抉择任意一地区。阐明:如遇部署异样,特地是AIGC公共镜像拉取耗时长/失败问题,请切换其余地区重试。【必填】填写stable-diffusion-webui镜像地址,在stable-diffusion-webui镜像地址输入框中输出下方的镜像地址,镜像地址须要与利用所在的地区保持一致。 本利用模版应用Stable Diffusion 的docker镜像部署,为不便您的体验,本试验提供基于开源我的项目构建的镜像,您须要自行填写地区对应的镜像地址。 留神:填写下方镜像地址的时候,须要与利用所在的地区保持一致。 上海地区镜像地址:registry.cn-shanghai.aliyuncs.com/fc-stable-diffusion/stable-diffusion:v1杭州地区镜像地址:registry.cn-hangzhou.aliyuncs.com/fc-stable-diffusion/stable-diffusion:v1北京地区镜像地址:registry.cn-beijing.aliyuncs.com/fc-stable-diffusion/stable-diffusion:v1深圳地区镜像region :registry.cn-shenzhen.aliyuncs.com/fc-stable-diffusion/stable-diffusion:v1阐明:本次试验提供的镜像是由Serverless Devs开源我的项目贡献者奉献的基于stable-diffusion-webui构建,仅供您体验应用。您也能够应用本人的Stable Diffusion镜像,构建办法详情请参见如何构建并应用stable-diffusion-webui-镜像。实现之后,单击页面最上面的创立并部署默认环境。留神:部署利用之后会产生函数计算资源应用费用,计费状况详情请参考计费概述。在根本信息页面,单击部署版本。阐明:大概须要期待1~2分钟。在部署版本页面,请您急躁期待部署状态变为部署胜利,在部署时您也能够查看日志察看利用部署状况。查看GPU函数(sd-server)的镜像减速筹备状态,函数计算提供的镜像减速能力专门为AI/GPU大镜像进行启动优化,请当镜像减速筹备状态处于可用后,再开始进行函数调用。 在根本信息页面,单击环境名称。在环境详情页面的资源信息区域中,单击函数:sd-server。在函数sd-server详情页面的环境信息区域,查看镜像减速筹备状态,请您急躁期待镜像减速筹备状态变为可用。镜像减速筹备状态变为可用后,返回到利用的根本信息页面。在根本信息页面,单击拜访域名中的第一个域名,进入程序加载页面。请您稍等片刻,期待程序加载实现。 阐明:因为模型较大,齐全加载大概须要期待5~8分钟。加载实现之后,返回如下页面,示意您已胜利进入Stable Diffusion WebUI的操作界面。 3. 应用文字生成图片生成图片的操作形式非常简单,只须要在左侧的Prompt输入框中填入提醒词,之后单击右侧的Generate按钮即可。 提醒词就是生成图片的根据,既能够是形容须要生成内容的词,如:girl, sunset, forest 等;也能够是用于是形容图像属性的词,如:best quality, beautiful, masterpiece 等。咱们甚至能够通过提醒词抉择图片生成的视角、光线、画风;人物的姿态、着装、表情;背景的内容等。 咱们建议您加上画风形容词,让您的图片更加好看,如:Cyberpunk(赛博朋克),shinkai makoto(新海诚),Ghibli Studio(吉卜力),Paul Gauguin(梵高)等等 ...

April 19, 2023 · 1 min · jiezi

关于github:中英文拼写检测纠正开源项目使用入门-wordchecker-110

我的项目简介word-checker 本我的项目用于单词拼写查看。反对英文单词拼写检测,和中文拼写检测。 个性阐明能够迅速判断以后单词是否拼写错误能够返回最佳匹配后果能够返回纠正匹配列表,反对指定返回列表的大小谬误提醒反对 i18n反对大小写、全角半角格式化解决反对自定义词库内置 27W+ 的英文词库反对指定英文的编辑间隔反对根本的中文拼写检测变更日志变更日志疾速开始JDK 版本Jdk 1.7+ maven 引入<dependency> <groupId>com.github.houbb</groupId> <artifactId>word-checker</artifactId> <version>1.1.0</version></dependency>测试案例会依据输出,主动返回最佳纠正后果。 final String speling = "speling";Assert.assertEquals("spelling", WordCheckerHelper.correct(speling));外围 api 介绍外围 api 在 WordCheckerHelper 工具类下。 WordCheckers 工具类提供了长文本中英文混合的主动纠正性能,当然也反对单个单词。 性能办法参数返回值备注文本拼写是否正确isCorrect(string)待检测的文本boolean全副正确,才会返回 true返回最佳纠正后果correct(string)待检测的单词String如果没有找到能够纠正的文本,则返回其自身判断文本拼写是否正确correctMap(string)待检测的单词Map<String, List<String>>返回所有匹配的纠正列表 MAP判断文本拼写是否正确correctMap(string, int limit)待检测的文本, 返回列表的大小返回指定大小的的纠正列表 MAP列表大小 <= limit判断文本拼写是否正确correctList(string)待检测的单词List<String>返回所有匹配的纠正列表判断文本拼写是否正确correctList(string, int limit)待检测的文本, 返回列表的大小返回指定大小的的纠正列表列表大小 <= limit英文测试例子参见 EnWordCheckerTest.java是否拼写正确final String hello = "hello";final String speling = "speling";Assert.assertTrue(WordCheckerHelper.isCorrect(hello));Assert.assertFalse(WordCheckerHelper.isCorrect(speling));返回最佳匹配后果final String hello = "hello";final String speling = "speling";Assert.assertEquals("hello", WordCheckerHelper.correct(hello));Assert.assertEquals("spelling", WordCheckerHelper.correct(speling));默认纠正匹配列表final String word = "goox";List<String> stringList = WordCheckerHelper.correctList(word);Assert.assertEquals("[good, goo, goon, goof, gook, goop, goos, gox, goog, gool, goor]", stringList.toString());指定纠正匹配列表大小final String word = "goox";final int limit = 2;List<String> stringList = WordCheckerHelper.correctList(word, limit);Assert.assertEquals("[good, goo]", stringList.toString());中文拼写纠正是否拼写正确final String right = "正确";final String error = "万变不离其中";Assert.assertTrue(WordCheckerHelper.isCorrect(right));Assert.assertFalse(WordCheckerHelper.isCorrect(error));返回最佳匹配后果final String right = "正确";final String error = "万变不离其中";Assert.assertEquals("正确", WordCheckerHelper.correct(right));Assert.assertEquals("万变不离其宗", WordCheckerHelper.correct(error));默认纠正匹配列表final String word = "万变不离其中";List<String> stringList = WordCheckerHelper.correctList(word);Assert.assertEquals("[万变不离其宗]", stringList.toString());指定纠正匹配列表大小final String word = "万变不离其中";final int limit = 1;List<String> stringList = WordCheckerHelper.correctList(word, limit);Assert.assertEquals("[万变不离其宗]", stringList.toString());长文本中英文混合情景理论拼写纠正的话,最佳的应用体验是用户输出一个长文本,并且可能是中英文混合的。 ...

April 4, 2023 · 2 min · jiezi

关于github:如何优雅实现自动化部署

前言前几天实现了用VuePress进行本地化博客网站搭建,明天介绍如何应用自动化部署我的项目到Github Pages上。 本文介绍两种自动化部署办法,一种是用sh脚本自动化部署,另外一种应用Github的GitHub Actions实现自动化部署。 sh脚本部署sh脚本是什么sh脚本是一种文本文件,其中蕴含一系列的命令和程序,用于在Unix/Linux零碎上主动执行工作和操作。sh是shell的简写,是Unix/Linux上默认的命令行解释器。sh脚本能够用于自动化操作、批量解决数据以及在系统启动时主动运行程序等。 部署工作咱们在 Github 上新建一个仓库,仓库名为:myblog。 接着批改 config.js 文件,增加 base配置, base的值为刚刚创立的仓库名,这个是为了前面拜访Github Pages用的。 此时config.js的构造为 module.exports = { // ... base: '/myblog/', // ...} 在我的项目的根目录下创立一个sh脚本,命名为deploy.sh,增加以下内容 #!/usr/bin/env sh# 确保脚本抛出遇到的谬误set -e# 生成动态文件npm run build# 进入生成的文件夹cd docs/.vuepress/dist# 如果是公布到自定义域名# echo 'www.example.com' > CNAMEgit initgit add -Agit commit -m 'deploy'# 如果公布到 https://<USERNAME>.github.io/<REPO>git push -f git@github.com:by3679512/myblog.git master:gh-pagescd -最初执行脚本,在仓库的Settings -> Pages 中能够看到的Github Pages地址 GitHub Actions自动化部署当初介绍如何应用GitHub Actions自动化部署我的项目到Github Pages上。 当咱们实现我的项目本地化搭建后,个别都是应用npm run buid或者yarn build命令进行打包 接着将打包文件近程推送到Github Pages上,拜访Github Pages地址确认是否部署胜利 在咱们打包我的项目和推送动态文件这个过程中,会发现有很多类似的重复性操作,既然是重复性的,咱们能不能把操作写成脚本,当前每次操作只有执行脚本就好呢? ...

March 30, 2023 · 1 min · jiezi

关于github:FRP使用教程

首发于集体博客:方寸之间 前言最近把在角落里吃灰的树莓派拿了进去,搭建了一个wordpress网站,感觉还不错,不过因为连的是家里的WiFi,所以只能内网拜访,所以就筹备用内网穿透工具配置一下外网拜访。之前内网穿透都是用的Cloudflare的tunnel,收费,配置很简略,而且间接上自家的CDN网络,然而因为家喻户晓的起因,Cloudflare的服务在国内访问速度感人,然而勉强还能用。不过最近在Github上的Trending里看到了这个frp,看了一下文档,发现这个工具配置起来超简略,刚好有台服务器,所以就间接上手了。  集体配置 Client: Raspberrypi 4B + Ubuntu 20.04 Server: Ubuntu 20.04 装置配置frp服务器端配置下载解压frp文件,留神安装包的架构: wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_amd64.tar.gztar zxvf frp_0.46.1_linux_amd64.tar.gzcd frp_0.46.1_linux_arm64/  配置流程稍稍与客户端配置不同,然而更简略,只须要编辑frps.ini配置文件,设置监听 HTTP 申请端口,这里我应用的8080端口: [common]bind_port = 7000 # frp服务的监听端口vhost_http_port = 8080p.s. 不要遗记凋谢服务器的防火墙端口。  客户端配置下载解压frp文件,因为我用的是树莓派,所以下载arm64的包: wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_arm64.tar.gztar zxvf frp_0.46.1_linux_arm64.tar.gz  编辑frpc.ini配置文件,设置服务器的IP地址a.b.c.d及本地机器上 Web 服务监听的端口,并绑定自定义域名: [common]server_addr = a.b.c.dserver_port = 7000[web]type = httplocal_port = 3000custom_domains = www.yourdomain.com #这里设置域名  到这里就能够应用了,别离启动服务端和客户端即可。 # 服务端./frps -c ./frps.ini# 客户端./frpc -c ./frpc.ini通过http://www.yourdomain.com即可拜访web服务。p.s. 不要遗记将www.yourdomain.com的域名A记录映射到服务器的IP。  Caddy配置不过因为我的服务器上还部署了其余的web服务,应用了caddy进行反向代理,所以还须要一点额定的配置。编辑caddy的配置文件/etc/caddy/Caddyfile,增加新域名的反向代理: www.yourdomain.com { reverse_proxy localhost:8080}重新启动caddy服务: sudo systemctl restart caddy当初就能够通过https://www.yourdomain.com拜访内网的web服务了,而且Auto HTTPS!!  参考https://github.com/fatedier/frp/ ...

March 25, 2023 · 1 min · jiezi

关于github:改进-hibernatevalidator新一代校验框架-validator-使用介绍-v04

我的项目介绍java 开发中,参数校验是十分常见的需要。然而 hibernate-validator 在应用过程中,仍然会存在一些问题。 validator 在 hibernate-validator 等校验工具之上,做了一些改良,使其应用更加便捷优雅,进一步晋升工作效率。 变更日志变更日志个性反对 fluent-validation反对 jsr-303 注解反对 i18n反对用户自定义策略反对用户自定义注解反对针对属性的校验反对过程式编程与注解式编程反对指定校验失效的条件创作目标hibernate-validator 无奈满足的场景现在 java 最风行的 hibernate-validator 框架,然而有些场景是无奈满足的。 比方: 验证新密码和确认明码是否雷同。(同一对象下的不同属性之间关系)当一个属性值满足某个条件时,才进行其余值的参数校验。多个属性值,至多有一个不能为 null其实,在对于多个字段的关联关系解决时,hibernate-validator 就会比拟弱。 本我的项目联合原有的长处,进行这一点的性能强化。 validation-api 过于简单validation-api 提供了丰盛的个性定义,也同时带来了一个问题。 实现起来,特地简单。 然而咱们理论应用中,经常不须要这么简单的实现。 validator-api 提供了一套简化很多的 api,便于用户自行实现。 自定义不足灵活性hibernate-validator 在应用中,自定义束缚实现是基于注解的,针对单个属性校验不够灵便。 本我的项目中,将属性校验束缚和注解束缚辨别开,便于复用和拓展。 过程式编程 vs 注解式编程hibernate-validator 外围反对的是注解式编程,基于 bean 的校验。 一个问题是针对属性校验不灵便,有时候针对 bean 的校验,还是要本人写判断。 本我的项目反对 fluent-api 进行过程式编程,同时反对注解式编程。 尽可能兼顾灵活性与便利性。 疾速开始筹备工作JDK1.7+ Maven 3.X+ maven 引入<dependency> <groupId>com.github.houbb</groupId> <artifactId>validator-core</artifactId> <version>0.4.0</version></dependency>疾速入门定义对象第一步,咱们定义一个常见的 java bean 对象,能够指定内置的注解。 反对 jsr-303 注解和 hibernate-validator 的注解。 public class User { /** * 名称 */ @HasNotNull({"nickName"}) private String name; /** * 昵称 */ private String nickName; /** * 原始明码 */ @AllEquals("password2") private String password; /** * 新密码 */ private String password2; /** * 性别 */ @Ranges({"boy", "girl"}) private String sex; /** * 失败类型枚举 */ @EnumRanges(FailTypeEnum.class) private String failType; //getter & setter}ValidHelper 工具办法ValidHelper 作为对立封装的工具类,提供了 java bean 校验常见的办法。 ...

March 20, 2023 · 3 min · jiezi

关于github:瓴羊Quick-BI自定义数据门户让企业运营管理飞起来

进入大数据时代,面对海量的数据资产,大量企业意识到了数据分析的重要性。随之而来的,是瓴羊Quick BI等商业智能工具成为了不少企业的“新宠”。确实,在当下的商业环境中,除了产品、服务等外在能力外,企业外部的数据分析能力同样成为了不可或缺的外围竞争力。企业如果想要真正施展出本人在商业活动中积攒下的海量数据,离不开瓴羊Quick BI等商业智能工具这一强有力的数据分析帮手。作为企业数智服务DAAS公司瓴羊旗下的一款BI工具,瓴羊Quick BI不仅为企业客户提供了数据采集、数据建模、数据分析、数据利用和数据可视化等一系列工具,更通过自定义数据门户等形式满足不同行业一站式、个性化的数据管理需要。 这里所说的瓴羊Quick BI数据门户,又叫数据产品,是通过菜单模式构建蕴含仪表板、在线电子表格、数据填报、自助取数、内部链接等的自定义性能汇合。对于下面提到的仪表板、在线电子表格等工具,大多数企业用户比拟相熟,但这种可自定义的数据门户,在一些企业中可能利用并不宽泛。其实,如果可能充分发挥瓴羊Quick BI数据门户的性能,企业剖析人员就能制作出款式简单、性能多样、灵便自定义的带导航菜单和数据分析利用汇合,解决各种企业数据的剖析需要。数据门户的自定义其实并不简单。进入Quick BI控制台后,企业数据分析人员便能够在工作台中新建数据门户,进行数据门户题目设置、上传logo以及编辑页脚等操作。更重要的是,咱们能够在Quick BI的数据门户中配置多级菜单,并将菜单与仪表板、在线电子表格、数据填报、自助取数、内部链接等Quick BI的外围功能模块进行关联,由此构建本人所需的数据门户。 数据门户配置实现后,能够对不同用户进行受权,之后便可将自定义的数据门户进行共享。通过这种场景化剖析的形式,为企业管理层、业务人员或数据分析人员提供对立的数据可视化服务,实现数据信息的高效共享,让企业的外部经营管理效率“飞”起来。所以,对于想要疾速晋升本人公司数据分析外围竞争力的敌人们来说,瓴羊Quick BI的数据门户能够提供许多个性化的帮忙。百闻不如一试,当初大家只有搜寻“瓴羊Quick BI”,进入它的官网就能申请收费试用,体验数据门户性能了。

March 16, 2023 · 1 min · jiezi

关于github:vika维格表开源社区版新版来袭团队协作能力全面解锁

vika维格表开源社区版 APITable 新版原本袭!团队合作能力全解锁。 上个月咱们匆匆公布了维格表开源社区版,市场反馈远超预期,到当初曾经在 GitHub 上斩获了将近 8000 星标。与此同时,不少社区用户给了咱们类似的反馈,那就是开源的 APITable 无奈跟小伙伴们进行合作,没方法真正享受多人实时协同的可视化数据库带来的爽点和效力晋升。 因而本次更新着重解决多人合作相干的根底能力,包含但不仅限于: 反对通过邮箱注册 反对更改明码⌨️ 反对重置明码 反对通过电子邮件邀请别人退出空间站 反对通过邀请链接邀请别人退出空间站 接下来,让咱们来一起看看这些受到最多开发者关注的更新吧。 01反对通过邮箱注册你能够应用邮箱注册并登录 APITable,账号零碎进一步欠缺。 02反对更改明码在「设置」中,你能够通过注册的邮箱接管验证码,更改你之前设置的明码。 03反对重置明码当你忘记本人的明码时,能够通过注册的邮箱接管验证码,重置明码并进行登录。 04反对通过电子邮件邀请别人退出空间站当初,你能够用多种形式邀请他人退出你的空间站进行合作了。其中一种,是通过增加对方的邮箱,向对方发送邀请邮件。对方接管后点击邮件注释中的链接,即可进入你的空间站同步合作。 05反对通过邀请链接邀请别人退出空间站你还能够通过生成公开的链接,发送给工作搭档,点击链接即可跳转到退出空间站的页面。 06版本更新细节在这次的版本更新中,最亮眼的性能无疑是上述提及的几点。但咱们的开发团队做了大量的工作,包含但不限于性能更新与加强、Bug 修复等,点击查看具体的版本更新细节。 07咱们接下来要做什么?APITable Roadmap很多敌人十分想晓得 APITable 开源社区版和 APITable 云版本的将来性能布局,所以咱们将基于 APITable 搭建的产品路线图,通过咱们的亮点性能「灵便嵌入」,无缝地嵌入并公开到了官网上。目前布局到 2023 年的上半年,欢送大家戳 返回理解。产品路线图的具体位置在 APITable.com 官网底部,欢送随时关注:如果你无关 APITable 的疑难与倡议,欢送到 GitHub/Gitee 主页与咱们分割。当然,你也能够退出咱们的 Discord,实时与咱们的技术人员、开发爱好者进行交换。

March 9, 2023 · 1 min · jiezi

关于github:瓴羊Quick-BI顺利通过中国信通院测评实力不容忽视

瓴羊Quick BI是一款长期致力于为企业提供企业数据分析和决策反对的一站式解决方案,可能提供各种各样的优质数据服务,比方获取、剖析和荡涤等,甚至可能将这些数据呈现出可视化的状态,帮忙企业对各个环节进行粗疏的剖析。随着国内外的竞争越来越强烈,瓴羊Quick BI这些年来始终都在一直的提高着,前不久,就取得了信通院的测评。而这次测评所蕴含的范畴十分宽泛,比方高可用性、数据采集解决、集成能力、企业数据分析、报告输入和平安能力等多个方面,涵盖我的项目25项,瓴羊Quick BI全副通过,是一件如许不容易的事件。 咱们从测评后果当中能够失去这样一个信息,优良的测评后果,从另一方面也阐明了瓴羊Quick BI在企业数据分析方面的全面性,也在另一个方面呈现出了更高的技术水平,如果企业想要通过该平台解决数据分析下面的难题,再好不过!瓴羊Quick BI所获得的成就远不止如此,现如今曾经间断三年入选Gartner魔力象限报告,成为了国内惟一的存在,不仅难度十分大,同时也是一种实力和能力的体现,让咱们一起为瓴羊Quick BI点赞。通过以上比拟具体的介绍,大家应该对瓴羊Quick BI多多少少有肯定的理解,如果大家对于这款工具十分的感兴趣,那就赶快进入其官方网站,从而享受到收费试用的性能,那就赶快付出实际行动吧!

March 8, 2023 · 1 min · jiezi

关于github:新手小白怎么把自己的本地项目推到GitHub

筹备好本人的 github 账号,要推到 github 的我的项目,并对我的项目进行过 git init 后...git remote add origin。。。。。

March 4, 2023 · 1 min · jiezi

关于github:ClickHouse-与-Amazon-S3-结合一起来探索其中奥秘

目录ClickHouse 简介ClickHouse 与对象存储ClickHouse 与 S3 联合的三种办法示例参考架构小结参考资料 ClickHouse 简介ClickHouse 是一种疾速的、开源的、用于联机剖析(OLAP)的列式数据库管理系统(DBMS),由俄罗斯的Yandex公司开发,于2016年开源。ClickHouse 作为交互式剖析畛域的后起之秀,倒退速度十分快,目前在 GitHub 上已播种 14K Star。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!ClickHouse 主打顶尖的极致性能,每台服务器每秒钟能够解决数亿至数十亿多行或者是数十GB的数据。ClickHouse 基于列式存储,通过 SQL 查问海量数据并实时生成剖析报告。ClickHouse 充分利用了所有可用的硬件优化技术,以尽可能快地解决每个查问。向量化的查问执行引入了 SIMD 处理器指令和运行时代码生成技术。列式存储的数据会进步CPU缓存的命中率。ClickHouse 概览文档中的图片清晰地展现了行式存储与列式存储在 OLAP 畛域中的速度差距。 行式存储 列式存储 在分布式集群中,正本之间的数据读取会主动保持平衡,以防止减少提早。同时,ClickHouse 反对多主异步复制模式,这种状况下所有节点角色都是相等的,能够避免出现单点故障,单个节点或整个可用区的停机工夫并不会影响零碎的读写可用性。 在网络和利用剖析,广告网络和实时出价,电信,电子商务和金融以及商业智能等畛域,ClickHouse 都有很好的反对与利用,更多信息请参考 ClickHouse 官网。 01 ClickHouse与对象存储ClickHouse 针对数据量和查问场景提供了不同的数据库和数据表引擎,此外它也能够应用多种多样的专用引擎或表函数(例如 HDFS,Kafka,S3 等)与许多内部零碎进行通信。在现代化的云架构中,对象存储是最重要的存储组成部分。2006年,亚马逊云科技正式推出的第一个云服务也是 Amazon S3(Simple Storage Service),目前 Amazon S3 曾经成为事实上的云对象存储规范。 应用对象存储能够给数据分析系统带来诸多劣势。首先,它能够应用数据湖架构中的原始数据。其次,对象存储能够为数据表数据提供高性价比且高可靠性的存储。针对 S3 目前 ClickHouse 曾经上述对象存储的这两种用处。 02 ClickHouse 与 S3 联合的三种办法1)通过 MergeTree 表引擎集成 S3 后面提到 ClickHouse 提供了泛滥数据库和数据表引擎,这其中最弱小的表引擎当属 MergeTree (合并树)引擎及合并树系列(*MergeTree)中的其余引擎。MergeTree 系列的引擎被设计用于插入海量的数据到一张表当中。数据能够以数据片段的模式一个接着一个的疾速写入,数据片段在后盾依照肯定的规定进行合并。相比在插入时一直批改(重写)已存储的数据,这种策略会高效很多。 MergeTree 系列表引擎能够将数据存储在多块设施上。这对某些能够潜在被划分为“冷”“热”的表来说是很有用的。近期数据被定期的查问但只须要比拟小的磁盘存储空间。相同,大量的、详尽的历史数据被用到的频率绝对较少。ClickHouse 能够将 S3 对象存储用于 MergeTree 表数据,这样针对“热”的数据,能够搁置在疾速的磁盘上(比方 NVMe 固态硬盘或内存中),“冷”的数据能够寄存在S3对象存储中。在MergeTree 系列表引擎中应用S3的参考架构如下图所示: ...

March 3, 2023 · 4 min · jiezi

关于github:全平台数据数据库管理工具-DataCap-160-发布

The current release involves several major updates.DataCap is released Release VersionRelease Time1.6.02023-03-02GeneralAdd logoSupport SHOW PATHS xxxFixed function time fieldRefactor all moduleAdd http libAdd logger libSPIJDBC: Repair Connection failure Do not close the connectionWebAdd default watermarkRemove about pageAdd routing permission controlOptimize lazy loading of the tree menu of the query pagePluginsSupport duckdb for jdbc close #249Support alioss for native #250Zookeeper (Native)Support SHOW PATHSDependenciesBump maven-javadoc-plugin from 3.4.1 to 3.5.1Bump oceanbas-client from 2.4.0 to 2.4.2ContributorsMany thanks to the following contributors for contributing to the source code of this releaseIn no particular orderGitHub ID@why198852@mlboy@qianmoQDownloadhttps://datacap.edurt.io/download.html ...

March 2, 2023 · 1 min · jiezi

关于github:功能开关-What-Why-How

在这个数字化时代,产品的研发效率慢慢地成为企业的外围竞争力,所以越来越多的公司开始应用麻利开发方法来进步产品研发的效率和品质。在麻利开发中,技术团队的研发效率能够由以下几个指标来掂量: 代码部署频率: 代码部署到生产环境中的频率,这也是开发速度和效率的体现。均匀修复工夫(MTTR): 在生产中故障呈现到复原的工夫。变更的前置工夫: 从提出变更申请到部署生产中的工夫,变更施行所需的工夫。产品公布频率:团队在一段时间内公布的性能数量和频率。缺陷率: 在软件开发过程中,所发现和解决的缺点数量和重大水平。以上这些因素能够很好地展现产品研发效率,但在以后这个疾速变动的市场中,研发过程中的流程和工具必须要跟得上研发速度,一旦产品的研发速度慢于需要变更的速度,新性能上线就会被提早,而企业也会在疾速倒退的市场中失去外围竞争力。 有很多开发工具能够帮忙团队简化开发流程、改善合作和沟通,进步工作效率。但工具的应用应该被慎重考虑,研发团队应该抉择最能满足研发需要并反对麻利开发实际的工具。而性能开关,就是麻利开发中的常用工具。 What - 什么是性能开关?「性能开关」(Feature Flag,又称为“个性开关”) 能够容许开发人员在不影响其余性能的状况部署新性能,并在生产环境中通过管制性能的开关灵便管制性能的可用性和可视性,进步了性能部署效率并且升高了公布危险,让团队可能疾速满足利用市场需求的变动。 而性能开关的应用非常简略,性能开关会被蕴含在一个 if 语句外面,当 if 的状态为 true 时,性能开关会被关上,而新性能就会展现给用户,当 if 状态为 false 时,开关会被敞开,那么新性能会被暗藏不会展现给用户。 FPUser user new FPUser();user.with("ATTRIBUTE_NAME_IN_RULE",VALUE_OF_ATTRIBUTE);boolean boolValue = fpClient.boolValue("YOUR_TOGGLE_KEY",user.false);if(boolValue){ // the code to run if the toggle is on }else{ // the code to run if the toggle is off }用户能够由不同的属性(如角色、地理位置 、设施类型等)或者自定义的标识符号(用户ID、会员等级等)形成用户组。例如,新性能仅对付费用户或者特定地区的用户开启,性能开关就能够让新性能在限定的范畴内测试新性能或者针对特定用户群体提供个性化的体验。 在产品研发过程中,我想大部分的技术团队和产品团队都会遇到以下问题: 1. 什么时候公布新性能?公布策略是什么? 2. 线上故障最快复原的解决方案是什么? 3. 谁能够看到新性能?全量公布? 性能开关容许你在利用程序运行时管制性能的公布,也就是说你能够在利用程序运行的同时开启或敞开某个性能,而无需从新构建或重新部署代码。它还能够容许研发团队将代码部署到生产环境中,但不对用户凋谢这个性能代码,只有该性能曾经确认能够公布生产环境,才凋谢给用户。 性能开关能够先确定指标用户,限定新性能用户范畴缩小对用户的影响,实现在生产环境中进行功能测试。 Why - 为什么说性能开关是必不可少的?性能开关最大的特点就是能够将部署与公布离开,这是以往的软件部署公布形式不容易做到的。研发同学能够随时将新性能代码部署到生产环境中,通过性能开关管制仅让 QA 团队可见,以便于对新性能进行测试,当测试通过后,再逐渐凋谢给更多用户。 1、疾速部署能够让团队疾速、平安地将局部业务代码部署到生产中,不须要像传统开发一样,期待所有性能都开发实现后,再合并部署到生产环境中。 2、进步测试效率QA 测试最好的形式是在生产环境中测试,因为生产环境中测试存在肯定的危险,性能开关能够让 QA 团队在生产环境中在不影响用户体验的状况上来测试性能,能够更早地发现问题。 ...

February 16, 2023 · 1 min · jiezi

关于github:从青铜到王者揭秘-Serverless-自动化函数最佳配置

作者:丛霄 背景介绍全托管的 Serverless 计算平台能给用户带来更少的运维代价、更强的稳定性和更快的弹性能力。Serverless 的指标之一是免运维,但仍旧存在一些阻碍,在 Serverless 场景特有的一些要害服务配置比方“并发度”、“最小实例数”、“最大实例数”,如何配置参数才是最合适的?怎么确定本人配置的参数是否正当?仍旧始终是让用户头痛的事件。本文介绍了函数计算团队在自动化举荐 Serverless 函数最佳配置上的思考和相干工作,心愿帮忙用户解决目前应用 Serverless 的痛点问题,彻底解放用户的双手,开释 Serverless 服务的价值。 评估 Serverless 服务最佳配置的难点用户应用 Serverless 服务的预期是:更低的老本、更快的弹性、更优的性能、更稳固的环境,这同时也是 Serverless 平台承诺提供给用户的能力。尽管如此,很多用户在应用过程中还是呈现了各种问题: 为什么应用 Serverless 后发现老本还变高了?为什么应用 Serverless 的冷启动工夫那么长?在 Serverless 平台上的性能提早体现为什么更差了?Serverless 平台能提供肯定的根底能力,然而针对不同的业务逻辑,须要采取适合的配置能力更好的施展 Serverless 的成果。然而如何评估某函数的最佳配置,其中波及到多变量的协同优化问题,并不是一个简略的问题。具备以下几个难点: 难点1:老本和性能的衡量肯定的单实例多并发数,能够进步单实例并行处理申请的数量,缩小实例数,从而降低成本;并发数过高时,会减少资源竞争,导致性能提早减少,从而减少老本;较低的实例规格单价老本更低,然而延时更大;较高的实例规格单价成更高,然而延时可能更低如何针对用户的偏好场景(性能优先还是老本优先),为用户举荐最佳的函数配置,成为首先须要思考的一大难点。 难点2:不同函数业务逻辑的复杂度除了老本和性能维度的掂量,针对不同类型的函数逻辑,不同的配置参数成果也有差别。很多函数业务逻辑简单,只针对繁多逻辑分支进行评估最佳配置并不代表整体的最优;不适合的配置可能增大用户非预期的老本。比方: 对于 CPU 密集型的函数,规格减少对单实例性能的晋升有较大的改善对于 IO 密集型的函数,规格减少对单实例性能的晋升存在边际效应递加的状况,当超过某规格后,规格的晋升对性能晋升的成果根本没有比方下图展现了 CPU 密集型函数在不同规格下的压测数据: CPU 密集型的规格越高,maxTPS 越大;并且规格与 maxTPS 出现显著的线性关系。规格越大,maxRT 越低 ,阐明CPU密集型的函数,增大资源规格能够显著升高 RT。然而规格增大到 4G、8G 后,对 RT 的升高成果边际效应递加。下图展现了 IO 密集型函数在不同规格下的压测数据: 规格的晋升对 IO 密集型的性能改善作用无限,特地到了高规格,比方 3G 后,maxTPS 增幅不大难点3: 函数配置对平台侧资源的影响函数的并发度、最小实例数、最大实例数等配置会影响到平台侧资源池的容量布局,如何保障单函数的资源刚性交付,多函数的资源隔离;如何优化平台侧弹性调度能力,进步平台侧的资源利用率,是另一个难点问题。 较低的单实例并发度,函数流量稳定变动的场景,会提前达到单实例并发下限,导致实例扩缩容频繁,对用户体感来说的冷启动更频繁,对平台来说须要创立和保护更多的实例个数,整体的资源利用率偏低最大实例数的配置,如何保障实例资源的刚性交付如何评估 Serverless 服务的最佳配置通过以上几个难点剖析,咱们晓得评估 Serverless 服务的最佳配置并非易事,上面的几个演变阶段,介绍了用户应用 Serverless 进行服务配置的形式变动,从青铜到王者,咱们始终在为用户提供最好的 Serverless 服务致力。 ...

February 15, 2023 · 1 min · jiezi

关于github:只需-3-步基于-chatgpt-搭建自己的微信机器人

大家好,我是徐公,大厂 6 年教训,CSDN 博客专家。最近,ChatGpt 很火,身边的人都在探讨,会不会成为下一个风口,像前几年互联网一样,迎来井喷式的倒退。 徐公我最近也是在亲密关注,最近,在 github 下面发现了一个乏味的货色,举荐给大家 它是 WeChat Bot,一个 基于 chatgpt + wechaty 的微信机器人。能够用来帮忙你主动回复微信音讯,或者治理微信群/好友. 它的部署也非常简单,只须要 3 个步骤、 几分钟就能玩起来了。 环境查看,确保装置 node.js创立配置文件 .env 文件启动服务部署步骤筹备工作提前准备好 chatgpt 账号,如果你没有账号的话,国内应用ChatGPT的形式汇总 文档,2023 年 2 月 8 号,亲测可用,手把手教你注册实名认证过的微信号,留神请用本人的小号,好友加太多,可能会有封号的危险第一步,环境查看查看好本人的开发环境,确保曾经装置了 nodejs , 版本须要满足 Node.js >= v18.0 ,版本太低会导致运行报错,最好应用 LTS 版本 第二步:创立配置文件 .env 文件# 执行上面命令,拷贝一份 .env.example 文件cp .env.example .env# 欠缺.env 文件内容OPENAI_API_KEY='你的key'留神:<your api_key> 要替换成你们本人的 api key 值。 第三步: 运行服务装置依赖时,大陆的敌人举荐切到 taobao 镜像源后再装置,要不然可能会因为依赖装置不残缺导致出错, 举荐应用我的工具 prm-cli 疾速切换。 # 装置依赖npm i# 启动服务npm run dev ...

February 13, 2023 · 1 min · jiezi

关于github:2023-年-2-月国内-ChatGpt-正确注册教程手把手教你使用赶紧来体验吧

刚过完年,不晓得大家有没有在春节档期间,跟家人一起观看《漂泊地球2》,外面的MOSS,是一款弱小的智能机器人。那么过后咱们就能够联想到的最近公布的ChatGPT,同样作为一款事实中的人工智能自然语言解决工具,虽说比不上电影中的MOSS,然而其性能之弱小,也是令人侧目。 最近又传来一则新闻,ChatGPT通过了Google的L3工程师入职测试,拿下了谷歌120万年薪的Offer,再度将ChatGPT推上了热搜。 一、ChatGPT是什么?是人工智能技术驱动的自然语言解决工具,它可能通过学习和了解人类的语言来进行对话,还能依据聊天的上下文进行互动,真正像人类一样来聊天交换,甚至能实现撰写邮件、视频脚本、文案、翻译、代码等工作。 二、ChatGpt 能够做什么ChatGPT 能够做的事件其实挺多的 各种话题的问题,例如历史、迷信、文化等。它能够提供相干的信息和细节,并且可能依据上下文作出适当的回应。能够提供倡议和帮忙,例如在人类面临某些问题或艰难时,它能够提供可行的解决方案。它能够了解人类的需要,并依据他们的问题提供适当的帮忙能够作为客服或人工智能助手应用,即可能与人类进行交换,并帮忙他们解决问题。它能够用于提供客户服务或帮忙人们实现日常工作,从而进步工作效率和满意度。小编我昨晚第一工夫进行了体验,发现 ChatGpt 是真的弱小,比方我询问小米 13 的手机规格,他一下子就帮我搜寻进去了。上面是我的一些应用体验图 如何年薪百万 查问手机参数 写一封情书 取个名字 三、要如何注册?残缺文档关上姿态:国内应用ChatGPT的形式汇总 1.注册ChatGPT账号详情能够查看下面 保姆级教程~~ 毛病:须要梯子,且香港的梯子无奈应用,只能用其余国家的网络,对不会该技术的人十分不敌对 长处:官方网站,间接用ChatGPT,无任何套路 2. Google浏览器插件已知的插件有: ChatGPT for Google这款插件反对 Chrome / Edge / Firefox 等浏览器,应用也很简略,用谷歌搜寻时会在右侧给出chatGPT的答复。插件间接从谷歌商店下载 长处:无需注册账号,间接可用 毛病:依然须要拜访外网的梯子 Awesome ChatGPT Prompts这是ChatGPT的游戏精灵,蕴含了几十种“发问形式“。 YouTube Summarizer这是一款十分有用的youtube插件,它有两个显著的性能,显示出视频脚本,同时能够一键复制到ChatGPT中帮你做一个总结。 对于有些视频,不太分明它品质或者内容到底如何的,这个能够防止踩雷。 Promptheus这个就更有意思了,能够间接调用话筒跟ChatGPT交换,不须要打字了。 这是我轻易发问的,按住空格键就能够了。 四、总结总的来说,目前各大厂商都在对接ChatGPT,或者是对接本人的相似ChatGPT的利用,比方微软公布ChatGPT版必应搜寻挑战谷歌 AI加持性能,百度也开始接入ChatGPT、微软拟向企业提供定制版ChatGPT等。 残缺文档关上姿态:国内应用ChatGPT的形式汇总 关注微信公众号【程序员徐师兄】,回复 gpt,支付 国内应用ChatGPT的形式汇总 文档

February 8, 2023 · 1 min · jiezi

关于github:APITable免费开源的多维表格与可视化数据库上线1天斩获GitHub星标1000

前言vika维格表 将70 万行代码开源了。 更为精确地说,咱们正式公布了vika维格表的社区版——「APITable」。这意味着,你能够通过收费开源的多维表格技术去发明更多乏味的事物。 为了不便更多的企业以及开发者应用维格表技术,咱们同步在 GitHub 和 Gitee 开源了vika维格表社区版的代码:https://github.com/apitable/a...https://gitee.com/APITable/AP... 我的项目在Github开源短短几天就播种 GitHub 超过 2400 个星标,是对咱们开源的最大必定。 我的项目简介:开源的零代码数据库 / 多维表格vika维格表作为新一代数据生产力平台,是一款面向 API 的智能多维表格。它将简单的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一,就连一行代码都不懂的一般职员都能轻松上手取得 IT 能力,从而极大升高企业数字化老本。 如果你正在寻找快捷可定制的业务零碎、安全可靠的可视化数据库、高效协同的办公工具,那么vika维格表能满足你的丰盛设想。 而收费开源的vika维格表社区版「APITable」,能够让你一键领有本人的多维表格平台。 你能够将vika维格表社区版收费部署到你本人的电脑、私有云、公有云或 IDC 机房,自主把握数据安全。不受限的用量,让领有开发能力的集体及组织可能更好地摸索维格表更多的应用边界和利用可能。 开源动机数据库是所有软件的基石。而为每个人制作一个具备丰盛性能和简略用户界面的可视化数据库,能够升高软件行业的难度,进步世界数字化的利用。 在产品曾经经营了将近 2 年的工夫里,咱们逐步意识,到一个更加凋谢的vika维格表,能够让更多有能力的人参加共建,展示更多可能性和技术提高的空间,让越来越多人违心且可能轻松应用多维表格工具,解决越来越多的社会难题。 所以,vika维格表开源了。 咱们置信,开源的多维表格/零代码数据库领有更高拓展性和定制性,为更多人带来全新的构建软件工具。同时,vika维格表社区版 APITable 也站在全世界的优良开发者背后,始终处于聚光灯的扫视下,APITable 将一直收集与交融全世界优良开发者的倡议、技术批改和高质量代码。而这些迭代更新的局部,将会同步向所有人凋谢。 性能个性vika维格表社区版,与你之前应用过的 SaaS 版本,最大的区别在于它是源代码凋谢的,您能够私有化部署、代码批改,自主掌控数据并灵便定制你所须要的。 与此同时,在同类产品中出彩的丰盛性能个性能够给你更多样的反对: 先进的技术栈实时合作:容许多个用户实时一起编辑,或与OT算法同时进行;应用<canvas>渲染引擎开发的极其晦涩、用户敌对、超级疾速的表格界面;全栈 API 拜访;单向/双向链接和有限串联敌对的编程语言和框架,TypeScript(React + NestJS)和 Java(Spring Boot) 可视化数据库的高效数据管理创立、读取、更新和删除表、列和行排序、过滤、分组、暗藏/勾销暗藏、高度设置应用拆散的工作区代替基于 App/Base 的构造,使有限表格链接在一起成为可能光明模式和主题定制可用丰盛的视图展示模式:表格视图/表单视图/相册视图/看板视图/甘特视图/架构视图/日历视图等一键式 API 面板 广大的适用性和拓展性自动化机器人BI 数据看板反对自建小程序或应用社区用户奉献的开源小程序自定义公式多语言反对n8n.io / Zapier / Appsmith等第三方集成嵌入性能……装置指南请确保你已在本地装置 docker & curl 。如果你的计算机装置了 Docker ,关上你的终端并这样运行: curl https://apitable.github.io/install.sh | bash而后在浏览器中关上 https://localhost:80 。 (默认用户名 admin@apitable.com 和明码 Apitable2022)如果你想要设置你的本地开发环境,请浏览咱们的开发者指南。 ...

January 31, 2023 · 1 min · jiezi

关于github:事件总线-函数计算构建云上最佳事件驱动架构应用

作者 | 史明伟(世如) 间隔阿里云事件总线(EventBridge)和 Serverless 函数计算(Function Compute,FC)发表全面深度集成曾经过来一年。站在零碎元数据互通,产品深度集成的肩膀上,这一年咱们又走过了哪些历程? 从事件总线到事件流,从基于 CloudEvents 的事件总线触发到更具个性化的事件流触发,函数计算已成为事件总线生态不可或缺的重要组成部分,承载了 EventBridge 零碎架构中越来越多的角色,事件流基础架构的函数 Transform,基于函数计算的多种上游 Sink Connector 投递指标反对,函数作为 EventBridge 端点 API Destination;基于事件总线对立,规范的事件通道能力,和基于函数计算麻利、轻量、弹性的计算能力,咱们将又一次起航摸索云上事件驱动架构的最佳实际。 本文主题围绕事件总线+函数计算,构建云上最佳事件驱动架构利用。心愿通过上面的分享,帮忙大家深刻了解 Serverless 函数计算、EventBridge 事件总线对于构建云上事件驱动架构利用的价值和背地的逻辑、 为什么函数计算是云上事件驱动服务最佳实际?为什么咱们如此须要事件总线服务?随同着这些谜题的解开,最初,让咱们一起理解利用于理论生产的一些 Serverless 事件驱动客户案例。 事件驱动架构的实质 Back to the Nature of Event-Driven大家可能会纳闷,事件驱动妇孺皆知,为什么咱们又要从新探讨事件驱动呢?我想这也正是咱们须要探讨它的起因,回归实质,从新起航。 事件驱动可能是一个比拟宽泛的概念,而本文聚焦事件驱动架构的探讨,事件驱动架构作为一种软件设计模式,确实不是一个新的概念,随同着计算机软件架构的演进,它曾经存在了一段很久的工夫,大家对它的探讨也从未进行过,当咱们须要从新探讨一个曾经存在的概念的时候,我想咱们有必要从新回到它最开始的定义,一起摸索那些实质的货色,重新认识它。 下面的这些内容是我从相干的一些材料上摘录的对于事件驱动架构的一些形容,“abstract”,“simple”,“asynchronous”,“message-driven” 这些具备代表性的词汇很好的给予事件驱动架构一个宏观的形容;从事件驱动架构的抽象概念,到它简洁的架构,以及事件驱动架构要达成的目标,和它在理论的零碎架构中所展示的状态。 事件驱动架构基本概念及状态在理解了对于事件驱动架构的一些根本形容之后,咱们须要进一步明确事件驱动架构所波及的一些基本概念和架构状态。依据维基百科形容,事件驱动架构波及的外围概念如下所示: 事件驱动架构根本状态围绕事件的流转,依据事件驱动架构的概念和根本状态,次要波及以下四个外围局部: Event Producer:负责产生事件,并将产生的事件投递到事件通道;Event Channel:负责接管事件,并将接管的事件长久化存储,投递给订阅该事件的后端解决引擎;Event Processing Engine:负责对于订阅的事件做出响应和解决,依据事件更新零碎状态;Downstream event-driven activity:事件处理实现之后,对于事件处理响应的一种展现;事件驱动架构要达成的目标理解了事件驱动架构的根本状态,架构中事件通道的引入,解耦了事件生产和事件处理这两个最根本的零碎角色,那么这样的架构模型所要达成的最终目标到底是什么? 零碎架构松耦合事件生产者与事件订阅者在逻辑上是离开的。事件的生成与应用的拆散意味着服务具备互操作性,但能够独立扩缩、更新和部署。 只面向事件的涣散耦合能够缩小零碎依赖项,并容许您以不同的语言和框架实现服务。您无需更改任何一个服务的逻辑,即可增加或移除事件生成方和接管方。您无需编写自定义代码来轮询、过滤和路由事件。 零碎的可伸缩性基于事件驱动架构的松耦合个性,意味着能够独立对事件生产者,事件通道服务,以及事件处理引擎进行独立的扩缩容;尤其对于后端事件处理引擎,能够依据音讯解决响应 SLA 和后端资源供应进行弹性扩缩容;同时能够基于事件粒度构建不同规格的后端解决服务,实现更细粒度的零碎弹性伸缩。 零碎的可扩展性零碎的可扩展性,次要体现在当零碎须要减少新的性能,如何疾速的基于现有零碎架构疾速构建反对新的业务逻辑,在事件驱动架构利用中,围绕事件粒度的解决模式,可能人造疾速反对减少新的基于事件的数据流形象。 当零碎中减少新的事件类型的时候,无需调整变更公布整个零碎,只须要关注须要订阅的事件进行事件处理逻辑的开发和部署即可,也能够基于原来的零碎做很少的代码变更即可实现,也能够在业务初期通过独立的服务订阅指定的事件实现特定的业务逻辑反对。 **为什么函数计算是云上事件驱动服务最佳实际? **在探讨完事件驱动架构根本模型之后,我想对于事件驱动的概念,状态咱们有了对立的意识和了解,接下来咱们进入议题的第二个局部,为什么函数计算是云上事件驱动服务最佳实际? 函数计算简介函数计算 FC 是一款基于事件驱动的全托管计算服务,相干的产品细节能够见官网介绍。作为一款通用的事件驱动型计算服务,接下来我会从三个方面进行具体的介绍。 编程范式应用函数计算,用户无需洽购与治理服务器等基础设施,只需编写并上传代码。函数计算为你筹备好计算资源,弹性地、牢靠地运行工作,并提供日志查问、性能监控和报警等开箱即用性能,编程范式带来开发的“简略,快捷”。 依照函数粒度进行独立的性能单元开发,疾速调试,疾速的部署上线,省去了大量资源购买,环境搭建的运维工作;同时函数计算是一个事件驱动的模型,事件驱动,意味着用户不须要关注服务产品数据传递的问题,省去了在编写代码中波及的大量服务拜访连贯的逻辑;“事件驱动” + “函数粒度开发” + “免服务器运维”等几个维度特色帮忙函数计算撑持“聚焦业务逻辑麻利开发”的底层逻辑。 计算模型除了开发模式带来的研发效力晋升之外,函数计算提供十分细粒度的计算资源和毫秒级计费模型,撑持按需计算,按量免费;可能反对按用户的申请,依据用户流量的模型为计算付费;当然按用户申请付费存在技术上微小的挑战,要求函数计算实例的启动小于用户的 RT 要求,冷启动性能尤为重要,这时候极致弹性成为了 Serverless 按需付费,业务降本的底层技术撑持。函数计算通过“极致弹性” + “按需付费”的模型帮忙 Serverless 函数计算实现真正的按需计算逻辑。 ...

January 12, 2023 · 1 min · jiezi

关于github:如何用-7-分钟玩转函数计算

阿里云是国内最早提供 Serverless 计算服务的云厂商。2017 年推出的函数计算 FC 是一款 FaaS 产品,这是一种以事件驱动为外围的全托管计算服务,用户只需编写代码并上传,函数计算就会主动筹备好计算资源,以弹性、牢靠的形式运行代码,并提供残缺的可观测能力,大幅简化开发运维过程。 —— 作为企业研发人员,你是否有以下问题 —— 1、业务快速增长和 IT 能力有余之间带来的驱动力矛盾2、运行环境简单、关注点无奈聚焦导致线上业务可能面临危险,企业研发效率低下3、业务波峰波谷导致闲置资源大量节约,效力与 IT 老本重大不符4、Serverless 技术比拟新,传统架构如何迁徙? 函数计算 FC 自公布至今曾经帮忙上万家国内外企业在 Web、挪动后端、音视频、AI 推理、批量工作解决等宽泛场景落地现代化利用。 为了帮忙各位疾速理解应用函数计算,阿里云 Serverless 产品经理刘宇带来 7 分钟微课程「函数计算 FC : 让研发效力再晋升」,27 节课程蕴含技术了解,架构解析、案例实际、入手实操等内容,以短视频模式,循序渐进讲透 Serverless 运行原理,深度解析 Serverless 落地实际,设置丰盛的体验场景,让你疾速实现 Serverless 技术从入门到实际的逾越。 即日起锁定【阿里云云原生】微信视频号极速击破 Serverless 落地难点 开课期间,每堂课都有精美礼品送出首期课程 刘宇(花名:江昱) 开源我的项目 Serverless Devs (CNCF Sandbox Project) 发起人和负责人,国防科技大学博士研究生,阿里云 Serverless 产品专家。 畅销书《Serverless 架构:从原理、设计到我的项目实战》、《Serverless 工程实际:从入门到进阶》、《Serverless 架构下的 Al 利用开发:入门、实战与性能优化》作者;电子书《架构师特刊:人人都能学会的 Serverless 实际》、《Serverless 开发速查手册》作者。 你将播种:全面理解函数计算的工作原理以及是否适宜您的场景应用;辞别零散技术点,每次7分钟搭建残缺 Serverless 常识体系;深刻解读源码,直击Serverless 企业落地常见问题及解决方案;前沿视线,洞察技术变化趋势把握开发提效进阶指南; 适宜人群:计算机科学、软件工程等畛域的软件工程师和大学生;应用/尝试应用 Serverless/FaaS 技术的应用程序开发者;前端、后端工程师、架构师;正在摸索 Serverless 的技术管理者。 ...

January 12, 2023 · 1 min · jiezi

关于github:关于-Serverless-应用架构对企业价值的一些思考

作者:寒斜 前言对于企业方而言,最关怀的外围诉求就是如何能获取更多的营收,更高的利润,艰深点说就是如何赚更多的钱;企业赚钱的形式次要是通过发售企业服务,当用户购买更多的企业服务,企业赚的钱就越多;而发售企业服务所付出的老本越低,企业获取的利润收益就会减少。进一步总结下来就是,企业最心愿的事件是他们的企业服务在效率,老本,体验上能够一直地晋升,因为企业服务体验做的好,购买他的客户天然便会减少;企业服务效率高的公司,在等同单位工夫内提供的企业服务就会更多;而企业服务的老本升高,单个企业服务的利润营收就会变高。 明确企业服务价值后,咱们理解到老本,效率,体验是营收利润增长的要害。 何谓 Serverless 架构?咱们能够简略地了解为,构建利用中须要的计算,存储,网络,数据库,中间件服务等都实现了 Serverless 化,各个系统实现了最精细化的用云,并且该架构体系在平安,高可用方面以及解决高并发的能力,可扩展性都达到了价值的最大化。上面我举一个理论的例子:_Serverless 架构实现的 Websocket 集群场景-弹幕利用 _来为大家更具体地解释一下。该我的项目综合使用了计算,存储,网络,数据库,中间件全副件,用企业的规范构建,同时具备平安,高性能,稳定性,可扩大等能力,且实现了云,边,端的现代化拜访架构思路。 其中 websocket.serverless-developer.com 主域名通过寰球减速 DCDN 治理,主域的申请会被转发给边缘节点中的 ER 程序,ER 程序进行缓存解决和动动态分流,动静的资源转发到阿里云函数计算网关。函数计算网关弹性启动实例,解决业务逻辑以及拜访 MNS 消息中间件和 tablestore 数据库存储,动态资源则尽最大限度进行缓存,必要时从 OSS 对象存储进行回源。其中 DCDN 能够进行边缘防护,避免 DDOS 攻打,并且减少了 Https 平安证书进行网站的加密传输,边缘节点的 ER 程序是 Serverless 化的启停,能够达到毫秒级响应工夫。同时函数计算会对更简单的业务算力进行弹性,访问量大的时候多弹实例,无拜访数据则开释至 0。 barrage.websocket.serverless-developer.com 则独自提供 websocket 服务,由 DCDN 主动回源到函数计算,因为自身 websocket 协定无奈被边缘应用程序转发。 值得一提的是,笔者作为一名前端程序员,简直没有高可用,高并发,平安等业余方面的常识,然而这并不障碍我把这些能力构建到本人的利用上,Serverless is More ,这句话越品尝越有感觉。更具体地介绍可参考《人人都是Serverless 架构师-websocket 集群实际》[1] 企业数字化转型中 Serverless 架构的劣势当初咱们可能达到的一个根本共识就是:冀望通过企业的数字化转型来优化企业服务的老本,效率,用户体验。然而咱们暂且先不去探讨企业方因而须要在组织文化方面做的扭转,单纯去看数字化管理工具,具体而言就是业务软件局部。构建软件的根本架构在缓缓的发生变化,从 IDC 到容器集群,明天 K8s 曾经帮忙企业在根底软件架构层面进行了运维体验,效率,老本的晋升。下一个阶段的进化是 Serverless。这里须要明确一点是,当初寻求的是 效率,老本,体验三者整体的最佳平衡点,并不是单一项的绝对值晋升,因为这三者中存在互斥的景象,比方你晋升体验的前提可能是把老本和效率减少了,而降低成本或者晋升效率自身也可能会影响体验。咱们期待 Serverless 架构可能在适宜畛域中相较于容器集群治理,去实现三者更优的均衡。 老本从计算资源老本方面:Serverless 具备比容器化更细粒度的计算形象。能够做到按量付费,从而极大的节俭计算资源的节约。开发成本: Serverless 架构利用随着分布式的拓扑节点增多,开发运维老本会晋升下来,另外市场上因为新的利用架构相干的人才不足,从而也会影响 Serverless 架构的利用落地。不过值得注意的是,Serverless 开发者工具正日渐欠缺,Serverless 利用的开发范式也会更加明确,市面上 Serverless 利用架构的实际案例将会越来越多,置信开发成本会很快被补救上来。 ...

January 12, 2023 · 1 min · jiezi

关于github:消息服务-Serverless-函数计算如何助力企业降本提效

作者 | 柳下 背景介绍音讯队列服务(下文均以 Message Service 命名)作为云计算 PaaS 畛域的基础设施之一,其高并发、削峰填谷的个性愈发受到开发者关注。Message Service 对上承接音讯生产者服务的申请,对下连贯消费者服务。提到生产:那就不得不引入两个问题? 如何以低成本、高吞吐、低延时的形式将音讯数据从 Message Service 输送给上游生产服务?如何疾速构建免运维、按需弹性伸缩算力的音讯生产服务?明天就来聊聊如何在阿里云上基于 Serverless 计算服务 + Message Service 构建这样一套零碎。 名词解释函数计算(Function Compute)阿里云函数计算是事件驱动的全托管 Serverless 计算服务。通过函数计算,您无需治理服务器等基础设施,只需编写代码并上传。函数计算会为您筹备好计算资源,以弹性、牢靠的形式运行您的代码,更多产品细节可浏览官网文档[1]。https://help.aliyun.com/product/50980.html 连接器(Connector)Connector 实现了大量数据的导入和导出。例如将 KAFKA topic 中数据导出到 stdout,或将本地文件中数据导入到 RocketMQ。Connector 简化了数据在不同零碎间复制和传输的复杂度,本文探讨的音讯服务和计算服务的连贯同样依赖 Connector 实现。 事件总线(EventBridge)事件总线是 Connector 的产品化服务,反对阿里云服务、自定义利用、SaaS 利用等以标准化、中心化的形式接入,并可能以标准化协定在这些利用之间路由事件,帮忙您轻松构建松耦合、分布式的事件驱动架构,更多产品细节可浏览官网文档[2]。https://help.aliyun.com/product/161886.html 架构演进传统的数据生产架构如下图左:1)数据源将产生的数据写入到音讯零碎;2)开发者借助 Message Service 提供的 OpenAPI/SDK 或 Proxy 服务客户端从 Message Service 读取数据;3)依据音讯数据处理业务逻辑,也就是咱们所谓的生产音讯,将音讯生产的业务后果写入到指标服务;如此架构开发者会面临以下几个问题: 如何并发平安的从 Message Service 读取数据?数据生产能力小于生产能力时,如何疾速晋升生产吞吐?指标服务资源成为瓶颈时,如何疾速扩容?当流量波峰过后,面对闲暇的机器老本,您又如何解决?如何保障生产实时性、程序性?如何实现容错、缓存、降级、限流等高可用爱护伎俩?如何监控链路状态或异样?......面对下面多个琐碎又简单的问题,置信总有几个会击中您的痛点。为了同时解决提到的所有问题,阿里云开发 Connector Service(如上图右)买通 Message Service 和 Serverless 计算服务的数据链路,您只需申明上游的音讯服务实例和上游的生产算子,便可一键部署上线,连接器同时提供了丰盛的流计算框架具备的数据处理能力和监控能力,总结如下: Transform:以 UDF 形式自定义数据荡涤逻辑,同时反对 JsonPath 语法简略提取数据;Filter:缩小无用音讯的后续解决,提供多种过滤匹配规定,如:前后缀匹配、数值匹配、IP 地址匹配等;Window:提供窗口能力,可依照音讯数量和间隔时间对音讯做聚合推送。可晋升音讯解决吞吐,升高音讯解决老本;Real Time:从 Message Service 拉取音讯到推送指标服务延时毫秒级别;自定义并发生产能力:并发平安的生产音讯,晋升吞吐能力;弹性计算资源:上游计算服务依据负载主动扩缩容,无需关怀服务器资源水位问题;Monitoring + Logging + Tracing:提供了丰盛的监控指标和日志剖析助力开发者监控零碎状态、定位异样;齐备的异样保障机制:自定义重试策略 + 容错机制 + 死信队列 + 限流 + 反压;为让大家对性能有更深刻的理解,上面咱们具体介绍各个性能的好处和利用场景。 ...

January 11, 2023 · 2 min · jiezi

关于github:Serverless-奇点已来下一个十年将驶向何方

本文整顿自 QCon 上海站 2022 丁宇(叔同)的演讲内容。 以前构建利用,须要买 ECS 实例,搭建开源软件体系而后保护它,流量大了扩容,流量小了缩容,整个过程非常复杂繁琐。 用了 Serverless 服务当前,这些问题都简化了,从半托管到全托管,所有服务 API 化,有限容量充沛弹性,能够组装应用,生产力大幅扭转。同时推动软件研发模式降级,组装式研发将成为支流。 基于阿里云全面 Serverless 化的经验,阿里巴巴研究员、阿里云智能云原生利用平台总经理丁宇(叔同)论述了企业应用架构的演进历程,以及 Serverless 衰亡带来的行业变动。过来十年,上云成为确定性的趋势。 在上云阶段,企业关注点在于如何实现平滑上云,因而云厂商将云托管(Cloud-Hosting)作为外围策略。云的次要状态是资源型服务,以虚拟机的模式为企业提供海量的算力。 对开发者而言,虚拟机的性能和应用形式和 IDC 中的物理服务器没有区别。原有的利用、技术栈不须要扭转就能够平滑上云。云托管的策略很好地满足了企业在上云阶段的外围诉求,因而获得了胜利。 随着越来越多的企业上云,甚至很多企业零碎第一天就是在云上构建,企业的外围关注点转变为如何更好地利用云的能力,将产品疾速推向市场,从而实现业务胜利。 这促使云在下一阶段倒退的次要指标转变为利用云本身的劣势,解决大规模简单利用的开发和运维挑战。然而,如果算力的出现模式依然是服务器这样的资源状态,它的应用门槛仍然很高。算力和业务相隔太远,企业须要有一整套撑持利用的基础设施来用好算力。 如何让算力像电力一样的遍及,云计算须要新的状态。 云服务的角色将产生微小的变动,不再是单纯的提供资源,而是要成为企业构建利用的新平台,要帮忙企业尽可能减小机器运维等低价值反复工作,聚焦于业务的翻新。 下一个十年,是云演进本身能力,帮忙企业用好云的阶段,而云厂商的外围能力就是 Serverless 云服务。 为什么抉择 ServerlessServerless 服务是全托管的云厂商能够通过存储计算拆散,软硬协同优化等底层技术,大规模进步服务的资源效率和性能。以阿里云存储服务为例,自 2018 年开始大规模应用 RDMA 技术,自研了 Solar-RDMA 协定,以及 HPCC 流控和端网交融技术。 通过网络和存储的协同设计,联合 FPGA 硬件加速压缩算法等能力,实现了稳固的微秒级的读写性能。企业只须要调用服务 API,就能应用云厂商在相干畛域的业余能力,享受到技术红利。 Serverless 服务具备自适应弹性,让企业的利用更安稳的应答业务负载不可预测或者忽然暴发的状况。 一个典型的业务零碎可划分为应用层、接入层、资源层。资源型的云服务只提供了资源层面的弹性能力,企业还须要实现接入层和应用层的弹性能力,能力做到业务的全链路弹性。 1)架构设计阶段依据各个组件的依赖关系,制订弹性伸缩和限流降级计划。对于关系型数据库等简直没有弹性能力的服务,个别须要预测将来3年对数据库的写入和读取规模,进行分库分表。 2)资源布局阶段衡量各个组件的扩缩容难易度、伸缩速度、业务负载变动速度等因素,通过冗余资源实现相应的弹性能力。接入层资源占比在整个零碎不高,维持较高冗余资源老本不高,也比拟容易扩容。应用层的资源布局最具挑战。应用层是资源耗费大头,个别不容许通过很高的冗余资源来扛住负载峰值,此外应用层的扩缩容牵扯上下游链路,复杂度很高。最初,应用层不同服务的流量规模不同,须要梳理分明,重点做好热点链路的冗余资源布局。 3)线上运行阶段通过残缺的可观测能力,建设量化链路的流量,检测热点,进行动静扩缩容,再量化热点链路流量,再判断是否进行动静扩缩容的闭环。此外,残缺、及时的监控报警也是十分必要的,为不同组件设定不同的热度阈值,检测到热度流量后,零碎要及时的播送给关联组件的开发、运维人员,依据预约计划进行解决。 可见,在资源层的弹性能力上构建整个业务的弹性能力复杂度十分高。Serverless 服务的自适应弹性指标就是为了简化复杂度,帮忙企业更容易实现业务弹性。 首先云厂商会将大量中间件、数据库、大数据等 BaaS 化的服务 Serverless 化。以数据库为例,岂但提供 NoSQL 等人造具备高弹性能力的数据库服务,也将传统的关系型数据库 Serverless 化。 其次, Serverless 计算服务通常具备百毫秒到秒级的实例启动速度,每秒钟启动数千甚至上万实例,以及高度自动化的弹性伸缩能力,配合 Serverless 化的 BaaS 服务,将实现全链路的业务弹性。 ...

January 10, 2023 · 1 min · jiezi

关于github:祝贺openKylin-TC-委员刘晓东入选2022-中国开源先锋-33-人之心尖上的开源人物

2022年1月3日,中国当先的新一代开发者社区「 SegmentFault 思否」,联结长期耕耘与推广开源文化的「开源社」,依靠数百万开发者用户数据分析,及各科技企业和集体在国内技术畛域的行为、影响力指标,权威公布了《2022中国开源先锋 33 人之心尖上的开源人物》榜单。作为开源技术畛域的卓越贡献者,openKylin社区TC委员刘晓东胜利入选「2022中国开源先锋 33 人之心尖上的开源人物」。刘晓东丨openKylin 开源社区 TC 委员openKylin开源社区自2022年6月成立以来便疾速汇集行业中坚力量高速成长。刘晓东作为openKylin社区TC委员,长期从事Linux桌面相干的关键技术冲破和开源我的项目开发,获得国内论文和国家专利近20项,继续以优质技术内容回馈社区。同时,刘晓东还积极参与到国内开源社区交换中,推动UKUI进入OpenSUSE和Gentoo两大国内支流社区并成为其可选的桌面环境之一,在开源圈放弃高度沉闷,为中国的开源倒退做出了本人的奉献,是当之无愧的「开源先锋」。感激刘晓东在过来的一年为中国开源做出的奉献。将来,openKylin将持续携手社区小伙伴为中国开源建设做出奉献,率领更多的开发者独特推动操作系统技术创新和生态共建,在开源方面发明更多价值。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

January 4, 2023 · 1 min · jiezi

关于github:叮咚请查收openKylin2022年度报告~

January 3, 2023 · 0 min · jiezi

关于github:GitHub-Actions-入门教程

 <!-- more --> 一、GitHubAction简介什么是Github Action ?GitHubActions是一个继续集成和继续交付的平台,它能够帮忙你通过自动化的构建(包含编译、公布、自动化测试)来验证你的代码,从而尽快地发现集成谬误。github于2019年11月后对该性能全面凋谢,当初所有的github用户能够间接应用该性能。GitHub 提供 Linux、Windows 和 macOS 虚拟机来运行您的工作流程,或者您能够在本人的数据中心或云基础架构中托管本人的自托管运行器。在应用Github Action之前首先须要理解以下前置常识: 继续集成/继续交付的概念。Git相干常识。Linux或Windows或macOS脚本相干常识。Yaml根底语法。什么是Yaml ?编写GithubAction的流程时,须要创立一个workflow工作流,workflow必须存储在你的我的项目库根门路下的.github/workflows目录中,每一个 workflow对应一个具体的.yml 文件(或者 .yaml)。 yml是YAML(YAML Ain’t Markup Language)语言的文件,以数据为核心,比properties、xml等更适宜做配置文件,次要有以下几个特点: 大小写敏感。应用缩进示意层级关系。缩进只能应用空格,不能用 TAB 字符。缩进的空格数量不重要,只有层级雷同的元素左对齐即可。‘#’ 示意正文。Github Action基本概念workflow: 一个 workflow 就是一个残缺的工作流过程,每个workflow 蕴含一组 jobs工作。job : jobs工作蕴含一个或多个job ,每个 job蕴含一系列的 steps 步骤。step : 每个 step 步骤能够执行指令或者应用一个 action 动作。action : 每个 action 动作就是一个通用的根本单元。Github Action 的应用限度在应用收费版本的Github Action是有如下限度的: 作业执行工夫 - 工作流中的每个作业最多能够运行 6 小时的执行工夫。如果作业达到此限度,该作业将终止且无奈实现。工作流运行工夫 - 每个工作流运行限度为 35 天。如果工作流运行达到此限度,则工作流运行将被勾销。此时间段包含执行持续时间以及期待和批准所破费的工夫。API 申请 - 您能够在一小时内跨存储库中的所有操作执行多达 1000 个 API 申请。如果超出此限度,其余 API 调用将失败,这可能会导致作业失败。并发作业 - 能够在帐户中运行的并发作业数取决于 GitHub 打算,如下表所示。如果超出,则任何其余作业都将排队。  | GitHub 打算 | 并发作业总数 | 最大并发 macOS 作业数 | ...

December 19, 2022 · 4 min · jiezi

关于github:github推到新仓库问题记录

OpenSSL SSL_read: Connection was reset, errno 10054执行git config --global http.sslVerify "false" Failed to connect to github.com port 443: Timed out确保开启全局代理。 remote: Invalid username or password.然而没弹出输出用户名和明码的弹窗删除.git文件夹之后从新按github新仓库提醒走一遍。

December 18, 2022 · 1 min · jiezi

关于github:Serverless-架构下的-AI-应用开发

Serverless架构与CI/CD工具的联合CI/CD 是一种通过在利用开发阶段引入自动化流程以频繁向客户交付利用的办法。如图所示,CI/CD 的外围概念是继续集成、继续交付和继续部署。 作为一个面向开发和经营团队的解决方案,CI/CD 次要针对集成新代码时所引发的问题。具体而言,CI/CD 能够让继续自动化和继续监控贯通于利用的整个生命周期(从集成、测试阶段到交付和部署阶段)。这些关联的事务通常被统称为“CI/CD管道”,由开发和运维团队以麻利形式协同反对。 CI/CD的概念与内容简图 在Serverless架构下,通常会有很多函数形成一个残缺的性能或服务,这种比拟细粒度的性能往往会给前期我的项目保护带来极大的不便,包含但不限于函数治理、我的项目的构建、公布层面等的不便。此时在Serverless架构中,CI/CD就显得尤为重要。更加迷信、平安的继续集成和部署过程不仅会让整体的业务流程更加标准,也会在肯定水平上升高人为操作、手工集成部署所产生谬误的概率,同时也会大规模加重运维人员的工作累赘。 如果想要通过CI/CD平台,迷信且不便地进行Serverless利用的继续集成、交付和部署,通常状况下咱们须要借助相应的开发者工具,例如 Serverless Framework、Serverless Devs 等。Serverless开发者工具配置到CI/CD平台的流程能够简化为图2-55。Serverless开发者工具配置到CI/CD平台的流程 1.与GitHub Action的集成在GitHub Action的Yaml文件中,减少Serverless Devs相干下载、配置以及命令执行相干内容。例如,在GitHub仓库中创立文件.github/workflows/publish.yml,文件内容如下: name: Serverless Devs Project CI/CDon: push: branches: [ master ]jobs: serverless-devs-cd: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: 12 registry-url: https://registry.npmjs.org/ - run: npm install - run: npm install -g @serverless-devs/s - run: s config add --AccountID ${{secrets.AccountID}} --AccessKeyID ${{secrets.AccessKeyID}} --AccessKeySecret ${{secrets.AccessKeySecret}} -a default - run: s deploy与GitHub Action集成次要包含以下几局部内容。 ...

December 1, 2022 · 3 min · jiezi

关于github:飞腾成立PhytiumKernelPatch-SIG共建openKylin社区操作系统内核繁荣生态

2022年11月,经openKylin社区技术委员会审议通过,Phytium内核补丁特地兴趣小组—PhytiumKernelPatch SIG正式成立。PhytiumKernelPatch SIG由openKylin社区共建单位飞腾信息技术有限公司发动成立,在openKylin社区中负责为搭载飞腾系列处理器的服务器及桌面平台提供反对飞腾个性的内核补丁,包含但不限于双路个性反对补丁、Kdump性能修复补丁、中断沉积修复补丁、SMMU个性反对补丁以及零碎驱动适配补丁等。01SIG指标保护已提交至社区的飞腾内核补丁代码;欠缺飞腾高性能服务器芯片内核适配并同步最新补丁代码;提交并保护飞腾高效能桌面芯片内核补丁代码。02SIG职责1、面向飞腾高性能服务器芯片的Linux内核适配提交并保护面向飞腾高性能服务器芯片的Linux内核性能适配及修复补丁,为搭载飞腾腾云S2500、FT-2000+/64等处理器的服务器提供高效、牢靠的运行环境及欠缺、健全的性能反对。2、面向飞腾高效能桌面芯片的Linux内核适配提交并保护面向飞腾高效能桌面芯片的Linux内核性能适配及修复补丁,为搭载飞腾腾锐D2000、FT-2000/4等处理器的桌面端提供零碎驱动的性能适配与性能优化。03欢送退出SIGPhytiumKernelPatch SIG负责openKylin社区中面向飞腾服务器及桌面平台的操作系统内核相干的性能适配及性能优化,为拓展openKylin的操作系统内核生态提供撑持,欢送各位小伙伴们的退出!邮件列表:phytiumkernelpatch@lists.open...SIG主页:https://gitee.com/openkylin/c...openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 30, 2022 · 1 min · jiezi

关于github:深度-新兴软件研发范式崛起云计算全面走向-Serverless-化

11月3日,2022 杭州 · 云栖大会上,阿里云智能总裁张建锋示意,以云为外围的新型计算体系正在造成,软件研发范式正在产生新的改革,Serverless 是其中最重要的趋势之一,阿里云将动摇推动外围产品全面 Serverless 化,帮忙客户更好地实现麻利翻新。 这篇文章想和大家探讨下,云计算全面走向 Serverless 的偶然性。 软件架构和研发模式演变史企业的业务倒退诉求始终是推动软件架构和研发模式演变的次要力量。企业总是冀望可能更麻利的应答业务规模和复杂度的增长,更快的将产品推向市场,放慢业务翻新的速度,这就要求技术能实现大规模、简单软件的疾速迭代。 传统的企业级利用架构,通常是单体的,所有模块都耦合在一起,同时公布。这种单体架构利用在一开始是易于治理的,但随着业务倒退,会带来复杂度的大幅晋升。这种强耦合的架构带来开发、测试和运维过程中大量的抵触,拖慢了整个迭代速度。 例如,整个利用的开发要求所有模块采纳对立的语言和框架技术栈,如果一个根底库被多个模块共享,其中一个模块想要降级到新版本,则须要压服所有人同时降级,即使其他人并不需要新版本。所有模块的公布节奏被强行拉齐,一个模块的问题会影响整个利用的公布。想要疾速修复某个模块的线上问题也变得十分艰难,因为这须要和其余模块正在进行中的变更合并,解决抵触,从新公布整个利用,运行所有测试,能力从新公布上线。 所以很快,单体利用架构曾经不能满足软件研发效率的要求,被以微服务为次要特色的互联网分布式架构取而代之。 采纳微服务架构后,应用程序由独立的服务组成。这些服务是松耦合的,通过 API 调用、事件触发或者数据流的形式交互。每个服务都实现一个特定的性能,独立开发、运行和公布。微服务解决了单体架构的研发效率瓶颈,然而对利用的基础设施要求提出了十分高的要求。例如为了确保独立开发的微服务可能按预期协调配合,须要进行详尽的集成和端对端测试。测试环境中的利用部署次数通常是生产环境的10倍。如果利用基础设施不能疾速提供独立的测试环境,那么大量的测试工夫将耗费在环境稳定性问题的解决上。 依据阿里巴巴团体的研发统计数据,1人日的研发,通常对应5-7人日的测试。测试环境曾经成为阿里巴巴团体研发提效的最大痛点。微服务的松耦合,也对数据库应用,状态治理,问题诊断,利用交付流水线带来了很大的挑战。对于微服务的复杂度以及解决方案,业界曾经有十分多的探讨,这里不再赘述。以微服务为外围的互联网分布式架构,施行的复杂度较高,必须有很好的工具、平台的撑持,这是业界的共识。 在软件研发流程中,所有工作能够分为以下三类: 业务代码开发,实现业务逻辑。非功能性代码开发,包含实现容错、平安、可观测、可运维、三方软件集成等和业务逻辑无关,但又是企业应用必须具备的能力。利用基础设施治理。包含搭建开发、测试、生产环境,资源布局,平安管控等等。这三类工作中,只有第一类是对业务带来真正价值,和企业外围竞争力密切相关的。但随着软件复杂度的晋升,2、3类工作却耗费了大量的研发资源。尽可能升高2、3类工作的复杂度,让客户专一于业务逻辑开发,是软件架构和研发模式倒退的必然方向。 过来十年,无论是开源社区还是云厂商,都在不同畛域将非功能性代码开发和利用基础设施管理工作形象为标准化,可复用的软件/服务。 云计算全面走向 Serverless 化Serverless 是一个十分狭义的概念,并不局限于计算。一般而言,同时满足以下条件的服务能够称之为 Serverless 服务: 全托管服务。意味着客户应用形象的服务化接口,而不是间接面对底层资源,也就没有装置、配置、保护或者更新软硬件的累赘。全托管服务通常也提供了内置的容错,平安和可观测能力,用户通常不须要再从新构建这些能力。自适应弹性。意味着服务可能依据负载大小主动弹性伸缩,大大晋升了资源应用效率。按理论用量付费。意味着只需依据理论的执行工夫、流量或调用次数付费,升高了老本。因而 Serverless 服务外围价值在于尽可能打消客户非功能性代码开发,简化利用基础设施治理的工作,从而实现研发效率的飞跃。 阿里云智能总裁张建锋示意,Serverless 让云计算从一种资源真正变成一种能力。过来云计算用云服务器代替了物理服务器,但客户仍旧按“几核几 G 服务器”的模式来购买云资源,将来云计算将全面 Serverless 化,更加靠近“电网”模式,按计算的调用次数付费。 因为 Serverless 服务符合了研发模式演进的趋势,过来十年,咱们能够看到,各个云厂商都在一直将产品体系 Serverless 化,新的云服务或新性能大多数是 Serverless 状态。大量的开源商业产品也采纳了 Serverless 模式,包含 Confluent Cloud、MongoDB Atlas、Snowflake、Databricks 等等。 2022 云栖大会,阿里云智能总裁张建锋发表外围云产品全面 Serverless 化 阿里云是国内最早提供 Serverless 计算服务的云厂商。函数计算是一款 FaaS 产品,这是一种以事件驱动的全托管计算服务,用户只需编写代码并上传,函数计算就会主动筹备好计算资源,以弹性、牢靠的形式运行代码,并提供残缺的可观测能力,大幅简化开发运维过程。 Serverless 利用引擎 SAE 是业内首款面向利用的 Serverless PaaS 平台,屏蔽底层 IaaS 和 Kubernetes 的复杂度,提供了零代码革新、老本更优、效率更高的利用托管计划,帮用户实现单体 Web 利用、微服务利用以及定时工作的 Serverless 化。 ...

November 28, 2022 · 1 min · jiezi

关于github:完美解决github访问速度慢和访问不通的问题

Ghips工具,完满解决github拜访速度慢和拜访不通的问题。 原理:主动获取 GitHub 最快 IP,一键刷新 hosts,这个小工具还是不错的,倡议大家尝试下!尝试过很多计划,比方本人查问ip,批改host都有效,这个还是比拟好用的。应用步骤点这里下载 Ghips | 用网盘下载 良心玩家,绿色版免装置体积仅 601 KB反对 Win7,Win8,Win10,Win11 等操作系统。Ghips 刷新间隔时间设为非 0 则定时获取最快 IP 并主动刷新域名解析。 更新 IP 后首次拜访 GitHub 可能会略慢,稍等就快了。本程序须要以管理权限运行能力批改 hosts。倡议右键点 Ghips 托盘图标,在弹出菜单中勾选「开机启动」。 这样开机就会静默获取管理权限启动,不会再弹出正告。 Ghips github地址:https://github.com/aardio/Ghips

November 24, 2022 · 1 min · jiezi

关于github:Serverless-的前世今生

作者:刘宇(江昱) 从云计算到Serverless架构大家好,我是阿里云 Serverless 产品经理刘宇,很快乐能够和大家一起摸索 Serverless 架构的前世今生。 从云计算到云原生再到 Serverless 架构,技术飞速发展的轨迹都有肯定法则可循,那么 Serverless 架构为何而来,因何而生呢? 云计算的诞生从世界第一台通用计算机 ENIAC 开始,计算机科学与技术的倒退就从未进行过后退的脚步,近些年来,更是突飞猛进。有一直冲破和翻新的人工智能畛域,有 5G 带来更多机会的物联网畛域,还有一直走进寻常百姓家的云计算。 在图中能够看到三个关键词,这是2003年到2006年间,谷歌发表了三篇重要的论文,这些文章指明了HDFS(分布式文件系统),MapReduce(并行计算)和Hbase(分布式数据库)的技术根底以及将来机会,正式奠定了云计算的倒退方向。对于这三个文章,或者这三个技术点,也有人曾说“因为它们,云计算才正式拉开帷幕”。 云计算倒退是飞速的,也是引人注目的;然而随着云计算的过程,另一个名词诞生并迅速霸占了“风口大旗”,被公众更为宽泛地关注,那就是——云原生。 通过对云计算与云原生的文字组成构造剖析,能够看到云原生实际上就是在云与计算之间,加了一个 Native,所以能够认为,云计算的飞速发展,无论是从技术迭代还是从概念降级,最终产生了现在耳熟能详的:云原生计算。 云计算是什么?其实早在1961年云计算的雏形概念就曾经诞生了,在麻省理工学院百周年留念仪式上,约翰·麦卡锡,也就是1971年图灵奖获得者,第一次提出了一个概念,这个概念起初被喻为是云计算的“最后的、超前的”遥想模型。它翻译粗心为:“计算机在将来,将变成一种公共资源,会像生存中的水、电、煤气一样,被每一个人应用。”工夫到了1996年,云计算这个词被正式提出;而到了2009年,UC Berkeley(加利福尼亚大学伯克利分校)更是在公布的论文中,对云计算进行了较为粗疏形容,它说云计算是一个行将实现的古老幻想,是计算作为基础设施这一长久以来幻想的新称呼,它在正疾速变为商业事实。同时在该文章中,也明确地为云计算做了定义:云计算蕴含互联网上的应用服务,以及在数据中心提供这些服务的软硬件设施。 云原生的炽热 时至今日,云原生技术的倒退同样迅猛,那么什么是云原生呢?在文章“_什么是真正的云原生_”中,给出了一个十分明确的解释:因云而生的软件、硬件、架构,就是真正的云原生;因云而生的技术,就是云原生技术。的确如此,出生于云,成长在云,因云而生,就是云原生。 那么云原生都包含哪些货色呢?耳熟能详的技术,加上云原生三个词,就都是云原生相干技术了,例如:数据库,云原生数据库;网络,云原生网络等。在 CNCF Landscape 中,能够看到云原生基金会对云原生产品维度的一个形容,包含了数据库、流、音讯、包含容器镜像、包含servicemesh、包含网关、包含K8S、当然,这里还包含一个十分热门的词汇:Serverless。 Serverless架构的呈现在很多时候 Serverless 架构被称为是一种粘合剂,它将云原生的其余很多产品和用户的业务进行了链接,同时又提供了极其迷人技术红利,为此也被很多我的项目,业务所抉择。那么什么是 Serverless 架构? 通过 Serverless 的构造,不难发现其所要传递的心智,Server指的是服务器,Less示意的是更少的精力,所以Serverless架构所传递的心智是:把更业余的事件交给更业余的人,开发者可能较少地关注服务器等底层相干内容,把更多的精力放在更具价值的业务逻辑之上。 2009年,UC Berkeley发表了一篇对于云计算的文章,在文章中,UC Berkeley为云计算做出了明确的定义,同时也提出了包含服务的可用性,数据安全性和可审计性等在内的十项云计算所面临的各种艰难和挑战,并断言云计算将会引领将来的十年。 2019年,恰好时隔十年,UC Berkeley再次发文,不仅从多角度阐明了什么是Serverless架构,例如从构造角度,必定了Serverless是FaaS与BaaS的联合;从个性角度,对于被认为是Serverless架构的产品或者服务须要具备按量付费和弹性伸缩的特点;并十分激进地示意 Serverless 将会成为云时代默认的计算范式,将会取代 Serverful 计算,由此也意味着服务器 - 客户端模式的终结。 从IaaS,到PaaS,再到Serverless,云计算的倒退,越来越清晰,也越来越明确,去服务器化也越来越显著。 无论此时咱们说云原生,还是 Serverless 架构,云的概念的确是在一直地降级,云的技术也在一直地迭代,而这所有的扭转其实都是为了效力晋升,为了平安晋升,为了老本升高,生产力驱动。 什么是Serverless架构?只管对于 Serverless 架构的定义,并没有一个十分明确的表述,然而 Serverless 是 FaaS 与 BaaS 的组合这种说法,却被很多人所承受。所谓的 FaaS 就是函数即服务,而 BaaS 则指的是后端即服务,两者搭配,独特成为 Serverless 架构不可获取的局部,为开发者提供降本提效的技术红利。 ...

November 24, 2022 · 1 min · jiezi

关于github:网迅加入openKylin助力开源生态创新发展

近日,北京网迅科技有限公司(以下简称“网讯”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。网迅成立于2014年,是一家专一集成电路设计的高科技企业,多年来深耕于网络控制器芯片的自主研发,对保障通信网络根底平台建设及信息安全,具备重大战略意义和社会效益。网迅在板卡减速、加密利用、芯片验证等方面有深厚的技术积攒。此外,网迅公布了国内首款具备齐全自主产权的万兆以太网络控制器芯片及千兆以太网络控制器芯片,并基于网络控制器芯片研制了自有网络适配器即网卡,兼容支流服务器、网安设施、嵌入式主板等硬件平台,目前已广泛应用于政务、能源、电力、轨交、电信等重要产业畛域,在国产网络控制器芯片、国产网卡市场处于领先地位。在退出openKylin开源社区后,网迅将秉承凋谢容纳、协同翻新、单干共赢的生态价值观,继续与社区进行版本适配和驱动合并,参加社区版本内测并反馈测试后果,通过技术交换、代码奉献等形式推动社区凋敝倒退。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://www.openkylin.top/joi...  】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 24, 2022 · 1 min · jiezi

关于github:山石网科加入openKylin社区-携手共建开源生态

近日,北京山石网科信息技术有限公司(以下简称“山石网科”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。山石网科是中国网络安全行业的技术创新领导厂商,自成立以来始终专一于网络安全畛域前沿技术的翻新。目前,山石网科造成了具备“全息、量化、智能、协同”四大技术特点的波及边界平安、云平安、数据安全、业务平安、内网平安、智能平安经营、平安服务、平安运维等的八大类产品服务,50余个行业和场景的残缺解决方案。山石网科已为金融、政府、运营商、互联网、教育、医疗卫生等行业,笼罩50多个国家和地区,累计超过23,000家用户提供产品服务,高效稳固撑持客户业务的可继续平安经营工作。开源聚力,共创将来!在退出openKylin社区后,山石网科将持续在“可继续平安经营”技术理念的指引下,踊跃施展本身技术劣势,携手社区搭档独特助力openKylin 社区生态建设,促成开源桌面操作系统产业降级倒退。 社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://www.openkylin.top/sig...  】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 21, 2022 · 1 min · jiezi

关于github:ubuntu1804同时配置公司内网gitlab和公网github

配置公司内网gitlab1. ssh-keygen -t rsa -C "gitlab邮箱" -f ~/.ssh/gitlab_id-rsa2. cat gitlab_id-rs.pub 粘贴到setting3. ssh -T git@192.168.1.110 其中192.168.1.110为公司内网地址配置公网github1. ssh-keygen -t rsa -C "github邮箱" -f ~/.ssh/github_id-rsa2. cat github_id-rs.pub 粘贴到setting3. ssh -T git@github.com 创立config兼容二者touch ~/.ssh/configconfig内容如下:Host github Port 22 User *** HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id-rsaHost gitlab Port *** User *** HostName 192.168.1.110 PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsagit config配置gitlab常常应用:git config --global user.name="gitlab user name"git config --global user.email="gitlab email name"github偶然应用:cd github projectgit config --local user.name="github user name"git config --local user.email="github email name"

November 21, 2022 · 1 min · jiezi

关于github:Serverless-Devs-重大更新基于-Serverless-架构的-CICD-框架Serverlesscd

近日,Serverless 开发者平台 Serverless Devs 重磅公布基于 Serverless 架构的轻量级 CI/CD 框架——Serverless-cd。Serverless-cd 是一款运行在 Serverless 架构上的功能强大而灵便,平安,低成本的CI/CD开源框架。该框架基于 Serverless Devs 开发者工具打造,通过 Serverless-cd开发者能够疾速构建企业外部利用治理PaaS平台。 开发者更想关注业务价值的发明Serverless Devs 是CNCF 沙箱孵化我的项目,2020年由阿里云开源,它是一个开源凋谢的 Serverless 开发者平台,Serverless Devs 也是业内首个反对支流 Serverless 服务 / 框架的云原生全生命周期治理的平台,致力于为开发者打造 Serverless 利用开发一站式服务,帮忙解决目前的工具链之困,让开发者一键体验多云产品,极速部署 Serverless 我的项目。 Serverless Devs 我的项目为利用的开发,调试,部署,运维,监控提供全生命周期的解决方案。在理论应用中,利用部署和交付对于开发者来说依然是一个难题。开发者心愿更专一于利用的开发和价值的发明——也就是关注代码编写和利用的构建,而非应用部署和交付。 在 Serverless-cd 我的项目公布之前,Serverless Devs 我的项目通过集成的形式,集成了支流的 CI/CD 工具:https://github.com/Serverless-Devs/cicd,如 Jenkins、Github、Gitlab 等,但应用这些传统的 CI/CD 工具个别会面临如下几个问题: 资源利用率低:须要提前准备构建机器,在没有构建工作时,机器资源节约;工作排队:如果资源筹备不短缺,在业务构建的顶峰期间, 工作排队工夫过长;隔离性差:如果某个工作执行过程中耗费大量计算/存储资源,导致其余工作失败;平安问题: 应用平台提供的CICD服务:代码和构建机器不在同一个网络环境,不得不凋谢公网拜访,引起平安问题。ECS虚机部署:多个利用同时在一个实例构建,某个歹意利用能够拜访其余的利用的代码 CI/CD 流水线的 2个特点CI/CD 流水线有两个显著的特点: 事件驱动无论是接管 Webhook 主动触发,还是调用 Open Api 手动触发,对于 CICD 零碎来说都是被动接管指令进行生产 业务显著波峰波谷触发 CI/CD 构建的顶峰个别在下班的时间段中,上班后以及早晨构建工作比拟少。同时有些工作执行十分耗时,有些工作又须要大量的CPU&内存资源,很难提前进行无效的容量预估。 机器资源筹备过少:因为资源有余导致工作执行失败,或者多个工作进行资源抢占,始终无奈执行。机器资源筹备过多:无奈充分利用,造成资源闲置节约。 基于Serverless架构的CI/CD劣势在 Serverless 架构下,CI/CD 能够具备以下劣势 ...

November 21, 2022 · 2 min · jiezi

关于github:让-Serverless-更普惠阿里云函数计算-FC-宣布全面降价最大幅度达-375

11月5日,2022 杭州 · 云栖大会上,阿里云发表函数计算 FC 开启全面提价,vCPU 单价降幅 11%,其余的各个独立计费项最高降幅达 37.5%。 本次云栖大会上,阿里云智能总裁张建锋示意,以云为外围的新型计算体系正在造成,软件研发范式正在产生新的改革,Serverless 是其中最重要的趋势之一,阿里云将动摇推动外围产品全面 Serverless 化,帮忙客户更好地实现麻利翻新。函数计算 FC 全面提价,让 Serverless 更加普惠。用户可随用随取,按量计费,用更低成本采纳 Serverless 架构,尽享 Serverless 带来的研发效率晋升和技术红利。 阿里云函数计算FC全面提价,让Serverless更普惠 计费粒度更精密,按需付费就是省函数计算 FC 计费粒度精密,按执行环境的内存和执行工夫计费,计费规格最低可达到 1 毫秒粒度的计费时长,0.05 核 vCPU、128MB内存、1/16 GPU 卡用户能够只为申请产生的资源耗费买单,极致管制老本。 函数计算 FC 上线新版资源包,函数规格 vCPU、内存、磁盘等各个计费项的绑定彻底解绑,让用户能够按需自在选配,贴合本人的利用运行时开销选取规格,进一步升高资源闲置比例。预留模式作为函数计算 FC 打消冷启动的利器,新增了闲置计费仅 1/10 价格更加让业务能罢黜高老本的后顾之忧。 据团队测算,一个集群的资源如果日均利用率在 30% 以下,或者有显著的闲置节约,就适宜应用函数计算 FC。采纳函数计算 FC 之后资源利用率可能进步到 60% 甚至 90% 以上,综合老本升高 15% 到 70%。当您的业务 CPU 利用率低于 50%,或 GPU 利用率低于 30%,迁徙上函数计算 FC 能够实现降本。 以中小企业为例假设(中小型企业某 API 服务 QPS~8个)每月 2000 万次访问,每次拜访均匀 50 毫秒,每次拜访均匀占用 vCPU 0.25核/内存 256MB,当你将业务托管到函数计算时,能够将老本准确到每次拜访 0.00000175 元,准确地掂量单位成本是函数计算 FC 节省成本利器。 ...

November 18, 2022 · 2 min · jiezi

关于github:北弓加入openKylin向社区开源极点五笔输入法并成立FreeWB-SIG

近日,江苏北弓智能科技有限公司(以下简称“北弓”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。北弓作为国内当先的国产操作系统新型服务提供商,聚焦行业市场,提供面向全行业的国产操作系统解决方案。依靠国产操作系统,基于云计算、5G系列技术,为行业用户提供全面的数字化服务,并推出了面向固定端的定制操作系统及面向挪动端的挪动云操作系统。在退出openKylin社区后,北弓向社区开源极点五笔输入法,并成立了FreeWB SIG,负责极点五笔输入法的移植工作,助力打造桌面操作系统顶级社区。极点五笔输入法,全称为“极点中文汉字输入平台”,是由杜志民开发的一款完全免费的,功能强大的,以五笔输出为主,拼音输入为辅的中文输出软件,反对智能造词,字典性能以及命令操作等。其作者杜志民学生十分心愿将极点五笔开源,以便为更多用户提供服务。因而北弓操作系统研发团队承当了该输入法在openKylin社区的移植工作,并将全副源码凋谢给openKylin社区,大家当初可通过https://gitee.com/openkylin/f...  下载安装。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【开源聚力,共创将来 | openKylin(凋谢麒麟)社区会员招募炽热进行中!】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 9, 2022 · 1 min · jiezi

关于github:Scalpel解构API复杂参数Fuzz的手术刀

Scalpel简介Scalpel是一款自动化Web/API破绽Fuzz引擎,该工具采纳被动扫描的形式,通过流量中解析Web/API参数构造,对参数编码进行自动识别与解码,并基于树结构灵便管制注入位点,让破绽Fuzz向量可能应答简单的编码与数据结构,实现深度破绽开掘。具体技术原理可参考KCon 2022议题:《自动化API破绽Fuzz实战》目前咱们的Fuzz引擎端已打包为一个小工具,内置100+破绽POC,供大家试用:https://github.com/StarCrossP...深度参数注入原理随着Web利用复杂度的晋升与API接口的宽泛应用,在HTTP利用破绽Fuzz过程中,传统的「Form表单明文传参的模式」曾经逐步变为「简单、嵌套编码的参数传递」。在此状况下,间接对参数内容进行注入或替换,无奈深刻底层的破绽触发点。破绽Fuzz过程中须要对这些「构造体、编码」进行抽离,找到真正的注入点位,方可进行自动化破绽测试。 Scalpel领有一个弱小的数据解析和变异算法,它能够将常见的数据格式(json, xml, form等)解析为树结构,而后依据poc中的规定,对树进行变异,包含对叶子节点和树结构的变异。变异实现之后,将树结构还原为原始的数据格式。Scalpel主体构造分为被动代理、Fuzz向量生成与验证、后果输入三个阶段:破绽检测局部,采纳解析算法,深度解析流量申请中的参数,通过POC中设定的注入点和变异形式生成测试申请,发送申请之后,再通过POC中的验证规定进行胜利性判断,最终输入Fuzz后果。以上面这个JSON申请包为例,解析算法会将其转换为左边所示的树结构,无论其嵌套的档次有多深,解析算法会将其中的所有键值对都解析为一个树结构。而后能够对树中的叶子节点进行变异,也能够对树的整体构造上进行变异。在树上进行变异之后,将树依照原始的数据格式再还原回去,填充到申请报文中,造成变异的申请报文之后再发送进来。在原始参数构造解析之后,咱们能够基于树结构来设定咱们的测试向量注入形式:对节点的变异形式有:按数据类型注入payload注入通用型payload畸形数据替换类型转换对树结构的变异形式有:替换object类型构造插入节点删除节点Scapel性能介绍Scalpel扫描器反对以下破绽检测或者开掘场景:1、检测指标已知平安的破绽,包含CVE破绽,热门框架、组件、中间件安全漏洞。2、通用安全漏洞,包含但不限于SQL注入、XSS破绽、文件上传、命令执行、文件读取等。3、未知0day破绽或者平安问题同时反对多个参数地位的变异,包含:path、query、header、body等局部,具体能够参考Scalpel破绽POC编写指南案例1:CVE-2022-1388F5 BIG-IP API Unauthenticated RCE破绽的检测简略理解下破绽,具体能够参考之前剖析文章,咱们要实现RCE,须要结构如下非凡的申请:1、拜访门路为/mgmt/tm/util/bash 2、Host为localhost或者127.0.0.1时,绕过验证赋予用户身份3、Connection头加上X-F5-Auth-Token4、body局部增加json模式的执行命令为了检测到CVE-2022-1388破绽是否存在,咱们须要在发送结构的非凡申请后,辨认响应中是否进行了命令执行。理解到整个检测的步骤后,开始编写破绽POC一一对应,在URL局部变异,变异形式为替换,变异值为/mgmt/tm/util/bash 在Host局部变异,变异形式为替换,变异值为localhost 对Heder局部的变异,变异形式为替换,变异值为Keep-Alive,X-F5-Auth-Token 对body局部的变异,变异形式为替换,变异值为咱们须要执行的命令,这里执行id命令 最初对响应的匹配,应用正则辨认id命令之后的后果在编辑好破绽POC之后,运行扫描器进行查看在被动扫描的过程,理论获取到的数据包如下:如果存在破绽,将会以html文件的模式记录存在破绽的信息,查看此次扫描后果胜利扫描出CVE-2022-1388F5 BIG-IP API Unauthenticated RCE破绽,破绽的申请也变异无误,最初的响应中也是执行了id命令。案例二:利用Scalpel工具开掘多个0day破绽Scalpel工具应用较为灵便,通过对检测指标变异响应的check,能够发现检测指标中未知的平安问题。例如为发现某些API接口是否存在账号密码的泄露,能够在check局部利用正则表达式匹配具体的泄露数据。为发现指标是否存在文件读取破绽,能够在多个变异地位插入或者替换payload 为发现SQL注入破绽,能够在query、Heder、body中的参数插入' and 1=1相似的payload 星阑实验室成员利用如上的相似通用检测规定,开掘多个0day破绽,已提交给CNVD国家信息安全共享平台并被收录。 同时发现某Apache开源我的项目的CVE破绽,报告被该团队承受并正在修复,尚未披露。工具地址GitHub地址下载地址:https://github.com/StarCrossP...目前已反对100+常见破绽Fuzz向量与POC,继续保护中。Scalpel反对多个平台,请依据您的平台或者需要下载相应的版本

November 8, 2022 · 1 min · jiezi

关于github:共建第二阶段-openKylin-09版本公测活动正式开启

大家好,openKylin是一个凋谢、多元的社区,所有人均可参加奉献,目前,openKylin 0.9公测版本曾经公布,现邀请所有社区用户参加本次版本公测流动,与咱们一起携手共建!流动工夫2022年11月4日—2022年12月4日流动规定本次流动仍然采取积分制,依据积分排名发放奖品,积分由openKylin社区QA SIG我的项目保护人员依据大家提交的issue数量、issue信息完整性、问题严重性、是否为已知问题等四方面进行评定,0.9版本已知问题可查看版本更新日志,请勿反复提交。具体的积分评审规定可查看:https://gitee.com/openkylin/c...测试奉献评审规定.md奖项设置截至2022年12月4日,积分排名前十的小伙伴可取得openKylin精美礼包一份(多功能数据线+定制贴纸),此外:若个人所得积分达500,可取得华为B6手环一个;若个人所得积分达300,可取得罗技键盘K580一个。参加形式1.签订CLA参加奉献前,请大家返回https://cla.openkylin.top/页面,签订openKylin社区贡献者许可协定。咱们所有的操作都须要建设在此基础上。签订实现后,即可参加版本公测。2.参加公测自在提交反馈当你在应用零碎的过程中,发现任意软件性能问题、设计缺点问题、UI显示问题、易用性问题、性能/稳定性问题或者第三方软件问题等,均能够返回openKylin我的项目下提交对应的缺点issue。(1)如果是零碎级Bug,则能够在openKylin/community仓库下提交缺点issue;(2)如果是应⽤级Bug,则能够在openKylin社区对应的仓库下提交缺点issue,如文件管理器在应用过程中偶发性闪退,应在openKylin/peony仓库提交缺点issue。(3)无奈判断所属分类的Bug,则能够提交至openKylin/community参加测试工作除了自在提交反馈外,各位小伙伴还可返回QA仓库下查看0.9版本公测计划发展测试,测试提交地址如上所示。(1)QA仓库地址:https://gitee.com/openkylin/q...(2)具体的测试计划可查看:https://gitee.com/openkylin/q...凋谢麒麟(openKylin)-0.9%20版本公测-测试计划.md(3)具体的issue提交指南可参考:https://gitee.com/openkylin/q...缺点解决流程.md(4)openKylin社区测试参加指南可参考:https://gitee.com/openkylin/q...版本测试参加指南.md各位小伙伴的反对是openKylin后退最大的能源,欢送大家下载0.9版本体验之后,积极参与公测流动,帮忙咱们更好的解决问题和优化零碎,快来和咱们一起携手共建吧!openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 7, 2022 · 1 min · jiezi

关于github:开源项目在线化-中文繁简体转换敏感词拼音分词汉字相似度markdown-目录

前言以前在 github 上本人开源了一些我的项目。碍于技术与精力,大部分我的项目都是 java 实现的。 这对于非 java 开发者而言很不敌对,对于不会编程的用户更加不敌对。 为了让更多的人能够应用到这些简略的小工具,周末抽时间将几个开源我的项目增加了 web 服务实现。 开源我的项目中文繁简体转换简介:反对中文繁简体的在线转换。 在线地址:https://houbb.github.io/opensource/opencc4j/ 开源地址:https://github.com/houbb/opencc4j 用法简介此处仅抉择一个作为例子介绍,其余用法大同小异。 【解决】将右边的内容,依照下拉框的抉择,后果会主动填充在左边。 【调换】调换左右两边的内容。平时测试繁体=》简体,和简体=》繁体更加不便。 【复制】复制左边的内容到粘贴板。 敏感词简介:基于 DFA 算法实现的高性能 java 敏感词工具框架。请勿公布波及政治、广告、营销、翻墙、违反国家法律法规等内容。 在线地址:https://houbb.github.io/opensource/sensitive-word/ 开源地址:https://github.com/houbb/sensitive-word 拼音简介:高性能中文转拼音工具。反对同音字。 在线地址:https://houbb.github.io/opensource/pinyin/ 开源地址:https://github.com/houbb/pinyin 能够很不便的把一段文字转换为对应的拼音,比方前言的内容默认如下: yǐ qián zài github shàng zì jǐ kāi yuán le yī xiē xiàng mù 。 ài yú jì shù yǔ jīng lì , dà bù fèn xiàng mù dōu shì java shí xiàn de 。 zhè duì yú fēi java kāi fā zhě ér yán hěn bù yǒu hǎo , duì yú bú huì biān chéng de yòng hù gèng jiā bù yǒu hǎo 。 wèi le ràng gèng duō de rén kě yǐ shǐ yòng dào zhè xiē jiǎn dān de xiǎo gōng jù , zhōu mò chōu shí jiān jiāng jǐ gè kāi yuán xiàng mù tiān jiā le web fú wù shí xiàn 。分词简介:基于结巴分词词库实现的更加灵便优雅易用,高性能的 java 分词实现。 ...

November 6, 2022 · 2 min · jiezi

关于github:URP下的OffScreen-Particle-Render

【博物纳新】专栏是UWA旨在为开发者举荐新鲜、易用、乏味的开源我的项目,帮忙大家在我的项目研发之余发现世界上的热门我的项目、前沿技术或者令人惊叹的视觉效果,并摸索将其利用到本人我的项目的可行性。很多时候,咱们并不知道本人想要什么,直到某一天咱们遇到了它。 随着越来越多的我的项目应用URP管线,以及更多的我的项目的特效压力越来越大,因而本篇文章基于GitHub上的一个我的项目将其从Builtin管线下移植到URP修改版,给大家提供了URP管线下升高特效GPU压力的做法,以供大家参考。 GitHub我的项目:OffScreenParticleRenderinghttps://github.com/slipster21... 这个库做的工作是将粒子系统或者半透明的渲染对象独自渲染到RenderTexture中,而后再将RenderTexture与不通明的渲染进行混合。独自渲染到RenderTexture的益处是能够通过升高RenderTexture的分辨率从而缩小GPU的渲染压力。Builtin管线下最终交融成果 Builtin管线下RenderTexture的渲染成果 为了能将此性能移植到URP下,咱们先阐明一下原始我的项目中Builtin管线下性能实现的关键点,具体细节在原GitHub我的项目的阐明文档中有阐明,次要步骤如下图1,2,3,4。 #1 主相机中渲染不通明对象,且因为渲染半透明时须要做深度比拟,因而主相机的depthTextureMode须要设置为DepthTextureMode.Depth。 #2 在OnRenderImage中将_CameraDepthTexture进行DownSample。 #3 在OnRenderImage中从主相机复制一个相机,此相机渲染到RenderTexture,且RenderTexture能够调整分辨率,在此相机中独自渲染粒子系统和其余半透明对象。调用拷贝的离线渲染相机的Camera.Render,这样能够保障离线相机的渲染程序是在主相机之后渲染的,否则设置了RenderTarget的相机会优先比没有设置RenderTarget的相机先渲染。半透明的对象的Shader须要做非凡解决,须要将半透明对象和渲染场景生成的深度进行比拟,比不通明对象离相机更近的像素才会被“绘制”到RenderTexture上。 PS:在原始我的项目中渲染Particle的Shader中少了“COMPUTE_EYEDEPTH(o.projPos.z);”,所以成果看上去不太对,在vert函数中增加上这句就OK了。 #4 在OnRenderImage的最初通过OffScreenParticle_Upsample Shader将Particle等半透明的RenderTexture交融到不通明场景中。此Shader中将RenderTexture的色彩通过Blend SrcAlpha OneMinusSrcAlpha的形式进行原色混合,从而和主场景进行混合。 以上就是原始Builtin管线下的实现思路,转到URP下,有几个问题须要思考: OnRenderImage在URP下是不反对的。是否还须要额定的相机来实现半透明对象的渲染。如何解决最初的交融操作。在URP下,对于第一个问题,有专门的RenderFeature能够对应OnRenderImage的操作;第二个问题,并不需要额定的相机来渲染半透明对象,只须要模拟URP自带的CopyColor来实现渲染另外RenderTexture的操作即可,只是BlitCopy应用的材质球不一样;第三个问题,同样用另外一个RenderFeature来实现即可。 URP下的实现成果: URP下RenderTexture中渲染OffScreen Particle的成果如下: 在此工程中,次要的点如下:1、移除额定的Camera,勾销了OffScreenParticleCamera脚本的作用。主相机须要开启Copy Depth。额定加了一个Particle的Layer,粒子特效的层改成Particle了。 2、新增了两个RenderFeature,OffScreenParticleFeature和OffScreenMergeFeature。后面的是用来绘制Particle的,前面的是用来做主场景和Particle交融的。在OffScreenParticleFeature中增加了2个Pass,一个绘制Particle到_ParticleRT,一个对Depth进行降采样,绘制到_CameraDepthLowRes,OffScreenMergeFeature中有一个Pass,应用MergeShader进行交融。 3、OffScreenMergeFeature用到的Shader是MergeShader,依据原工程中OffScreenParticle_Upsample Shader进行批改的。 4、为了让Particle层只在OffScreenParticleFeature中进行渲染,须要将两个Shader的LightMode更改为一个自定义的字符串,并且在OffScreenParticleFeature中将这个“OffScreenParticle”退出到ShaderTagList中,ShaderTagList的值是由Pass中的Tags外面的LightMode的值决定的。 最终在FrameDebugger中确定好渲染队列: 渲染场景中不通明物体;Copy Depth到_CameraDepthTexture中;应用OffScreenParticlePass进行Particle层对象的渲染,能够通过DownSample来调整RT的大小,原始大小或者1/2或者1/4;对Depth进行降采样,渲染最终Merge中用到的_CameraDepthLowRes;应用MergePass进行最终的Merge,应用的是MergeShader。 Unity Demo下载链接:https://pan.baidu.com/s/1Zi1a... 明码:bksb

November 1, 2022 · 1 min · jiezi

关于github:CLIPasservice-080-版本发布新增支持大型-ONNX-模型文件

  CLIP-as-service 是一种用于编码图像和文本的低提早、高可扩展性服务。它能够作为微服务轻松集成到神经搜寻解决方案中。 CLIP-as-service 0.8.0 现已正式公布! 本次更新蕴含 3 个新增性能、1 个性能改良、1 个文档改良。  新性能 新增反对大型 ONNX 模型文件 (#828) 单个 ONNX 模型文件有2GB大小的限度,更大的 ONNX 模型将被拆分成许多的文件碎片保留。此版本反对导入蕴含大型 ONNX 模型碎片的文件夹压缩成的 zip 格式文件。咱们当初能够提供所有 CLIP 模型在 ONNX 运行时的服务。 新增反对在 laion-2b 上训练的 ViT-B-32、ViT-L-14、ViT-H-14 和 ViT-g-14 的模型 (#825) 用户当初能够应用在 Laion-2B 数据集上训练的 OpenCLIP 提供的四个新 CLIP 模型: ViT-B-32::laion2b-s34b-b79kViT-L-14::laion2b-s32b-b82kViT-H-14::laion2b-s32b-b79kViT-g-14::laion2b-s12b-b42kViT-H-14 模型在 ImageNet 上实现了 78.0% 的零样本 top-1 准确率,在 MS COCO 上的 [email protected] 上实现了 73.4% 的零样本图像检索。这是目前体现最好的开源 CLIP 模型。要应用新模型,只需在 Flow YAML 中指定模型名称,例如 ViT-H-14::laion2b-s32b-b79k 请参阅模型反对[1],以查看受反对模型的残缺列表。 clip_client 将后果保留在原输出对象,并按 uuid 放弃输入程序 (#815) ...

October 25, 2022 · 1 min · jiezi

关于github:企业云原生转型如何解决弹性运维和团队协同等问题

作者:王彬、杏祉尧、黄枫 我的项目背景贵州酒店团体有限公司于 2019 年 2 月 28 日注册成立,是经贵州省人民政府批准并受权省国资委履行出资人职责的省管大一型企业,全资及控股子企业 23 家,自营及委管酒店(我的项目)80 余家,客房近 1.3 万间。 酒店团体组建以来,构建了以酒店经营与治理为外围业务,以游览商品、教育培训、会议会展、电商科技、黔菜餐饮为支柱业务的“1+N”主营业务架构,正逐渐培养打造系列酒店、特色餐饮、教育培训等游览产业化服务品牌体系。 在 2020 年,成立了贵州乐旅网络科技有限公司专门负责酒店团体信息化建设,贵州乐旅网络科技有限公司肩负着建设酒店团体现代化信息系统的使命,初期在三四个人的疾速迭代下,疾速构建起了撑持全团体内外部业务的信息系统。随着公司的倒退和市场需求的迅速变动,乐旅网络科技也一直壮大,从最后的三四个人倒退到了十几人,零碎模块越来越多,同时各种问题也开始浮现。 现状问题&剖析酒店团体的信息系统最后部署在阿里云 ECS 上。零碎依照微服务的架构拆分成多个组件,基于 ASP.NET Core 框架开发。在开发运维过程中遇到一系列问题: 组件短少扩展性:团体的业务有显著的峰谷个性,平台会定期上线一些流动,如土特产秒杀,酒店房间优惠,通过这些流动,用户能够获取抢购贵州名牌白酒的资格等。在流动期间访问量微小,峰值最高能达到几十万 qps,是平时的几十倍。同时信息系统仍旧连续第一代架构,扩展性不好,没法做到很好的弹性伸缩,对于越来越大的流量,零碎稳定性问题愈发凸显。 多环境建设不欠缺:线下测试环境与线上生产环境隔离,线下测试中并不能齐全笼罩线上生产环境的场景,在上线时会呈现须要上线的组件在线上实在环境中呈现预期之外的异样,须要疾速复原,这就须要有很好的版本治理,这一块也是缺失的。 团队协同效率低:整个零碎有多个模块,扩散在不同团队,ECS 机器也都是独立保护,发版过程须要上下游链路一起协同,依照依赖关系程序公布,耗费工夫长,协同难度大。 监控零碎不欠缺:运行状态没有对立的观测平台,遇到问题也只能子系统别离排查,且短少问题排查帮助工具。 技术选型&比照为了更好的对应零碎倒退的须要,乐旅网络科技决定同阿里云达成策略单干,基于阿里云打造信息平台 2.0。 在新架构的设计上,针对以后遇到的痛点问题,项目组在技术选型时定下了以下几个指标: 自动化运维,团队需要多,开发工作重,专门负责运维的同学并不多,心愿 2.0 零碎能够借助体系化的运维平台,晋升运维效率,大幅加重运维压力。自动弹缩,团队的业务流动较多,流动到来时有不可预知的流量波峰,之前通过预估扩容的形式存在预估不准和扩大艰难的问题,2.0 零碎心愿能够更加简略的扩缩零碎,最好可能通过自动化的形式防止反复的部署和下线操作。版本治理,测试环境并不能齐全模仿线上生产环境,新上线的组件上线后可能会呈现问题,心愿可能有版本治理的工具,当遇到问题时,能够很不便的切换到指定版本,实现代码资产的可选治理。团队协同,目前团队合作次要靠人为线下沟通,不同团队的组件都由本人保护,ECS 机器彼此也都权限隔离,2.0 版本心愿能够应用对立的零碎管理权限,实现不同团队,不同角色都能够应用同一套权限体系,简化团队之间协同的工作。监控平台,目前的零碎短少监控,于实时运行状态监控简直没有,目前只有基于机器运行指标的监控。各组件依照开发人员设计自行打日志,当呈现问题时,排查问题链路简短,且没法做到对立的链路追踪。因为零碎短少量化指标,对系统的把控性偏低,没法做到异样预警,也没法很好的做针对性的继续优化。2.0 零碎心愿在这方面有所改观,能多维度的对系统进行监控,加强对系统的控制力。为此,项目组在阿里云上进行了第一轮全面筛选,很快选型指标放大到了自建 K8s 和 SAE,并对这两种技术进行了一系列的比对,次要比对指标如下: 比照这两种技术后,思考到自建 K8s 自身的复杂性,对技术栈的深度,技术的继续投入和业务的收益,项目组进行了多方面掂量,最终抉择了 SAE。 SAE 这款产品在免运维,自动弹缩,可观测等方面都深度合乎酒店团体以后我的项目的需要,项目组在最后选型时就对以下几个性能十分感兴趣: 免运维:SAE 可能免运维底层基础设施,例如 IaaS、K8s、微服务组件和 APM 组件等,无需自建 ZooKeeper、Eureka、Consul 和 Skywalking 等,极大升高开发运维老本。提供商业化稳定性兜底。 自动弹缩:SAE 提供了精准容量+弹性+限流降级一整套高可用产品化解决方案。通过该计划,SAE 可能帮忙利用轻松应答流量顶峰,在保障业务 SLA 的同时也节俭了资源老本。 体系化监控:SAE 无缝集成的 ARMS 产品,具备白屏化利用监控和诊断能力,可用定位到慢 SQL、慢办法、办法的调用堆栈、对于线上问题的剖析、排查、预警和解决,提供强有力反对,节俭大量的排查工夫。所以,最终项目组毫无疑问的抉择了 SAE。 ...

October 17, 2022 · 1 min · jiezi

关于github:新协程并发脚本语言的问世

明天的主人公名为——Melang。 这是一款“新”的脚本语言,然而其曾经默默问世了6年之久。 上面笔者就带你走进Melang world。 What is MelangMelang是一款协程并发脚本语言。它是一款解释型,而非编译型语言。 在Melang中,每一个脚本工作都是一个协程。而多个脚本工作即能够同时在同一个线程中解决,也能够在多个线程间解决。 这与Go的协程十分类似,然而Melang中的协程并不需要被动让出cpu执行权限或者调用特定函数来间接让出CPU执行权限。而是按解释器执行肯定操作后主动切换工作执行。这也就罢黜了开发者须要思考切换机会的问题。 在Melang中,所有的脚本代码逻辑都是同步的。然而理论都是由解释器异步进行的。这就罢黜了很多对异步编程不相熟的开发者的上手难度。 同时,为了让开发者能够更快的动手,语言的语法与C语言十分类似,因而对C相熟的开发者将会很容易上手开发。 上面那就让咱们一起Hello, world! //hello.msys = import('sys');sys.print("Hello, World!")执行: $ melang hello.m你将看到: Hello, World!协程并发与协程池在Melang中,每一个脚本工作都是互相隔离的。然而有时咱们也须要让不同工作之间能够互相通信来彼此合作,因而Melang的库函数中提供了音讯队列模块,使得这一想法成为可能。 然而基于这一机制,咱们很容易衍生出一种新的池构造模型——协程池。 即,主协程可用于分配资源,而一组工作协程能够通过音讯机制接管资源并各自进行解决。这与传统的线程池模型十分类似。 上面咱们就来看一个应用协程池实现的最简略的HTTP服务器: /* filename: server.m */net = import('net');mq = import('mq');listenfd = net.tcp_listen('127.0.0.1', '80');for (i = 0; i < 4; ++i) { eval('processor.mln', i);}while (1) { fd = net.tcp_accept(listenfd); mq.send('test', fd);}/* filename: processor.m */sys = import('sys');net = import('net');mq = import('mq');sys.print(EVAL_DATA);while (1) { fd = mq.recv('test'); ret = net.tcp_recv(fd); if (ret) { net.tcp_send(fd, "HTTP/1.1 200 OK\r\nContent-Length: 1\r\n\r\na\r\n\r\n"); }fi net.tcp_close(fd);}这两个代码文件别离为:主协程(server.m)与工作协程(processor.m)。 ...

October 1, 2022 · 1 min · jiezi

关于github:体验有奖使用-Serverless-1-步搭建照片平台

试验介绍以后,Serverless 技术曾经被广泛应用,Serverless = FaaS + BssS 的概念曾经深入人心。本场景由函数计算和 RDS MySQL Serverless 联结打造,通过函数计算的疾速部署能力,以及 MySQL Serverless 数据库的极致弹性,让开发者一步疾速搭建简略的图片治理平台,体验 FaaS+BaaS 的 Serverless 架构的魅力。 参加形式9月22日-9月30日流动期间,参加 RDS MySQL Serverless 试验《基于 Serverless 数据库 RDS 和函数计算一键部署相册利用》,即可 Get 你的集体专属相册利用,赢取 AirPods 耳机、Cherry 机械键盘、保温杯、猫超卡等精爱好礼!1500个名额,100% 中奖,快来试试你的欧气值!(倡议 PC 端体验) 扫描下方二维码或点击文末“浏览原文”参加试验https://developer.aliyun.com/... 钉钉答疑群号:44950202更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

September 27, 2022 · 1 min · jiezi

关于github:重温童年记忆中的五子棋-参与得证书惊喜好礼

当童年记忆中的“五子棋”遇上最新最炽热的 Serverless,会擦出什么样的火花?9月19日 - 9月28日,阿里云云原生利用平台 x 云起实验室携手推出最新【SAE 试验场景】! Serverless 利用引擎 SAE(Serverless App Engine)是一个全托管、免运维、高弹性的通用 PaaS 平台。本次试验,各位开发者只需敲入几行代码实现 1 个体验场景,即可立刻抽取惊喜好礼,中奖率高达100% 。此次试验不仅能够体验到 1 分钟部署“五子棋”游戏的乐趣,还能应用 SAE Job 一键生成专属实名制的阿里云 Serverless 认证证书。 ** 体验地址(倡议PC端体验):https://developer.aliyun.com/... 试验后您将播种到:Serverless Job 疾速上手SAE 部署利用阿里云 Serverless 证书AirPods 3、天猫精灵、云小宝....(随机奖品) 更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

September 27, 2022 · 1 min · jiezi

关于github:Serverless-Developer-Meetup-杭州站精彩回顾

<关注 Serverless 公众号 后盾回复 0917 即可取得本场讲师 PPT> 云计算减速了互联网产业的倒退,Serverless 架构正在以极快的速度促成云计算疾速迭代。Serverless 极致的弹性的个性能够笼罩诸多业务场景,可能大幅度晋升企业开发运维效率,让利用上云更简略。预计将来几年,将会有大量支流企业的外围利用,从原来的主机架构迁徙到 Serverless 架构。 9月17日,由阿里云云原生利用平台 x 飞天club_独特主办的 2022 首场「Serverless Developer Meetup」在杭州西溪园区召开。本次流动特邀阿里云、高德的 Serverless 技术领域专家,与来到现场的开发者们进行技术探讨、交换互动,深度解析 Serverless 最新倒退动静,分享了最实用的落地实际案例。还有专家代练的 Workshop 实操体验环节,让大家真真切切感触到了 Serverless 技术的魅力。 上面就让咱们一起回顾下此次「Serverless Developer Meetup」都有哪些精彩霎时。 精彩议题<扫描海报二维码 观看本场流动回放>分享主题:Serverless 架构的 CICD 摸索 本次议题袁坤(花名:丹坤)先为大家演示了一个现代化 GitOps 前端利用平台 Demo,随后介绍了 FaaS 架构 CICD 的实际,并带来开源我的项目 Serverless Devs 的最新进展。 分享主题:高德的 Serverless 落地实际 高德地图在 Serverless 畛域中做了很多方向的摸索,单在 Serverless 的业务 QPS 峰值就曾经超过 40W QPS,目前已实现局部外围业务的 Serverless 化。 此次,来自高德地图的服务端架构组-高级技术专家刘金龙(花名:福辰)从“客户”视角为大家介绍了 FaaS 在高德简单场景是如何落地,与到场开发者分享 FaaS 平台架构设计原理、FaaS Runtime 设计、FaaS 保护的三板斧;具体讲述 Serverless 所具备的环境对立、免运维、弹性伸缩、按需付费等特点是如何助力减速产品迭代、实现端云一体化。 ...

September 27, 2022 · 1 min · jiezi

关于github:Serverless-Devs-进入-CNCF-沙箱成首个入选的-Serverless-工具项目

近日,通过云原生计算基金会(CNCF)TOC 例会上投票决定,Serverless Devs 正式成为 CNCF 官网沙箱我的项目。开源凋谢的 Serverless 开发者平台 —— Serverless Devs 由阿里云开源,致力于为开发者提供弱小的工具链体系。通过该平台,开发者不仅能够一键体验多云 Serverless 产品,极速部署 Serverless 我的项目,还能够在 Serverless 利用全生命周期进行我的项目的治理,并且非常简单疾速地将 Serverless Devs 与其余工具/平台进行联合,进一步晋升研发、运维效力。 Serverless Devs 是 CNCF 首个 Serverless Tool 我的项目。将来,Serverless Devs 社区将与更多开发者和用户共建,继续致力于打造无厂商锁定的 Serverless 利用全生命周期管理工具,让 Serverless 更简略,更好用。 CNCF TOC 在会议上对 Serverless Devs 作出如下评估:Davanum Srinivas (CNCF TOC ) 示意如果你是一位一般的开发者,你有很多 Serverless 利用须要运行,你肯定心愿自主抉择去哪个平台运行,这个平台最好有基于不同语言的模版,你能够基于此疾速开始。Serverless Devs 就是这样一个平台,它曾经筹备好了很多模版,帮忙开发者在一个Serverless 运行时中进行部署。它让开发者能够轻松开启 Serverless 之旅。 Emily Fox (CNCF TOC ) 认为 Serverless Devs 十分关注开发者的体验体验,同时也十分关注 Serverless 利用在不同云平台的部署。 Serverless Devs 我的项目地址:https://github.com/serverless-devs/serverless-devsServerless Devs 的六个劣势 ...

September 27, 2022 · 2 min · jiezi

关于github:鱼传科技函数计算只要用上就会觉得香

深圳鱼传科技有限公司是专一以精准营销和互联网生态产品经营为外围的综合互联网营销推广服务商。通过整合全网优质媒体资源,并联合智能数据模型和AI标签算法,向企业提供包含流量矩阵搭建经营、媒介流量采买、投放模型设计、产品营销策划、数据监控剖析、成果经营等多层次服务。作为函数计算的资深用户,鱼传科技的CTO和技术负责人跟咱们聊了鱼传科技的 Serverless 旅程。目前鱼传科技的业务次要基于支付宝小程序进行承载,小程序具备轻量、关上不便、内容能够疾速更新等特点,为了适应市场的疾速变动和多变的客户诉求,对麻利开发提出了更高的要求。鱼传科技的业务特点,还具备访问量稳定大、流量突发预测难等特点,尤其是流动期间拜访突增对小程序后端服务的稳固和弹性也是一个很大的考验。而阿里云函数计算是典型的 Serverless 计算平台,具备极强的弹性能力,能够做到百毫秒弹性扩缩,能够很好的撑持业务弹性扩大。同时对函数计算,用户上传代码即可运行,无需关注和保护服务器,也极大地提高了后端开发效率。这些特点使得函数计算成为很多企业撑持小程序/挪动APP的优先选择,尤其是有突发流量或者流量稳定较大的业务场景。如下是基于鱼传科技的第一视角出现的 Serverless 落地实际。 简单交互小程序如何应答访问量激增?2018 年底,咱们开始尝试应用函数计算。过后,公司的外围业务是在支付宝上制作一些小程序。“多多有礼”小程序就是在那个时候上线的,“多多有礼”是一款主打互动领奖的小程序,以后曾经积攒了百万日活的规模,是一款十分受用户欢送的产品。然而在 2018 年,“多多有礼”最后上线时,咱们遇到了已有业务零碎难以承载突增流量的难题。那时咱们的业务都跑在服务器下面,为了能抗住高并发流量,咱们筹备了大略三、四台高配服务器做负载平衡,然而在业务并发高峰期,服务崩掉的状况还是常常产生。因为这个小程序波及到的业务逻辑,和利用后端交互比拟多,有很多简单流程,比方打卡、签到、庄园经营等,所以遇到突增流量,单纯减少服务器数量很难扛住。另外咱们还遇到了资源利用率低的问题。“多多有礼”在初期上线的时候,业务高峰期并发大略在 1000-2000,但业务低峰期可能也就几十,这是因为小程序设计的用户打卡、签到等动作,使得用户量非常容易在早上、早晨,或者某一个特定工夫暴增。在这种状况下咱们再用 ECS 的话,不仅须要依照峰值流量预留足够的ECS资源,保护起来也会变的非常复杂,资源利用率很难做下来,费用也会成倍的减少。所以咱们过后十分迫切地想把这个事件从咱们零碎里解耦,如果能简化咱们的运维复杂度,还能引入弹性能力就好了。通过调研咱们发现过后阿里云,只有函数计算 FC 这款产品具备相应的特点,所以咱们就开始尝试把整个业务都迁到阿里云函数计算上来。通过这3年多的应用,咱们把新的利用、能够迁徙的旧利用、外部利用/内部利用等都陆续迁徙上函数计算了。能够这么说,如果函数计算崩了,咱们公司的业务根本也就瘫了。然而通过这3年来的应用,发现函数计算的稳定性还是超预期的,比咱们保护应用服务器的时候,业务稳定性和性能都有大幅晋升,当初峰值能够达到数万QPS、数千函数并发同时稳固运行。而且咱们和函数计算也建设了专门的技术支持群,有任何技术问题,都能很快失去响应,这也是为啥咱们敢把公司所有的业务都基于函数计算来部署的起因。应用函数计算,真正帮忙咱们解决了很多稳定性和性能问题。“多多有礼”小程序页面 最佳实际再来分享下咱们应用函数计算的一些最佳实际,心愿也能帮忙到其余用户应用函数计算。 1. 开发流程咱们公司的次要技术栈是基于PHP语言,也会应用一些Web框架,像Lavaral,针对Web框架,为了能在函数计算上运行起来,咱们也对框架做了些适配,一个我的项目拆成一个或多个文件,对应多个函数,单个文件有的1万行代码,根底文件一百行左右。然而当初函数计算配合 Serverless Devs 工具反对了多语言 Web 框架的“0”革新迁徙,咱们也在尝试应用。目前咱们每个开发会独立负责一个函数服务,服务上面每个函数会作为一个小的利用,局部我的项目会跨服务依赖一些性能函数,然而咱们都会尽可能都独立开。函数计算也反对了层性能,前面会用层来部署公共函数、依赖,比方给用户发红包,代码只用写一份。另外对新招进来的开发来讲,函数计算上手门槛还是很低的,不必治理服务器搭环境,能够间接在线编辑代码、部署、测试。 2. 流水线和灰度公布咱们本地始终采纳的 SVN 存储代码,SVN 提交代码反对触发Action,咱们封装了函数计算的API接口,能够通过关键字触发函数和服务的公布。为了防止公布影响线上服务,咱们还应用了函数计算的版本和别名的性能。失常线上业务会公布成新的版本,同时把HTTP流量入口绑定的 release 别名指向新的版本,这样就实现了公布过程,如果最新的代码呈现问题,能够更改别名的指向,就能达到一键回滚到上个版本。同时咱们也会创立一个测试别名,会先实现版本的测试后,才会把承载现网流量的release 别名指向到新版本。这样通过别名的能力就辨别出了线上环境和测试环境,十分不便。 3. 运维治理对函数计算来讲,根本是不须要关怀资源保护的,像咱们最依赖的弹性能力。然而对于业务运维来讲,监控日志就成了十分要害的伎俩。函数计算集成了SLS,每次申请都会生成一条日志,能够比拟不便的过滤出谬误日志,对线上问题排查还是比拟不便的。另外函数计算也提供了比拟全的监控视图,咱们最罕用的就是申请量、谬误次数、并发、执行耗时等指标,针对谬误次数也加了告警,这样开发就能够间接兼业务运维,效率成倍增加。 成果比照比照之前应用服务器,函数计算的确给咱们带来了很大的便利性,咱们也是最早吃螃蟹的人,根本随同着函数计算一路成长,咱们也非常高兴的看到,函数计算的性能越来越丰盛,体验也越来越好。总结下来: 1. 稳定性加强开发不须要去关怀后端服务的搭建运维,只须要编写函数就可能为小程序提供稳固牢靠并且弹性伸缩的服务。并且随着小程序访问量减少,函数计算可能反对更大的并发配额,即便应答大促流动流量顶峰也可能如丝般顺滑。对于稳定性的晋升,这个是对咱们最大的帮忙。 2. 开发上手快,不必保护服务器应用函数计算“上手快,不必保护服务器”也是很吸引咱们的一个点。很多人对于 “Serverless”技术有一些误会,认为这个炽热的技术可能会难以学习、了解,其实不然。在理论应用过程中,咱们已经尝试让一些开发新人在生产过程中间接应用函数计算,在实操的过程中,这些开发上手十分快,他们只须要关怀本人的代码就能够了,也十分乐于应用。 3. 价格低服务好,想买技术支持之前咱们对于函数计算的应用费用没有做过粗疏的统计,刚发现撑持一个日活超过 50万人的小程序,应用函数计算费用大概在200元/日左右,对咱们的业务来讲,这个费用还是很便宜的。咱们日常应用也会遇到一些问题,函数计算团队能及时、急躁的给予技术支持,我曾与团队的同学开玩笑说,特地想在函数计算上多花点钱,想买技术支持。 云计算时代真正的弹性计算Serverless 技术最大的劣势就是免运维,同时提供弹性能力和按需付费。咱们抉择应用 Serverless 就是感觉它是真正的弹性计算,是将来的趋势。如果我应用比方像弹性ECS 这样的产品,如果我的业务倒退须要上量,就须要人工去“起”机器,或者执行一些弹性策略。但 Serverless 却可能让我不必思考后端的所有的运维工作,实现主动的弹性伸缩,所以咱们认为 Serverless 是云计算时代真正的弹性计算。最初,咱们也想对函数计算提一些倡议: 冀望函数计算的调用入口可能反对拜访IP固定,因为一些政府监管的要求,须要加IP黑白名单。函数的版本公布,可能反对针对单个函数精准公布,更加精准的实现灰度。更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

September 27, 2022 · 1 min · jiezi

关于github:阿里云丁宇以领先的云原生技术激活应用构建新范式

8 月 11 日,2022 阿里云飞天技术峰会在深圳举办,会上阿里云提出云原生激活利用构建三大范式,并公布最新的产品与解决方案。基于分布式云容器平台 ACK One,实现多地区分布式系统统一治理;公布 ACK FinOps 解决方案,让企业实现数字化老本治理,云原生老本优化。同时在峰会现场发表,音讯队列 RocketMQ5.0 全面商业化,以更优的老本、超大规模弹性、轻量易集成、全链路可观测的劣势,助力企业构建稳固的音讯零碎。 阿里巴巴研究员、阿里云智能云原生利用平台总经理丁宇在主论坛发表演讲,以下依据演讲内容整顿而成。 丁宇在峰会现场 明天,企业应用构建仍然面临很大挑战,资源如何按需应用,实现降本增效?如何在简单零碎架构下充沛保障业务稳固和连续性,如何做到利用的麻利和业务的智能化?以及十分重要的一点,如何保障系统的可信和平安? 企业亟需充沛开掘云计算的技术红利,助力业务倒退,发明更多的商业价值。而云原生能够激活利用构建范式,以解决企业在新期间遇到的挑战。 全面容器化。容器带来运维的标准化,明天容器曾经成为云计算和企业交互的新界面,并带来弹性和可伸缩能力的晋升,助力企业应答降本增效的刚需。同时咱们也看到一个趋势就是全负载的容器化。明天讲的容器化,不仅仅是微服务,包含 AI、大数据等新型利用也在全面容器化,这就让容器部署变得无处不在。 核心技术互联网化。互联网化能够撑持业务的麻利迭代,同时构建弹性架构,让利用能够从容应对流量的顶峰,并实现高可用、高牢靠,保障业务的连续性。 利用 Serverless 化。Serverless 大幅度晋升企业开发运维效率。并且因为全托管,带来了更加极致的弹性,针对所有场景进行笼罩,让利用上云更简略。 IDC 预测:到 2024 年,因为采纳了微服务、容器、动静编排和 DevOps 等技术,新增的生产级云原生利用在新利用的占比将从 2020 年的 10% 减少到 60%。 针对三大利用构建新范式,阿里云提供了哪些云原生产品与计划呢? 首先咱们来看容器服务。阿里云容器产品公布 7 年以来,已倒退成为企业客户与阿里云自研飞天云操作系统交互的新界面。相比开源计划,阿里云容器服务实现了计算密集型利用性能晋升 20%,容器网络延时升高 50%,异构资源利用率晋升 100%,并实现全链路可观测。目前容器服务 ACK 已全面降级为 ACK Anywhere,在企业任何须要云的中央,提供对立的容器基础设施能力。 分布式云容器平台 ACK One:多地区分布式系统统一治理 据预测,到 2025 年,50% 大型企业将通过分布式云推动业务翻新,为此阿里云推出了企业级多地区/多集群容器治理平台 ACK One,大幅简化了集群治理界面,提供统一的治理、交付、运维体验。无论是基于公共云、专有云、自有 IDC 还是边缘节点,用户都能够通过 ACK One 进行对立的容器集群治理、资源调度、数据容灾和利用交付。 泛生子是我国当先的癌症精准医疗公司,基于ACK容器技术支持对癌症基因检测数据处理,充分利用了云的弹性能力,日解决能力在过来三年晋升了 10 倍, 单样本解决老本相比于云下节省成本 60%。 vivo 是国内出名的智能手机厂商,其 AI 计算平台通过 ACK One ,及时满足算力需要,大大缩短资源交付周期,从数月缩短到天级别。对于长期的短期应用的算力需要,通过混合云应用私有云资源,可升高 90% 以上老本。 ...

September 22, 2022 · 2 min · jiezi

关于github:一文搞懂-SAE-日志采集架构

日志,对于一个程序的重要水平显而易见。无论是作为排查问题的伎俩,记录要害节点信息,或者是预警,配置监控大盘等等,都扮演着至关重要的角色。是每一类,甚至每一个应用程序都须要记录和查看的重要内容。而在云原生时代,日志采集无论是在采集计划,还是在采集架构上,都会和传统的日志采集有一些差别。咱们汇总了一下在日志的采集过程中,常常会遇到一些理论的通用问题,例如: 部署在 K8s 的利用,磁盘大小会远远低于物理机,无奈把所有日志长期存储,又有查问历史数据的诉求日志数据十分要害,不容许失落,即便是在利用重启实例重建后心愿对日志做一些关键字等信息的报警,以及监控大盘权限管控十分严格,不能应用或者查问例如 SLS 等日志零碎,须要导入到本人的日志采集零碎JAVA,PHP 等利用的异样堆栈会产生换行,把堆栈异样打印成多行,如何汇总查看呢?那么在理论生产环境中,用户是如何应用日志性能采集的呢?而面对不同的业务场景,不同的业务诉求时,采纳哪种采集计划更佳呢?Serverless 利用引擎 SAE(Serverless App Engine)作为一个全托管、免运维、高弹性的通用 PaaS 平台,提供了 SLS 采集、挂载 NAS 采集、Kafka 采集等多种采集形式,供用户在不同的场景下应用。本文将着重介绍各种日志采集形式的特点,最佳应用场景,帮忙大家来设计适合的采集架构,并躲避一些常见的问题。 SAE的日志采集形式SLS 采集架构SLS 采集日志是 SAE 举荐的日志采集计划。一站式提供数据采集、加工、查问与剖析、可视化、告警、生产与投递等能力。 SAE 内置集成了 SLS 的采集,能够很不便的将业务日志,容器规范输入采集到 SLS 。SAE 集成 SLS 的架构图如下图所示: SAE 会在 pod 中,挂载一个 logtail (SLS 的采集器)的 Sidecar。而后将客户配置的,须要采集的文件或者门路,用 volume 的模式,给业务 Container 和 logtail Sidecar 共享。这也是 SAE 日志采集不能配置/home/admin 的起因。因为服务的启动容器是放在/home/admin 中,挂载 volume 会笼罩掉启动容器。同时 logtail 的数据上报,是通过 SLS 内网地址去上报,因而无需开明外网。SLS 的 Sidecar 采集,为了不影响业务 Container 的运行,会设置资源的限度,例如 CPU 限度在 0.25C ,内存限度在 100M。SLS 适宜大部分的业务场景,并且反对配置告警和监控图。绝大多数适宜间接抉择 SLS 就能够了。 ...

September 22, 2022 · 2 min · jiezi

关于github:基于-ServerlessOSS-分分钟实现图片秒变素描

简介: 在阿里云Serverless函数计算服务中部署一般图片转素描图函数服务,实现将批量上传到指定OSS桶内的图片主动转换为素描图并保留到另一个OSS桶内 场景介绍小明接到学校老师安顿的工作,须要批量将班级里同学们拍的一般照片转换为素描图,供课堂游戏应用,于是求助到程序员老爸,机智的程序员老爸分分钟用几行Python代码解决:在阿里云Serverless函数计算服务中部署一般图片转素描图函数服务,实现将批量上传到指定OSS桶内的图片主动转换为素描图并保留到另一个OSS桶内。 指标读者理解阿里云Serverless、OSS、FC产品,有肯定的云计算实践经验及Python编程教训,相熟阿里云鉴权零碎及图片解决OpenCV库的集体开发者。 相干概念Serverless:全称Serverless computing,既无服务器计算,是云计算的一种新模式,区别于传统的IaaS、PaaS、SaaS。无服务器运算不代表它真的不须要服务,而是指一般开发者不必过多思考服务器、app运行环境及各种周边依赖问题,计算资源真正成为一种服务而不是服务器或者容器。它容许开发者在以治理某个具体性能函数的粒度进行部署及运维治理,以便让开发者专一于外围业务逻辑,更疾速地开发利用。Function Compute:后面讲的Serverless是一种抽象层次更高说法,“FaaS + BaaS”是Serverless架构模式的一种实现,阿里云Function Compute就是典型的FaaS,配合阿里云丰盛的BaaS(SLS、OSS、RDS等)服务,能够十分疾速的部署利用。FC是一种基于事件驱动的全托管计算服务,用户无需洽购与治理服务器等基础设施,只需编写并上传代码。FC应用计算、存储资源,弹性地、牢靠地运行工作,并提供日志查问、性能监控和报警等性能。 前提条件/环境筹备1.已开明阿里云FC、OSS、SLS服务2.提前准备好一般图片转换为素描图的Python代码3.提前准备好测试图片4.提前创立好两个测试用的OSS桶(不能将转换后的图片上传到同一个OSS bucket中,这会导致函数被有限循环执行) 操作步骤步骤一:创立函数计算FC服务选择函数及服务点击“创立服务”,填写名称和形容:进入函数治理,点击“创立函数”:运行环境抉择Python 3.6,代码上传形式抉择应用示例代码,申请处理程序类型抉择处理事件申请触发器抉择OSS,Bucket抉择提前创立好的sketch-image-input,文件后缀为.jpg,避免其余类型的文件上传后误触发函数执行受权角色测试默认提供的Python函数,相熟下基本功能:步骤二:编写Python脚本,实现一般图片转换为素描图函数在编辑器中,输出提前写好的Python代码:参考代码如下: # -*- coding: utf-8 -*-import cv2import jsonimport loggingimport oss2def sketch_image(source_image, target_image): # read image image = cv2.imread(source_image) # sketch image grey_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) invert_image = cv2.bitwise_not(grey_image) gaussian_blur_image = cv2.GaussianBlur(invert_image, (7, 7), 0) inverse_image = cv2.bitwise_not(gaussian_blur_image) sketch_image_result = cv2.divide(grey_image, inverse_image, scale=256.0) # save image cv2.imwrite(target_image, sketch_image_result) cv2.waitKey(0) cv2.destroyAllWindows()def handler(event, context): logger = logging.getLogger() evt = json.loads(event) creds = context.credentials # Required by OSS sdk auth=oss2.StsAuth( creds.access_key_id, creds.access_key_secret, creds.security_token) evt = evt['events'][0] bucket_name = evt['oss']['bucket']['name'] endpoint = 'oss-' + evt['region'] + '.aliyuncs.com' bucket_input = oss2.Bucket(auth, endpoint, bucket_name) bucket_output = oss2.Bucket(auth, endpoint, 'sketch-image-ouput') logger.info('oss endpoint: %s' % endpoint) objectName = evt['oss']['object']['key'] logger.info('oss objectName: %s' % objectName) newKey = 'sketch_' + objectName # Download image source_image = '/tmp/%s' % objectName bucket_input.get_object_to_file(objectName, source_image) logger.info('download image %s success.' % source_image) # Sketch image target_image = '/tmp/%s' % newKey sketch_image(source_image, target_image) # Upload image with open(target_image, 'rb') as fileobj: bucket_output.put_object(newKey, fileobj) logger.info('upload image %s success.' % newKey)函数编写过程中,参考了阿里云提供的SDK案例,内容十分丰盛,想要的性能都有,且FC提供的Python运行环境内置oss、OpenCV等罕用模块,很好的撑持一般开发者疾速实现性能,点赞:FC应用OSS触发器SDK:https://help.aliyun.com/document_detail/74765.htmlOSS文件下载、上传SDK:https://help.aliyun.com/document_detail/88426.htmlFC Python环境内置模块:https://help.aliyun.com/document_detail/158208.html ...

September 22, 2022 · 1 min · jiezi

关于github:从函数计算到-Serverless-架构

作者:秋雨陈(本文转载自”函数计算征集令“征文) 前言随着 Serverless 架构的一直倒退,各云厂商和开源社区都曾经在布局 Serverless 畛域,一方面体现在云厂商推出传统服务/业务的 Serverless 化版本,或者 Serverless 计算平台,另一方面体现在开源社区中 Serverless 相干我的项目逐步丰盛起来,无论是平台类还是工具类的开源我的项目,再或者是框架类的开源我的项目,都如雨后春笋般疾速成长。 任何技术,在这样凋敝倒退背地,都会疾速降级和迭代,Serverless 架构也不例外,从阿里云的 FaaS 产品倒退过程中,不难看出 Serverless 架构在提效和降本的路线上一直的场景化,特色化;在产品状态上也一直的趋于残缺化,统一化,尽管间隔“大道至简”还有肯定的间隔,然而也只是工夫的问题了。 从思维到产品升级Serverless 架构在一直倒退,无论是产品状态还是技术架构都能够用突飞猛进来形容。 Serverless 精力的更迭最后,Serverless 架构指的是 FaaS 与 BaaS 的联合,认为开发者能够不必破费更多的精力在服务器等底层资源上,而是能够将精力放在更具价值的业务逻辑之上。这也是文章《Serverless Architectures》中所强调的观点。 但随着工夫倒退,大家发现,对于 Serverless 架构这样的形容过于薄弱,没有凸显出 Serverless 架构为业务带来的技术红利,也没能体现出 Serverless 所交付的心智。所以 UC 伯克利在《Cloud Programming Simplified: A Berkeley View on Serverless Computing》中对 Serverless 架构进一步的定义:对于被认为是Serverless 架构的服务/产品还须要具备按量付费和弹性伸缩的特点,并认为, long-run 的运行模式并不合乎 Serverless 精力。 云计算相干技术的倒退,往往有一个特点:云厂商的驱动性十分强,因为云厂商往往会最先感知到普遍性的用户需要,并且有足够的数据撑持其做出正当的判断与翻新。所以 Serverless 架构的翻新很多时候也都是由厂商驱动的;在事件驱动与函数计算的倒退下,厂商逐步发现函数计算的模式“短时运行”没有方法满足更多用户的诉求,此时一种 long-run 模式的 Serverless 计算服务就逐步的被孵化进去了,至此,Serverless 架构也从最后的薄弱,逐步欠缺,通过“自我变革”,实现了新一轮业务能力的自我丰盛与产品性能的自我完善。 随着 long-run 模式逐步被开发者们认可,传统 Serverless 架构的定义有点“心心相印”:既不能在模式上笼罩最新的 Serverless 产品纬度,也不能在状态上形容清 Serverless 的个性。此时 Serverless 架构定的义,就自然而然的得以降级,例如: ...

September 22, 2022 · 2 min · jiezi

关于github:App-Deploy-as-Code-SAE-Terraform-实现-IaC-式部署应用

企业上云是近些年的倒退热潮,越来越多的企业把本人的利用部署在各个云厂商中,利用云计算带来的弹性、灵便、平安、低成本等个性,轻松帮忙企业搭建本人的利用。 随着企业规模和业务状态的倒退,一个利用须要组合多种云资源能力对外提供服务,为了便于研发人员开发调试,每种利用都须要部署到多套环境,单纯通过人工手动治理云资源的形式会使得基础设施管理人员的累赘一直减轻。 因而越来越多的企业抉择应用代码(而非手动流程)来定义基础设施,即 IaC(Infrastructure as Code),像看待应用软件一样看待基础设施,这样不仅可能免去繁冗的人工操作还能够利用代码配置原生带来的版本化和抽象化等能力。 在云计算的时代下,利用的部署往往会依赖多个基础设施(计算、存储、网络)。企业外部往往须要一个 PaaS 平台来交付本人的利用,然而 PaaS 平台的开发和保护须要企业有较大的技术和人力投入。对于疾速倒退的企业更心愿可能把精力专一于企业的外围业务。 阿里云 Serverless 利用引擎 SAE(Serverless App Engine)是一个面向利用的 Serverless PaaS 平台,人造反对通过 IaC 的形式来创立和治理,而 Terraform 作为 IaC 畛域的事实标准,已成为了企业 IaC 治理的首选工具,将 Terraform 和 SAE 组合会产生一些微妙的化学反应,企业能够以一种 ADaC(Application Deploy as Code)的形式,通过简略的代码配置文件治理企业的利用。 上面,咱们简略的介绍 IaC 和 SAE 给企业带来的微小便当,并通过一个应用 Terraform 创立 SAE 利用的例子感触 SAE & Terraform 给传统企业 IT 设施治理带来的降维打击。 基础设施即代码企业基础设施治理倒退历程利用可能失常对外服务须要依赖计算、存储、网络等根底资源。他们是利用失常运行的根底上下文。这些资源也称为环境基础设施。在传统的管理模式下,大多数公司都会有专门的运维团队来治理本人的正式生产和测试环境。随着业务的降级和公司规模的增长,运维团队在根底资源管理上会经验大略 3 个阶段: 手工运维:在企业倒退初期,企业的业务品种和规模都处于起步阶段,而且根底环境属于变更频率绝对很低的资源,运维团队往往通过人工治理就能够搭建起服务所需的根底资源,应用云服务的企业在云厂商的控制台通过鼠标操作就能够实现云资源的创立。这一阶段研发人员基础设施需要很低,运维人员通过手工运维就能满足。运维操作脚本化:随同企业规模和业务的倒退,运维团队会接管到越来越多的环境创立申请,大部分运维团队的成员为了晋升环境创立效率会自发的编写规范化的文档和脚本,或者通过 CLI 来辅助资源的创立,然而因为一个服务往往须要多种基础设施资源配合能力失常对外提供服务,脚本还无奈简略的解决不同基础设施之间的依赖关系,这一段运维人员创立环境会逐渐变成一个繁琐且低效的工作。基础设施即代码:手工运维和文档脚本化曾经极大的影响开发效率。企业会逐渐把基础设施形象成代码,用治理代码的形式配置基础设施,对环境基础设施能够像看待代码一样进行版本控制和回滚,而且多个环境之间能够复用雷同的代码模块,实现环境基础设施的疾速交付。Terraform 应运而生2014 年,HashiCorp 公司推出了产品 Terraform,它是一个能够平安、高效地建设,变更以及版本化治理基础设施的工具,时至今日 Terraform 相对是 IaC 畛域的王者。应用 Terraform 治理企业基础设施能够给企业带来多种益处: 应用申明式的 IaC 治理基础设施:申明式的形容可能保障即便代码执行屡次也能达到统一的状态,应用代码来形容根底资源,可能更加形象间接的展现出不同环境之间的差别。不论什么环境呈现问题,都能疾速的复刻出一个新的环境。丰盛的 modules 生态:简直蕴含所有云厂商的云资源,使用者能够在官网保护的模块仓库 Terraform Registry 中应用各种官网和社区提供的高质量模块。让使用者不必再反复编写其余云厂商的模块,利用开源社区的能力,不断完善和壮大 Terraform 生态。资源依赖治理:Terraform 会依据模板中的定义,构建所有资源的 DAG 拓扑关系图。对于有依赖资源的资源,会依据依赖关系有序执行,对于没有任何依赖关系的资源会以并行的形式创立以保障执行的高效性。 ...

September 14, 2022 · 3 min · jiezi

关于github:实战指南-Serverless-架构下的应用开发

作者 | 刘宇、田初东、卢萌凯、王仁达 UC Berkeley认为Serverless架构的呈现过程相似于40多年前从汇编语言转向高级语言的过程,在将来Serverless架构的应用会飙升,或者服务器式云计算并不会隐没,然而将促成BaaS倒退,以更好地为Serverless架构提供反对。 Serverless 架构的利用开发流程 基于 Serverless 架构的利用开发流程将会比基于传统架构的利用开发更简略。在 Serverless 架构下进行利用开发,用户通常只须要依照标准编写代码、构建产物,而后部署到线上即可。 如图 1 所示,CNCF Serverless Whitepaper v1.0 指出函数的生命周期从编写代码并提供标准元数据开始,一个 Builder 实体将获取代码和标准,而后编译并将其转换为工件,接下来将工件部署在具备控制器实体的集群上。该控制器实体负责基于事件流量和/或实例上的负载来扩大函数实例的数量。 图-1 函数部署流水线示意图 如图 2 所示,函数创立和更新的残缺流程如下。 图-2 函数创立/更新流程示意图1)在创立函数时,提供其元数据作为函数创立的一部分,对其进行编译使其具备可公布的个性。接下来启动、禁用函数。函数部署要可能反对以下用例。 事件流(Event Streaming):在此用例中,队列中可能始终存在事件,然而可能须要通过申请暂停/复原进行解决。热启动(Warm Startup):在任何时候,具备起码实例的函数能使所接管的“第一”事件疾速启动,因为该函数曾经部署并筹备好为事件服务(而不是冷启动),其中函数通过“传入”事件在第一次调用时部署。2)用户能够公布一个函数,这将创立一个新版本(最新版本的正本),公布的版本可能会被标记或有别名。 3)用户可能心愿间接执行/调用函数(绕过事件源或 API 网关)以进行调试和开发过程。用户能够指定调用参数,例如所需版本、同步/异步操作、具体日志级别等。 4)用户可能想要取得函数统计数据(例如调用次数、均匀运行工夫、均匀提早、失败次数、重试次数等)。 5)用户可能想要检索日志数据,这能够通过严重性级别、工夫范畴、内容来过滤。Log 数据是每个函数级别的,它包含诸如函数创立/删除、正告或调试音讯之类的事件,以及可选的函数的 Stdout 或 Stderr。优选每次调用具备一个日志条目或者将日志条目与特定调用相关联的形式(以容许更简略地跟踪函数执行流)。图-3 开发 Serverless 利用的流程 如图 3 所示,以阿里云 Serverless 产品为例,在生产环境中开发 Serverless 利用的流程是: 步骤1:依据 FaaS 供应商所提供的 Runtime,抉择一个相熟的编程语言,而后进行我的项目开发、测试;步骤2:实现之后将代码上传到 FaaS 平台;步骤3:上传实现之后,通过 API/SDK 或者由一些云端的事件源触发上传到 FaaS 平台的函数;步骤4:FaaS 平台就会依据触发的并发度等弹性执行对应的函数;步骤5:最初用户依据理论资源使用量按量付费。 与 ServerFul 利用开发流程比照 上面咱们将通过生产环境中的案例,对传统架构下的利用开发与 Serverless 架构下的利用开发进行举例比照。 以一个 Web 利用为例。如图 4 所示;图-4 传统三层 C/S 架构下某电子商务网站利用简图 ...

September 14, 2022 · 2 min · jiezi

关于github:中小企业如何有效应对计算资源的弹性变化需求

作者:程序员大阳(独立开发者)起源:本文选自 Serverless 函数计算评测流动 征文 1. 计算舞台的发展史1.1 上古时代long long ago,很久很久以前,计算机是一种极其稀缺的资源。我曾跟某大学教授沟通,他说最开始的时候,一个大学的计算机系可能只有一台计算机。计算机是如此稀缺,那时候的计算资源能够说就算你有钱,也未必能轻易失去。这个时代,我愿称之为计算资源的上古时代,其特点就是稀缺! 1.2 中古时代我刚毕业那会,进入一家国有大型商业银行从事信息科技工作。第一次走进机房,就被那一排排的服务器电脑震撼了。看着那些服务器时不时闪动的灯光,我能设想到,它们撑持的是数百亿、千亿、万亿的资金流动。它们体格微小、性能强悍、运行稳固,然而——额——十分低廉。不光购买贵,要想让这些大型服务器失常运行,配套的机房、运维人员老本也不低。大型企业能接受,中小公司就有心无力了。这个时代,我愿称之为计算资源的中古时代,其特点就是低廉! 1.3 近现代2018年,我进入一家民企企业,我发现企业应用的根本都是云服务器。应用云服务器的益处是,如果部署的程序访问量大、并发量高、数据量大,那就买配置高的、贵一点的。如果部署的程序比较简单,拜访人数也不多,那就买配置低的、便宜一点的。而且随着工夫的倒退,拜访量大增时,也能够花钱降级配置。同时采纳云服务器的话,不必独自建设机房,也不必买硬件路由器、防火墙啥的,从老本上讲也不高。几乎是太香了,所以中小企业开始踊跃拥抱云服务器。我记得在公司工作的时候,治理的云服务器有几十台,而且每年都稳固新增若干台。这个时代,我愿称之为计算资源的近现代,其特点嘛,就是性价比高。 1.4 当代其实我在工作中,老早就发现了一些问题,就是咱们对计算资源的需要,具备时空的不均衡性。比方咱们开发一套学校的缴费零碎,这个零碎平时无人问津,到了学校发缴费通知那几天,零碎拜访人数爆棚。然而咱们购买服务器的时候,总得依照撑持最大访问量的情景去购买,那平时残余的计算能力不就大大的节约了吗?如果能有一种形式,能够依据须要,弹性的拓展或膨胀计算能力,用户只须要按理论计算量付费,那会是一个相当大的提高吧。另外从社会倒退、从人类命运共同体的角度去看,这也是极大节约了社会资源、进步了生产效率啊。哎,恕我见多识广,尽管我始终有这样的想法,却不知这在云计算畛域是早就实现了的技术。而Serverless就是其中一种代表性的计算技术,它早曾经来到咱们身边了。这个时代,我愿称之为计算资源的当代,其特点嘛,就是精密、谐和。 2. Serverless的概念先从字面意思了解,Server是服务器,less是短少,合起来就是无服务器。无服务器的运算,就是咱们的程序不必部署到各类服务器,而是间接交给云(例如阿里云),云帮咱们来协调计算资源、进行弹性的计算。接下来咱们就应用阿里云Serverless函数计算,来真正体验一下吧。 3. 疾速体验3.1 产品入口阿里云产品泛滥,先给大家说下函数计算 FC 的地位。 3.2 创立利用进入函数计算产品后,咱们首先要创立一个利用。利用能够了解为一个后盾服务、后盾我的项目之类的货色。阿里云内置了很多利用模板,例如常见的SpringBoot、Django、Flask等等,很好很弱小,此处我抉择了比拟相熟的SpringBoot。 3.3 利用部署设置如下图,设置为通过Gitgee代码仓库部署利用代码。这个很好了解,咱们的利用间接关联一个Gitee的代码仓库,如果咱们想部署利用,就先将代码提交到Gitee。 留神,点击上图中红线处的链接,而后登陆Gitee,即可实现Gitee代码对阿里云Serveless的绑定受权。 点击创立后,会弹出如下窗口,期待创立实现即可。 3.4 编写代码在下面创立我的项目时,咱们指定了Gitee代码仓库名为【start-springboot-jc】,咱们将该仓库克隆到本地,查看我的项目代码构造如下: 关上pom.xml配置文件,相熟的感觉,这是一个纯正的SpringBoot我的项目,版本为2.1.8。阿里云开发人员既然抉择了该版本,它应该是十分稳固优良的吧。 接下来看下启动类,咱们能够轻易的猜出,welcome就是咱们利用默认的入口。 来吧,不批改一番,怎能见证我这一代Java全栈程序员的风采! 3.5 代码部署将代码提交到仓库,而后点击红线处进入利用详情: 在部署历史中惊奇的发现曾经主动部署了,要问我咋发现的,看下工夫就是了。此处阐明阿里云做的挺好啊,主动发现代码更新而后主动触发部署,此处一个值得点赞! 3.6 拜访测试在利用详情页面的上方,点击拜访域名: 弹出网页界面如下,功败垂成。 4. 常见应用问题解析4.1 如何开发本人的业务逻辑如果对SpringBoot很相熟的话,这个问题应该是很简略的。能够在pom.xml中配置依赖项,而后编写服务类,最初在welcome办法中调用封装的服务类即可。运行后果能够通过网页显示,当然一些后盾计算也能够不必网页显示。 4.2 如何配置正式域名我的项目正式上线时,咱们往往心愿应用正式域名。能够进入函数计算首页,点击【域名治理菜单】,而后点击【增加自定义域名】: 如下图,就能够将咱们的域名和利用外面的函数关联起来了。 4.3 实例规格及环境配置在【服务治理】-【函数治理】中点击红圈中的【配置】按钮。 如下图,能够对实例规格、环境信息进行配置,例如内存、并发度、实例类型。留神内存指的是函数执行的最大内存、并发度指的是函数能够同时解决多少个申请。 4.4 如何抉择实例类型实例类型分为三大类,上面是阿里云官网阐明,我感觉写得挺好,就不再过多解释了。 弹性实例:函数计算根本实例,次要实用于突发流量场景,例如流动、大型促销和红包等。性能实例:大规格实例,资源下限更高,次要实用于计算密集型场景,例如音视频解决、AI建模和企业级Java利用等场景。当您抉择性能实例时,您的函数将运行在计算能力更高的实例中。GPU实例(公测中):基于Turing架构的GPU实例,次要实用于音视频、AI人工智能和图像处理等场景。在不同的场景中,将不同的业务负载下沉至GPU硬件加速,从而极大地晋升了业务解决的效率。 4.5 如何进行监控和日志查看留神在利用详情外面,会显示利用相干的底层服务和函数,如下图: ...

September 14, 2022 · 1 min · jiezi

关于github:GithubCLI

Github-CLIGithub 官网的命令行工具 Github CLI。Mac 零碎能够通过 homebrew 装置或者间接下载免安装包来应用。 命令Github CLI 的所有命令均以gh结尾,命令较为法则,容易记忆。上面是一些命令清单。 别名 aliasgh alias delete <alias> [flags] #删除别名gh alias list [flags] #列出所有别名gh alias set <alias> <expansion> [flags] #设置一个别名认证 authgh auth login [flags] #应用GitHub主机进行身份验证gh auth logout [flags] #从Github主机中移除验证gh auth refresh [flags] #刷新存储的身份验证凭据gh auth status [flags] #查看身份认证状态配置 configgh config get <key> [flags] #失去指定配置的值gh config set <key> <value> [flags] #用指定值更新配置问题 issuegh issue close {<number> | <url>} [flags] #敞开issuegh issue create [flags] #创立一个issuegh issue list [flags] #列出并过滤此仓库中的issuegh issue reopen {<number | <url>} [flags] #重开issuegh issue status [flags] #查看issue状态gh issue view {<number> | <url>} [flags] #查看一个issue拉取申请 pull requestgh pr checkout {<number> | <url> | <branch>} [flags] #查看并切换分支,能够指定pr数目或分支名gh pr checks [flags] #查看一个分支的CI状态gh pr close {<number> | <url> | <branch>} [flags] #敞开一个prgh pr create [flags] #创立一个prgh pr diff [<number> | <url> | <branch>] [flags] #查看pr的变动gh pr list [flags] #列出并过滤此仓库中的prgh pr merge [<number> | <url> | <branch>] [flags] #合并prgh pr ready [<number> | <url> | <branch>] [flags] #使一个pr筹备审查gh pr reopen {<number> | <url> | <branch>} [flags] #重开prgh pr review [<number> | <url> | <branch>] [flags] #给一个pr增加reviewgh pr status [flags] #显示相干pr的状态gh pr view [<number> | <url> | <branch>] [flags] #查看一个pr公布 releasegh release create <tag> [<files>...] [flags] #创立一个新公布gh release delete <tag> [flags] #删除一个公布gh release download [<tags>] [flags] #下载公布gh release list [flags] #显示该仓库所有公布gh release upload <tag> <files>...[flags] #上传一个公布gh release view [<tags>] [flags] #查看公布信息仓库 repogh repo clone <repository> [<directory>] [-- <gitflags>...] #在本地克隆一个仓库gh repo create [<name>] [flags] #创立一个新仓库gh repo fork [<repository>] [flags] #fork指定仓库gh repo view [<repository>] [flags] #查看一个仓库

September 13, 2022 · 2 min · jiezi

关于github:消息队列新实现Workflow-msgqueue代码详解

PART - 0 一个小小的翻新开源我的项目Workflow中有许多小翻新的根底模块,明天来介绍最罕用的传统数据结构:多生产者-多消费者-音讯队列。 着重申明一下,这里说的音讯队列不是kafka这样的音讯队列服务,而是单机内的传统数据结构,次要用于机器资源的协调调度,比方线程/协程调度、网络异步资源收发等,即能够协调执行资源,又能够给数据资源当长期buffer用。 前段时间介绍过300行代码的线程池、以及在线程池之上用作计算调度的200行的Executor,而明天介绍的msgqueue,更简略、更罕用,代码不到200行,极度治愈懒癌早期的你~msgqueue模块同样十分独立,能够间接拿进去使(把)用(玩)。 一句话概括:外部应用两个队列,别离拆开了生产者和消费者之间的争抢,晋升了吞吐的同时,仍然维持了比拟优良的长尾、且兼顾保序与代码极简的优良传统;而其中极度节约的链表实现形式,在缩小内存调配上也有可学习之处。 代码地位:https://github.com/sogou/workflow/blob/master/src/kernel/msgqueue.c PART - 1 音讯队列常见实现意识比拟早的小伙伴可能晓得,其实在我的项目开源以前,我就为音讯队列写过一系列的文章和比照了,以下按集体看过的一些给出常见的实现,也欢送大家评论里补充看过感觉很棒的代码: 简略粗犷版:一把锁两个条件变量的根本实现 因为太简略了,大家手写即可~双队列版:Workflow的msgqueue https://github.com/sogou/work...链表版:LinkedBlockingQueue https://developer.android.com... (这个BlockingQueue系列还蛮多实现的)grpc版:mpmc queue https://github.com/grpc/grpc/...无锁版:内核的单生产者单消费者kfifo https://github.com/torvalds/l...不保序版:go的调度workstealing https://github.com/golang/go/...以上这些代码不仅值得一读,闲来无事的时候也很值得学着本人实现一把~ PART - 2 msgqueue的算法Workflow的msgqueue很简略,两张图足以说分明内部结构和流程: 几个特点: 外部有两个list,生产者把音讯放到生产队列,消费者从生产队列取音讯;应用了两把锁别离治理两个队列;应用了两个条件变量别离治理生产者和消费者的期待唤醒;队列能够有block / nonblock两种状态;如果为block,则生产者队列最大长度为maxlen,如果为nonblock,不限度最大长度; 算法很简略步骤: 当get_list(也就是消费者队列)不为空,消费者能够拿到一个音讯;否则消费者会期待,直到put_list(也就是生产者队列)不为空,而后替换两个队列;这对于队列十分忙碌、且消费者很多的状况下,性能是十分好的~ 很久以前我在集体的queue我的项目中有很简略的压测数据:GitHub - holmes1412/queue: some different implements of queue and test,不太欠缺,仅供参考,毕竟我智商摆在这._. 也举荐通过以下小我的项目,看看msgqueue如何重构线程池来达到性能的飞跃::https://github.com/Barenboim/msgqueue_thrdpool PART - 3 代码详解还是依照以前介绍过的万能七步,咱们能够跟着这100多行代码把队列学习一遍~ 第一步:通过头文件看接口关上msgqueue.h: msgqueue_t *msgqueue_create(size_t maxlen, int linkoff);void msgqueue_put(void *msg, msgqueue_t *queue);void *msgqueue_get(msgqueue_t *queue);void msgqueue_set_nonblock(msgqueue_t *queue);void msgqueue_set_block(msgqueue_t *queue);void msgqueue_destroy(msgqueue_t *queue);msgqueue_create()函数创立一个音讯队列。参数maxlen代表生产队列的最大长度,默认的模式下,达到最大长度时生产者将会阻塞。而第二个参数linkoff是这个模块的一个亮点。它让用户指定一个音讯的偏移量,每条音讯的这个地位用户须要预留一个指针大小的空间,用于外部拉链。这一个简略的设计,防止进出音讯队列时,多一次内存调配与开释。如果感觉这个解释还不清晰,也能够看看模块里作者的正文: 理解过msgqueue_create()接口,msgqueue_get()和msgqueue_put()就毋庸过多介绍了。留神msg的linkoff地位,须要预留一个指针。 ...

September 11, 2022 · 2 min · jiezi

关于github:github-copilot在webstorm无法登陆的解决方案

问题形容github copilot应用到期后,从新续费后。却发现在webstorm始终登陆不胜利。报错让从新登陆。 排查过程把账号在vscode上试了下没问题查看webstorm proxy代理设置,全副敞开webstorm github copilot插件上面看留言:https://plugins.jetbrains.com... 发现有很多人遇到雷同的状况。终于找到一个靠谱的终局计划,革除webstorm缓存。操作步骤如图

September 2, 2022 · 1 min · jiezi

关于github:传统单节点网站的-Serverless-上云

什么是函数?刚刚考完数学没多久的我,脑里立马想到的是自变量、因变量、函数值,也就是y=f(x)。当然,在计算机里,函数function往往指的是一段被定义好的代码程序,咱们能够通过传参调用这个定义好的函数,实现咱们所须要的性能。那么,明天的函数计算FC又是什么? 云计算时代的当下,容器化技术与各种工具倒退的DevOps,曾经把开发与运维的工作进行了新的兼顾,开发人员在实现代码的编写后,无需思考环境,间接提交到各种流水线就能够实现测试、开发、部署,我的项目构建微服务,由容器实现环境的封装。然而往往咱们最终还是须要投入精力到业务上线的集群,是公有云环境还是私有云?是裸金属服务器还是云实例ECS?是自购还是租用? 当然,DevOps的落地、服务器\集群的运维,这些都是须要投入大量的资源与精力,DevOps是一条捷径,但不是惟一的前途。而函数计算FC的呈现,带来了无服务Serverless的架构,让开发者在开发和部署的时候,不再有部署服务简单的感觉。 对服务器的无感召,能够使开发者真正的关注在本人的代码上。阿里云Serverless函数式极简编程可专一于业务翻新,无洽购和部署老本、提供监控报警等齐备的可观测能力。阿里云函数计算FC是事件驱动的全托管计算服务,真正的无需去思考服务器的运维治理,只须要实现开发的代码进行上传,函数计算会通过角色策略去布局计算资源,弹性的形式执行函数,最初高效的执行部署。优雅! Serverless 将会有那些实用场景?是集体?还是生产?那么这次我将部署两种不同方向的利用对 Serverless 进行测评! 一、告诉零碎与Webhook,Trigger触发与Chat机器人。许多零碎中波及到的push类性能,例如邮件、短信、Webhook。当然Webhook的能力不只是信息告诉,不过这里所指的告诉性能必然是须要基础设施也就是服务器来撑持运行,如果将这些性能间接由Serverless来操作,咱们便无需领取运维一台服务器,节俭了大量的工作与费用。同样,咱们能够利用Serverless事件驱动模型实现定时主动触发工作,主动签到主动发送。 二、其次当然是Web类的利用。基于各类Web框架的利用部署,构建基于Java、Python、PHP等语言的站点,Serverless很容易实现如wordpress这样的博客利用的上线。配合其余云产品,Codeup、OSS、RDS等,更能实现高可用高性能的Web利用,如官网提供的Kod云盘零碎。 Serverless农产品电商网站上云革新这里我拿隔壁软件业余(俺是网络技术的)的一个大作业我的项目作为部署的案例。我的项目是非常简单并且性能繁多的,然而也是十分经典的前后端拆散我的项目,因为我开发不太会,我的项目具体技术就不献丑了。之前据说是有什么版权的,我就不放源代码了hhhh。 在革新之前,我置信是很多中小型公司业务的经典AllinOne构造,把业务波及到的所有服务中间件运行在一台服务器/虚拟机上,尽管当初看可能完完全全是实验室环境,然而理论看到的仍然有很多我的项目是这么做的。害处也不必多提,部署运维难、难以进行资源的扩容、后续革新简单、性能差没有利用高可用技术等等。。。 Serverless的农产品电商平台上云,我的项目比较简单,布局就在同一地区了。次要是将前端HTML页面与后端Jar包运行别离由两个独自的Serverless函数实现运行计算。其余撑持服务上云,别离用对应的云产品实现,这里Redis服务因为我本人ECS上有运行redis服务,就不再独自购买云数据库Redis版了,当然举荐应用阿里云的Redis云数据库产品。 1.Serverless服务创立进入函数计算控制台,抉择【服务及函数】,点击【创立服务】输出创立服务的名称与形容,开启日志性能,点击确定,实现服务的创立 服务创立实现后,进入【服务详情】,找到【网络配置】,点击【编辑】抉择容许拜访VPC,抉择自定义配置,抉择VPC、vSwitch、平安组,这里须要和后续其余撑持的云产品(数据库等)放弃在同一VPC下。因而须要做好云上网络的布局,也要看一下产品是否在地区下有没有库存。 2.前端页面Serverless函数创立实现服务创立后,点击【创立函数】,进入函数的创立页面抉择【应用自定义运行时平滑迁徙WebServer】,输出函数名称,抉择运行环境为【Nginx】,上传前端html代码与nginx的配置文件,抉择监听端口为80,即为原nginx中间件的服务端口。 实现函数创立后,进入到函数详情界面,能够在函数代码中对代码进行编辑批改,代码改变后须要点击部署代码从新上传。上述也提到了,这里须要将Nginx服务配置一起上传,其中须要拷贝一份/etc/nginx/mime.types文件到当下目录,防止mime文件类型映射谬误。 这里放nginx要害配置,依据本人的业务状况批改,留神配置中端口监听须要与函数创立监听端口保持一致,同时网页代码的门路设置为/code http { include mime.types; #留神引入此文件 keepalive_timeout 900; server { listen 80; server_name localhost; location / { root /code; index index.html index.htm; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /users { proxy_pass http://serverless.后端函数拜访地址.run; #Nginx反代传给后端的函数,地址在后续后端函数创立完能够拷贝 } location /items { proxy_pass http://serverless.后端函数拜访地址.run; #Nginx反代传给后端的函数,地址在后续后端函数创立完能够拷贝 } 能够在调用日志查问相干日志 当函数触发运行,Serverless将会依据拜访申请主动起实例,在这里能够手动登陆实例,去进行中间件服务的日志、运行环境的一些查看与排错。 3.后端Serverless函数创立回到函数服务界面,再次点击【创立函数】,进入函数的创立页面抉择【应用自定义运行时平滑迁徙WebServer】,输出函数名称,抉择运行环境为【Java】,上传打包好的Jar包文件。依据具体业务批改【启动命令】与【监听端口】。我这里须要监听业务端口为8080,并且须要在运行时传入数据库连贯的参数,这里所配置的数据库源用户名明码连贯地址,在后续的云数据库RDS中会进行相干设置。 后端函数创立实现后进入函数详情界面,其余性能与上述前端函数雷同,不再复述 ...

September 2, 2022 · 1 min · jiezi

关于github:通过部署流行-Web-框架掌握-Serverless-技术

大家好,我是霍大侠,本篇咱们通过学习部署风行 Web 框架,如 Spring Boot,Express,Web IDE,让你把握 Serverless 函数计算架构和技术,领略弹性并发、高可用的益处。上面我将从实际介绍,实际演示,剖析详解三个大的章节来一步一步分享。 前言本文将带你学习: 把握 Serverless 的概念和架构把握阿里云函数计算产品的操作和流程部署风行 Web 框架到阿里云函数计算平台应用 Serverless Devs 客户端本地部署办法制作本人的 Web IDE 利用学习事项:1.难度:入门2.前提:创立本人的阿里云账号3.时长:60 分钟4.进入阿里云实验室:https://developer.aliyun.com/... Serverless 相干概念&实际,时长05:17 这里从 Serverless 演变;函数计算劣势;Serverless 利用场景 3 个方面来学习 Serverless。申明留神:本次试验中应用的阿里云函数计算 FC,对象存储 OSS 是流量产品,域名服务是预购产品。会产生流量费用和购买费用。请依据本身状况谨慎应用。如产生费用,请自行承当。当然也能够纯正浏览学习应用。 Serverless 演变Serverless,函数计算(Function Compute)到底是什么? Serverless,又叫无服务器。Serverless 强调的是一种架构思维和服务模型,让开发者无需关怀基础设施(服务器等),而是专一到应用程序业务逻辑上。Serverless 也是下一代计算引擎。比方阿里云平台 Serverless 产品次要包含阿里云函数计算 FC、Serverless 利用引擎 SAE、Serverless 工作流。所以你能够了解 Serverless 是一种架构思维。 我认为 Serverless 的外围是函数计算,它是一个事件驱动的全托管 Serverless 计算服务,您无需治理服务器等基础设施,只需编写代码并上传,函数计算会为您筹备好计算资源,并以弹性、牢靠的形式运行您的代码。 通常人们说的云函数也就是指 Serverless。 目前互联网风行的利用架构次要是从单体架构,到风行的微服务,和当初疾速倒退 Serverless 架构。能够看到 3 种架构的一些特点,单体架构耦合度高,弹性,扩展性差;微服务改善很多,更灵便,然而运维学习老本也很高。 Serverless 通过事件驱动模式,具备弹性高可用等特点;包含按需付费;免运维都是其弱小之处。我置信随着技术一直的倒退,Serverless 肯定是未来十分风行的技术架构。 咱们从这个阿里云官网介绍中能够看到 Serverless 针对不同场景的不同状态。随着 FaaS 呈现的规范模板,付费的定制化 FaaS 模板,我置信也会逐渐倒退起来,兴许最终是通过低代码配置间接 AI 智能生成函数,让咱们刮目相待。 ...

September 2, 2022 · 3 min · jiezi

关于github:什么是-Serverless-架构

随着工夫的推移,Serverless 架构变得越来越炽热,凭借着极致弹性、按量付费、低成本运维等个性,在很多畛域施展着越来越重要的作用;机器学习畛域在近些年也十分炽热,并在越来越多的行业中失去利用。实际上,机器学习我的项目中始终存在两大难题: 资源占用率高、利用率低,尤其在流量波峰和波谷差值较大的我的项目中,资源节约更为显著;部署、更新、保护复杂度高;而 Serverless 具备极致弹性、按量付费、低成本运维等个性,若将 Serverless 架构利用在机器学习我的项目中,在保障机器学习我的项目性能的同时,降低成本,又能进步资源利用率,是十分值得钻研和摸索的课题。基于此,由阿里云官网出品,来自阿里云、蚂蚁团体的 4 位专家刘宇、田初东、卢萌凯、王仁达(排名不分先后)零碎梳理阿里在 Serverless 架构下的 AI 教训,联袂推出新书《Serverless 架构下的 AI 利用开发:入门、实战与性能优化》 。 新书将在收费在 Serverless (serverlessdevs)公众号连载,欢送大家订阅关注! 前言本书是一本对于 Serverless 架构下机器学习实战的技术书,通过对 Serverless 架构的根底介绍、我的项目开发经验总结,以及常见的机器学习算法、模型、框架的学习,对将机器学习我的项目利用到 Serverless 架构、不同机器学习我的项目与 Serverless 架构联合以及基于 Serverless 架构进行机器学习利用开发等内容进行了摸索。 咱们心愿通过简单明了的语言、实在的案例,以及凋谢的源代码,为读者介绍 Serverless 架构与机器学习相干的基础知识。心愿读者能够通过本书真正了解 Serverless 架构与机器学习联合的重要价值,并能顺利在 Serverless 架构下开发、上线机器学习我的项目,从而更加间接地取得云计算带来的技术红利。 本书不仅有基础理论常识,还有大量的教训分享,以及对最新技术点的实际利用,包含但不限于 Serverless 架构下 GPU 实例的上手、多维度的冷启动优化计划、Serverless 架构多模调试能力等。 咱们心愿读者通过对本书的学习,能够对 Serverless 架构有一个更加全面、直观的理解,对 Serverless 架构下的机器学习有更加深刻的意识。同时,心愿通过本书的抛砖引玉,帮忙读者将机器学习我的项目在 Serverless 架构着落地,取得云计算倒退的技术红利。 第 1 章:介绍 Serverless 架构根底,包含 Serverless 架构的倒退、劣势、面临的挑战等;第 2 章:从 Serverless 架构的开发流程、与 ServerFul 开发流程的比照、传统框架迁徙等多个方面,对 Serverless 架构下的利用开发进行相干介绍;第 3 章:介绍机器学习相干的摸索,包含对反对向量机、神经网络等算法和模型的学习与钻研;第 4 章:介绍常见的机器学习框架以及在实战我的项目中的利用,便于读者理解常见的机器学习框架,以及部署到 Serverless 架构的计划等;第 5 章:介绍几个机器学习利用较为宽泛的畛域的我的项目实战,包含图像识别畛域、情感剖析畛域以及对模型降级迭代相干畛域的摸索,波及容器镜像、预留实例、GPU 实例等诸多 Serverless 架构的新性能和个性;第 6 章和第 7 章:介绍两个残缺的 Serverless 架构与 AI 联合的案例,从我的项目背景开始到相干模块的设计、我的项目的开发与部署,通过残缺的流程解说 Serverless 架构下机器学习我的项目的上手、开发、保护全过程;第 8 章:针对 Serverless 架构进行相干开发教训的分享以及 Serverless 利用调优办法的总结,包含 Serverless 架构下的冷启动优化计划、开发注意事项等内容。 ...

September 2, 2022 · 2 min · jiezi

关于github:基于阿里云Serverless函数计算开发的疫情数据统计推送机器人

[](https://developer.aliyun.com/...) 一、Serverless函数计算什么是Serverless?在《Serverless Architectures》中对 Serverless 是这样子定义的: Serverless was first used to describe applications that significantly or fully incorporate third-party, cloud-hosted applications and services, to manage server-side logic and state. These are typically “rich client” applications—think single-page web apps, or mobile apps—that use the vast ecosystem of cloud-accessible databases (e.g., Parse, Firebase), authentication services(e.g., Auth0, AWS Cognito), and so on. These types of services have been previously described as “(Mobile) Backend as a service", and I use “BaaS” as shorthand in the rest of this article. Serverless can also mean applications where server-side logic is still written by the application developer, but, unlike traditional architectures, it’s run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a third party. One way to think of this is “Functions as a Service” or “FaaS”.(Note: The original source for this name—a tweet by @marak—isno longer publicly available.) AWS Lambda is one of the most popular implementations of a Functions-as-a-Service platform at present, but there are many others, too.这样的形容我置信有很多小伙伴不明确,咱们能够这样子来了解Serverless:它的中文直译就是【无服务器】 ...

September 2, 2022 · 3 min · jiezi

关于github:Carina-全新版本-v0110-上线重磅升级不可错过

Carina 是一款高性能、免运维的云原生本地存储我的项目(GitHub 地址为:https://github.com/carina-io/...),目前已进入 CNCF 全景图。 Carina 旨在为云原生环境中的有状态利用提供高性能、免运维的本地存储解决方案,具体存储卷生命周期治理、本地设施治理、智能调度等能力。Carina是为数据库而生的本地存储计划,已在多个金融机构的生产环境中稳固运行多年。 千呼万唤始进去,carina终于迎来了v0.11.0版本! 01 版本重要变更移除HTTP Server 降级CSI官网镜像版本 移除局部反对快照代码 移除ConfigMap同步控制器 移除创立lvm卷所创立的thin-pool carina镜像挪动到独自命名空间 减少carina-ci-bot治理carina我的项目 反对Cgroup v1和Cgroup v2对设施限速 修复因为历史版本变更导致的文档形容不精确问题 修复当carina服务进行时,metric server panic问题 修复carina-scheduler在单pod多deviceGroup时评分计算笼罩的问题 批改carina-scheduler评分算法,使之更加扼要精确 批改carina-node音讯告诉模型,解决磁盘容量变更告诉不及时问题 减少carina e2e测试用以代替原有的e2e测试代码(开发测试中) 我的项目构造重构,应用controller-runtime办法代替原有协程 自定义资源Logicvolume从Namespace变更为Cluster 自定义资源Nodestorageresource构造字段变更,反对kubectl get nsr指令 减少反对单节点多个deviceGroup之间也遵循调度策略spreadout|binpack 优化Storageclass参数volumeBindingMode:Immediate状况下pvc调度逻辑 不再反对Storageclass未设置carina.storage.io/disk-group-name的状况进行pvc调度 当storageclass未设置carina.storage.io/disk-group-name时,carina-scheduler将阻止该Pod调度 当Storageclass存在carina.storage.io/allow-pod-migration-if-notready时,carina webhook将主动为pod增加容许故障转移注解 修复一些其余BUG 02 具体降级指南重要!降级carina v0.11.0 如果你是新装置carina v0.11.0版本的话,可间接应用如下指令装置 # 该镜像为latest,留神批改成v0.11.0$ cd deploy/kubernetes && ./deploy.sh# or$ helm repo add carina-csi-driver https://carina-io.github.io$ helm search repo -l carina-csi-driver$ helm install carina-csi-driver carina-csi-driver/carina-csi-driver --namespace kube-system --version v0.11.0如果你从<v0.11.0 版本升级,务必要遵循降级文档进行降级,降级文档为:https://github.com/carina-io/...,因为自定义资源Logicvolume从Namespace变更到Cluster,如果间接降级v0.11.0版本会导致无奈装置部署胜利,须要经验如下三个阶段。 ...

September 1, 2022 · 1 min · jiezi

关于github:基于阿里云-Serverless-快速部署-function-的极致体验

1.Serverless 前世今生1.1 Serverless 背景介绍云计算的一直倒退,涌现出很多改变传统IT架构和运维形式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面一直晋升云服务的技术能力,它们将利用和环境中很多通用能力变成了一种服务。但无论这些技术利用在哪里,帮忙企业“降本增效”是技术改革永恒的主题。 Serverless架构的呈现,带来了跨越式的改革。Serverless下主机治理、操作系统治理、根底软件的部署运维、资源分配和扩缩容能力全副由云厂商提供,把计算能力做成像水电煤一样的公共服务,这就意味着基于Serverless服务构建利用,开发者只须要专一在产品代码上,而无需治理和操作云端服务运行环境,计算资源从过来购买“服务器”转向购买对应的“服务”。 Serverless = Faas (Function as a service) + Baas (Backend as a service)Serverless解决模型: 1.2 Serverless 开发模式Serverless真正做到了部署利用无需波及基础设施的建设,主动构建、部署和启动服务。以大数据利用开发举例: 在传统开发流程中,咱们须要先依据大数据理论利用从采集,存储,荡涤,关联,到剖析开掘全链路所波及的组件列表,实现后端大数据平台一系列组件的装置部署,再等到大数据利用实现后,进行利用性能调试、利用+平台性能调优,最终测试、上线后,还须要大数据平台运维工程师对整个大数据平台进行保护。整个过程波及多个角色,而自身大数据平台的运维和调优具备肯定的技术门槛,调优成果齐全取决于自有员工的能力,而一个好的调优人员,就像一个好的数据库DBA一样,须要长期我的项目实际积攒,属于要害稀缺人才。 基于Serverless,所有事件变得非常简单了,云厂商以服务的模式对外提供大数据组件能力,以往简单的平台搭建过程失去齐全解放,只须要写完大数据应用程序后部署到Serverless服务即可,后续也不须要关怀任何服务器以及大数据平台组件的运维、调优操作。云厂商在对外提供服务的同时,背地都有一个齐备的团队7*24提供业余的撑持。因而只须要大数据利用开发工程师即可实现所有工作。当然,如果具备肯定的大数据平台能力,对大数据利用侧的性能调优也是十分无利的,往往能够事倍功半。 1.3 Serverless 外围价值1、升高经营复杂度Serverless架构使软件应用和服务器实现理解耦,服务器不再是用户开发和经营利用的焦点。在利用上线前,用户无须再提前布局服务器的数量和规格。在运维过程中,用户无须再继续监控和保护具体服务器的状态,只须要关怀利用的整体状态。利用经营的整体复杂度降落,用户的关注点能够更多地放在软件应用的体验、改良以及其余能带来更高业务价值的中央。 2、升高经营老本服务器不再是用户关注的受管资源,经营的复杂度降落,利用经营所须要投入的工夫和人力大大降低。在最好的状况下,能够做到少数几个利用管理员即可治理一个解决海量申请的利用零碎。 3、缩短产品的上市工夫在Serverless架构下,利用的性能被解形成若干个细颗粒度的无状态函数,性能与性能之间的边界变得更加清晰,功能模块之间的耦合度大大减小。这使得软件应用的开发效率更高,利用开发的迭代周期更短。 2.实战我的项目体验2.1 登陆阿里云控制台进入阿里云官网后,点击右上角登陆按钮,输出用户名和明码后登陆进入Dashboard2.2 进入函数计算服务 2.3 创立服务输出服务名称再点击确定 2.4 创立函数输出函数名,抉择运行时,点击创立这里以Node14作为例子 2.5 测试hello world看到hello world的返回,点击测试即可看到返回后果 2.6 创立API网关找到阿里云API网关服务创立分组输出分组名称创立API输出API名称,点击下一步抉择https,输出路由点击下一步,抉择刚刚创立的函数计算输出公布形容,点击公布进入分组,找到API网关的长期地址通过Postman调用,即可获取到函数计算的返回值 3.小结一般来说,社会越发达、越成熟,社会分工就越明确,技术亦是如此。云计算通过这么多年的倒退,逐步进化到用户仅需关注外围业务和业务运行所需的资源,基础设施及平台对立由云厂商来负责看护。阿里云 Serverless 让咱们不须要再操心服务端的运维,不须要关怀咱们不相熟的畛域,只须要专一于业务的开发、专一于产品的实现。咱们须要关怀的事件变少了,也意味着咱们能做的事件更多了。能够说,随着Serverless架构的衰亡,真正的云计算时代才算到来了。置信随着技术的飞速发展,Serverless在将来还有有限可能! https://developer.aliyun.com/article/985826 更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

September 1, 2022 · 1 min · jiezi

关于github:详解-Serverless-架构的-6-大应用场景

导读Serverless 架构将成为将来云计算畛域重要的技术架构,将会被更多的业务所驳回。进一步深究,Serverless 架构在什么场景下有优良的体现,在什么场景下可能体现得并不是很现实呢?或者说,有哪些场景更适宜 Serverless 架构呢? Serverless 架构的利用场景Serverless 架构的利用场景通常是由其个性决定的,所反对的触发器决定具体场景。如图 1-1 所示,CNCF Serverless Whitepaper v1.0 形容的对于 Serverless 架构所适宜的用户场景如下。 异步并发,组件可独立部署和扩大的场景。突发或服务使用量不可预测的场景。短暂、无状态的利用,对冷启动工夫不敏感的场景。须要疾速开发、迭代的业务。1-1 CNCF Serverless Whitepaper v1.0 形容的 Serverless 架构所适宜的用户场景 CNCF 除基于 Serverless 架构的个性给出 4 个实用的用户场景之外,还联合常见的触发器提供了具体的例子。 响应数据库更改(插入、更新、触发、删除)的执行逻辑。对物联网传感器输出音讯(如 MQTT 音讯)进行剖析。执行流解决(剖析或批改动态数据)。数据单次提取、转换和存储须要在短时间内进行大量解决(ETL)。通过聊天机器人界面提供认知计算(异步)。调度短时间内执行的工作,例如 CRON 或批处理的调用。机器学习和人工智能模型。继续集成管道,按需为构建作业提供资源。CNCF Serverless Whitepaper v1.0 基于 Serverless 架构的特点,从实践上形容了 Serverless 架构适宜的场景或业务。云厂商则站在本身业务角度来形容 Serverless 架构的典型利用场景。 通常状况下,当对象存储作为 Serverless 相干产品触发器时,典型的利用场景包含视频解决、数据 ETL 解决等;API 网关更多会为用户赋能对外的拜访链接以及相关联的性能等,当 API 网关作为 Serverless 相干产品的触发器时,典型的利用场景就是后端服务,包含 App 后端服务、网站后端服务甚至微信小程序等相干产品的后端服务。 一些智能音箱也会凋谢相干接口,这个接口也能够通过 API 网关触发云函数,取得相应的服务等;除了对象存储触发以及 API 网关触发,常见的触发器还有音讯队列触发器、Kafka 触发器、日志触发器等。 1. Web 利用或挪动利用后端如果 Serverless 架构和云厂商所提供的其余云产品联合,开发者可能构建可弹性扩大的挪动利用或 Web 应用程序 ,轻松创立丰盛的无服务器后端。而且这些程序在多个数据中心可用。图 1-2 所示为 Web 利用后端解决示例。 ...

September 1, 2022 · 1 min · jiezi

关于github:企业分账如何帮助用户解决成本优化和预算分配的问题

结尾咱们先讲一个小故事,这也是很多守业团队常常碰到的状况: 小王是一家互联网守业公司的研发领导,最后守业的时候研发团队只有 10 人左右。过后他最大的痛点是,如何率领技术团队尽快把 Idea 落地,业务上线。因而过后最大的诉求是业务可能疾速开发迭代,同时过后业务量并不会太大,云资源老本也不是太高,天然也不会太 care 云资源的老本调配。然而随着业务的高速倒退,业务架构也从原来的单体利用变成了微服务利用,同时,小王的公司也随之疾速扩张,研发人员也从 10 人扩张到一百多人。 此时,作为公司 CTO 的小王,也不得不将更多的重心从技术架构治理放到研发团队的治理上来。此时摆在他背后的研发团队分成了 7、8 个小组,别离负责不同微服务模块,包含了用户核心,交易中心,日志核心等等......云资源的老本呈指数增长,老本优化、估算调配也成为了小王的事不宜迟。 那么有没有一款好的工具能够帮忙小王解决这些问题呢?这时候就要借助一项企业高级个性—企业分账了。 SAE 企业分账能力介绍Serverless 利用引擎(SAE)作为一个通过多年倒退积淀,成熟优良的 PaaS 平台,天然也是具备了企业分账的能力,其外围就是通过阿里云的 Tag 标签零碎,实现利用的账单的分类,而后再通过阿里云的费用核心进行一些配置,最终实现分账。 标签布局当云资源(在 SAE 中即是利用)逐步增多时,利用标签将资源进行分组治理和归类,能够便于搜寻、聚合资源。最常见的就是为不同环境或我的项目等设置不同的标签,示例如下: 环境隔离:为不同的环境(如生产环境和测试环境)、操作系统(如 Windows Server 和 Linux)或者客户端平台(如 iOS 和 Android)绑定不同的标签。项目管理:在团队或者项目管理中,您能够增加以群组、我的项目或部门为维度的标签(如 CostCenter:aliyun),实现分组、分账治理。 实现办法SAE 实现企业分账的操作方法如下: 基于组织或业务维度,为资源(利用)布局标签。(图示中①)通过 SAE 控制台或 API 为利用绑定标签,建设利用和标签的关系。(图示中②)通过阿里云用户核心查看费用账单。(图示中③) 步骤一首先依据本身的业务,进行标签布局,而后能够到 SAE 控制台的利用治理页面内,进行标签的编辑。标签都是一对键值对(Key-Value)组成,每一个利用最多能够打 20 个标签。 步骤二须要在费用核心启用费用标签,启用过后,相干标签所蕴含的云资源的账单才会真正带上标签信息。只有账单带上了标签,咱们能力在账单明细中通过标签进行过滤筛选。 另外,咱们还能够新增财务单元,将相干标签的资源分配进该财务单元。此处的财务单元能够了解是一个费用统计汇合,将资源实例调配到创立的“财务单元”中,并依照“财务单元”维度灵便汇总、查看相应资源实例的账单费用。例如能够将雷同标签(相当于同一个部门)的不同云资源对立集中到一个财务单元,进行对立的账单统计与治理。 步骤三最初,能够在分账账单中查看对应的财务单元的相干具体账单,同时还能够导出不便进一步数据处理。“分账账单”蕴含了 SAE 利用 CPU 与内存的费用明细,用户能够用于查看每个“分拆项”的具体用量,同时每个免费项也蕴含了标签信息,因而作为企业外部分账的参考根据。 在分账账单中定制列勾选,用量与资源包抵扣,即可在控制台中显示计量明细。 此时,咱们能够看到相干账单明细,对于按量付费的客户,能够看到相干实例的用量状况。对于购买了资源包的用户,还能看到资源包抵扣状况。 并且,能够依据标签过滤显示账单详情,同时也能够将整个账单导出成 CSV 格局的文件,便于统计分析。 总结咱们能够发现企业分账这个性能,是面向企业客户生产费用分账的场景,解决的是企业费用外部 chargeback 的问题。企业费用分账无论是对于大企业,还是文中小王所在的日益发展壮大的中小企业都是一个必不可少的需要。它不只是作为一个企业迈向标准与成熟的重要标识,它也成为了企业上云做云产品选型的重要考量,因而标签分账性能也是 SAE 企业级能力的重要体现。 ...

September 1, 2022 · 1 min · jiezi

关于github:聊聊动态线程池的9个场景

大家好,我是小马哥。 线程池是一种基于 池化思维治理线程 的工具,应用线程池能够缩小 创立销毁线程的开销,防止线程过多导致 系统资源耗尽。在 高并发以及大批量 的工作解决场景,线程池的应用是必不可少的。 如果有在我的项目中理论应用线程池,置信你可能会遇到以下痛点: 线程池轻易定义,线程资源过多,造成服务器高负载。线程池参数不易评估,随着业务的并发晋升,业务面临呈现故障的危险。线程池工作执行工夫超过均匀执行周期,开发人员无奈感知。线程池工作沉积,触发回绝策略,影响既有业务失常运行。当业务呈现超时、熔断等问题时,因为没有监控,无奈确定是不是线程池引起。原生线程池不反对运行时变量的传递,比方 MDC 上下文遇到线程池就 GG。无奈执行优雅敞开,当我的项目敞开时,大量正在运行的线程池工作被抛弃。线程池运行中,工作执行进行,狐疑产生死锁或执行耗时操作,然而无从下手。基于以上诸多痛点,小马哥着手 hippo4j 的开发,致力于打造规范线程池 动静变更 和 监控 的中间件框架。 GitHub:https://github.com/opengoofy/hippo4j Gitee:https://gitee.com/agentart/hippo4j 什么是 hippo4jhippo4j 通过对 JDK ThreadPoolExecutor 线程池加强,以及扩大三方框架底层线程池等性能,为业务零碎进步线上运行保障能力。 小贴士:hippo4j 不止于 Java ThreadPoolExecutor 的加强,Dubbo、RabbitMQ、RocketMQ、Hystrix、Tomcat、Jetty、Undertow 等框架线程池也都有进行监控和动静变更。 什么场景适宜用 hippo4j1. 线程池随便定义,造成服务器高负载在零碎开发的过程中,因为波及到多人合作,难免会呈现信息不互通的状况。在同一个零碎,对于线程池来说,常见的是线程池随便定义。 开发者张三要记录用户操作日志,定义了 user-log-record-thread-pool;开发者李四要记录会员操作日志,定义了 member-log-record-thread-pool;开发者王五要记录权限操作日志,定义了 power-log-record-thread-pool;……随着零碎一直开发,雷同或不同语义的线程池被定义的越来越多,间接导致服务器资源重大耗损。 而如果零碎中应用 hippo4j,可能在控制台查看以后利用已有线程池,是否存在雷同语义且业务可复用线程池实例,防止线程资源适度节约。 2. 线程池参数不易评估业务中应用了线程池,十个程序员可能有九个都在犯嘀咕,这线程池的配置应该如何抉择? 我感觉犯纠结的点次要有两个,无外乎设置的数多了或者少了。 如果预设的线程数或阻塞队列数量少了,当业务量上来,会遇到两种状况,不论哪一种对业务来说都是不能承受的。 预估 200ms 执行完的工作,可能会 2s 执行完,因为工作都在排队。工作满了后,开始执行回绝策略,影响失常业务。如果超量设置线程池的参数,无疑会造成资源节约,同样会造成两种状况。 线程资源也是占用服务器资源的,开启的多了对服务器有肯定压力。如果过多的创立线程,当和其它线程池一起执行时,服务器 CPU 上下文切换也是个问题。大家都晓得,如果要批改运行中利用线程池参数,须要进行线上利用,调整胜利后再公布,而这个过程异样的繁琐,如果能在运行中动静调整线程池的参数多好。 美团技术团队基于这些痛点,推出了动静线程池的概念,催生了一批动静线程池框架,hippo4j 也是其一。 如果利用是集群部署,hippo4j 能够抉择批改线程池 某一实例,或者批改 集群全副实例,运行时失效,不须要再重启服务。 再比方,压测时应用 hippo4j 动静调整线程池参数,对于开发测试来说,也是个不错的抉择。 3. 线程池运行时报警策略从线程池运行时监控的角度登程,hippo4j 内置 4 种报警策略,线程池活跃度、阻塞队列容量、回绝策略触发以及工作运行超时报警。 ...

August 29, 2022 · 1 min · jiezi

关于github:如何把thinkphp5的项目迁移到阿里云函数计算来应对流量洪峰

原文链接:https://developer.aliyun.com/article/982746 1. 为什么要迁徙到阿里云函数?我的我的项目是一个节日礼品支付我的项目,过节的时候会有短时间的流量洪峰。平时访问量很低。之前的架构是购买的阿里云alb+多台ecs+云msyql+云redis。最大的问题就是老本问题。平时流量低的时候ecs老本也无奈缩减。阿里云函数计算是serverless,即无服务架构,就比方你的业务流量短时间忽然很多。函数计算就会毫秒级别启动多个实例(阿里云函数计算 FC 用来运行函数的最小单元),如果没人拜访能够没有实例运行,做到0费用。然而有人拜访的时候第一次冷启动就略微慢一点,能够依据理论状况设置起码保留一个实例。部署到阿里云函数计算,还能缩小运行环境搭建的老本。之前的模式须要在ecs装置nginx,而后装置php,以及装置php的驱动程序redis等。看了下阿里云函数计算官网文档,目前custom runtime Debian 9内置php7.4并且看了下内置的php的扩大整好也反对到了我整好须要的redis。不仅剩下了买服务器钱,而且还不必装置php环境了,不仅如此每个月还有收费的算力额度。迁徙起因总结下:1老本升高了很多2免去了环境部署3主动扩容,天生应答高并发 2. 革新旧我的项目适配函数计算。代码改变:尽管说免去了环境部署,然而我之前的代码还是有些不适配的中央,比方之前代码的日志都是寄存到服务器的某个目录的。如果迁徙到函数计算的话,实例会随时销毁重建,导致日志失落。解决办法就是把日志写入到阿里云oss下面,或者应用阿里云的日志服务写到那个外面去。这里还有一点要留神,我的我的项目不是前后端拆散的,鉴权还是穿透的session和cookie模式。如果session是保留在服务端的文件的话也会存在下面的问题,倡议存储的redis外面,我的我的项目本省就是存到redis外面的,所以这块不须要改变,如果你的我的项目存在这样的问题那就须要改良下了。函数计算和云msyql和云redis通信的时候肯定要采纳vpc内网互通的准则缩小链路传输的开销以及链路劫持危险。 3. 减少s.yml以及启动shell脚本配置s.yml应用Serverless Devs客户端工具公布到阿里云函数计算,Serverless Devs这个工具并非阿里云的客户端工具,而是一个开源凋谢的 Serverless 开发者平台,致力于为开发者提供弱小的工具链体系。通过该平台,开发者不仅能够一键体验多云 Serverless 产品,极速部署 Serverless 我的项目,还能够在 Serverless 利用全生命周期进行我的项目的治理,并且非常简单疾速的将 Serverless Devs 与其余工具/平台进行联合,进一步晋升研发、运维效力。它的官网地址:https://www.serverless-devs.com/ 而后看下我的s.yml外面的配置信息,具体的说下重要项是干嘛的。 edition: 1.0.0name: compoent-testaccess: 'default'services: cn-hangzhou-test1002-func-3i3c0f95: component: devsapp/fc props: region: cn-hangzhou service: logConfig: enableRequestMetrics: true enableInstanceMetrics: true logBeginRule: DefaultRegex project: aliyun-fc-cn-hangzhou-ae3ef8b8-db4a-5b7a-a040-7012789ad20f logstore: function-log role: acs:ram::1621341641365186:role/AliyunFcDefaultRole internetAccess: true name: test1002 function: customRuntimeConfig: command: - bash args: - '-c' - 'chmod 777 /code/start.sh && /code/start.sh' handler: index.handler instanceType: e1 runtime: custom timeout: 5 instanceConcurrency: 20 memorySize: 512 caPort: 9000 environmentVariables: {} internetAccess: true name: func-3i3c0f95 asyncConfiguration: {} codeUri: ./test1002/func-3i3c0f95 triggers: - name: defaultTrigger description: '' type: http qualifier: LATEST config: methods: - GET - POST - PUT - DELETE authType: anonymous codeUri: ./test1002/func-3i3c0f95这个指定的是我的我的项目代码的地位,会把这个目录上面的代码拷贝到 debain零碎的 /code目录上面。   ...

August 26, 2022 · 1 min · jiezi

关于github:Serverless实战2分钟教你用Serverless每天给女朋友自动发土味情话

原文链接:https://developer.aliyun.com/article/981268 演示视频:https://developer.aliyun.com/live/249772一、Serverless简介Serverless,中文意思是“无服务器”,所谓的无服务器并非是说不须要依附服务器等资源,而是说开发者再也不必过多思考服务器的问题,能够更专一在产品代码上,同时计算资源也开始作为服务呈现,而不是作为服务器的概念呈现。 1.Serverless架构次要蕴含两局部:Baas和Faas,通常位于云端,应用时不须要关注最底层的服务器。Baas(后端即服务:Backend as a Service)包含对象存储、云数据库、API网关、音讯推送等。Faas(函数即服务:Functions as a Service)对计算能力进行了形象,能够在无需治理服务器的状况下响应事件。 2.Serverless三大利用场景场景一:事件触发场景,即有事件触发时才会执行。场景二:流量突发场景,遇到突发大流量状况时,Serverless架构下按需加载,弹性伸缩,节俭资源,负载平衡。场景三:大数据处理场景,用户只须要上传外围代码到函数计算,就能够疾速实现整个工作。 3.Serverless的劣势传统架构下,面对大流量场景,须要减少机器或者对机器降级,运维较为艰难。面对顶峰和低谷,无奈做到按需应用,老本较高。Serverless架构下,开发者只需专一代码开发,无需在各个云资源控制台手动开明服务和配置管理,并可能依据业务申请主动进行弹性伸缩;反对用户按需付费,老本较低;开发周期快,很大水平上晋升了开发、部署的效率。具体能够查看阿里云相干文档 https://developer.aliyun.com/group/serverless 二、Python实现发送邮件import requestsimport yagmail # 此模块用于发邮件import schedule # 此模块用于打算工作from bs4 import BeautifulSoupimport reran = 0url = 'https://tianqi.2345.com/cixian1d/70177.htm' # 定义天气预报的urlloveurl = 'https://www.guaze.com/juzi/23389.html' # 定义情话的urldef email(): global ran # 将ran变量申明为全局变量 web = requests.get(url) # print(web.text) page = BeautifulSoup(web.text,"html.parser") # print(ran) # print(love[ran]) weather = page.find("div",class_="real-today") # print(weather.text) web2 = requests.get(loveurl) web2.encoding = 'gb2312' page = BeautifulSoup(web2.text, "html.parser") div = page.find('div', class_="content") div = str(div.text) # print(div) grep = re.compile(r"\d+、(.*)") content = grep.findall(div) # print(content)# email函数内的内容是爬取天气和情话的,具体的地址天气你能够更换url yag = yagmail.SMTP( host='smtp.qq.com', user='xxxxxxx@qq.com', # 如过用的是qq邮箱就写smtp.qq.com,如果是163就写smtp.163.com password='xhaztrwpjffpbdhh', smtp_ssl=True # 受权码在qq邮箱里开启smtp就会生成一个 ) weather = [weather.text,"每日情话:",content[ran], # 定义发送内容 yagmail.inline(r"/.love.jpg") # 附件图片,不发图片能够删掉 ] yag.send( to=['xxxxxxxxx@qq.com'], subject='早鸭', # 邮件主题 contents=weather # 发送的内容为下面定义的weather,其中weather.text是天气预报,content[ran]是情话 ) print("发送实现") ran += 1schedule.every().day.at("05:21").do(email) # 每天5点20分执行函数email0#schedule.every(10).seconds.do(email) #每10秒执行一下函数email的内容,我这里用于测试while True: schedule.run_pending()三、部署到阿里云Serverless,实现主动发送1.登录到阿里云首页 ...

August 26, 2022 · 1 min · jiezi

关于github:传统单节点网站的-Serverless-上云

什么是函数?刚刚考完数学没多久的我,脑里立马想到的是自变量、因变量、函数值,也就是y=f(x)。当然,在计算机里,函数function往往指的是一段被定义好的代码程序,咱们能够通过传参调用这个定义好的函数,实现咱们所须要的性能。那么,明天的函数计算FC又是什么? 云计算时代的当下,容器化技术与各种工具倒退的DevOps,曾经把开发与运维的工作进行了新的兼顾,开发人员在实现代码的编写后,无需思考环境,间接提交到各种流水线就能够实现测试、开发、部署,我的项目构建微服务,由容器实现环境的封装。然而往往咱们最终还是须要投入精力到业务上线的集群,是公有云环境还是私有云?是裸金属服务器还是云实例ECS?是自购还是租用? 当然,DevOps的落地、服务器\集群的运维,这些都是须要投入大量的资源与精力,DevOps是一条捷径,但不是惟一的前途。而函数计算FC的呈现,带来了无服务Serverless的架构,让开发者在开发和部署的时候,不再有部署服务简单的感觉。 对服务器的无感召,能够使开发者真正的关注在本人的代码上。阿里云Serverless函数式极简编程可专一于业务翻新,无洽购和部署老本、提供监控报警等齐备的可观测能力。阿里云函数计算FC是事件驱动的全托管计算服务,真正的无需去思考服务器的运维治理,只须要实现开发的代码进行上传,函数计算会通过角色策略去布局计算资源,弹性的形式执行函数,最初高效的执行部署。优雅! Serverless 将会有那些实用场景?是集体?还是生产?那么这次我将部署两种不同方向的利用对 Serverless 进行测评! 一、告诉零碎与Webhook,Trigger触发与Chat机器人。许多零碎中波及到的push类性能,例如邮件、短信、Webhook。当然Webhook的能力不只是信息告诉,不过这里所指的告诉性能必然是须要基础设施也就是服务器来撑持运行,如果将这些性能间接由Serverless来操作,咱们便无需领取运维一台服务器,节俭了大量的工作与费用。同样,咱们能够利用Serverless事件驱动模型实现定时主动触发工作,主动签到主动发送。 二、其次当然是Web类的利用。基于各类Web框架的利用部署,构建基于Java、Python、PHP等语言的站点,Serverless很容易实现如wordpress这样的博客利用的上线。配合其余云产品,Codeup、OSS、RDS等,更能实现高可用高性能的Web利用,如官网提供的Kod云盘零碎。 Serverless农产品电商网站上云革新这里我拿隔壁软件业余(俺是网络技术的)的一个大作业我的项目作为部署的案例。我的项目是非常简单并且性能繁多的,然而也是十分经典的前后端拆散我的项目,因为我开发不太会,我的项目具体技术就不献丑了。之前据说是有什么版权的,我就不放源代码了hhhh。 在革新之前,我置信是很多中小型公司业务的经典AllinOne构造,把业务波及到的所有服务中间件运行在一台服务器/虚拟机上,尽管当初看可能完完全全是实验室环境,然而理论看到的仍然有很多我的项目是这么做的。害处也不必多提,部署运维难、难以进行资源的扩容、后续革新简单、性能差没有利用高可用技术等等。。。 Serverless的农产品电商平台上云,我的项目比较简单,布局就在同一地区了。次要是将前端HTML页面与后端Jar包运行别离由两个独自的Serverless函数实现运行计算。其余撑持服务上云,别离用对应的云产品实现,这里Redis服务因为我本人ECS上有运行redis服务,就不再独自购买云数据库Redis版了,当然举荐应用阿里云的Redis云数据库产品。 1.Serverless服务创立进入函数计算控制台,抉择【服务及函数】,点击【创立服务】输出创立服务的名称与形容,开启日志性能,点击确定,实现服务的创立 服务创立实现后,进入【服务详情】,找到【网络配置】,点击【编辑】抉择容许拜访VPC,抉择自定义配置,抉择VPC、vSwitch、平安组,这里须要和后续其余撑持的云产品(数据库等)放弃在同一VPC下。因而须要做好云上网络的布局,也要看一下产品是否在地区下有没有库存。 2.前端页面Serverless函数创立实现服务创立后,点击【创立函数】,进入函数的创立页面抉择【应用自定义运行时平滑迁徙WebServer】,输出函数名称,抉择运行环境为【Nginx】,上传前端html代码与nginx的配置文件,抉择监听端口为80,即为原nginx中间件的服务端口。 实现函数创立后,进入到函数详情界面,能够在函数代码中对代码进行编辑批改,代码改变后须要点击部署代码从新上传。上述也提到了,这里须要将Nginx服务配置一起上传,其中须要拷贝一份/etc/nginx/mime.types文件到当下目录,防止mime文件类型映射谬误。 这里放nginx要害配置,依据本人的业务状况批改,留神配置中端口监听须要与函数创立监听端口保持一致,同时网页代码的门路设置为/code http { include mime.types; #留神引入此文件 keepalive_timeout 900; server { listen 80; server_name localhost; location / { root /code; index index.html index.htm; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /users { proxy_pass http://serverless.后端函数拜访地址.run; #Nginx反代传给后端的函数,地址在后续后端函数创立完能够拷贝 } location /items { proxy_pass http://serverless.后端函数拜访地址.run; #Nginx反代传给后端的函数,地址在后续后端函数创立完能够拷贝 } 能够在调用日志查问相干日志 当函数触发运行,Serverless将会依据拜访申请主动起实例,在这里能够手动登陆实例,去进行中间件服务的日志、运行环境的一些查看与排错。 3.后端Serverless函数创立回到函数服务界面,再次点击【创立函数】,进入函数的创立页面抉择【应用自定义运行时平滑迁徙WebServer】,输出函数名称,抉择运行环境为【Java】,上传打包好的Jar包文件。依据具体业务批改【启动命令】与【监听端口】。我这里须要监听业务端口为8080,并且须要在运行时传入数据库连贯的参数,这里所配置的数据库源用户名明码连贯地址,在后续的云数据库RDS中会进行相干设置。 后端函数创立实现后进入函数详情界面,其余性能与上述前端函数雷同,不再复述 ...

August 26, 2022 · 1 min · jiezi

关于github:9月17日-杭州站-Serverless-Developer-Meetup-开启报名

2021年 Serverless Developer Meetup 在北京、上海、杭州、深圳胜利巡回举办后,2022年 “最适宜中国开发者的 Serverless 实操沙龙” 如约而至,9月17日(星期六)杭州集结,招集酷爱开源技术的你! 本次 Meetup 仍然聚焦 “Serverless 在中国企业的落地 & 开发者实操与学习” ,特地邀请到阿里云、高德地图的 Serverless 一线技术专家,分享以后 Serverless 架构 CICD 的最新摸索钻研;带来 Serverless 在高德业务体系中的降本增效实际;全视角解析 Serverless 原子化能力是如何晋升研发效力,加强开发幸福感。更有 Serverless Workshop 等你来玩,手把手带你体验 1 分钟极速部署的乐趣,感触 Severless 算力之美。收费报名即可加入流动,咱们筹备了超多周边礼品,等你一起来 Serverless! 流动工夫:2022年09月17日(周六) 13:00流动地点:杭州-阿里巴巴西溪园区B区访客核心 流动亮点: 如何应用 Serverless 架构进行 CICD 摸索,助力企业减速翻新?高德是如何在简单业务场景中实际 Serverless ?站在 K8s 生态角度看看 Serverless;Serverless 原子化能力如何帮忙企业扩大业务零碎?Serverless Workshop 杭州站限定倒闭:手把手体验乏味场景!报名形式: http://hdxu.cn/io5jB 现场还筹备了超多惊喜好礼,等你来拿! 讲师阵容 13:30-14:00 | Serverless 架构的 CICD 摸索 袁坤阿里云云原生前端技术专家Serverless Devs 开发者工具 PMC 14:05-14:35 | 高德的 Serverless 落地实际 ...

August 26, 2022 · 1 min · jiezi

关于github:什么是-Serverless-架构

随着工夫的推移,Serverless 架构变得越来越炽热,凭借着极致弹性、按量付费、低成本运维等个性,在很多畛域施展着越来越重要的作用;机器学习畛域在近些年也十分炽热,并在越来越多的行业中失去利用。实际上,机器学习我的项目中始终存在两大难题: 资源占用率高、利用率低,尤其在流量波峰和波谷差值较大的我的项目中,资源节约更为显著;部署、更新、保护复杂度高;而 Serverless 具备极致弹性、按量付费、低成本运维等个性,若将 Serverless 架构利用在机器学习我的项目中,在保障机器学习我的项目性能的同时,降低成本,又能进步资源利用率,是十分值得钻研和摸索的课题。基于此,由阿里云官网出品,来自阿里云、蚂蚁团体的 4 位专家刘宇、田初东、卢萌凯、王仁达(排名不分先后)零碎梳理阿里在 Serverless 架构下的 AI 教训,联袂推出新书《Serverless 架构下的 AI 利用开发:入门、实战与性能优化》 。 新书将在收费在 Serverless (serverlessdevs)公众号连载,欢送大家订阅关注! 前言本书是一本对于 Serverless 架构下机器学习实战的技术书,通过对 Serverless 架构的根底介绍、我的项目开发经验总结,以及常见的机器学习算法、模型、框架的学习,对将机器学习我的项目利用到 Serverless 架构、不同机器学习我的项目与 Serverless 架构联合以及基于 Serverless 架构进行机器学习利用开发等内容进行了摸索。 咱们心愿通过简单明了的语言、实在的案例,以及凋谢的源代码,为读者介绍 Serverless 架构与机器学习相干的基础知识。心愿读者能够通过本书真正了解 Serverless 架构与机器学习联合的重要价值,并能顺利在 Serverless 架构下开发、上线机器学习我的项目,从而更加间接地取得云计算带来的技术红利。 本书不仅有基础理论常识,还有大量的教训分享,以及对最新技术点的实际利用,包含但不限于 Serverless 架构下 GPU 实例的上手、多维度的冷启动优化计划、Serverless 架构多模调试能力等。 咱们心愿读者通过对本书的学习,能够对 Serverless 架构有一个更加全面、直观的理解,对 Serverless 架构下的机器学习有更加深刻的意识。同时,心愿通过本书的抛砖引玉,帮忙读者将机器学习我的项目在 Serverless 架构着落地,取得云计算倒退的技术红利。 第 1 章:介绍 Serverless 架构根底,包含 Serverless 架构的倒退、劣势、面临的挑战等;第 2 章:从 Serverless 架构的开发流程、与 ServerFul 开发流程的比照、传统框架迁徙等多个方面,对 Serverless 架构下的利用开发进行相干介绍;第 3 章:介绍机器学习相干的摸索,包含对反对向量机、神经网络等算法和模型的学习与钻研;第 4 章:介绍常见的机器学习框架以及在实战我的项目中的利用,便于读者理解常见的机器学习框架,以及部署到 Serverless 架构的计划等;第 5 章:介绍几个机器学习利用较为宽泛的畛域的我的项目实战,包含图像识别畛域、情感剖析畛域以及对模型降级迭代相干畛域的摸索,波及容器镜像、预留实例、GPU 实例等诸多 Serverless 架构的新性能和个性;第 6 章和第 7 章:介绍两个残缺的 Serverless 架构与 AI 联合的案例,从我的项目背景开始到相干模块的设计、我的项目的开发与部署,通过残缺的流程解说 Serverless 架构下机器学习我的项目的上手、开发、保护全过程;第 8 章:针对 Serverless 架构进行相干开发教训的分享以及 Serverless 利用调优办法的总结,包含 Serverless 架构下的冷启动优化计划、开发注意事项等内容。 ...

August 26, 2022 · 2 min · jiezi

关于github:github生成token-2022年8月26日

1、浏览器登录github (https://github.com) 2、在个人主页界面,点击右上角头像 -> Settings 3、setting界面 左侧边栏最下方找到 Developer settings 4、点击 Personal access tokens 5、点击 Generate new token 6、填写标签,抉择过期工夫、权限范畴(给本人用倡议全选)。 7、点击Generate token 8、复制新创建的 new token(仅在第一次生成的时候能够获取token,之后都是无奈获取到这个token的,只能从新生成token) 同步更新到本人的语雀https://www.yuque.com/diracke...

August 26, 2022 · 1 min · jiezi

关于github:通过部署流行-Web-框架掌握-Serverless-技术

大家好,我是霍大侠,本篇咱们通过学习部署风行 Web 框架,如 Spring Boot,Express,Web IDE,让你把握 Serverless 函数计算架构和技术,领略弹性并发、高可用的益处。上面我将从实际介绍,实际演示,剖析详解三个大的章节来一步一步分享。 前言本文将带你学习: 把握 Serverless 的概念和架构把握阿里云函数计算产品的操作和流程部署风行 Web 框架到阿里云函数计算平台应用 Serverless Devs 客户端本地部署办法制作本人的 Web IDE 利用学习事项:1.难度:入门2.前提:创立本人的阿里云账号3.时长:60 分钟4.进入阿里云实验室:https://developer.aliyun.com/... Serverless 相干概念&实际,时长05:17 这里从 Serverless 演变;函数计算劣势;Serverless 利用场景 3 个方面来学习 Serverless。申明留神:本次试验中应用的阿里云函数计算 FC,对象存储 OSS 是流量产品,域名服务是预购产品。会产生流量费用和购买费用。请依据本身状况谨慎应用。如产生费用,请自行承当。当然也能够纯正浏览学习应用。 Serverless 演变Serverless,函数计算(Function Compute)到底是什么? Serverless,又叫无服务器。Serverless 强调的是一种架构思维和服务模型,让开发者无需关怀基础设施(服务器等),而是专一到应用程序业务逻辑上。Serverless 也是下一代计算引擎。比方阿里云平台 Serverless 产品次要包含阿里云函数计算 FC、Serverless 利用引擎 SAE、Serverless 工作流。所以你能够了解 Serverless 是一种架构思维。 我认为 Serverless 的外围是函数计算,它是一个事件驱动的全托管 Serverless 计算服务,您无需治理服务器等基础设施,只需编写代码并上传,函数计算会为您筹备好计算资源,并以弹性、牢靠的形式运行您的代码。 通常人们说的云函数也就是指 Serverless。 目前互联网风行的利用架构次要是从单体架构,到风行的微服务,和当初疾速倒退 Serverless 架构。能够看到 3 种架构的一些特点,单体架构耦合度高,弹性,扩展性差;微服务改善很多,更灵便,然而运维学习老本也很高。 Serverless 通过事件驱动模式,具备弹性高可用等特点;包含按需付费;免运维都是其弱小之处。我置信随着技术一直的倒退,Serverless 肯定是未来十分风行的技术架构。 咱们从这个阿里云官网介绍中能够看到 Serverless 针对不同场景的不同状态。随着 FaaS 呈现的规范模板,付费的定制化 FaaS 模板,我置信也会逐渐倒退起来,兴许最终是通过低代码配置间接 AI 智能生成函数,让咱们刮目相待。 ...

August 25, 2022 · 3 min · jiezi

关于github:阿里云丁宇以领先的云原生技术激活应用构建新范式

8 月 11 日,2022 阿里云飞天技术峰会在深圳举办,会上阿里云提出云原生激活利用构建三大范式,并公布最新的产品与解决方案。基于分布式云容器平台 ACK One,实现多地区分布式系统统一治理;公布 ACK FinOps 解决方案,让企业实现数字化老本治理,云原生老本优化。同时在峰会现场发表,音讯队列 RocketMQ5.0 全面商业化,以更优的老本、超大规模弹性、轻量易集成、全链路可观测的劣势,助力企业构建稳固的音讯零碎。 阿里巴巴研究员、阿里云智能云原生利用平台总经理丁宇在主论坛发表演讲,以下依据演讲内容整顿而成。 丁宇在峰会现场 明天,企业应用构建仍然面临很大挑战,资源如何按需应用,实现降本增效?如何在简单零碎架构下充沛保障业务稳固和连续性,如何做到利用的麻利和业务的智能化?以及十分重要的一点,如何保障系统的可信和平安? 企业亟需充沛开掘云计算的技术红利,助力业务倒退,发明更多的商业价值。而云原生能够激活利用构建范式,以解决企业在新期间遇到的挑战。 全面容器化。容器带来运维的标准化,明天容器曾经成为云计算和企业交互的新界面,并带来弹性和可伸缩能力的晋升,助力企业应答降本增效的刚需。同时咱们也看到一个趋势就是全负载的容器化。明天讲的容器化,不仅仅是微服务,包含 AI、大数据等新型利用也在全面容器化,这就让容器部署变得无处不在。 核心技术互联网化。互联网化能够撑持业务的麻利迭代,同时构建弹性架构,让利用能够从容应对流量的顶峰,并实现高可用、高牢靠,保障业务的连续性。 利用 Serverless 化。Serverless 大幅度晋升企业开发运维效率。并且因为全托管,带来了更加极致的弹性,针对所有场景进行笼罩,让利用上云更简略。 IDC 预测:到 2024 年,因为采纳了微服务、容器、动静编排和 DevOps 等技术,新增的生产级云原生利用在新利用的占比将从 2020 年的 10% 减少到 60%。 针对三大利用构建新范式,阿里云提供了哪些云原生产品与计划呢? 首先咱们来看容器服务。阿里云容器产品公布 7 年以来,已倒退成为企业客户与阿里云自研飞天云操作系统交互的新界面。相比开源计划,阿里云容器服务实现了计算密集型利用性能晋升 20%,容器网络延时升高 50%,异构资源利用率晋升 100%,并实现全链路可观测。目前容器服务 ACK 已全面降级为 ACK Anywhere,在企业任何须要云的中央,提供对立的容器基础设施能力。 分布式云容器平台 ACK One:多地区分布式系统统一治理 据预测,到 2025 年,50% 大型企业将通过分布式云推动业务翻新,为此阿里云推出了企业级多地区/多集群容器治理平台 ACK One,大幅简化了集群治理界面,提供统一的治理、交付、运维体验。无论是基于公共云、专有云、自有 IDC 还是边缘节点,用户都能够通过 ACK One 进行对立的容器集群治理、资源调度、数据容灾和利用交付。 泛生子是我国当先的癌症精准医疗公司,基于ACK容器技术支持对癌症基因检测数据处理,充分利用了云的弹性能力,日解决能力在过来三年晋升了 10 倍, 单样本解决老本相比于云下节省成本 60%。 vivo 是国内出名的智能手机厂商,其 AI 计算平台通过 ACK One ,及时满足算力需要,大大缩短资源交付周期,从数月缩短到天级别。对于长期的短期应用的算力需要,通过混合云应用私有云资源,可升高 90% 以上老本。 ...

August 25, 2022 · 2 min · jiezi

关于github:就在今天阿里巴巴开源开放周云原生专场线上直播来啦

面对疾速变动的世界开源畛域涌现了哪些新技术和倒退模式?开源社区建设又有哪些新进展和翻新实际? 欢送来“阿里巴巴开源凋谢周”寻找答案1 场主论坛、5 大分论坛、海量周边抽奖精彩不停! 8.23 阿里巴巴开源凋谢周云原生专场20:00 阿里云云原生视频号在线直播 预约观看,和开发者和开源爱好者一起摸索开源畛域最佳实际和新机遇! 开源生态与将来阿里巴巴开源委员会分管委员蒋江伟(小邪)、Matt Asay( VP of MongoDB)、bilibili 技术委员会主席毛剑,邀请你一起聚焦开源生态倒退,前瞻开源趋势和将来。 与中国信息通信研究院云计算与大数据研究所副所长栗蔚,上海交通大学长聘传授、人工智能研究院总工程师、上海白玉兰开源凋谢研究院执行院长金耀辉,Apache 软件基金会首位华人董事、Tetrate 开创工程师吴晟,与阿里巴巴开源委员会秘书长、开源办公室负责人王晶昱(沈询)在主论坛上共话云与开源的更多可能。 阿里云在云原生畛域领有泛滥出名开源我的项目,笼罩容器、利用交付、音讯、微服务、Serverless 等技术方向。 明日 20:00-22:00 分论坛:云原生专场将聚焦云原生畛域热门开源我的项目,带来《云原生开源技术演进与生态倒退》,全面展现云原生开源我的项目技术竞争力与生态建设,助力开发者全面拥抱云原生。 欢送关注 Serverless Devs阿里云高级技术专家Serverless Devs 社区联结创始人 20:30-20:55:阿里云高级技术专家 Servelress Devs 社区联结创始人王仁达将带来精彩议题《Serverless Devs:Serverless 利用研发效力再晋升》,与各位分享社区最新近况,欢送大家点击下方预约观看! 点击下方链接,进入阿里巴巴开源官网,可获取 PPT 下载地址和直播回看地址。https://opensource.alibaba.com/collection/osweek2022 更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

August 25, 2022 · 1 min · jiezi

关于github:基于-ServerlessOSS-分分钟实现图片秒变素描

简介: 在阿里云Serverless函数计算服务中部署一般图片转素描图函数服务,实现将批量上传到指定OSS桶内的图片主动转换为素描图并保留到另一个OSS桶内 场景介绍小明接到学校老师安顿的工作,须要批量将班级里同学们拍的一般照片转换为素描图,供课堂游戏应用,于是求助到程序员老爸,机智的程序员老爸分分钟用几行Python代码解决:在阿里云Serverless函数计算服务中部署一般图片转素描图函数服务,实现将批量上传到指定OSS桶内的图片主动转换为素描图并保留到另一个OSS桶内。 指标读者理解阿里云Serverless、OSS、FC产品,有肯定的云计算实践经验及Python编程教训,相熟阿里云鉴权零碎及图片解决OpenCV库的集体开发者。 相干概念Serverless:全称Serverless computing,既无服务器计算,是云计算的一种新模式,区别于传统的IaaS、PaaS、SaaS。无服务器运算不代表它真的不须要服务,而是指一般开发者不必过多思考服务器、app运行环境及各种周边依赖问题,计算资源真正成为一种服务而不是服务器或者容器。它容许开发者在以治理某个具体性能函数的粒度进行部署及运维治理,以便让开发者专一于外围业务逻辑,更疾速地开发利用。Function Compute:后面讲的Serverless是一种抽象层次更高说法,“FaaS + BaaS”是Serverless架构模式的一种实现,阿里云Function Compute就是典型的FaaS,配合阿里云丰盛的BaaS(SLS、OSS、RDS等)服务,能够十分疾速的部署利用。FC是一种基于事件驱动的全托管计算服务,用户无需洽购与治理服务器等基础设施,只需编写并上传代码。FC应用计算、存储资源,弹性地、牢靠地运行工作,并提供日志查问、性能监控和报警等性能。 前提条件/环境筹备1.已开明阿里云FC、OSS、SLS服务2.提前准备好一般图片转换为素描图的Python代码3.提前准备好测试图片4.提前创立好两个测试用的OSS桶(不能将转换后的图片上传到同一个OSS bucket中,这会导致函数被有限循环执行) 操作步骤步骤一:创立函数计算FC服务选择函数及服务点击“创立服务”,填写名称和形容:进入函数治理,点击“创立函数”:运行环境抉择Python 3.6,代码上传形式抉择应用示例代码,申请处理程序类型抉择处理事件申请触发器抉择OSS,Bucket抉择提前创立好的sketch-image-input,文件后缀为.jpg,避免其余类型的文件上传后误触发函数执行受权角色测试默认提供的Python函数,相熟下基本功能:步骤二:编写Python脚本,实现一般图片转换为素描图函数在编辑器中,输出提前写好的Python代码:参考代码如下: # -*- coding: utf-8 -*-import cv2import jsonimport loggingimport oss2def sketch_image(source_image, target_image): # read image image = cv2.imread(source_image) # sketch image grey_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) invert_image = cv2.bitwise_not(grey_image) gaussian_blur_image = cv2.GaussianBlur(invert_image, (7, 7), 0) inverse_image = cv2.bitwise_not(gaussian_blur_image) sketch_image_result = cv2.divide(grey_image, inverse_image, scale=256.0) # save image cv2.imwrite(target_image, sketch_image_result) cv2.waitKey(0) cv2.destroyAllWindows()def handler(event, context): logger = logging.getLogger() evt = json.loads(event) creds = context.credentials # Required by OSS sdk auth=oss2.StsAuth( creds.access_key_id, creds.access_key_secret, creds.security_token) evt = evt['events'][0] bucket_name = evt['oss']['bucket']['name'] endpoint = 'oss-' + evt['region'] + '.aliyuncs.com' bucket_input = oss2.Bucket(auth, endpoint, bucket_name) bucket_output = oss2.Bucket(auth, endpoint, 'sketch-image-ouput') logger.info('oss endpoint: %s' % endpoint) objectName = evt['oss']['object']['key'] logger.info('oss objectName: %s' % objectName) newKey = 'sketch_' + objectName # Download image source_image = '/tmp/%s' % objectName bucket_input.get_object_to_file(objectName, source_image) logger.info('download image %s success.' % source_image) # Sketch image target_image = '/tmp/%s' % newKey sketch_image(source_image, target_image) # Upload image with open(target_image, 'rb') as fileobj: bucket_output.put_object(newKey, fileobj) logger.info('upload image %s success.' % newKey)函数编写过程中,参考了阿里云提供的SDK案例,内容十分丰盛,想要的性能都有,且FC提供的Python运行环境内置oss、OpenCV等罕用模块,很好的撑持一般开发者疾速实现性能,点赞:FC应用OSS触发器SDK:https://help.aliyun.com/document_detail/74765.htmlOSS文件下载、上传SDK:https://help.aliyun.com/document_detail/88426.htmlFC Python环境内置模块:https://help.aliyun.com/document_detail/158208.html ...

August 24, 2022 · 1 min · jiezi

关于github:Gitlab-中-Github-import-功能存在远程代码执行漏洞

破绽形容GitLab 是由GitLab公司开发的、基于Git的集成软件开发平台。 GitLab 的破绽版本中存在近程代码执行破绽,容许通过身份验证的用户通过GitHub API端点导入近程执行代码。 破绽名称GitLab 近程代码执行破绽破绽类型代码注入发现工夫2022/8/23破绽影响广度广MPS编号MPS-2022-54280CVE编号CVE-2022-2884CNVD编号-影响范畴GitLab CE/EE@[11.3.4, 15.1.5) GitLab CE/EE@[15.2, 15.2.3) GitLab CE/EE@[15.3, 15.3.1) 修复计划降级GitLab CE/EE到 15.1.5 或 15.2.3 或 15.3.1 或更高版本 参考链接https://www.oscs1024.com/hd/MPS-2022-54280 https://about.gitlab.com/releases/2022/08/22/critical-security-release-gitlab-15-3-1-released/ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2884 https://security.tencent.com/ti/update_detail/C9Me3lNW8Ih7ZPJBrEyHkbOcoKVtnwaj 情报订阅OSCS(开源软件供应链平安社区)通过最快、最全的形式,公布开源我的项目最新的平安危险动静,包含开源组件安全漏洞、事件等信息。同时提供破绽、投毒情报的收费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时取得一手情报信息推送: https://www.oscs1024.com/?src=sf 具体订阅形式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=sf

August 24, 2022 · 1 min · jiezi

关于github:Github配置SSH

Github配置SSHGit应用呈现git@github.com: Permission denied (publickey) 第一步,进入git bash(或cmd)界面验证邮箱与GitHub注册时输出的是否统一 git config --global --list 第二步,设置全局用户名和邮箱命令如下: git config --global user.name “yourname”git config --global user.email “email@email.com”(这里得名字和邮箱都是注册github时用的) 第三步,生成本地密钥ssh-keygen -t rsa -C “这里换上你的邮箱”一路回车,在呈现抉择时输出Y,再一路回车直到生成密钥。会在C:\Users\用户名\门路下生成一个.ssh文件夹,密钥就存储在其中。 第四步,到git仓库,增加秘钥点击个人信息;点击下拉中的Settings;点击左侧SSH and GPG keys;点击New SSH key,新建SSH key; 复制本地id_ras.pub中的内容到Key文本区; 第五步,测试输出以下命令测试本地与云端库连贯是否胜利, ssh -T git@github.com胜利会返回如下后果: 若测试不通能够再操作以下两步进行解决: ssh-agent -sssh-add ~/.ssh/id_rsa

August 18, 2022 · 1 min · jiezi

关于github:OSCS开源安全周报第6期本周投毒事件量相比攻防演练周明显下降

本周平安态势综述OSCS社区共收录安全漏洞48个,其中两个独家破绽,公开破绽值得关注的是Adobe Premiere Elements 权限晋升破绽(CVE-2022-34235),Apache Traffic Server 申请走私破绽(CVE-2022-31780)和 Zammad 权限晋升破绽(CVE-2022-35490)。 针对NPM、Python仓库,共监测到 5 次投毒事件,波及 81 个不同版本的NPM、Python组件,投毒组件中绝大多数行为是尝试获取主机敏感信息。 重要安全漏洞列表Adobe Premiere Elements 权限晋升破绽(CVE-2022-34235)Adobe Premiere Elements 是 Adobe Systems 公布的视频编辑软件应用程序。 Adobe Premiere Elements 2020v20及更早版本,因为对搜寻门路元素校验不齐全,导致普通用户可能获取管理员权限。 参考链接:https://www.oscs1024.com/hd/M... Apache Traffic Server 申请走私破绽(CVE-2022-31780)Apache Traffic Server (ATS) 是一个模块化、高性能的反向代理和正向代理服务器。 在Apache Traffic Server 的 HTTP/2 帧解决中存在不当输出验证破绽,导致攻击者可造成http申请走私。 参考链接:https://www.oscs1024.com/hd/M... Zammad 权限晋升破绽(CVE-2022-35490)Zammad是一个基于 Web 的用户反对/票务解决方案。 Zammad 5.2.0 版本中存在权限晋升破绽。通过可配置的尝试次数后,用户将生效并阻止登录。攻击者能够在用户生效产生之前发送超过配置数量的申请来枚举,从而达到晋升用户权限的目标。 参考链接:https://www.oscs1024.com/hd/M... 投毒危险监测OSCS针对 NPM、Python 仓库监测的歹意组件数量如下所示,均匀每天监控发现11个歹意包,其中 NPM 仓库仍旧是次要投毒对象,Python 仓库歹意组件数量相比之前有所降落。 本周新发现 81 个不同版本的歹意组件,其中 99%的投毒组件为:获取主机敏感信息(获取了主机的用户名、IP 等敏感信息)1%的投毒组件为:获取主机权限(窃取 通过反射 shell 连贯用户主机)其余资讯软件供应链通过新的加密致力博得了平安胜利 https://www.darkreading.com/a... 情报订阅OSCS(开源软件供应链平安社区)通过最快、最全的形式,公布开源我的项目最新的平安危险动静,包含开源组件安全漏洞、事件等信息。同时提供破绽、投毒情报的收费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时取得一手情报信息推送: ...

August 15, 2022 · 1 min · jiezi

关于github:1-分钟在-Serverless-上部署现代化-Deno-Web-应用

作者 | 连喆人(掌上乾坤公司)本文选自 “Serverless 函数计算征集令" 征文 利用 Serverless 的程度扩大与按量付费劣势, 联合自定义运行时, 实现 Web 利用的疾速迁徙。而 Deno 运行时是新一代的 JS 运行时, 应用阿里云 Serverless + Deno 的组合, 咱们能够疾速开发现代化 Web 利用。 Deno 配合 Serverless Devs 工具, 能够疾速实现代码部署工作。至此, 阿里云函数计算 + Serverless Devs + Deno + TypeScript 的组合实现了软件的疾速开发, 疾速迭代, 疾速部署, 疾速伸缩,利用云端劣势, 疾速解决业务问题。 为什么是 Serverless在 Web 开发畛域, Serverless 相比传统形式, 最大的劣势在于:能够在低运维前提下实现程度扩大。这样开发者可能将次要精力放在业务上, 而不是为了反对可能的高并发而过多关注繁冗的技术细节, 因为专一于业务,大大晋升了开发效率, 升高了开发成本。 同时弹性的程度扩大能够反对任何拜访频次的业务需要, 无需放心老本收益不符问题。从日 1 PV 到日 1,000,000 PV 的利用都能够反对, 无需进行额定配置, 不须要本人做集群治理, 也无需承当固定的费用, 按使用量付费即可。 咱们能够把 Serverless 了解为无需本人治理的按需扩缩的容器集群,在 Web 利用的开发上, 无论从技术角度, 还是老本角度, Serverless 都更有劣势。 ...

August 11, 2022 · 2 min · jiezi

关于github:新零售标杆-SKG-全面拥抱-Serverless敏捷交付

副标题:SKG 渠道中台借助 SAE +大禹打造云原生 DevOPS,提效 60%作者:排列昂(SKG)、昕辰、龙琛、黛忻 我的项目背景将来穿戴衰弱科技股份有限公司(SKG)是一家专一为集体与家庭提供智能可穿戴衰弱产品的高新技术企业,业余从事 SKG 品牌可穿戴衰弱产品和便携式衰弱产品的研发、设计、生产及销售。 随着市场需求的迅速变动,SKG 的 IT 零碎也逐步面临着库存不精确、线上线下渠道无奈协同、部署架构不灵便、IT 响应速度过慢等问题,为了能适配销售拓展、提高效率、增强规模化经营,SKG 同阿里云达成策略单干,打造基于线上线下买通,并笼罩全渠道利用场景的渠道中台我的项目。 本次渠道中台建设面向 SKG 线上、线下、礼品等渠道的营销治理,买通经销商、导购、后端 SAP 多端业务数据,同时整合面向 C 端会员数据和渠道批发终端销售数据,以全新的互联网架构云化零碎能力撑持业务疾速倒退。 基于底层渠道中台构建的营销经营治理平台、经销商门户、导购终端小程序,须要有多端触达能力,同时满足不同端的个性化业务诉求和拜访特点,要求中台有灵便的扩大定制能力、以及适配不同渠道流量需要的弹性能力。 现状问题&剖析:在渠道中台建设之前、SKG 次要是租用 IDC 机房部署利用,也有业务跑在云上,整体是 IDC 机房 + ECS 自建利用配套 RDS 等云产品的混合云架构。整套零碎架构须要手工保护的中央比拟多,比方:利用公布、开源产品搭建接入、云服务集成、集群保护等根本都是单点治理、手工操作。老零碎交付过程中和转维后痛点有: 麻利协同、DevOps 等的成熟度低:过来我的项目迭代短少全生命周期管控,对问题和工作进度的跟进次要靠线下沟通、短少在线化追踪工具;DevOps 流程短少自动化的工具撑持,如业务利用的公布上线,根本都是人肉公布,公布耗时长、流程低效、且容易产生线上平安故障。 利用上线部署繁琐: 上线需进行资源评估、应用服务器购买、装置配套软件初始化等操作流程较长;此外还须要搭配集群监控、公布&调度脚本服务治理、配置管理、日志备份等能力,都须要独自部署配套组件或零碎。 自行施行容器化存在上手老本:开发对K8s等容器治理平台底层细节不相熟、绝对比拟黑盒,呈现问题排查进度较慢。 弹性伸缩不不便:业务侧有肯定的峰谷,而在低谷期资源利用率很低;扩容须要从新走一套上线流程、且扩容后不容易下机器; 后续中台上线之后、预计会拆出更多的微服务利用、但这些利用因承接的业务场景不同流量不平均,须要有更灵便的弹性策略。 前期运维老本高:不单须要保护利用自身、还须要保护整套基础设施及对应的配套零碎;须要投入较多的额定人力 技术选型&比照:基于以上痛点以及其余中台我的项目的施行教训,项目组在渠道中台项目前期做技术选型、架构设计时,一开始就否决了在 ECS 或 K8s 上间接部署利用的计划,心愿有一个省事的“容器托管平台”。尽量减少运维老本、屏蔽底层细节,对开发上手敌对、且能较大化进步部署公布效率,具体来说,次要心愿达到以下几个指标: 心愿有对立的治理平台进行在线化交付,全生命周期管控,以此来进步我的项目施行效率,该平台需具备麻利协同、DevOps、品质保障等能力,尤其是具备 CI/CD 流水线自动化部署至选型的容器托管平台的能力,用于保障我的项目交付品质、晋升我的项目交付效率、同时升高交付老本。我的项目采纳基于 Spring Cloud 的微服务架构、须要容器平台能无缝兼容心愿平台能屏蔽底层 ECS 和 K8s 的运维工作,开发大部分工作能够在控制台实现,不须要投太多精力在运维下面,能够专一在业务性能开发上有肯定的弹性伸缩能力、扩缩容比拟不便、可能定制性的做一些资源优化微服务利用的配套设施要齐备:如灰度公布、流量管制、近程调式、监控等等,可能不便的集成基于以上的一些诉求,咱们举荐了基于 SAE(Serverless 利用引擎)的无服务器化容器平台计划、并做了一个两者的比照(如下表格): ECS或K8s间接部署应用SAE后应用服务器购买独自选配ECS、须要一堆规格抉择、网络&操作系统抉择&配置、监控组件装置等无需独自购买ECS等IaaS层设施;间接选定CPU&内存规格及一些简略的网络配置即可利用创立&部署需做集群布局、利用初始化、编写利用部署脚本、灰度公布脚本等工作;镜像须要登录服务器间接操作打包镜像或上传JAR包WAR包可间接在控制台部署、集成灰度公布能力;无需编写脚本或登录服务器弹性伸缩服务器购买、创立利用&部署等流程须要从新走一遍;机器退出集群或者剔除集群都须要运维操作;效率不高,无奈应答突发流量的弹性扩容需要,只能提前准备;资源利用率不高可实现疾速弹性伸缩能力、扩缩容可在控制台间接操作失效;同时反对依照多维度策略的主动扩缩容能力、可能应答突发流量的弹性需要;扩缩容时可随便调整所需的CPU&内容资源,实现精细化管制、资源利用率高无损高低线须要额定集成、本人写相干脚本控制台可集成限流降级需本人搭建开源工具或购买云服务自行接入可通过集成AHAS在控制台间接操作、但需额定购买AHAS服务监控自行搭建监控组件&插件、独自运维已集成根底监控和利用监控能力配置核心治理基于开源自建或购买云服务自行做集成已集成Nacos注册核心、同时做了一层封装方便使用集群前期运维应用ECS或K8s部署、须要专人做集群运维、如操作系统降级、容器治理、网络保护、服务器更换等一系列操作根本免运维、无需专门配运维可由开发在控制台间接操作我的项目交付停顿我的项目在施行过程中深度应用了阿里云飞天技术服务平台——大禹进行在线化交付,通过平台进行对立的管控和赋能。 目前 SKG 渠道中台已上线包含微服务网关、微服务中心、前台 Portal、终端小程序、前端 Node 利用等前中台所属 20 多个利用全副部署在 SAE 上;上线过程不须要花太多额定的工夫做零碎革新或适配,只须要在控制台做一些必要的配置即可,且上线后平台运行安稳。 ...

August 9, 2022 · 1 min · jiezi

关于github:维格小程序已在-Github-开源雷达图热力图趋势图…更多全新图表等你来领

vika维格表什么时候再更新「图表」类型的小程序? 当初「图表」类只有柱状图、条形图、饼状图、折线图和散点图,加上统计与指标、漏斗图、透视表,也只有不到 10 种抉择,不能齐全展现我的业务状况、工作流程,怎么办? 什么时候能够安顿燃尽图、气泡图、热力求、趋势图、水波图、弦图等更丰盛的图表款式? 答案是:随时能够,就等你了! 维格小程序已开源让你随心打造实用又难看的工作流维格小程序,是为了进一步帮你构建个性化业务零碎而推出的弱小模块。充分运用小程序 SDK,你的业务工作流程将晋升到一个全新高度。 开源的小程序,就像你业务零碎上的一块「扩大坞」,你能够自主开发、自定义搭建你须要的业务模块,加强你现有的维格业务流,强化业务连贯、晋升数据交互,或是简化许多流程。 例如: 雷达图,帮忙你更直观地看到亮点数据 股票 K 线图预览,帮忙你一站式经营与剖析 当然,你也能够为本人的业务系统配置更多图表类型:依据数据可视化须要,将气泡图、热力求、趋势图、水波图、弦图等酷炫图表,内置在你的维格表空间站。 如果你富裕创造力与想象力,维格表小程序还有着有限可能,例如: To do list:通过工作待办类 App 式的界面,疾速录入数据到维格表 收费图片搜寻并导入:将收费图片网站内置到你的业务零碎内,一站式搜寻并上传到维格表附件内⏰ 计时器:在头脑风暴会议或投票环节,通过限定时长,为灵感上紧发条 CSV/XML 文件导入:你能够适配将业务罕用的文件类型,导入到维格表内……  返回 Github 体验维格小程序 开发者如何自建一款维格小程序?对于开发者来说,你只须要在「空间站小程序核心」-「申请开明」自建小程序(申请即开明,无需期待)。 胜利开明后,依据操作指引即可实现一次自建小程序的疾速上手,具体步骤能够参考如何疾速上手开发维格小程序。 如果你想开发一款图表相干的小程序,能够在 G2Plot 或 nivo 这类提供开源图表代码的网站上,抉择并调试好数据结构,将代码复制在小程序开发工具(vscode)上,即可实现图表类型小程序的疾速预览。 通过自定义的代码调整和适配,一款专属于你空间站的小程序就能上线应用了。这里也筹备好了雷达图、日历热力求、股票 K 线图预览等 3 款数据可视化类型的小程序,你能够疾速理解、上手应用。 点击支付 3 款小程序 在 Github,vika维格表还提供了多款展现了 widget-sdk 根底能力的小程序供你体验。 更多vika维格表开源我的项目,欢送返回 Github ⭐️ awesome-vikadata 体验。 如果你感觉有用,能够给vika一颗小星星⭐️ ,激励一下咱们。 另外,当你的自建小程序在本人团队的空间站验证良好后,如果你想将小程序对维格表的所有用户凋谢,能够试试申请【官网举荐】,你创作的小程序将取得官网认证并打上你的名字。 申请官网举荐 欢送你退出开发者社群,在开发维格小程序过程中有任何疑难均可在群内和维格开发者们交换。 注:摸鱼闲聊也能够 ...

August 4, 2022 · 1 min · jiezi

关于github:从函数计算到-Serverless-架构

作者:秋雨陈(本文转载自”函数计算征集令“征文) 前言随着 Serverless 架构的一直倒退,各云厂商和开源社区都曾经在布局 Serverless 畛域,一方面体现在云厂商推出传统服务/业务的 Serverless 化版本,或者 Serverless 计算平台,另一方面体现在开源社区中 Serverless 相干我的项目逐步丰盛起来,无论是平台类还是工具类的开源我的项目,再或者是框架类的开源我的项目,都如雨后春笋般疾速成长。 任何技术,在这样凋敝倒退背地,都会疾速降级和迭代,Serverless 架构也不例外,从阿里云的 FaaS 产品倒退过程中,不难看出 Serverless 架构在提效和降本的路线上一直的场景化,特色化;在产品状态上也一直的趋于残缺化,统一化,尽管间隔“大道至简”还有肯定的间隔,然而也只是工夫的问题了。 从思维到产品升级Serverless 架构在一直倒退,无论是产品状态还是技术架构都能够用突飞猛进来形容。 Serverless 精力的更迭最后,Serverless 架构指的是 FaaS 与 BaaS 的联合,认为开发者能够不必破费更多的精力在服务器等底层资源上,而是能够将精力放在更具价值的业务逻辑之上。这也是文章《Serverless Architectures》中所强调的观点。 但随着工夫倒退,大家发现,对于 Serverless 架构这样的形容过于薄弱,没有凸显出 Serverless 架构为业务带来的技术红利,也没能体现出 Serverless 所交付的心智。所以 UC 伯克利在《Cloud Programming Simplified: A Berkeley View on Serverless Computing》中对 Serverless 架构进一步的定义:对于被认为是Serverless 架构的服务/产品还须要具备按量付费和弹性伸缩的特点,并认为, long-run 的运行模式并不合乎 Serverless 精力。 云计算相干技术的倒退,往往有一个特点:云厂商的驱动性十分强,因为云厂商往往会最先感知到普遍性的用户需要,并且有足够的数据撑持其做出正当的判断与翻新。所以 Serverless 架构的翻新很多时候也都是由厂商驱动的;在事件驱动与函数计算的倒退下,厂商逐步发现函数计算的模式“短时运行”没有方法满足更多用户的诉求,此时一种 long-run 模式的 Serverless 计算服务就逐步的被孵化进去了,至此,Serverless 架构也从最后的薄弱,逐步欠缺,通过“自我变革”,实现了新一轮业务能力的自我丰盛与产品性能的自我完善。 随着 long-run 模式逐步被开发者们认可,传统 Serverless 架构的定义有点“心心相印”:既不能在模式上笼罩最新的 Serverless 产品纬度,也不能在状态上形容清 Serverless 的个性。此时 Serverless 架构定的义,就自然而然的得以降级,例如: ...

August 4, 2022 · 2 min · jiezi