我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行MacOS下的项目开发

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行MacOS下的项目开发

如何进行MacOS下的项目开发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

前言

首先介绍下文出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档参考。

备注: 介绍的技巧需要 Fun 版本大于等于 2.10.2。

依赖工具

本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。

  • Docker

  • Fun

  • Fcli

Fun 和 Fcli 工具依赖于 docker 来模拟本地环境。

对于 MacOS 用户可以使用 homebrew 进行安装:

brew cask install dockerbrew tap vangie/formulabrew install funbrew install fcli

Windows 和 Linux 用户安装请参考:

  1. https://github.com/aliyun/fun/blob/master/docs/usage/installation.md

  2. https://github.com/aliyun/fcli/releases

安装好后,记得先执行 fun config 初始化一下配置。

注意, 如果你已经安装过了 fun,确保 fun 的版本在 2.10.2 以上。

$ fun --version2.10.1

快速开始

初始化

使用 fun init 命令可以快捷地将本模板项目初始化到本地。

fun init vangie/selenium-java-example

安装依赖

$ fun install...

本地测试

测试代码 ChromeDemo 的内容为:

public class ChromeDemo implements StreamRequestHandler {    public void handleRequest(InputStream inputStream,                              OutputStream outputStream,                              Context context) throws IOException {        System.setProperty("webdriver.chrome.driver", "/code/chromedriver");        ChromeOptions options = new ChromeOptions();        options.setBinary("/code/headless-chromium");        options.addArguments("--disable-extensions"); // disabling extensions        options.addArguments("--disable-gpu"); // applicable to windows os only        options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems        options.addArguments("--no-sandbox"); // Bypass OS security model        options.addArguments("--headless");        WebDriver driver = new ChromeDriver(options);        driver.get("https://ide.fc.aliyun.com");        outputStream.write(("Page title is: " + driver.getTitle() + "\n").getBytes());        driver.quit();    }}

本地运行

$ mvn package && fun local invoke selenium...FC Invoke Start RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56handle user request is com.aliyun.fc.selenium.ChromeDemo::handleRequestcache is null!Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 20652Only local connections are allowed.Mar 05, 2019 11:34:27 AM org.openqa.selenium.remote.ProtocolHandshake createSessionINFO: Detected dialect: OSSPage title is: 云端集成开发环境FC Invoke End RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56          Billed Duration: 5265 ms        Memory Size: 1998 MB    Max Memory Used: 240 MB

部署

$ mvn package && fun deploy

执行

$  fcli function invoke -s chrome -f selenium  Page title is: 云端集成开发环境

关于文件尺寸

由于 chromedriver 和 headless-chromium 压缩后体积已经非常接近 50MB,留给用户 Jar 的空间非常少,所以另外制作了一个高压缩比版本,使用压缩比更高的 brotli 算法进行压缩,压缩后的大小为 32.7MB。然后在运行时使用 initializer 进行解压,解压耗时大约为 3.7 S。

看完上述内容,你们掌握如何进行MacOS下的项目开发的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行MacOS下的项目开发

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行MacOS下的项目开发

如何进行MacOS下的项目开发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言首先介绍下文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是
2023-06-04

thinkphp5如何开发项目

今天小编给大家分享一下thinkphp5如何开发项目的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境配置ThinkPHP5
2023-07-05

如何进行JavaMail开发

这期内容当中小编将会给大家带来有关如何进行JavaMail开发,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。引入:最近项目中要做一个简单的邮件功能,即从前台输入邮件内容,去配置文件中读取发件人、收件人等信
2023-06-17

如何进行C++Builder的开发

这篇文章将为大家详细讲解有关如何进行C++Builder的开发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C++ Builder是由Borland公司推出的一款集成开发环境,C++Buil
2023-06-17

Golang开发注意事项:如何进行有效的并发编程

Golang是一种开源的编程语言,由Google开发,并于2009年首次发布。它是一种静态类型语言,具有高效的内存管理和并发支持,适用于构建高性能的网络服务和分布式系统。在Golang中,并发是一项非常重要的特性,它允许我们同时执行多个任务
Golang开发注意事项:如何进行有效的并发编程
2023-11-23

PHP项目开发中的进阶技巧

php 项目开发进阶技巧:使用命名空间组织代码,避免名称冲突。采用依赖注入增强代码灵活性,提升可测试性。通过单元测试保障代码准确运行。利用 composer 管理依赖项,简化安装和更新流程。部署策略保障高可用性和容错性,如蓝绿部署和自动伸缩
PHP项目开发中的进阶技巧
2024-05-16

如何进行Java Mail API的开发

本篇文章给大家分享的是有关如何进行Java Mail API的开发,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.介绍: Java Mail API的开发是SUN为Java开
2023-06-03

如何利用GitLab进行项目版本发布和回滚

如何利用GitLab进行项目版本发布和回滚引言:在软件开发过程中,项目的版本发布和回滚是开发团队必不可少的一项工作。GitLab是一款功能强大的版本控制系统,它提供了丰富的功能和工具来管理和发布项目的不同版本。本文将介绍如何利用GitLab
2023-10-22

如何用钉钉进行项目管理

首先,钉钉可以让项目更加规范化和有序化。在传统的项目管理中,可能存在一些混乱和无序的情况。通过钉钉,企业可以设置项目的规则和流程,明确项目的目标、任务和进度,以及每个成员的职责和角色。这样可以避免工作的重复和遗漏,提高项目的效率和质量。其次,钉钉可以让工作更加高效和便捷。在传统的项目管理中,可能需要手动编辑和审批文件,
如何用钉钉进行项目管理
2023-10-28

VSCode如何进行安卓开发

这篇文章给大家介绍VSCode如何进行安卓开发,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。vs code 大部分是由 ts 编写,上层 UI 可以运行在各个系统的浏览器中,但 vs code 基于 electron
2023-06-25

JavaWeb购物车项目如何开发

这篇文章主要介绍“JavaWeb购物车项目如何开发”,在日常操作中,相信很多人在JavaWeb购物车项目如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb购物车项目如何开发”的疑惑有所帮助!
2023-07-02

如何进行VS2008 Web创建项目的分析

这期内容当中小编将会给大家带来有关如何进行VS2008 Web创建项目的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下面主要讲述VS 2008 Web,怎样创建VS 2008 Web的相关内容。这些
2023-06-17

如何利用VisualVM对高并发项目进行性能分析

如何利用VisualVM对高并发项目进行性能分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前面在学习JVM的知识的时候,一般都需要利用相关参数进行分析,而分析一般都需要用到
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录