国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

wordpress去掉作者信息seo網(wǎng)站優(yōu)化平臺(tái)

wordpress去掉作者信息,seo網(wǎng)站優(yōu)化平臺(tái),企業(yè)網(wǎng)站推廣技巧和方法,只做同城交易的網(wǎng)站以下是「豆包MarsCode 體驗(yàn)官」優(yōu)秀文章,作者狼叔。 歡迎更多用戶使用豆包MarsCode 并分享您的產(chǎn)品使用心得及反饋、創(chuàng)意項(xiàng)目開發(fā)等,【有獎(jiǎng)?wù)骷?amp;#xff5c;人人都是豆包MarsCode 測(cè)評(píng)官!】活動(dòng)正在火熱進(jìn)行中,歡迎大家投稿參加&a…

以下是「豆包MarsCode 體驗(yàn)官」優(yōu)秀文章,作者狼叔。

歡迎更多用戶使用豆包MarsCode 并分享您的產(chǎn)品使用心得及反饋、創(chuàng)意項(xiàng)目開發(fā)等,【有獎(jiǎng)?wù)骷?#xff5c;人人都是豆包MarsCode 測(cè)評(píng)官!】活動(dòng)正在火熱進(jìn)行中,歡迎大家投稿參加,驚喜大禮等著大家!

我基本上經(jīng)歷 Node.js 的幾個(gè)部署階段,從原始云服務(wù),到 K8S 容器化,到無服務(wù)的 FaaS 云函數(shù),也做過一些科普工作。2017年之后做過很多年 SSR ,也是從基本 Web 框架到 FaaS ,最多做個(gè)降級(jí)容災(zāi)等大流量下穩(wěn)定性相關(guān)的工作,其他就是全棧場(chǎng)景了。現(xiàn)在基本上也就 TRPC 能夠讓我覺得眼前一亮,仔細(xì)想想,也不過是 SDK 一樣的思路,至于 AI 和 Node.js 開發(fā)有什么好的實(shí)踐,我還沒看到,都是常規(guī)思路,當(dāng)我試過 MarsCode 之后,還是有些激動(dòng)的。

在豆包MarsCode 發(fā)布之前,我就是第一波邀測(cè)用戶,發(fā)布會(huì)當(dāng)天我也去了現(xiàn)場(chǎng)。這個(gè)項(xiàng)目的核心開發(fā)主要是天豬、死月、老雷、段鵬飛等 Node.js 中堅(jiān)力量,無論出于何種想法,我都是應(yīng)該是去支持的。下面結(jié)合我了解的一些信息和動(dòng)手實(shí)踐內(nèi)容,簡(jiǎn)單介紹一下我理解的 MarsCode。

豆包MarsCode是什么?

官方說法:豆包MarsCode 是字節(jié)跳動(dòng)推出的免費(fèi) AI 編程助手,提供了 AI 驅(qū)動(dòng)的云端 IDE 版和支持 VSCode 和 JetBrains 等的擴(kuò)展版。豆包MarsCode IDE 具備代碼補(bǔ)全、生成、解釋功能,支持 AI 問答和 BUG 修復(fù)功能。豆包MarsCode 還提供 AI 插件開發(fā)與部署工具,簡(jiǎn)化了 API 測(cè)試、存儲(chǔ)管理和 Schema 管理。此外,它擁有一鍵部署功能,提供安全可靠的云開發(fā)環(huán)境,支持多種項(xiàng)目創(chuàng)建方式,無需配置即可開始開發(fā),確保了快速穩(wěn)定的開發(fā)體驗(yàn)。

官方說豆包MarsCode 主要包含了 AI 功能的編程助手和 Cloud IDE,我認(rèn)為不全面。我理解豆包MarsCode 是 AI + WebIDE + 自動(dòng)化部署平臺(tái)。

  • 深度集成AI 功能,從 Chat 到選中到流程集成。
  • WebIDE,以前我們開玩笑說它最大的作用是為外包用,代碼不落地。那時(shí)候是因?yàn)樾阅懿粔?#xff0c;加載市場(chǎng)較慢?,F(xiàn)在 Chrome 和電腦硬件變強(qiáng),加載速度已經(jīng)很好了,甚至有人直接用 iPad 寫代碼。這是個(gè)趨勢(shì)的,比如 Codespaces ,就是 Github 提供的 WebIDE。
  • 自動(dòng)化部署平臺(tái),它有部署服務(wù),做了非常多的簡(jiǎn)化工作。

