Github/codespaces开发环境

Github/codespaces开发环境

1 基本说明

最近打算深度弄一下SOC,这里又要用到linux开发环境,本来还是想用WSL,不过便携性和同步性不好,在单位有时间的话也没法用。后面又想去买一个促销的腾讯云或者阿里云,不过促销的一般是国内服务器,拉外网代码太痛苦了。正好看到说Github/Codespaces可以白嫖,配置还不错,最关键的是拉github代码速度快到飞起,和github集成的非常好。必须得上了。。。

看了一下可以选2核和4核的,使用时长好像都差不多。主要是如果超时了,4核的会贵一些。2核心的配置如下:

CPU:2 核(vCPU)内存:8 GB RAM存储:32 GB(/workspaces 目录)系统:Ubuntu Linux(默认镜像)GitHub免费额度:每月 120 核时(core-hours) + 15 GB 存储(2 核机约 60 小时 / 月)

一进去主页是这样的:

为了能用的更多不浪费,很多资料都会说让把超时时间改小。默认是30分钟,改成5分钟就好。位置是在主界面的setting->Codespaces

这里可以自己创建空白环境。

之后下面的界面可以设置成传统的黑色。

默认的是没有任何开发工具,点击最左下角的符号,选择Add Dev container configuration Files。就会增加一个默认的。

默认的配置文件就是.devcontainer/devcontainer.json。内容如下:

{"image":"mcr.microsoft.com/devcontainers/universal:2"}

直接用的话基本上就是创建了一个包含全部开发工具的docker。安装好之后试了一下,常用的工具里面几乎都有了。连perl,php这些古早工具都有。

👋 Welcome to Codespaces! You are on our default image. - It includes runtimes and tools for Python, Node.js, Docker, and more. See the full list here: https://aka.ms/ghcs-default-image - Want to use a custom image instead? Learn more here: https://aka.ms/configure-codespace 🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1). 📝 Edit away, run your app as usual, and we'll automatically make it available for you to access. @dancejc ➜ /workspaces/codespaces-blank $ ls @dancejc ➜ /workspaces/codespaces-blank $ pwd /workspaces/codespaces-blank @dancejc ➜ /workspaces/codespaces-blank $ python Python 3.12.1 (main, May 6 2025, 20:30:25) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() @dancejc ➜ /workspaces/codespaces-blank $ gcc gcc: fatal error: no input files compilation terminated. @dancejc ➜ /workspaces/codespaces-blank $ make make: *** No targets specified and no makefile found. Stop. @dancejc ➜ /workspaces/codespaces-blank $ java -version openjdk version "21.0.7" 2025-04-15 LTS OpenJDK Runtime Environment Microsoft-11369942 (build 21.0.7+6-LTS) OpenJDK 64-Bit Server VM Microsoft-11369942 (build 21.0.7+6-LTS, mixed mode, sharing) @dancejc ➜ /workspaces/codespaces-blank $ php -version PHP 8.3.14 (cli) (built: May 6 2025 20:22:03) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.14, Copyright (c) Zend Technologies with Xdebug v3.4.2, Copyright (c) 2002-2025, by Derick Rethans @dancejc ➜ /workspaces/codespaces-blank $ perl -version This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi (with 60 registered patches, see perl -V for more detail) Copyright 1987-2019, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.

还是挺方便的。

2 创建树莓派3裸片环境

如果要使用别人的仓库,直接在界面的code下点积codespaces就可以。

之后会直接进入很类似VSCode的web版。

在主界面下也创建了这个,应该是docker吧。

因为没有默认的devcontainer,所以进来之后编译工具还是要手动安装。

安装好的makefile和现在的工具不是很兼容,要改不少选项才行。一番折腾,最后还是编译成功了。生成物就是kernel8.img。

右键选择下载,就能下载到本地了。真的比腾讯云,阿里云方便多了。

3 费用问题

最后要注意的就是费用的问题。就算你没有绑定支付比如信用卡,但是后台也会计费的。如果扣费不成功,可能就会停用你的账号一些权限。

具体的计费规则没有详细看,本来也不打算给钱。。。不过看了一下就用了两三天,居然有0.44美元的费用。不过再详细看了下,应该是可以抵扣的。如下:

$0.44

Showing currently applied usage and credits for your account.
Current usage for Mar 1 - Mar 31, 2026. Monthly quota resets in 1 day(s).

Included usage*

2,000 included Actions minutes

~$12.00 off*

$0

.5 GB included Actions storage

~$0.125 off*

$0

10 GB included Git LFS bandwidth

~$0.875 off*

$0

10 GB included Git LFS storage

~$0.70 off*

$0

1 GB included Packages data transfer

~$0.50 off*

$0

.5 GB included Packages storage

~$0.125 off*

$0

Included premium requests

~$0 off

$0

15 GB included Codespaces storage

~$1.05 off*

<$0.01

