【开源简记】第三期
Rust Course
Rust语言圣经!
字里行间都能体会到作者的用心,相信看完项目作者对Rust的描述后你也会对这门语言感兴趣
作者大佬原话:
博主跟项目作者一样认为Rust会越来越受青睐,加之WebAssembly技术逐渐被应用到更多企业中,Rust作为性能可与C/C++比肩的语言…开学吧
Deno
一个JS/TS运行时环境,由于其现代设计和原生TS支持,吸引了许多新项目和开发者
与Node.js对比:
安全性
- Node.js:
- 默认情况下,Node.js 没有任何安全限制,代码可以访问文件系统、网络等所有资源。
- 安全控制需要通过编写代码来实现,开发者必须自己处理权限管理和安全问题。
- Deno:
- 默认情况下,Deno 运行在一个受限的环境中,不允许访问文件系统、网络、环境变量等资源,除非明确授予权限。
- 使用命令行参数来授予权限。
模块系统
- Node.js:
- 使用 CommonJS 模块系统,模块通过 require() 进行导入。
- 依赖管理通过 npm(Node Package Manager),需要 package.json 文件。
- Deno:
- 使用标准的 ES 模块(ESM),模块通过 import 进行导入。
- 没有中央包管理器,依赖直接通过 URL 导入,可以从任何地方加载模块。
TypeScript 支持
- Node.js:
- 默认不支持 TypeScript,需要通过 Babel 或 TypeScript 编译器(tsc)等工具进行编译。
- 可以使用 ts-node 来直接运行 TypeScript 文件。
- Deno:
- 原生支持 TypeScript,无需额外配置或工具,可以直接运行 .ts 文件。
内置工具和库
- Node.js:
- 提供了丰富的内置模块,如 fs、http、net 等。
- 需要额外安装一些常用的开发工具,如 linting(ESLint)、格式化工具(Prettier)和测试框架(Jest)。
- Deno:
- 内置了一些常用的开发工具,如代码格式化工具(deno fmt)、测试框架(deno test)和文档生成器(deno doc)。
- 提供了一些常用的标准库。
文件扩展名
- Node.js:
- 对于 CommonJS 模块,文件扩展名通常是 .js。对于 TypeScript 文件是 .ts。
- Deno:
- 需要明确指定文件扩展名,支持 .js、.ts 和 .jsx 等。
社区支持
- Node.js:
- 拥有一个成熟且庞大的社区,npm 包管理器提供了超过一百万个包。
- 社区活跃,广泛应用于生产环境。
- Deno:
- 社区相对较新且较小,但正在快速增长。
- 由于其现代设计和原生 TypeScript 支持,吸引了许多新项目和开发者。
配置和使用
- Node.js:
- 需要 package.json 文件来管理依赖和项目配置。
- 常用构建工具如 Webpack 和 Babel 需要额外配置。
- Deno:
- 无需配置文件,直接运行 TypeScript 和 JavaScript 文件。
- 内置工具减少了对第三方工具的依赖。
Papermark
Papermark是一个用于分享文档的工具,内嵌了分析工具与颗粒度较高的权限控制功能
官方表示他们将会终结DocSend的业界垄断地位
简约的风格非常赏心悦目
Swarm
由Openai团队带来的新Ai应用框架,目的是实现轻量级的多端协作和互助,探索新的ai应用模式
官方示例代码:
from swarm import Swarm, Agent
client = Swarm()
def transfer_to_agent_b():
return agent_b
agent_a = Agent(
name="Agent A",
instructions="You are a helpful agent.",
functions=[transfer_to_agent_b],
)
agent_b = Agent(
name="Agent B",
instructions="Only speak in Haikus.",
)
response = client.run(
agent=agent_a,
messages=[{"role": "user", "content": "I want to talk to agent B."}],
)
print(response.messages[-1]["content"])
/*
* 输出:
* Hope glimmers brightly,
* New paths converge gracefully,
* What can I assist?
*/
很适合小白学习
官方也建议仅作为学习用,不会关注项目的issues和PR
Follow
一个很有意思的软件,可以将你的“收藏品”们如最爱的网站、博客、社交媒体账号等
的新内容在这个软件中统一接收并管理
软件中还提供了丰富的附加功能:AI翻译、总结、每日报告等
这就去试用一番