發(fā)布會(huì)當(dāng)天通過需求開發(fā)、修復(fù) Bug、開源項(xiàng)目學(xué)習(xí)三個(gè)實(shí)際場(chǎng)景,詳細(xì)演示了豆包MarsCode 的項(xiàng)目問答、代碼補(bǔ)全、單測(cè)生成、Bug Fix 等功能。確實(shí)沒翻車,演示的還算比較流程。

> 官方說:通過完整場(chǎng)景演示串聯(lián)各功能的使用配合,展示出豆包MarsCode 在日常工作中的優(yōu)秀落地能力,無論是新手程序員還是經(jīng)驗(yàn)豐富的開發(fā)者,都能體驗(yàn)到豆包MarsCode 帶來的助力和效率提升。

這句話我不敢說,通過下面一系列實(shí)踐,讓大家來真實(shí)感受,可能更靠譜。下面通過場(chǎng)景一個(gè)具體的項(xiàng)目來講講我對(duì)豆包MarsCode 的理解。

創(chuàng)建項(xiàng)目,WebIDE 速度非???/h3>

首先,在官網(wǎng)場(chǎng)景一個(gè) Node.js 項(xiàng)目。注意這里選擇的是 Node.js for AI Plugin,這是官方推薦的模版。

從項(xiàng)目創(chuàng)建到加載非???#xff0c;體感上 2-5 秒左右,體感速度應(yīng)該跟 replit 差不多持平,如下圖。

安裝 tree 命令,英語查看文件目錄結(jié)構(gòu)。備注:apt-get下個(gè)版本可能會(huì)干掉或局部支持。

通過 tree 和 du 查看文件數(shù)和存儲(chǔ)大小。

18個(gè)文件,加上 npm 安裝,總大小72M,加上 os,大約300多M。

我是第一批豆包MarsCode 邀測(cè)用戶,大約是4月底。那個(gè)時(shí)候一個(gè)項(xiàng)目從創(chuàng)建到啟動(dòng)大約1-2分鐘,現(xiàn)在基本上能夠做到2-5s左右啟動(dòng),同為 VSCode 的谷歌 idx,現(xiàn)在啟動(dòng)還是大概按分鐘計(jì)算的,Codespace大約30s左右([opulent-garbanzo-6vw4gx9xjv9h5qrq.github.dev/\](opulent-garbanzo-6vw4gx9xjv9h5qrq.github.dev/))目前豆包MarsCode 這個(gè)性能,可以說是行業(yè)里是領(lǐng)先的,應(yīng)該是 Top 3。我和天豬簡(jiǎn)單的聊聊幾句,此處是有高級(jí)技巧的,他們連著加班搞了1個(gè)月,在 K8S 上優(yōu)化了很多細(xì)節(jié),具體還處于保密階段。

項(xiàng)目實(shí)戰(zhàn)

我個(gè)人對(duì) Node.js 比較熟悉,就以這個(gè)角度來做分析是比較容易的。這里我選了 Node.js for AI Plugin 這個(gè)模版,它是專門服務(wù) Chatgpt 插件場(chǎng)景的,豆包MarsCode 還有非常多的其他模版,支持社區(qū)絕大部分框架(比如 React、Vue、Python、Go、Rust 等),也支持從 Git Repo 導(dǎo)入,理論上支持所有語言和框架。

本小節(jié)從項(xiàng)目目錄結(jié)構(gòu)到寫法,到和 Vercel 對(duì)比,希望深入淺出的剖析一下豆包MarsCode 實(shí)現(xiàn)的一些細(xì)節(jié)。

項(xiàng)目結(jié)構(gòu)

直接看一下忽略 node_modules,只顯示3層的結(jié)構(gòu),這樣更便于理解。

$ tree -I node_modules -L 3
.
├── api
│   ├── metadata.json
│   ├── sayhi
│   │   └── hello.ts
│   └── todo
│       ├── consts.ts
│       ├── create.ts
│       ├── delete.ts
│       ├── edit.ts
│       ├── search.ts
│       └── types.ts
├── package.json
├── pnpm-lock.yaml
├── README.md
├── runtime
│   ├── cli
│   ├── current_revision
│   ├── package.json
│   ├── pnpm-lock.yaml
│   ├── src
│   │   ├── cli.js
│   │   ├── core
│   │   ├── proxy
│   │   ├── schema
│   │   ├── types
│   │   └── wrapper
│   └── united_manager_version
└── tsconfig.json10 directories, 18 files

