中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行MacOS下的項目開發

發布時間:2021-11-20 14:39:14 來源:億速云 閱讀:134 作者:柒染 欄目:云計算

如何進行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 docker
brew tap vangie/formula
brew install fun
brew 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 --version
2.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-9503582ccb56
handle user request is com.aliyun.fc.selenium.ChromeDemo::handleRequest
cache is null!
Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 20652
Only local connections are allowed.
Mar 05, 2019 11:34:27 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Page title is: 云端集成開發環境
FC Invoke End RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56
RequestId: 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下的項目開發的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣武区| 天柱县| 开鲁县| 分宜县| 民权县| 习水县| 郴州市| 抚松县| 宜都市| 弥勒县| 东丰县| 寿光市| 嘉定区| 民县| 双牌县| 历史| 浙江省| 金寨县| 高安市| 寿宁县| 杨浦区| 翁牛特旗| 喀喇沁旗| 南通市| 高邑县| 葵青区| 纳雍县| 峡江县| 应用必备| 丰原市| 新安县| 房山区| 临西县| 浦县| 石景山区| 华池县| 肇东市| 拉萨市| 大庆市| 枣阳市| 施甸县|