完整的解决方案:云 IDE 研发模式

优采云 发布时间: 2022-10-05 18:20

  完整的解决方案:云 IDE 研发模式

  原文首发我的博客:Cloud IDE

  不久前,GitHub 官方推特发布了如下推文:

  只要你按。在任何一个 GitHub Repo 页面上 key,它会自动跳转到 github.dev 的 网站,这是一个 VSCode 的 web 版本,并且会自动克隆这个 Repo 的代码。在这个 Web 版本的 VSCode 中,你甚至可以安装一些特定的插件(不能安装需要外部依赖的插件),这样更容易阅读代码。因为这个网站是官方产品,所以这个VSCode已经自动绑定到你的GitHub账号,开发者可以在里面阅读、编辑和提交代码。此举直接扼杀了具有类似功能的开源项目github1s。

  在浏览器中写代码也能拥有桌面IDE的开发体验,这是IT行业一直在追求的。VSCode 的团队负责人 Erich Gamma(JUnit 的作者之一,《Design Patterns》的作者之一,Eclipse Architect),2011 年加入微软后,工作内容是:

  设想在线开发人员工具的新范例,它将像 IDE 在桌面上一样成功。

  然后是 VSCode 的诞生。可以说,VSCode 从诞生之日起就朝着云 IDE 的方向设计。

  为什么要使用云 IDE?这源于本地开发环境的一些问题,例如:

  这些问题的最终解决方案就是将开发环境搬到云端,而在云端开发最重要的是要有良好的IDE支持,这也导致了业界对云IDE的强烈需求。

  云IDE

  在说云IDE之前,我们先来了解一下IDE的一些主要功能点,如下图所示:

  当然,一个优秀的IDE应该让程序员写好代码,看代码流畅。为了实现这一目标,必须支持以下功能点:

  在桌面 IDE 中,这些特性都不是问题,支持这些特性的 IDE 有很多,例如 Visual Studio、Eclipse、IntelliJ IDEA、NetBeans 和 Xcode。但是在支持在线使用方面,这些老的IDE还不够好。

  早期行业对云IDE的要求不高,所以云IDE大概有三大类,如下图:

  在上述功能有限的云IDE类别中,有一些基于VSCode的云IDE。例如,Github Codespaces 使用 VSCode 结合 Azure 云服务器,给开发者提供桌面 IDE 的体验,也可以安装插件。同时,在最受欢迎的开发者社区 StackOverflow 的 2021 年开发者调查问卷的集成开发环境(IDE)部分(超过 80,000 份开发者调查回复),VSCode 获得了 71% 的高票(2019 年)。这个比例已经达到50%)被选为最受欢迎的IDE:

  

  看起来 VSCode 实现了云 IDE 想要实现的目标:类似于桌面 IDE 的开发体验。这里的问题是为什么要使用 VSCode?

  为什么 VSCode 是好的设计

  VSCode远程开发模式如下图所示:

  通过 CS 架构设计,VSCode 具备了使用远程服务器或容器的能力。本地 VSCode 只负责 UI 界面和主题的展示。其他如插件、程序执行、终端进程和调试器在远程服务器上运行。界面显示与计算分离的设计也是实现云IDE的一个重点。

  CS架构设计也体现在代码提示中。通过制定 Language Server Protocol 标准协议,VSCode 核心不需要解析多种编程语言的 AST 或实现多种编程语言 Parser,而是将这些功能委托给每种语言的插件来实现,确保核心非常小而且稳定。

  同样的设计也体现在调试器(Debugger)和调试适配器协议标准协议上。

  更多架构设计分析,请看我的VSCode插件开发笔记。

  跨平台

  VSCode 的前身是 monaco-editor 在线编辑器。作为一款Web软件,想要实现跨平台的功能,就需要用到Electron技术。所以桌面级的 VSCode 和服务端 Web 版的 VSCode 实际上是一个代码库。

  正因为它是一个网页软件,所以有一个叫code-server的第三方Repo,在浏览器中运行着VSCode。这导致了许多基于 VSCode 的云 IDE 的出现。

  开源

  如果 VSCode 不是开源的,它的结局可能会有所不同。正是凭借微软的华丽转身和对开源的热情拥抱,VSCode 才打开了通往世界的大门,否则结局可能沦为微软众多内部项目中的一员。

  基于AWS和Pulumi构建个人云IDE

  由于 VSCode 的开源和 web 特性,我们可以基于 VSCode 快速搭建个人云 IDE,其功能与 Github Codespaces 相当,但比它便宜很多。

  请参阅此 Repo 了解我的实现。架构如下:

  前提:

  需要 AWS 账户并安装 AWS CLI,并在本地配置 AWS 凭证。AWS账户需要对EC2有一定的操作权限;您需要一个 Pulumi 帐户并创建一个项目;(如果对Pulumi不熟悉,可以参考我的基于Serverless的静态博客访问统计功能介绍文章)

  

  它使用起来非常简单(感谢 Pulumi 和 AWS CLI 的强大功能):

  git clone https://github.com/bmpi-dev/code.bmpi.dev.git