分析如下:

  • 使用 pnpm 做包管理器,行業(yè)內(nèi)最佳選擇。
  • 采用 ts 編寫,代碼非常規(guī)范,可圈可點(diǎn)。
  • 核心分 api 和 runtime 2個(gè)文件夾
  • api 是業(yè)務(wù)代碼
  • runtime 是 SDK,把函數(shù)寫法,cli 等工具放進(jìn)去的。后面會(huì)隱藏。當(dāng)前是不錯(cuò)的學(xué)習(xí)材料。

請(qǐng)求分析

api 目錄結(jié)構(gòu),這是開發(fā)者平時(shí)改動(dòng)最多的地方。

$ tree api
api
├── metadata.json
├── sayhi
│   └── hello.ts
└── todo├── consts.ts├── create.ts├── delete.ts├── edit.ts├── search.ts└── types.ts2 directories, 8 files

它的服務(wù)詳情藏的略深。需要點(diǎn)擊項(xiàng)目名,然后才能顯示項(xiàng)目詳情,里面才有 Service Detail。它會(huì)顯示當(dāng)前項(xiàng)目的域名和路由,對(duì)理解項(xiàng)目至關(guān)重要。

看了 Service Detail 和目錄結(jié)構(gòu),這里面的原理就比較容易理解了。

首先它是一個(gè) Server 容器,簡(jiǎn)單理解是 Docker。配置如上圖,2核,4G內(nèi)存,10G硬盤。實(shí)話說,這個(gè)配置給的很大方了。

有了 Server,自然就有 IP 和端口,這里 Functions 下面的 HOST 就是默認(rèn)給的域名。

https://37iyzcv1c9g9m.ahost.marscode.site

?那個(gè)API Key 其實(shí)是 JWT 類似的機(jī)制來實(shí)現(xiàn)的。復(fù)制一個(gè) curl 請(qǐng)求,大致原理就能扒出來了。

$ curl --location --request POST 'https://37iyzcv1c9g9m.ahost.marscode.site/sayhi/hello' --header 'Content-Type: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmdW5jdGlvbmlkIjoiMzdpeXpjdjFjOWc5bSIsImlhdCI6MTcyMDA5NjgwOCwianRpIjoiNjY4Njk4MjgwZWQ2ZDRiZmQ1MTQ0ODgyIiwidHlwZSI6ImZ1bmN0aW9uIiwidXNlcmlkIjoiQ0xPVURJREVfMWRrbnc5NTFuNXA1dm5fNzM4Nzc1NzM0ODkyMjcwNDkxMyIsInZlcnNpb24iOjJ9.qZuzik_o-lg4Qpo4XdQC2FjpaRpaZEL5fRebCV9PI0M' --data '{}'
{"message":"hello world"}%  

從這個(gè)請(qǐng)求可以看出

  • POST 請(qǐng)求
  • 文件即路由。sayhi/hello.ts對(duì)應(yīng)sayhi/hello請(qǐng)求。
  • 默認(rèn)返回 JSON 格式
  • 默認(rèn)做了 Authorization 鑒權(quán),我搜了一下 jwt 或 jsonwebtoken 都沒有搜到,可能是只實(shí)現(xiàn)了機(jī)制,沒用過對(duì)應(yīng)的包。

函數(shù)寫法

看一下函數(shù)

import { Args } from '@/runtime';export interface Input {// name of username?: string;
}export interface Output {// reply to greet the usermessage: string;
}/*** Say hello to the user when he introduces himself*/
export async function handler({ input, logger }: Args<Input>): Promise<Output> {const name = input.name || 'world';logger.info(`user name is ${name}`);return {message: `hello ${name}`};
}

要點(diǎn)說明

  • 輸入 Args
  • 輸出 Output
  • 對(duì)外導(dǎo)出 Async 函數(shù)

是不是發(fā)現(xiàn)這東西和 trpc 很像?

對(duì)比一下:

  • trpc 需要定義方法名,MarsCode 里的 Async 函數(shù)名,比如 handler。二者一模一樣
  • trpc 顯式 input,里面做了 zod 校驗(yàn),MarsCode 是 ts 類型,也算異曲同工。
  • 圖中的 trpc 是 query,即 GET 方法,然后是返回。而 MarsCode 全部是 POST,其實(shí)更簡(jiǎn)單。

