coding anywhere

標籤:coding anywhere

Coding中的AI輔能

潮流特區
MacauYeah ・2025-12-20

早排跟一位外國的朋友聊天,發現對方公司大力地推動開發工作與AI結合,而且實務上亦幫到忙,可以解放生産力。 既然大家在AI上有得益,筆者亦試用一下。就礙於安全性問題,目前筆者暫時都經過chatbot的發散問題的方式,問AI取得方向性的建議。以下,筆者就分享一下自己的使用心得。 Github Copilot Chat 道理上可以直接安裝VSCode上,但不知道是否不版本更新問題。筆者的Ubuntu 24.04 VSCode 無法運行。反而匯出vsix 後,筆者的codeserver open source VSCode 可以運行。 有相同問題的朋友,可以留言找codeserver的詳細安裝方式。 初次使用下,GPT5 mini 的性能不錯。作為發散問題,可以幫筆者快速地梳理筆者想要了解的技術。(前題是這個技術很成熟,只是筆者不太了解) 例如:筆者會問它關於一些 builder pattern 的必要性。與原本的做法有什麼差異。通過一輪來回對答,筆者對於使用情境也有一個更全面的了解。相對於傳統,筆者要多輪Google,之後再在腦海中梳理再追問,的確快好多。 GitHub Copilot Chat 唯一的問題是,免費的額度需要每個月才會補充。長期用需要付上月費,而且它內置的Model並不包括 DeepSeeks 和 Claude。 我們可以經API KEY隨時加的外部的Model,不過這就等於我們需要多頭付費,GitHub 充一份錢,外部算力也是。 Poe.com 因為筆者暫時也只是使用開放式問題,做一些思維上的整理。筆者還試過 Poe 的第三方Claude Bot。除了策略問題外,範例寫Code效果也行。(當然是限制在筆者未了解,但其實已面世很久的技術。如果好像現在問它一個spring boot 4的問題,就不太推薦) 由於不是直接由Bot改Code,所以算力消耗不高,Poe也每日補充免費額度,可以更方便用來試水看看。 還想用AI嗎? 筆者直接給答案,想,很想。不過這並不代表我們就輕鬆很多。 對於傳統開發框架,我們還是要先理解、學習。就算未來筆者試用Bot生成Code,筆者還是要負責驗證的部份。驗證的能力,其實就是基於過去的理解和學習。面對一些新問題,筆者還是需要去官方網站找實際的資料、範例,以判斷AI生成的結論是否合理。也依靠這些資訊去修正AI的結果。 對於筆者已知的問題,若筆者過去的專案已有答案,筆者還是寧願自行複制貼上,去做一些手動修改,去適配新的場景,因為這需要的驗證工作量還更少,風險更低。

Visual Studio Code 才是 coding anywhere的基礎?

潮流特區
MacauYeah ・2025-10-25

筆者過去就有發表過使用 VM docker code server 作為 coding anywhere的基礎, 現時也有一直使用。code server 有效,但對於Web App 開發,仍有所不足。 那個藏在瀏覽器的IDE Code Server 使用 code server 的好處,就是筆者只需要一個有瀏覽器的客戶端,就可以連線到雲上的VM中使用 code server 。不論多重的功夫,交給外部的雲去做,自己的客戶端就可以盡可能輕便。不想自己攪一套code server開發環境?github codespaces in browser 也是一個很類似的替代器。它也是隨時經雲建立一台專用的 VM,之後就可以經瀏覽器進行開發。 一切看來都很好,所有東西都可以在 VM docker 中進行。如果你的 VM docker,可以有齊所有除錯工具,應該就真萬能了。現實就是不太美好,因為雲上的 VM ,docker 中的容器,主要都是沒圖形介面的。如果你想要利用的除錯工具,例如 chrome,你就未必可以順利在 headless VM docker conatiner 中安裝了。很多除錯工具,要麼就需要圖形介面,要麼就要有條件連到本地硬碟,所以筆者就 code server 本身,真的沒有太多解法。 Web App 開發,回到原始的基本步 Visual Studio Code 回到原始的基本步,本地Visual Studio Code VM docker ,就好好地可以利用本地的 chrome 等進行 NodeJs 的除錯。它就跟本地Visual Studio Code 本地開發類似,本地能用的 chrome,可以經過 vscode 連到 VM docker 內,只要Remote Development 插件就可以了。筆者測試過,真的很簡單,vscode連線後,會在你的VM docker 內,安裝一個很細的 client。然後其他事就像本地開發一樣了。Remote Development 除了用自己的VM外,官方還稱它可以連上github codespaces。筆者就未有詳細測試,有興趣的朋友可以建立一個codespaces看看。 雖然 Visual Studio Code 並沒有保證完整地解決所有問題,但至少它提供了一個橋樑可以作為接口開發。coding anywhere 還是有條件實現,只是我們的客戶端並不如一開始的單純,只少要有一個完整的桌面電腦環境OS ,可以做到 port forward,做一些簡單的對接。只是單純的移動端 Web 界面,就未能夠做到那些複雜的跨機轉譯。

