首页 文章 精选 留言 我的

精选列表

搜索[天玑9500],共10000篇文章
优秀的个人博客,低调大师

倒计时 2 天|Meetup 议题已公开,Copilot 月卡等你来拿!

「AI时代下的基础软件」 10 月 25 日(周六),欢迎来到深圳 MoonBit 技术沙龙 ,一起探讨 AI 时代的基础软件新范式与编程语言的未来。 活动时间: 10月25日 (周六)14:00 - 17:00 活动地点: 深圳市福田区保税区市花路5号长富金茂大厦1号楼二层多功能厅 报名链接: https://hdxu.cn/1z5w9 一、MoonBit 发展 & 展望 张宏波 粤港澳大湾区数字经济研究院基础软件中心首席科学家,MoonBit 团队负责人 整体回顾MoonBit 3年来的发展历程,介绍其在编译器技术、生态建设、以及AI相关领域中的最新进展,并展望MoonBit如何成为下一代智能软件基础设施的关键一环。 二、Maria:用 MoonBit 写个 Code Agent 费浩祥 MoonBit核心开发工程师 Maria 是用 MoonBit 从 0 开发的 Code Agent 。Maria 使用 MoonBit 构建,为 Code Agent 的可靠运行提供了坚实的基础,并以 SDK 的方式向外提供接口,方便外部开发者以 Code Agent 为基础进行二次开发,并集成到具体的工作流中。 1. 如何使用 Maria: Maria 提供了启动 Maria agent和监听事件的能力,用户可以基于事件系统定制渲染、日志以及自动化任务等功能。Maria 也支持自定义工具、添加会话来实现更加复杂或者灵活的需求。 2. 如何进行工具设计: 工具是扩展 LLM 能力的重要手段。 工具提供的 JSON schema 应该尽量扁平、简单。复杂的 JSON schema 通常会导致 tool call 失败。 工具应该是 future proof 的。固定工作流的工具可能在当下很好用,能解决问题,但是随着模型能力的提升,可以完全通过模型自身的能力替代。 工具的状态和输出都应该是临时的:让 LLM 自己重建对项目的理解。 三、MoonBit Pilot 以及AI工具的一些使用技巧 刘子悦 MoonBit核心开发工程师 本次将与大家分享一些如何让AI(包括Moon pilot或者cursor等工具)写出更好的MoonBit代码的一些技巧,主要包括以下三个方面: 1. 扁平化面向对象的设计 ,MoonBit本身有非常良好的pattern match语法和AI工具链,使用更加扁平化的类设计可以更好的让AI看懂代码,写出更好的代码。 2. 善用pattern match ,而并非不安全的数组索引,或者unwrap。pattern match的语法有助于AI快速地写出正确的代码。 3. API设计,文档和测试的写法和技巧 。好的文档与测试会极大地帮助AI定位Bug,写出更好的代码。 四、AI 与 MoonBit 如何提高我们的生产力 鲍志远 MoonBit核心开发工程师 随着大模型能力的提升,AI已经越来越多地参与到我们的日常开发中,并且正在切实地提升我们的生产力。本次将与大家分享: 1. 我在日常开发中觉得AI很好用的场景 2. MoonBit工具链为了提升大模型生成MoonBit代码的能力而做的工作 五、MoonBit 异步编程系统介绍 刘请 MoonBit核心开发工程师 近期,MoonBit 发布了异步编程运行时 moonbitlang/async,有了较完整的异步编程支持。moonbitlang/async 的开发者将分享: 1. MoonBit 异步编程系统的整体设计和现状 2. moonbitlang/async 中的结构化并发设计 3. MoonBit 的异步编程系统的未来规划 六、MoonBit 自举 parser & formatter 进展和应用 陈玉斌 MoonBit核心开发工程师 本次分享将与大家介绍 MoonBit 自举解析器和格式化器的进展,并演示如何使用这些库编写有用的代码处理工具。主要包含以下方面: 1. moonbitlang/parser 模块的实现 包括如何使用moonyacc、实现性特性lexmatch、Guard语句与is表达式、snapshot test等工具和特性,来完成词法解析、语法解析、错误恢复的功能,简化自举的工作。 2. moonbitlang/formatter 模块 自举格式化器的设计思路和当前进展。 3. moonlint 代码检查工具 如何利用 moonbitlang/parser 开发基于语法的代码检查工具。 4. 代码生成工具开发 如何结合 moonbitlang/parser 和 moonbitlang/formatter 实现自定义 deriving、FFI 包装生成等实用的代码生成工具。