很明顯這種函數(shù)寫法是行業(yè)里最佳實(shí)踐,基于 FaaS,隱藏了 HTTP 協(xié)議細(xì)節(jié),強(qiáng)類型,采用約定式路由。

豆包MarsCode 函數(shù)寫法上要更簡(jiǎn)單,對(duì)于測(cè)試過程也能夠做到極大的簡(jiǎn)化。在 MarsCode 里,Api測(cè)試過程是非常簡(jiǎn)單的,只需要4步,結(jié)合AI可以提效。

1. 點(diǎn)擊 API Test 按鈕,這時(shí)候會(huì)切換到 API Test panel

2. 點(diǎn)擊 Auto Generate,這部分是 AI 根據(jù) Input 類型進(jìn)行生產(chǎn) Mock 數(shù)據(jù),看著還行

3. 點(diǎn)擊 Send 按鈕就可以發(fā)送了。 我猜測(cè)和上面的 curl 是一樣的

4. 在 Output 區(qū)域輸出 message?

都是POST有問題嗎?

在豆包MarsCode 里,所有的函數(shù)都采用 Post http verb 提供服務(wù)。如下圖。

我之前猜測(cè),這是一個(gè)無心插柳的故事。和天豬求證,隱藏協(xié)議的一個(gè)考慮點(diǎn)是「云函數(shù)是沒有協(xié)議概念的」,雖然一般會(huì)有個(gè)觸發(fā)器的概念,但 AI Plugin 場(chǎng)景沒必要的。其實(shí)在約定式路由里,表達(dá) Verb 是件麻煩事,要么代碼里加,要么加配置文件,很明顯都是有不少工作量的。

對(duì)于 API 而言,都用 POST 有問題嗎?專業(yè)后端可能會(huì)拿 Restful API 說事,為了語義表達(dá)等等,這曾經(jīng)是很多年被奉為圭臬的標(biāo)準(zhǔn)。咱且不論它到底好不好,在落地上,嚴(yán)格遵守的并不多。

參考github.com/jshttp/meth…

'get','post','put','head','delete','options','trace','copy'
,'lock','mkcol','move','purge','propfind','proppatch','unlock',
'report','mkactivity','checkout','merge','m-search','notify',
'subscribe','unsubscribe','patch','search','connect'

如果再細(xì)分的話,可以按照是否有 Body 分成2類,典型的就是 GET 和 POST。GET 有一個(gè) 2048 字節(jié)的限制,所以一些超長的請(qǐng)求會(huì)被截?cái)?。一般查詢類的?GET,創(chuàng)建用 POST。

交代了上面這點(diǎn)背景之后,我們來討論一下只用 POST 是否 OK?先說我的結(jié)論,我認(rèn)為是 OK 的。POST 是萬能的,它沒有 GET 的限制,如果不在意語義完全是可以的。業(yè)內(nèi)從 trpc 到 httpc.dev,都是有意的隱藏 HTTP 協(xié)議,只要知道函數(shù)名和參數(shù)就能夠完成調(diào)用。

這里以 [httpc.dev](httpc.dev) 舉例

// Server
function add(x: number, y: number) {return x + y;
};function greet(name: string) {return `Hello ${name}`;
};export default {add,greet
}// Client
import createClient from "@your-package/api-client";const client = createClient({endpoint: "http://api.domain.com"
});let result = await client.add(1, 2);
// result: 3let message = await client.greet("Edith");
// message: "Hello Edith"

很明顯,這樣的寫法是極簡(jiǎn)的。它背后的實(shí)現(xiàn)原理也非常簡(jiǎn)單,就是約定了請(qǐng)求寫法,如下圖。

httpc 的寫法所有的 Get 請(qǐng)求都把參數(shù)放到 $p 上,然后取到的數(shù)組傳給函數(shù)的參數(shù),這塊就是call、apply 發(fā)揮的地方。處理 Post 請(qǐng)求更簡(jiǎn)單,只需要把 Body 內(nèi)容作為函數(shù)參數(shù),實(shí)現(xiàn)更簡(jiǎn)單。

這樣`let result = await client.add(1, 2);`這樣的寫法,就抹去了 HTTP 細(xì)節(jié)。其實(shí),這就是 RPC 的玩法,只是 HTTP2 流行了之后,RPC 結(jié)合 HTTP 協(xié)議,通過約定,簡(jiǎn)化了寫法。