120 included Codespaces core hours

~$10.80 off*

$0.44

* Included usage is an approximate amount based on current pricing.

存储和使用时长分别有10刀和1刀的可抵扣额度,日常用应该够。

4 最后

总之感觉还是挺方便的,不过比起实体Linux,好像还是差了点感觉。。。我的想法是平时还是WSL为主吧,一个手感更好另外也确保没有多的花费。如果外出或者在公司,就用Codespaces也可以。

Read more

Flutter 三方库 flutter_image_test_utils 的鸿蒙化适配指南 - 实现端侧 UI 测试中的网络图片模拟、支持 HTTP 图片请求劫持与自动化渲染一致性验证实战

Flutter 三方库 flutter_image_test_utils 的鸿蒙化适配指南 - 实现端侧 UI 测试中的网络图片模拟、支持 HTTP 图片请求劫持与自动化渲染一致性验证实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 flutter_image_test_utils 的鸿蒙化适配指南 - 实现端侧 UI 测试中的网络图片模拟、支持 HTTP 图片请求劫持与自动化渲染一致性验证实战 前言 在进行 Flutter for OpenHarmony 的自动化 UI 测试(Widget Test / Integration Test)时,网络图片的加载往往是最大的“变数”。由于测试环境可能处于隔离内网或不稳定的网络中,真实的图片下载会导致测试用例因超时而断断续续。flutter_image_test_utils 是一款强大的测试辅助库,它能完美模拟(Mock)网络图片请求。本文将指导大家如何在鸿蒙端构建极致稳定的视觉回归测试。 一、原原理性解析 / 概念介绍 1.1

By Ne0inhk
鸿蒙APP开发从入门到精通:鸿蒙电商购物车全栈项目——用户管理、商品列表、购物车

鸿蒙APP开发从入门到精通:鸿蒙电商购物车全栈项目——用户管理、商品列表、购物车

《鸿蒙APP开发从入门到精通》第13篇:鸿蒙电商购物车全栈项目——用户管理、商品列表、购物车 🛒📱 内容承接与核心价值 这是《鸿蒙APP开发从入门到精通》的第13篇——用户管理、商品列表、购物车篇,100%承接第12篇的「运维监控、生态运营与专属变现」项目架构,完成鸿蒙电商购物车全栈项目的基础功能实现。 学习目标: * 掌握用户管理的设计与实现; * 实现用户注册、登录、用户信息管理; * 理解商品列表的设计与实现; * 实现商品列表、商品详情、商品搜索; * 掌握购物车管理的设计与实现; * 实现添加商品到购物车、修改购物车商品数量、删除购物车商品; * 优化用户管理、商品列表、购物车的用户体验(响应速度、数据安全、用户反馈)。 学习重点: * 鸿蒙APP用户管理的开发流程; * 用户管理的分类与使用场景; * 商品列表的设计与实现; * 购物车管理的设计与实现。 一、 用户管理基础 🎯 1.1 用户管理定义 用户管理是指对应用的用户进行管理,主要包括以下方面:

By Ne0inhk
HarmonyOS6半年磨一剑 - RcImage组件填充模式与形状系统设计(一)

HarmonyOS6半年磨一剑 - RcImage组件填充模式与形状系统设计(一)

目录 * 前言 * 项目简介 * 核心特性 * 开源计划 * rchoui官网 * 文档概述 * 第一章: 填充模式系统 * 1.1 填充模式类型定义 * 1.2 填充模式对比分析 * 1.3 填充模式实现机制 * 第二章: contain 模式深度解析 * 2.1 contain 模式工作原理 * 2.2 contain 模式适用场景 * 第三章: cover 模式深度解析 * 3.1 cover 模式工作原理 * 3.2 cover 模式适用场景 * 第四章: fill 模式深度解析 * 4.1 fill 模式工作原理 * 4.2 fill

By Ne0inhk
大力学习台灯T6/T6Pro 救砖实战:macOS/Windows 用 mtkclient 从 Fastboot 无限重启完整恢复(含固件下载地址)

大力学习台灯T6/T6Pro 救砖实战:macOS/Windows 用 mtkclient 从 Fastboot 无限重启完整恢复(含固件下载地址)

大力学习台灯T6/T6Pro(MTK)救砖实战(小白可用):macOS/Windows 用 mtkclient 从 Fastboot/Logo 无限重启完整恢复(含恢复原机 SN/proinfo) 本文记录一次 Dali T6 学习机(联发科 MTK 平台,示例识别为 MT6771/0x788 系列)从“卡 Fastboot / Logo 无限重启”到 成功进入系统,并最终 恢复原机 SN/设备身份(proinfo) 的完整过程。 如果你是小白:你只需要按本文顺序复制粘贴命令即可。每一步我都写了: TL;DR(傻瓜式总流程:照抄就能修) 下面这套是“最短路径”修复流程:

By Ne0inhk