Coding Anywhere: 依賴服務的選擇

潮流特區
MacauYeah ・2025-04-22

年多前,筆者購入steamdeck, 經過一輪軟件定制,把它變成一個可以作為IT從業員開發機的方案,也介紹了一些coding anywhere的想法 httpslifemag.cyberctm.comzh_TWblogmacauyeah14175Coding Anywhere 工作方案 httpslifemag.cyberctm.comzh_TWblogmacauyeah14352Steam OS 3.5更新,內建 podman, distrobox httpslifemag.cyberctm.comzh_TWblogmacauyeah14149開發者在Steamdeck上的另一個選擇 Gnome box 在試驗了一年多後,筆者對於依賴服務的模疑,又有另一層感受。什麼是依賴服務?就像你寫的程式庫,可能需要資料庫儲存、可能需要問AI等等。所以在開發時,都要確保這些服務的存在。一般,要麼就是在本機上自行安裝,要麼就是經過互聯網使用雲服務(public cloud或者你團隊提供的private cloud),也就是本地模擬還是互聯網模擬。 本地模擬的得失 本地模擬,主要是考慮金錢上的優勢與資源的獨立性。 金錢成本 互聯網資源大部份都不會是免費的,如果本機的硬件足夠,可以在本地完全模疑,有一定上的優勢。但如果該服務在本地安裝,都要計授權,可能不沒有太大差異,例如那些report engine, report designer,即使本地開發都要逐台開發機計算。但其他大部份,如資源庫的實現,都有本地開發免費授權。所以本地安裝道理上有一定的成本優勢。 資源獨立性 當一個團隊共用一些互聯網服務時,可能會互相干援。即使團隊在開發時,可以經profile使用不同的資源,但發生誤用的情況還是很常見。(除非大家已經有一套很健全的開發用profile,只在本機生效,亦只在必要時才會被提升到程式碼的版本控制當中,不會誤會地覆蓋他人,也不會忘了提交。但這是很有挑戰的一件事)。反觀本地模擬,因為那些服務並不會在團隊中分享,就保證不會被誤用。 學習成本高 本地模擬,就有一個莫大的痛點,就是學習成本高。我們可以找到很多本也安裝資料庫的教學,本地LLM AI的架設也不少。但我們並不是很輕易地就可以無師自通,有時為了初次安裝,所花的時間成本也大得令人卻步。 coding anywhere轉移成本高 因為全部本地模疑,代表我們必需要有一台足夠強大的主機。但如果我們的移動接入點,綁定了在某台特定的強大主機,我們活動空間也相對減少。 互聯網模擬的得失 直接使用互聯網的服務,主要體現於用錢解決問題的優勢 即開即用 能用現成的就用現成的。例如你目標是使用mysql cloud database,就直接伸請使用。如果你還要在本地安裝或使用Cloud VM安裝,就還要自行安裝管理介面等工具。因為成本問題,實在要自行安裝,使用cloud vm也有一定的方便性。使用cloud vm 有一定的快取,可以減少安裝所需要的時間。當我們養成自動化的習慣,clould VM 也可以隨時刪掉,有需要才重起。 解決單機無法模擬的情況 某性依賴,並不能簡單地經過本地單一部主機去做到。例如我們要模擬一些叢集功能。我們可能要在主機或網絡設備作出一定的調整,才可能提供bridge network。這一點在辦公室網絡下限制更多,不是隨便就可以建一個可以互通,又可以訪問互聯網的環境。另一些如block storage等資源,還會對硬件有一定的要求,也不是軟件模擬就可以做到。我們若不經過互聯網取得,至少也要在團隊下的private cloud上去建立。(不過如果是從零自建private cloud環境,初次投入的成本可能直接使用public cloud 低。 ) coding anywhere轉移成進一步下降 作為移動接入點,就剩下那些不可互聯網化的部份,例如domain name,有時還是localhost比較方便,又例如有一些硬件相關開發,硬件部份必需經過本地接入。 就以筆者的個人經驗來講,除非public cloud的價錢實在不可接受又或是自動化幾乎不可能,否則使用public cloud會有時間成本上的絕對優勢。如果要走本機模擬方向,必需要對Container、VM、網絡等有深刻的了解,才會成事。