在 ChatGPT 之前,我其實(shí)也是 Restful 擁護(hù)者。但當(dāng)我被問到一個(gè)問題,結(jié)合 AI 你能提效70%嗎?問這話的是一個(gè)算法,每天處理數(shù)據(jù),用 Python 寫一寫片湯代碼。他確實(shí)可以,但我為什么不可以呢?是不是我對(duì)專業(yè)化放不開?結(jié)合豆包MarsCode 上的函數(shù)實(shí)現(xiàn),一旦 Restful API 變成函數(shù)級(jí)調(diào)用,AI 出碼一定是效率更高的。

我想,AI 發(fā)展必然會(huì)有現(xiàn)有技術(shù)棧對(duì) AI 進(jìn)行適配,甚至是類似于 Moonbit 這樣的在設(shè)計(jì)之初就為 AI 出發(fā)做了語法語義準(zhǔn)備的新事物。我們以前用的技術(shù)棧真的對(duì)嗎?在2024年年中,我想我們都需要考慮一下。

BaaS決定它的應(yīng)用場(chǎng)景

在 create.ts 里,有這樣的代碼。

 const result = await baas.redis.hset(TODOListKey,input.name,JSON.stringify({ name: input.name, state: TODOState.Active }));

很明顯就是一個(gè) BaaS SDK 里有 Redis。在云函數(shù)里,FaaS 是function as service。BaaS 是backend as service。BaaS SDK 就是和后端服務(wù)相關(guān)的 SDK,也可以叫中間件。

在豆包MarsCode 函數(shù)項(xiàng)目里,內(nèi)置了 Redis 和文件存儲(chǔ)。比如我通過 hgetall 來查一下我剛才創(chuàng)建的數(shù)據(jù),結(jié)果如下圖。

它的文件用法也是非常簡(jiǎn)單的。參考[docs.marscode.com/reference/f…]

(docs.marscode.com/reference/f…

import { baas } from '@marscode/baas-sdk';// upload
const fileInfo = await baas.file.upload('hello world', "hello.txt");// download
const content = await baas.file.download(fileInfo.url);

從這個(gè)實(shí)現(xiàn)看,大概率是本地文件。如果想利用免費(fèi)服務(wù)器做點(diǎn)啥也是可行的。

至此,我們基本就可以有一個(gè)結(jié)論,從目前的文檔和前面的總結(jié)來看,豆包MarsCode 對(duì) Node.js 和Python 支持是最好的。從 Node.js 實(shí)現(xiàn)上分析,它對(duì) BFF 支持極好,如果要接云數(shù)據(jù)庫(比如supabase\planetscale),也是極其簡(jiǎn)單的,可以覆蓋目前 Web 開發(fā)的所有場(chǎng)景。

豆包MarsCode 同時(shí)支持從模版創(chuàng)建項(xiàng)目和從 Git Repo 導(dǎo)入,也就是說,你可以使用任意技術(shù)棧任意框架,它是一個(gè)通用的 WebIDE + 運(yùn)行環(huán)境。我個(gè)人最喜歡它的 Node.js 云函數(shù)項(xiàng)目模版,簡(jiǎn)單實(shí)用,結(jié)合 AI 代碼提示,寫起來非常高效。

結(jié)合部署看一下全鏈路提效

在豆包MarsCode WebIDE 里是有終端的,但你不需要自己?jiǎn)?dòng)服務(wù),它會(huì)自動(dòng)幫你運(yùn)行。API Test 前面大家都看到了,下面我們?cè)倏纯此囊绘I部署過程。

你只需要點(diǎn)擊上面的 Deploy 按鈕即可,然后 MarsCode 就會(huì)幫你自動(dòng)完成發(fā)布。

綁定域名

取到你的域名里,把 cname 映射上就可以生效了。

對(duì)比 Vercel 和 MarsCode

  • Vercel 是一個(gè)自動(dòng)化部署環(huán)境。結(jié)合 Github,對(duì)于 CI/CD 支持極好。

  • MarsCode 是 WebIDE,提供了 AI 和自動(dòng)化部署能力,WebIDE 里內(nèi)建的 CI/CD 更簡(jiǎn)單。

再看一下價(jià)格