优秀的个人博客,低调大师

带你十天轻松搞定 Go 微服务系列(九、链路追踪)

序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 服务监控 链路追踪(本文) 分布式事务 期望通过本系列带你在本机利用 Docker 环境利用 go-zero 快速开发一个商城系统,让你快速上手微服务。 完整示例代码:https://github.com/nivin-studio/go-zero-mall 首先,我们来看一下整体的服务拆分图: 9.1 Jaeger 介绍 Jaeger 是 Uber 开发并开源的一款分布式追踪系统,兼容 OpenTracing API,适用于以下场景: 分布式跟踪信息传递 分布式事务监控 问题分析 服务依赖性分析 性能优化 Jaeger 的全链路追踪功能主要由三个角色完成: client:负责全链路上各个调用点的计时、采样,并将 tracing 数据发往本地 agent。 agent:负责收集 client 发来的 tracing 数据,并以 thrift 协议转发给 collector。 collector:负责搜集所有 agent 上报的 tracing 数据,统一存储。 9.2go-zero使用Jaeger链路追踪 go-zero框架已经帮我们实现了链路追踪(详见:go-zero链路追踪),并且集成支持了 Jaeger, Zipkin 这两种链路追踪上报工具,我们只要简单配置下,就可以可视化的查看到一个请求的完整的调用链,以及每一个环节的调用情况及性能。 9.2.1 添加 user api 服务 Telemetry 配置 $ vim mall/service/user/api/etc/user.yaml Name: User Host: 0.0.0.0 Port: 8000 ... Telemetry: Name: user.api Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.2 添加 user rpc 服务 Telemetry 配置 $ vim mall/service/user/rpc/etc/user.yaml Name: user.rpc ListenOn: 0.0.0.0:9000 ... Telemetry: Name: user.rpc Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.3 添加 product api 服务 Telemetry 配置 $ vim mall/service/product/api/etc/product.yaml Name: Product Host: 0.0.0.0 Port: 8001 ... Telemetry: Name: product.api Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.4 添加 product rpc 服务 Telemetry 配置 $ vim mall/service/product/rpc/etc/product.yaml Name: product.rpc ListenOn: 0.0.0.0:9001 ... Telemetry: Name: product.rpc Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.5 添加 order api 服务 Telemetry 配置 $ vim mall/service/order/api/etc/order.yaml Name: Order Host: 0.0.0.0 Port: 8002 ... Telemetry: Name: order.api Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.6 添加 order rpc 服务 Telemetry 配置 $ vim mall/service/order/rpc/etc/order.yaml Name: order.rpc ListenOn: 0.0.0.0:9002 ... Telemetry: Name: order.rpc Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.7 添加 pay api 服务 Telemetry 配置 $ vim mall/service/pay/api/etc/pay.yaml Name: Pay Host: 0.0.0.0 Port: 8003 ... Telemetry: Name: pay.api Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 9.2.8 添加 pay rpc 服务 Telemetry 配置 $ vim mall/service/pay/rpc/etc/pay.yaml Name: pay.rpc ListenOn: 0.0.0.0:9003 ... Telemetry: Name: pay.rpc Endpoint: http://jaeger:14268/api/traces Sampler: 1.0 Batcher: jaeger 提示:配置修改后,需要重启服务才会生效。 9.3 使用Jaeger UI查看链路 访问 /api/user/userinfo api接口 在 第一章 环境搭建 中我们集成了Jaeger服务,并为其 Jaeger UI 端口号16686 做了宿主机端口 5000 的映射关系,所以在浏览器中输入http://127.0.0.1:5000/访问Jaeger UI界面。选择 Search 菜单,在 Service 下拉框中选择 user.api,最后点击 Find Traces 按钮,可以查询到刚刚访问的 /api/user/userinfo 接口的链路追踪数据。 点击进去,就可以看到这个 /api/user/userinfo 接口的链路时序图,以及服务依赖关系,和耗时情况。 右上角的下拉菜单可以选择不同的数据展示样式。 其他接口链路追踪效果图 项目地址 https://github.com/zeromicro/go-zero https://gitee.com/kevwan/go-zero 欢迎使用 go-zero 并 star 支持我们! 微信交流群 关注『微服务实践』公众号并点击 交流群 获取社区群二维码。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册