更好用的轻量级 Go 语言 XML 库。虽然 Go 语言内置了处理 XML 的库,但在使用时必须按照嵌套层级定义结构体非常繁琐。这个项目的设计灵感来源于 Python 语言的 ElementTree 库,可以在无需定义结构体的情况下灵活的读取、生成 XML 文档。来自 [@两双筷子sqldc](https://hellogithub.com/user/5dGtvaZ6H3L4QMY) 的分享
go doc := etree.NewDocument()doc.CreateProcInst("xml", `version="1.0" encoding="UTF-8"`)doc.CreateProcInst("xml-stylesheet", `type="text/xsl" href="style.xsl"`)people := doc.CreateElement("People")people.CreateComment("These are all known people")jon := people.CreateElement("Person")jon.CreateAttr("name", "Jon")sally := people.CreateElement("Person")sally.CreateAttr("name", "Sally")doc.Indent(2)doc.WriteTo(os.Stdout)
用 C 语言从头写一个 Linux 容器。该项目仅依赖底层的 Linux 功能,用 C 语言实现的一个 Linux 容器,可用来了解更多关于 Linux 容器和内核的技术细节。```$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v]22:08:41 INFO ./src/barco.c:96: initializing socket pair...22:08:41 INFO ./src/barco.c:103: setting socket flags...22:08:41 INFO ./src/barco.c:112: initializing container stack...22:08:41 INFO ./src/barco.c:120: initializing container...22:08:41 INFO ./src/barco.c:131: initializing cgroups...22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G...22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256...22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64...22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458...22:08:41 INFO ./src/barco.c:139: configuring user namespace...22:08:41 INFO ./src/barco.c:147: waiting for container to exit...22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit #### ls bin home lib32 media root sys vmlinuz boot initrd.img lib64 mnt run tmp vmlinuz.old dev initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var# echo "i am a container"i am a container```
在 Windows 上运行 Linux 图形化应用的工具。该项目是微软开源的支持在 Windows 操作系统上,运行 Linux GUI 应用的工具。提供了原生和自然的 Linux GUI 应用使用体验,比如跨 Windows 和 Linux 应用的剪切粘贴等功能。WSLg 已内置在 Windows 10 及以上的系统中,可直接通过 wsl 命令启动。