Vercel價(jià)格參考[vercel.com/docs/pricin…](vercel.com/docs/pricin…

MarsCode免費(fèi)額度(WebIDE運(yùn)行環(huán)境和Server),參考[docs.marscode.com/get-started…](docs.marscode.com/get-started…

最佳實(shí)踐

先來看看我的幾個(gè)嘗試。

1.使用 React 項(xiàng)目,我試了2個(gè)模版,CRA 和Nextjs,支持的都非常不錯(cuò)。想懷舊,用 Koa 寫 EJS 也是可以的。

2.API推薦采用云函數(shù)(**Node.js for AI Plugin**)

除了 Node.js 外,還有 Python AI 插件,當(dāng)然你也可以選擇 Go、Java,Rust 等。前面已經(jīng)講了,這里就不再重復(fù)了。

3.更多模版

從語言到模版,已經(jīng)非常全面了。其中對(duì)國產(chǎn)第一語言 Moonbit 的支持是行業(yè)里第一個(gè),支持?jǐn)帱c(diǎn)調(diào)試了哦。

有了上面這些信息,我們就可以給出最佳實(shí)踐了。

  • 前后端分離,前端選 React,后端選 Node.js 云函數(shù),這是一個(gè)常規(guī)技術(shù)選型。
  • 前后端分離 + BFF
  • 前端選 React,BFF 選 Node.js 云函數(shù),后端選 Node.js 云函數(shù) + 云數(shù)據(jù)庫。
  • 前端選 React,BFF 選 Node.js 云函數(shù),后端選其他語言云函數(shù)+ 云數(shù)據(jù)庫。

由于豆包MarsCode 目前是免費(fèi)的,且云函數(shù)是按需付費(fèi),可以在很大范圍內(nèi)享受免費(fèi)的紅利。對(duì)于獨(dú)立開發(fā)者或者小公司小團(tuán)隊(duì)是非常適合的。這里需要提醒一下,自動(dòng)發(fā)布僅限海外服務(wù)器,對(duì)于出海的開發(fā)者來說會(huì)更友好。

這種組合的方式,可以最大范圍的使用免費(fèi)額度。當(dāng)然,還可以有很多騷操作,比如講一個(gè)站點(diǎn)拆成多個(gè)頁面,然后通過微前端或者微模塊的方式嵌入。只要你想省錢,辦法總比困難多,哈哈哈哈。

AI

關(guān)于AI部分,建議大家去看看阮一峰老師寫的測(cè)評(píng),參考www.ruanyifeng.com/blog/2024/0…

這是他給的結(jié)論,豆包MarsCode 完全可以替代Github Copilot。我一般都是眼見為實(shí),自己折騰了一些內(nèi)容。

分析項(xiàng)目

豆包MarsCode IDE 通過提供開發(fā)模版,讓開發(fā)者能夠快速進(jìn)入項(xiàng)目而無需運(yùn)維本地環(huán)境。借助原生集成的 AI 能力,開發(fā)者不再需要自己去理解代碼,從而更高效地上手項(xiàng)目。發(fā)布會(huì)的時(shí)候,現(xiàn)場(chǎng)演示了 Langchain 項(xiàng)目的導(dǎo)入和分析,效果還是非常不錯(cuò)的。

我在 Node.js 云函數(shù)項(xiàng)目里也做了簡(jiǎn)單提問,效果還可以。

截圖下面還有一段,如下。

項(xiàng)目使用PNPM來管理依賴項(xiàng)。您可以使用PNPM命令來安裝依賴項(xiàng),例如pnpm add axios。項(xiàng)目還提供了OpenAPI Schema的生成工具,
它可以根據(jù)Input和Output接口的類型描述和注釋生成相應(yīng)的Schema描述。
在構(gòu)建和部署過程中,將生成metadata.json文件,并將其解析為最終的OpenAPI Schema。此外,項(xiàng)目還提供了API測(cè)試工具,可以幫助您測(cè)試API。
您可以在MarsCode中點(diǎn)擊頂部的"API Test"按鈕打開API測(cè)試面板,并發(fā)送請(qǐng)求進(jìn)行測(cè)試。最后,項(xiàng)目還提供了集成的云函數(shù)托管功能,您可以通過點(diǎn)擊頂部的"Deploy"按鈕快速部署云函數(shù)。如果您需要更詳細(xì)的信息,可以參考項(xiàng)目中的README.md文件或查閱MarsCode的文檔。如果您有任何問題或反饋,可以在MarsCode的Discord社區(qū)中提問或反饋。希望這些信息對(duì)您有所幫助!如果您有任何與編程相關(guān)的問題,我將很樂意幫助您。

它描述的準(zhǔn)確程度是非常棒的,通過項(xiàng)目實(shí)戰(zhàn)章節(jié)的內(nèi)容相信大家都能有一個(gè)比較好的判斷了。

  • OpenAPI Schema,我是沒提到的。
  • 內(nèi)置的也確實(shí)是 pnpm,執(zhí)行 pnpm add axios,這個(gè)確實(shí)是可行的。
  • 根據(jù) Input 和 Output 接口的類型描述和注釋生成相應(yīng)的 Schema 描述,上面我有講到。
  • 在構(gòu)建和部署過程中,將生成 metadata.json 文件,并將其解析為最終的 OpenAPI Schema,我沒寫,原因是我沒看懂,他就是一個(gè)空文件。
  • API Test 和 Deploy 也是對(duì)的。

這塊生成的還不錯(cuò)的,甚至我覺得可能是項(xiàng)目組給 LLM 喂了很好的飼料。無論如何,我自己的這個(gè)體驗(yàn)還是不錯(cuò)的。

問答

我日常用問答式的應(yīng)用還是比較多的,這里面我選了一個(gè)我最近常用的 AST Vistor 的寫法,分別測(cè)試一下。

豆包MarsCode 的返回結(jié)果如下圖。

下面是 Chatgpt 3.5 返回的結(jié)果。

不清楚什么原因,可以看出來的是,豆包MarsCode 的回答很明顯是更偏向于代碼的。

其實(shí)自己買 Chatgpt 或者套殼服務(wù)還是需要一年 500 元以上的。開一個(gè)豆包MarsCode 去蹭他的免費(fèi)額度還是很不錯(cuò)的。

創(chuàng)建User接口

AIGC 出現(xiàn)后,我們都想著如何讓 AI 幫我們自動(dòng)化,比如一句話,讓他幫我們打開車機(jī)功能,智能家具功能,很明顯這已經(jīng)比之前的人工智障的音箱好多了。還有很多人嘗試過通過語音控制瀏覽器,和Siri 類似,但比 Siri 好用的多。我個(gè)人很喜歡 Vimium,結(jié)合語音轉(zhuǎn)文字,文字通過 LLM 解釋下,找對(duì)最匹配的行為。甚至很多基于這種形式的硬件,曾經(jīng)我都很關(guān)注。

所以,我想按照這個(gè)方式嚯嚯一下豆包MarsCode。于是向它提問:幫我在 api 目錄下新建 user 的 crud 接口。

豆包MarsCode 確實(shí)能夠生成正確的基于它云函數(shù)的代碼。但沒有幫我創(chuàng)建目錄和文件。

豆包MarsCode 生成的代碼區(qū)塊有3個(gè)操作

  • 復(fù)制
  • 插入,插入到當(dāng)前選中文件,會(huì)根據(jù)光標(biāo)進(jìn)行
  • 新建文件,是 VSCode 的那種 cmd+n,不是真的新建文件。保存是需要自己進(jìn)行的。

如下圖。

還是比較保守,按照當(dāng)前的能力來說,直接寫入文件也可以的,可能對(duì)算法還不是特別有信心,畢竟現(xiàn)階段AI還是不能替代程序員。當(dāng)前AI能力局部上已經(jīng)很強(qiáng)了,但完整流程可控還有一些距離,即時(shí) MoA(Mixture-Of-Agents) 也沒法做的效果很好。

無論如何,豆包MarsCode 在云函數(shù)這塊能夠出碼準(zhǔn)確,還是不錯(cuò)的。

部分選中

Copilot 也有類似的功能,這個(gè)就不多講了。

生成文檔

選中代碼之后,直接生成文檔,這個(gè)功能還是非常方便的。尤其是云函數(shù)這個(gè)模版里,它的準(zhǔn)確度是非常棒的。

生成測(cè)試

AI 上來之后,最先折騰的就是測(cè)試,然后設(shè)計(jì),然后前端。事實(shí)上,局部代碼,生成測(cè)試用例是可行的,這種就是能幫忙多少生成多少,集成測(cè)試不行,單元測(cè)試能生成也行。

看一下它生成的代碼。

import { Args } from '@/runtime';
import { handler, Input, Output } from '@/api/sayhi/hello';async function testSayHi(): Promise<void> {const input: Input = {name: 'John',};const args: Args<Input> = {input,logger: console, // 使用控制臺(tái)作為日志記錄器};try {const result: Output = await handler(args);console.log(result.message); // 打印返回的消息} catch (error) {console.error('Error:', error); // 打印錯(cuò)誤信息}
}testSayHi();

邏輯上沒有問題,只是沒有套用任何測(cè)試框架而已,直接用 node 命令執(zhí)行更快。如果想換成 xv 測(cè)試框架,只需要把 Node.js 斷言加進(jìn)來,簡(jiǎn)單處理斷言即可。

總結(jié)

豆包MarsCode 適用于通用 Web 開發(fā)的所有場(chǎng)景,其 WebIDE 和全場(chǎng)景 AI 智能是特色,在云函數(shù)基礎(chǔ)服務(wù)上打造一站式智能開發(fā)平臺(tái)。

豆包MarsCode 是可用的,有創(chuàng)新的,先進(jìn)的,基于 WebIDE 做 AI 是我非常欣賞的方向。我是堅(jiān)定的 Web OS 信仰者,未來瀏覽器可以搞定所有事情,結(jié)合 AI 提效,不管我們喜不喜歡,它都一定會(huì)存在且演進(jìn),至于能不能替代程序員還需要觀察,但善于用 AI 的程序員肯定是更搶手的。從豆包MarsCode 開始,展望一下未來軟件開發(fā)場(chǎng)景,是一件很不錯(cuò)的事兒,推薦大家試一試。

http://m.aloenet.com.cn/news/33391.html

相關(guān)文章:

  • 長沙做旅游網(wǎng)站公司預(yù)測(cè)2025年網(wǎng)絡(luò)營銷的發(fā)展
  • 莆田有哪幾家做網(wǎng)站設(shè)計(jì)關(guān)鍵詞優(yōu)化搜索排名
  • 頁面設(shè)計(jì)制作網(wǎng)站源碼百度優(yōu)化是什么
  • 咸陽營銷型網(wǎng)站建設(shè)泉州全網(wǎng)營銷優(yōu)化
  • 網(wǎng)站轉(zhuǎn)化附子seo教程
  • js 網(wǎng)站測(cè)速千鋒教育地址
  • 有沒有幫人做數(shù)學(xué)題的網(wǎng)站企業(yè)宣傳文案
  • wordpress 2019主題谷歌字體寧波seo怎么做推廣渠道
  • 網(wǎng)站改版 方案東莞整站優(yōu)化推廣公司找火速
  • 做網(wǎng)站一般哪里找廣東的seo產(chǎn)品推廣服務(wù)公司
  • 男女直接做免費(fèi)的網(wǎng)站我對(duì)網(wǎng)絡(luò)營銷的理解
  • 在建設(shè)部網(wǎng)站上的舉報(bào)國外免費(fèi)輿情網(wǎng)站有哪些軟件
  • 石家莊制作網(wǎng)站的公司效果最好的推廣軟件
  • 什么用來編寫網(wǎng)頁鄭州seo詢搜點(diǎn)網(wǎng)絡(luò)效果佳
  • 酒泉網(wǎng)站建設(shè)企業(yè)網(wǎng)站設(shè)計(jì)模板
  • 橋東網(wǎng)站建設(shè)百度熱點(diǎn)榜單
  • python 做網(wǎng)站 代碼會(huì)seo顧問是干什么
  • 中華人民共和國住房與城鄉(xiāng)建設(shè)部網(wǎng)站廣州代運(yùn)營公司有哪些
  • 濟(jì)南優(yōu)化網(wǎng)站的哪家好軟文世界平臺(tái)
  • 家居裝修公司百度關(guān)鍵詞優(yōu)化大師
  • 麗水市蓮都區(qū)建設(shè)分局網(wǎng)站優(yōu)幫云排名自動(dòng)扣費(fèi)
  • 南開網(wǎng)站建設(shè)公司seo網(wǎng)絡(luò)優(yōu)化平臺(tái)
  • 大學(xué)生網(wǎng)頁設(shè)計(jì)期末作品代碼網(wǎng)站seo是什么意思
  • 截圖域名網(wǎng)站.seo優(yōu)化排名技術(shù)百度教程
  • 怎么自己做網(wǎng)站免費(fèi)的免費(fèi)seo關(guān)鍵詞優(yōu)化排名
  • 三亞網(wǎng)紅餐廳衡水網(wǎng)站seo
  • wap網(wǎng)站建設(shè)管理制度百度平臺(tái)營銷寶典
  • 學(xué)校網(wǎng)站免費(fèi)建設(shè)關(guān)鍵詞搜索愛站
  • aap手機(jī)網(wǎng)站建設(shè)畢業(yè)設(shè)計(jì)網(wǎng)站
  • flash怎么做電子書下載網(wǎng)站seo關(guān)鍵詞快速排名