cd code.bmpi.dev/server

pulumi up # 使用 Pulumi 设置 AWS EC2

./run work # 打开远程 VSCode

./run rest # 关闭远程 VSCode

  如果./run open_tunnel在服务端还在启动的情况下无法连接通道,可以在服务端启动后再执行,建立通道连接。

  首次访问需要输入VSCode的登录密码。执行sh connect-server.sh登录服务器后,执行cat ~/.config/code-server/config.yaml | grep 密码:获取登录密码。

  通过浏览器访问:8888/后,就可以开始使用远程VSCode了:

  如果暂时不需要这个环境,记得通过 ./run rest 来休眠云服务器。服务器关闭后,AWS不会对EC2实例收费,只对存储量收取非常便宜的费用。

  如果你完全不需要这个环境,想要销毁所有资源避免AWS继续收费,执行pulumi destroy删除所有AWS资源即可。

  关于费用

  以 AWS EC2 T2.Medium 实例(2 核 4GB RAM + 50GB 存储)为例。每天开发 5 小时,每月 20 天共开发 1​​00 小时,总成本为 0.0464 美元 * 100 美元 + 0.1 美元 * 50 美元 = 9.64 美元。相同服务器配置的 Github Codespaces 成本为 21.5 美元,相差近 2.23 倍。

  云IDE研发模式

  Cloud IDE代表了一种研发模式的发展方向。这种研发模式可能的发展趋势是:

  一句话概括:

  Cloud IDE, Coding Anytime Anywhere.

  参考 VSCode 中的 文章 了解*敏*感*词* IDE 技术架构 使用 AWS CDK 在云上实现基于 VSCode 的(Code-Server)

  解决方案:利用五大SEO分析工具帮你发现解决外贸网站优化问题

  做外贸网站,没有好的SEO策划,很难在激烈的竞争中脱颖而出。一个好的网站SEO需要分析网站本身,什么是外贸和竞争对手的网站。SEO分析对于一个新的外贸网站或SEO暗示的不好的网站尤为重要。本文提取了五个 SEO 工具,可以帮助您发现 SEO网站 中的问题。同时,还可以分析竞争对手的关键词选择、链条和链条设计。通过流程参考,可以在自己的外贸网站上推广SEO的意义。

  1. SEMrush

  semrush可以称得上是一款综合性的seo工具,无论你是初学者还是seo专家,semrush都能助你一臂之力。什么是外贸,从竞争对手分析报告到关键词研究、广告策略分析、逆向检查、关键词难度等级、品牌声明等。你甚至可以用它来寻找新的竞争对手,留意变化在您的领域帮助您保持领先。

  Semrush 可以访问来自 Google 和 Bing 的大量 SEO 数据,让您能够以难以置信的细节探索 关键词。什么是外贸能够以便捷的方式提供所有这些数据,并进行全面的现场审核和持续跟踪?如果您只将一个工具用于您的专业博客业务,那么将其设置为 Semrush 是一个不错的选择。

  2. 最佳搜索引擎优化

  

  yoastseo 是一个 wordpressseo 插件。这是市场上最好的 SEO 插件之一。从主页到文章页面、存档页面到标签页都有详细的设置。可以说yoastseo对seo设计的每一页的规划规模都非常小。比如可读性分析、关键词、meta关键词、网页内容关键词结构、图片分析、内外链接分析、标题和描述分析、链接地址分析等。

  yoastseo 可能是改进博客 seo 的最佳整体工具。

  3.莫兹工具

  Moz 工具可用于链接创建和分析、网络功能、关键词 研究、网站 拥抱、列表查看等。外贸是网络上最大、最准确的 SEO关键词 数据库之一。只需几秒钟,专业博主就可以使用它来发现 关键词 并确定优先级。没有用于分析或统计过滤的复杂图表,SEO 建议简单直观。

  Moz 提供了许多可供博主用来推广 SEO 的工具。它们中的大多数都是免费的,几乎没有任何限制。

  

  4. BuzzSumo

  Buzzsumo 是一个智能工具,可以帮助您进一步改善您的 SEO 工作。Buzzsumo 无需绞尽脑汁寻找可行的、基于 关键词 的主题,而是让您在社交媒体上找到高度共享的内容并围绕该内容定制您的工作。

  在快速搜索中,您可以在 Facebook、Twitter、Pinterest 和 Reddit 上查看 关键词,包括订阅、反向链接和完整分享。

  5. 隔壁

  强大的 SEO 集成服务,可以完成从 关键词 研究到链接分析的所有工作。Serpstat 提供了范围广泛的 SEO 工具,几乎每个人都可以在城市中找到方便的工具,包括长尾 关键词 研究、每次点击成本分析、PPC 竞争洞察和搜索量分析。

  所以你可以用 serpstat 做的最有用的事情是对 网站 进行全面审计,即外贸是什么,包括反向链接和 serpstat 本身,这是完全自动的。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线